@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Chakra+Petch:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#0a0c10;--bg-1:#0e1219;--bg-2:#131922;--line:#1f2935;--line-soft:#18202a;--text:#e7edf3;--muted:#8c98a8;--faint:#5b6675;--neon:#2ff0df;--neon-2:#0fb8ab;--neon-rgb:47, 240, 223;--magenta:#ff3d9a;--magenta-rgb:255, 61, 154;--glow-sm:0 0 12px rgba(var(--neon-rgb), .35);--glow-md:0 0 28px rgba(var(--neon-rgb), .4);--display:"Space Grotesk", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--maxw:1180px;--ease:cubic-bezier(.22, .61, .36, 1)}body.font-chakra{--display:"Chakra Petch", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--display);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.bg-field{z-index:-1;pointer-events:none;position:fixed;inset:0}.bg-field:before{content:"";background-image:linear-gradient(rgba(var(--neon-rgb), .045) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--neon-rgb), .045) 1px, transparent 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000 35%,#0000 85%);mask-image:radial-gradient(80% 70% at 50% 30%,#000 35%,#0000 85%)}.bg-field:after{content:"";background:radial-gradient(ellipse 60% 50% at 50% -10%, rgba(var(--neon-rgb), .1), transparent 60%), radial-gradient(ellipse 50% 40% at 85% 20%, rgba(var(--magenta-rgb), .06), transparent 60%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 55%, #0000008c);position:absolute;inset:0}.scanlines{z-index:1;pointer-events:none;opacity:.5;background:repeating-linear-gradient(#0000 0 3px,#0000002e 3px 4px);position:fixed;inset:0}body.no-scan .scanlines{display:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}section{padding:118px 0;position:relative}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--neon);align-items:center;gap:9px;font-size:12px;display:inline-flex}.eyebrow:before{content:"";background:var(--neon);width:26px;height:1px;box-shadow:var(--glow-sm)}.sec-head{flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:46px;display:flex}h2.title{font-family:var(--display);letter-spacing:-.01em;color:var(--text);margin:8px 0 0;font-size:clamp(30px,4.4vw,52px);font-weight:700;line-height:1.04}.glitch{display:inline-block;position:relative}.glitch:before,.glitch:after{content:attr(data-text);clip-path:inset(0);opacity:0;position:absolute;inset:0;overflow:hidden}.glitch:before{color:var(--neon);transform:translate(-2px)}.glitch:after{color:var(--magenta);transform:translate(2px)}.glitch.go:before{animation:.7s steps(2,end) gl-a}.glitch.go:after{animation:.7s steps(2,end) gl-b}.glitch:hover:before{animation:.5s steps(2,end) gl-a}.glitch:hover:after{animation:.5s steps(2,end) gl-b}@keyframes gl-a{0%{opacity:.9;clip-path:inset(0 0 78%);transform:translate(-3px,-1px)}30%{clip-path:inset(45% 0 30%);transform:translate(2px,1px)}60%{clip-path:inset(70% 0 8%);transform:translate(-2px)}to{opacity:0;transform:translate(0)}}@keyframes gl-b{0%{opacity:.9;clip-path:inset(60% 0 12%);transform:translate(3px,1px)}40%{clip-path:inset(15% 0 60%);transform:translate(-2px,-1px)}70%{clip-path:inset(40% 0);transform:translate(2px)}to{opacity:0;transform:translate(0)}}body.no-glitch .glitch:before,body.no-glitch .glitch:after{display:none}.btn{font-family:var(--mono);white-space:nowrap;letter-spacing:.04em;border:1px solid var(--line);color:var(--text);cursor:pointer;transition:all .3s var(--ease);background:#ffffff04;border-radius:2px;align-items:center;gap:10px;padding:13px 22px;font-size:13px;text-decoration:none;display:inline-flex;position:relative}.btn .k{color:var(--faint)}.btn:hover{border-color:var(--neon);color:var(--neon);box-shadow:var(--glow-sm);background:rgba(var(--neon-rgb), .06)}.btn.solid{background:var(--neon);color:#04110f;border-color:var(--neon);font-weight:700}.btn.solid:hover{box-shadow:var(--glow-md);color:#04110f}.nav{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0c1099;border-bottom:1px solid #0000;align-items:center;gap:26px;padding:16px 28px;transition:border-color .4s,background .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-color:var(--line);background:#0a0c10d1}.nav .logo{font-family:var(--mono);letter-spacing:.05em;align-items:center;gap:11px;font-size:14px;font-weight:700;display:flex}.nav .logo .gl{width:30px;height:26px}.nav .links{font-family:var(--mono);gap:6px;margin-left:auto;font-size:13px;display:flex}.nav .links a{color:var(--muted);padding:8px 14px;transition:color .3s;position:relative}.nav .links a:hover{color:var(--text)}.nav .links a.active{color:var(--neon)}.nav .links a.active:after{content:"";background:var(--neon);height:1px;box-shadow:var(--glow-sm);position:absolute;bottom:2px;left:14px;right:14px}.hero{grid-template-columns:1.25fr .9fr;align-items:center;gap:40px;min-height:100vh;padding-top:120px;padding-bottom:60px;display:grid;position:relative}.hero-copy,.mascot-wrap{z-index:3;position:relative}.hero-atmos{z-index:0;pointer-events:none;position:absolute;inset:-2px;overflow:hidden}body.no-fx .hero-atmos{display:none}.hero .status{font-family:var(--mono);color:var(--muted);align-items:center;gap:9px;margin-bottom:22px;font-size:12px;display:flex}.hero .status .dot{background:var(--neon);width:8px;height:8px;box-shadow:var(--glow-sm);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.hero h1{font-family:var(--display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(46px,8.5vw,104px);font-weight:700;line-height:.92}.hero h1 .l2{color:var(--neon)}.hero .tag{font-family:var(--mono);color:var(--muted);max-width:34ch;margin:26px 0 0;font-size:15px;line-height:1.7}.hero .tag b{color:var(--text)}.hero .cta-row{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.hero .stats{gap:30px;margin-top:46px;display:flex}.hero .stat .n{color:var(--text);font-size:26px;font-weight:700}.hero .stat .lbl{font-family:var(--mono);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.synthgrid{background-image:linear-gradient(rgba(var(--neon-rgb), .55) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--neon-rgb), .55) 1px, transparent 1px);transform-origin:bottom;opacity:.32;background-size:62px 62px;height:44%;animation:5.5s linear infinite grid-roll;position:absolute;bottom:0;left:-25%;right:-25%;transform:perspective(440px)rotateX(70deg);-webkit-mask-image:linear-gradient(#0000 22%,#000 95%);mask-image:linear-gradient(#0000 22%,#000 95%)}@keyframes grid-roll{0%{background-position:0 0}to{background-position:0 62px}}.horizon{background:radial-gradient(ellipse 56% 100% at 50% 100%, rgba(var(--neon-rgb), .3), transparent 72%);height:130px;position:absolute;bottom:42%;left:0;right:0}.cityscape{opacity:.55;justify-content:center;align-items:flex-end;gap:7px;height:150px;display:flex;position:absolute;bottom:41%;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.cityscape .b{border:1px solid rgba(var(--neon-rgb), .32);width:30px;box-shadow:0 0 14px rgba(var(--neon-rgb), .12);background:radial-gradient(circle at 7px 7px, rgba(var(--neon-rgb), .55) 1.4px, transparent 2px) 2px 6px / 11px 15px, linear-gradient(180deg, #0f161f, #070a0e);border-bottom:none;position:relative}.cityscape .b:before{content:"";border:1px solid rgba(var(--neon-rgb), .32);background:#070a0e;border-bottom:none;height:7px;position:absolute;top:-7px;left:30%;right:30%}.scan-bar{opacity:.5;background:linear-gradient(90deg, transparent, rgba(var(--neon-rgb), .7) 40%, rgba(var(--neon-rgb), .7) 60%, transparent);height:2px;box-shadow:0 0 14px rgba(var(--neon-rgb), .5);animation:8s linear infinite scanmove;position:absolute;top:0;left:0;right:0}@keyframes scanmove{0%{top:-1%}to{top:101%}}@media (prefers-reduced-motion:reduce){.synthgrid,.scan-bar{animation:none}}.about-grid{grid-template-columns:.8fr 1.4fr;align-items:start;gap:44px;display:grid}.portrait{border:1px solid var(--line);aspect-ratio:3/4;background:repeating-linear-gradient(135deg, transparent 0 11px, rgba(var(--neon-rgb), .05) 11px 12px), var(--bg-1);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portrait .ph-label{font-family:var(--mono);color:var(--faint);border:1px dashed var(--line);background:var(--bg);border-radius:2px;padding:6px 10px;font-size:11px}.portrait .corner{border:1px solid var(--neon);width:18px;height:18px;box-shadow:var(--glow-sm);position:absolute}.portrait .corner.tl{border-bottom:none;border-right:none;top:10px;left:10px}.portrait .corner.br{border-top:none;border-left:none;bottom:10px;right:10px}.about-body p{color:var(--text);margin:0 0 20px;font-size:19px;line-height:1.7}.about-body p .hl{color:var(--neon)}.skills{margin-top:30px}.skills .lbl{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;font-size:11px}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);transition:all .25s var(--ease);background:#ffffff03;border-radius:2px;padding:7px 13px;font-size:12px}.chip:hover{border-color:var(--neon);color:var(--neon);box-shadow:var(--glow-sm);transform:translateY(-2px)}.proj-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.card{border:1px solid var(--line);background:var(--bg-1);transition:border-color .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease);border-radius:4px;position:relative;overflow:hidden}.card:hover{border-color:var(--neon);box-shadow:var(--glow-md);transform:translateY(-4px)}.card .monitor{aspect-ratio:16/10;background:repeating-linear-gradient(135deg, transparent 0 13px, rgba(var(--neon-rgb), .045) 13px 14px), linear-gradient(180deg, var(--bg-2), var(--bg));border-bottom:1px solid var(--line);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card .monitor .ph{font-family:var(--mono);color:var(--faint);border:1px dashed var(--line);background:#0a0c1099;border-radius:2px;padding:8px 14px;font-size:12px}.card .monitor .sweep{opacity:0;z-index:3;background:linear-gradient(180deg, transparent, rgba(var(--neon-rgb), .1) 50%, transparent);position:absolute;inset:0;transform:translateY(-100%)}.card:hover .monitor .sweep{opacity:1;animation:1.6s linear infinite sweep}@keyframes sweep{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.card .monitor .badge{z-index:2;font-family:var(--mono);white-space:nowrap;letter-spacing:.1em;color:var(--neon);border:1px solid rgba(var(--neon-rgb), .4);background:#0a0c10b3;border-radius:2px;align-items:center;gap:6px;padding:3px 8px;font-size:10px;display:flex;position:absolute;top:12px;left:12px}.card .monitor .badge .rec{background:var(--neon);border-radius:50%;width:6px;height:6px;animation:1.8s infinite pulse}.card .body{padding:24px 24px 26px}.card .body h3{font-family:var(--display);color:var(--text);align-items:center;gap:10px;margin:0 0 4px;font-size:23px;font-weight:700;display:flex}.card .body .idx{font-family:var(--mono);color:var(--faint);font-size:12px}.card .body p{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.6}.card .body .stack{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.card .body .stack span{font-family:var(--mono);color:var(--faint);border:1px solid var(--line-soft);border-radius:2px;padding:4px 9px;font-size:11px}.card .body .actions{font-family:var(--mono);gap:18px;font-size:13px;display:flex}.card .body .actions a{color:var(--muted);align-items:center;gap:7px;transition:color .25s;display:inline-flex}.card .body .actions a:hover{color:var(--neon)}.timeline{max-width:760px;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--neon), var(--line) 70%);width:1px;position:absolute;top:6px;bottom:6px;left:7px}.tl-item{padding-bottom:42px;padding-left:42px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";border:1px solid var(--neon);background:var(--bg);width:15px;height:15px;box-shadow:var(--glow-sm);border-radius:50%;position:absolute;top:5px;left:0}.tl-item:after{content:"";background:var(--neon);border-radius:50%;width:5px;height:5px;position:absolute;top:10px;left:5px}.tl-item .yr{font-family:var(--mono);color:var(--neon);letter-spacing:.06em;font-size:12px}.tl-item h3{font-family:var(--display);color:var(--text);margin:5px 0 2px;font-size:21px;font-weight:700}.tl-item .org{font-family:var(--mono);color:var(--muted);margin-bottom:10px;font-size:13px}.tl-item p{color:var(--muted);max-width:60ch;margin:0;font-size:15px}.contact{text-align:center}.contact h2{font-family:var(--display);color:var(--text);margin:14px 0 0;font-size:clamp(38px,6vw,76px);font-weight:700;line-height:1}.contact .sub{font-family:var(--mono);color:var(--muted);margin:22px 0 38px;font-size:14px}.links-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.link-btn{border:1px solid var(--line);background:var(--bg-1);min-width:150px;transition:all .3s var(--ease);text-align:left;border-radius:4px;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.link-btn:hover{border-color:var(--neon);box-shadow:var(--glow-md);transform:translateY(-4px)}.link-btn .ico{width:24px;height:24px;color:var(--neon)}.link-btn .nm{font-size:16px;font-weight:700;font-family:var(--display);color:var(--text)}.link-btn .h{font-family:var(--mono);color:var(--faint);font-size:11px}footer{border-top:1px solid var(--line);padding:34px 0}footer .wrap{font-family:var(--mono);color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;font-size:12px;display:flex}body.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(26px)}body.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){body.js .reveal{opacity:1;transition:none;transform:none}}.tw-toggle{z-index:60;border:1px solid var(--neon);width:48px;height:48px;color:var(--neon);cursor:pointer;box-shadow:var(--glow-sm);font-family:var(--mono);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s var(--ease);background:#0a0c10d9;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed;bottom:22px;right:22px}.tw-toggle:hover{transform:rotate(45deg)scale(1.05)}.tw-panel{z-index:60;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:264px;box-shadow:0 18px 50px #00000080, var(--glow-sm);opacity:0;pointer-events:none;transition:all .3s var(--ease);background:#0c0f14f0;border-radius:6px;padding:18px;position:fixed;bottom:82px;right:22px;transform:translateY(12px)scale(.98)}.tw-panel.open{opacity:1;pointer-events:auto;transform:none}.tw-panel .tw-h{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin-bottom:4px;font-size:11px}.tw-panel .tw-sub{font-family:var(--mono);color:var(--faint);margin-bottom:16px;font-size:10px}.tw-group{margin-bottom:16px}.tw-group>.lbl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;display:block}.tw-swatches{gap:8px;display:flex}.tw-sw{border:1px solid var(--line);cursor:pointer;border-radius:3px;width:30px;height:30px;transition:transform .2s}.tw-sw:hover{transform:scale(1.1)}.tw-sw.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff26}.tw-seg{border:1px solid var(--line);border-radius:3px;display:flex;overflow:hidden}.tw-seg button{font-family:var(--mono);color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:7px 4px;font-size:11px;transition:all .2s}.tw-seg button.active{background:var(--neon);color:#04110f;font-weight:700}.tw-row{font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;display:flex}.tw-switch{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:20px;width:38px;height:21px;transition:all .25s;position:relative}.tw-switch:after{content:"";background:var(--muted);border-radius:50%;width:15px;height:15px;transition:all .25s;position:absolute;top:2px;left:2px}.tw-switch.on{border-color:var(--neon);background:rgba(var(--neon-rgb), .18)}.tw-switch.on:after{background:var(--neon);box-shadow:var(--glow-sm);left:19px}.mascot-wrap{justify-content:center;align-items:flex-start;min-height:470px;display:flex}.sloth-stage{width:320px;position:relative}.sloth-svg{width:294px;height:auto;filter:drop-shadow(0 0 8px rgba(var(--neon-rgb), .4));margin:0 auto;display:block;overflow:visible}.branch-g rect{fill:#10161d;stroke:var(--line);stroke-width:2px}.fillshape{fill:#161d28;stroke:var(--neon);stroke-width:2.6px}.face-disc{fill:#202b3a;stroke:rgba(var(--neon-rgb), .3);stroke-width:1.4px}.belly{fill:#202b3a;stroke:rgba(var(--neon-rgb), .32);stroke-width:1.4px}.limb{fill:none;stroke:var(--neon);stroke-width:25px;stroke-linecap:round}.limb-fill{fill:none;stroke:#161d28;stroke-width:19.5px;stroke-linecap:round}.mask{fill:rgba(var(--neon-rgb), .2)}.eye-ring{fill:#0b1016;stroke:var(--neon);stroke-width:2.6px}.pupil,.nose{fill:var(--neon)}.smile{fill:none;stroke:var(--neon);stroke-width:2.4px;stroke-linecap:round}.tuft{fill:none;stroke:var(--neon);stroke-width:2.2px;stroke-linecap:round;opacity:.8}.claw{fill:none;stroke:var(--neon);stroke-width:2.6px;stroke-linecap:round}.lid{fill:#202b3a;transform-box:fill-box;transform-origin:50% 0;transform:scaleY(0)}.rig{transform-box:view-box;transform-origin:140px 30px;animation:7s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.rig .lid{animation:6.5s ease-in-out infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(0)}94.5%,96.5%{transform:scaleY(1)}}body.no-sway .rig,body.no-sway .rig .lid{animation:none}@media (prefers-reduced-motion:reduce){.rig,.rig .lid{animation:none}}.float-chip{font-family:var(--mono);color:var(--neon);border:1px solid rgba(var(--neon-rgb), .35);box-shadow:var(--glow-sm);z-index:3;background:#0a0c1099;border-radius:2px;padding:4px 9px;font-size:11px;animation:5s ease-in-out infinite bob;position:absolute}.float-chip.a{animation-delay:.4s;top:150px;left:-26px}.float-chip.b{animation-delay:1.6s;top:330px;right:-32px}body.no-sway .float-chip{animation:none}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media (width<=1080px){.float-chip{display:none}}@media (width<=900px){.hero{text-align:left;grid-template-columns:1fr;min-height:auto;padding-top:140px}.hero .mascot-wrap{display:none}.about-grid{grid-template-columns:1fr;gap:30px}.proj-grid{grid-template-columns:1fr}.nav .links{display:none}section{padding:84px 0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
