.nav{z-index:40;height:var(--nav-h);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:linear-gradient(#0a0b10eb,#0a0b1099);position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.nav-brand{align-items:center;gap:12px;display:inline-flex}.nav-mark{font-family:var(--font-pixel);color:var(--bg);background:var(--accent);box-shadow:3px 3px 0 var(--accent-2);border-radius:6px;padding:8px 8px 6px;font-size:12px}.nav-brand-text{font-family:var(--font-mono);color:var(--text-dim);font-size:13px}.nav-links{gap:28px;display:flex}.nav-link{color:var(--text-dim);padding:6px 0;font-size:15px;font-weight:500;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .25s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.is-active{color:var(--text)}.nav-link.is-active:after{transform:scaleX(1)}.nav-toggle{border-radius:var(--radius-sm);border:1px solid var(--line-strong);justify-content:center;align-items:center;width:44px;height:44px;display:none}.nav-scrim{display:none}@media (width<=767px){.nav-brand-text{display:none}.nav-toggle{z-index:2;display:inline-flex;position:relative}.nav-links{top:var(--nav-h);right:var(--gutter);left:var(--gutter);background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:var(--radius);opacity:0;pointer-events:none;transition:opacity .2s, transform .25s var(--ease-out);z-index:2;flex-direction:column;gap:4px;padding:10px;position:fixed;transform:translateY(-8px);box-shadow:0 24px 48px -16px #000c}.nav-links.is-open{opacity:1;pointer-events:auto;transform:none}.nav-link{border-radius:var(--radius-sm);padding:12px 14px;font-size:16px}.nav-link:after{display:none}.nav-link.is-active{background:var(--accent-dim);color:var(--accent)}.nav-scrim{inset:var(--nav-h) 0 0 0;opacity:0;pointer-events:none;z-index:1;background:#00000080;transition:opacity .2s;display:block;position:fixed}.nav-scrim.is-open{opacity:1;pointer-events:auto}}.node-web{z-index:0;pointer-events:none;opacity:0;animation:node-web-in 1.6s var(--ease-out) .2s forwards;position:fixed;inset:0}@keyframes node-web-in{to{opacity:1}}.node-web-vignette{z-index:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 40%,#0a0b1000 0%,#0a0b108c 100%),radial-gradient(40% 40% at 85% 15%,#8b7cff17,#0000 70%),radial-gradient(40% 40% at 10% 90%,#3ddc8412,#0000 70%);position:fixed;inset:0}.matrix-rain{z-index:45;pointer-events:none;background:#0a0b108c;animation:.6s both matrix-in;position:fixed;inset:0}@keyframes matrix-in{0%{opacity:0}}.terminal{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:50;font-family:var(--font-mono);position:fixed}.terminal-pill{border-radius:var(--radius-sm);border:1px solid var(--line-strong);color:var(--text);font-family:var(--font-mono);transition:border-color .2s, transform .2s var(--ease-out), box-shadow .2s;animation:pill-in .5s var(--ease-out) both;background:#0a0b10f5;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;display:inline-flex;box-shadow:0 12px 30px -12px #000000e6}.terminal-pill-icon{color:var(--accent);width:16px;height:16px;margin-right:2px}.terminal-pill:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 16px 34px -12px #3ddc8459}.terminal-pill-slash{color:var(--text);margin-left:-2px}.terminal-pill-cursor{background:var(--accent);width:7px;height:14px;margin-left:-6px;animation:1s steps(2,start) infinite cursor-blink}.terminal-pill-hint{color:var(--text-faint);border-left:1px solid var(--line);padding-left:10px;font-size:11px}.terminal-pill:hover .terminal-pill-hint{color:var(--text-dim)}@media (width<=480px){.terminal-pill-hint{display:none}}@keyframes pill-in{0%{opacity:0;transform:translateY(12px)scale(.9)}}.terminal-panel{border:1px solid var(--line-strong);border-radius:var(--radius);width:min(504px,100vw - 32px);height:300px;animation:panel-in .28s var(--ease-out) both;transform-origin:100% 100%;background:#0a0b10f5;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 60px -20px #000000f2}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}.terminal-bar{background:var(--bg-elev);border-bottom:1px solid var(--line);color:var(--text-dim);align-items:center;gap:10px;padding:8px 10px 8px 12px;font-size:12px;display:flex}.terminal-dots{gap:6px;display:inline-flex}.dot{width:12px;height:12px;transition:transform .15s var(--ease-out), filter .15s;border-radius:50%;display:inline-block}.dot:hover{filter:brightness(1.2);transform:scale(1.2)}.dot:focus-visible{outline-offset:2px}.dot-r{background:var(--danger)}.dot-y{background:var(--warn)}.dot-g{background:var(--ok)}.terminal-title{text-align:center;flex:1}.terminal-close{width:26px;height:26px;color:var(--text-dim);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.terminal-close:hover{color:var(--text);background:#ffffff0f}.terminal-output{cursor:text;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;padding:10px 12px 4px;font-size:12.5px;line-height:1.55;overflow-y:auto}.tl{white-space:pre-wrap;overflow-wrap:anywhere;animation:.12s both tl-in}@keyframes tl-in{0%{opacity:0;transform:translate(-3px)}}.tl-in{color:var(--text)}.tl-out{color:var(--text-dim)}.tl-err{color:var(--danger)}.tl-sys{color:var(--accent)}.tl-art{color:var(--text-dim);white-space:pre;animation:none;overflow:hidden}.tl-prompt{color:var(--accent);white-space:nowrap}.terminal-form{border-top:1px solid var(--line);align-items:center;gap:8px;padding:8px 12px 10px;font-size:12.5px;display:flex}.terminal-input-wrap{flex:1;min-width:0;position:relative}.terminal-input{width:100%;color:var(--text);font:inherit;caret-color:var(--accent);background:0 0;border:0;outline:0;padding:0;position:relative}.terminal-ghost{pointer-events:none;white-space:pre;font:inherit;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.terminal-ghost-typed{color:#0000}.terminal-ghost-rest{color:var(--text-faint)}.terminal-input:disabled{opacity:.5}@media (width<=600px){.terminal.is-open{bottom:0;left:0;right:0}.terminal-panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;height:min(52dvh,380px);padding-bottom:env(safe-area-inset-bottom);transform-origin:bottom;border-bottom:0}.terminal-output,.terminal-form{font-size:16px}}.pixel-mascot{image-rendering:pixelated;filter:drop-shadow(0 6px 14px #3ddc8440);animation:3.2s ease-in-out infinite mascot-bob;display:block}.pixel-mascot.is-waving{transform-origin:50% 90%;animation:1.4s ease-in-out infinite mascot-wave}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes mascot-wave{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)translateY(-3px)}}.contact{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.contact-links{gap:12px;margin:clamp(24px,4vw,36px) 0 0;padding:0;list-style:none;display:grid}.contact-links li{animation:page-in .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms)}.contact-link{align-items:center;gap:16px;padding:16px 18px;display:flex}.contact-link.is-primary{border-color:#3ddc8466}.contact-icon{border-radius:var(--radius-sm);background:var(--accent-dim);width:44px;height:44px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.contact-icon.is-linkedin{color:#3b93ea;background:#3b93ea29}.contact-icon.is-play{background:#ffffff0f}.contact-text{flex-direction:column;min-width:0;display:flex}.contact-label{font-family:var(--font-pixel);color:var(--text-dim);letter-spacing:.06em;font-size:10px}.contact-value{overflow-wrap:anywhere;margin-top:4px;font-weight:600}.contact-visual{place-items:center;padding:32px;display:grid;position:relative}.contact-mascot{cursor:pointer;transform-origin:50% 100%;border-radius:12px;padding:8px;display:block}.contact-mascot:hover{filter:brightness(1.08)}.contact-mascot.is-jumping{animation:mascot-jump .5s var(--ease-out)}@keyframes mascot-jump{0%{transform:scale(1.1,.85)}35%{transform:translateY(-26px)scale(.95,1.08)}70%{transform:translateY(0)scale(1.05,.92)}to{transform:none}}.contact-bubble.is-poked{background:var(--warn);animation:bubble-pop .3s var(--ease-out) both}.contact-bubble{font-family:var(--font-pixel);color:var(--bg);background:var(--text);animation:bubble-pop .4s var(--ease-out) .6s both;white-space:nowrap;pointer-events:none;border-radius:8px 8px 8px 0;padding:10px 12px;font-size:10px;position:absolute;top:8px;right:8%}@keyframes bubble-pop{0%{opacity:0;transform:scale(.6)translateY(8px)}}@media (width<=800px){.contact{grid-template-columns:1fr}.contact-visual{order:-1;padding:8px 0 0}}.pixel-frame{--circle-inset:7%;aspect-ratio:1;width:min(100%,320px);margin-inline:auto;position:relative}.frame-squircle{border:1px solid var(--line-strong);background:linear-gradient(145deg,#8b7cff1f,#3ddc8414 60%,#12141c99);border-radius:25%;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0f,0 30px 60px -30px #000000e6}.frame-keylines{fill:none;stroke:#ffffff29;stroke-width:.6px;stroke-dasharray:2 2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.frame-keylines .kl-inner{stroke:#3ddc8440}.pixel-frame-ring{inset:calc(var(--circle-inset) - 4px);background:conic-gradient(from 0deg, var(--accent), var(--accent-2), var(--warn), var(--accent));border-radius:50%;animation:14s linear infinite ring-spin;position:absolute}.pixel-frame-ring:after{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:3px}.pixel-frame-photo{inset:var(--circle-inset);background:var(--bg-elev-2);border-radius:50%;position:absolute;overflow:hidden;box-shadow:0 20px 40px -24px #000000e6}.pixel-frame-photo img{object-fit:cover;filter:saturate(1.05)contrast(1.02);width:100%;height:100%}@keyframes ring-spin{to{transform:rotate(360deg)}}.frame-tag{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:6px;padding:3px 8px;font-size:10px;position:absolute;bottom:-10px;right:10%}@media (width<=900px){.frame-tag{font-size:9px;bottom:-8px}}.typed{white-space:pre-wrap}.typed-cursor{vertical-align:-.12em;background:var(--accent);width:.55em;height:1em;margin-left:.08em;display:inline-block}.typed-cursor.is-idle{animation:1s steps(2,start) infinite cursor-blink}@keyframes cursor-blink{to{visibility:hidden}}.intro{z-index:60;padding:var(--gutter);background:var(--bg);font-family:var(--font-mono);transition:opacity .42s var(--ease-in-out);place-content:center;gap:18px;display:grid;position:fixed;inset:0}.intro.is-leaving{opacity:0;pointer-events:none}.intro-line{color:var(--text);animation:intro-line-in .4s var(--ease-out) both;font-size:clamp(16px,3vw,26px)}.intro.is-leaving .intro-line{animation:intro-line-out .42s var(--ease-in-out) both}.intro-prompt{color:var(--accent)}.intro-hint{color:var(--text-faint);text-align:center;opacity:0;font-size:12px;animation:.6s 1.8s both fade-in}@keyframes intro-line-in{0%{opacity:0;transform:translateY(6px)}}@keyframes intro-line-out{to{opacity:0;transform:translateY(-24px)scale(1.04)}}@keyframes fade-in{to{opacity:1}}.hero{padding-top:calc(var(--nav-h) + clamp(24px, 6vh, 48px));grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.hero.is-waiting .reveal{opacity:0}.hero.is-revealed .reveal{animation:reveal-up .7s var(--ease-out) both;animation-delay:calc(var(--i,0) * .11s)}@keyframes reveal-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.hero-copy{flex-direction:column;gap:18px;display:flex}.hero-prompt{font-family:var(--font-mono);color:var(--text-dim);font-size:14px}.hero-title{letter-spacing:-.02em;font-size:clamp(38px,7vw,76px);font-weight:800;line-height:1.05}.hero-name{background:linear-gradient(90deg, var(--accent), #9ff5c6);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-dot{color:var(--accent-2)}.hero-subtitle{font-family:var(--font-pixel);color:var(--text);min-height:1.7em;font-size:clamp(12px,2vw,18px);line-height:1.7}.hero-subtitle .typed{font:inherit}.hero-tagline{color:var(--text-dim);max-width:54ch;font-size:clamp(15px,1.7vw,18px)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.hero-links{flex-wrap:wrap;gap:20px 28px;margin-top:8px;display:flex}.hero-link-group{flex-direction:column;gap:8px;display:flex}.hero-link-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-faint);font-size:11px}.hero-link-label:before{content:"# ";color:var(--accent)}.hero-social{gap:8px;margin:0;padding:0;list-style:none;display:flex}.hero-projects a{padding:6px}.hero-projects img{width:28px;height:28px;transition:transform .2s var(--ease-out);border-radius:7px}.hero-projects a:hover img{transform:scale(1.1)rotate(-4deg)}.hero-social a{border-radius:var(--radius-sm);border:1px solid var(--line-strong);width:42px;height:42px;color:var(--text-dim);transition:color .2s, border-color .2s, transform .15s var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.hero-social a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.hero-social a.is-linkedin{color:#3b93ea}.hero-social a.is-linkedin:hover{background:#3b93ea24;border-color:#3b93ea}.hero-visual{padding:56px 16px 48px;position:relative}.hero-mascot{position:absolute;bottom:24px;left:4%}.hero-code{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#12141ce6;margin:0;padding:12px 14px;font-size:11px;line-height:1.6;animation:6s ease-in-out infinite float;position:absolute;top:-34px;right:-12px;box-shadow:0 16px 40px -20px #000000e6}.hero-code .k{color:var(--accent-2)}.hero-code .t{color:var(--warn)}.hero-code .s{color:var(--accent)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width<=900px){.hero{text-align:left;grid-template-columns:1fr;gap:28px}.hero-visual{order:-1;width:200px;margin-inline:auto;padding:12px 0 32px}.hero-code{display:none}.hero-mascot{bottom:8px;left:-18px}.hero-mascot .pixel-mascot{width:56px;height:auto}}@media (width<=480px){.hero-visual{width:160px;padding-bottom:28px}.hero-actions .btn{flex:auto;justify-content:center}}.project-card{animation:page-in .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms);flex-direction:column;gap:12px;display:flex}.project-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-icon{object-fit:cover;background:var(--bg-elev-2);width:48px;height:48px;box-shadow:0 0 0 1px var(--line-strong), 0 8px 20px -10px #000000e6;transition:transform .2s var(--ease-out);border-radius:12px}.project-card:hover .project-icon{transform:scale(1.06)rotate(-3deg)}.project-icon-fallback{font-family:var(--font-pixel);color:var(--accent);place-items:center;font-size:14px;display:inline-grid}.project-status{font-family:var(--font-mono);color:var(--accent);background:var(--accent-dim);border-radius:999px;padding:3px 9px;font-size:11px}.accent-violet .project-status{color:var(--accent-2);background:var(--accent-2-dim)}.accent-amber .project-status{color:var(--warn);background:#ffbd2e29}.project-name{font-family:var(--font-pixel);margin-top:4px;font-size:clamp(14px,2.2vw,18px);line-height:1.5}.project-tagline{color:var(--text);font-weight:600}.project-desc{color:var(--text-dim);font-size:15px}.project-tech{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.project-links{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px;display:flex}.project-links .btn{padding:10px 16px;font-size:14px}@media (width<=480px){.project-links .btn{flex:auto;justify-content:center}}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin-top:clamp(28px,4vw,44px);display:grid}.pixel-icon{fill:currentColor;flex:none;display:block}.pixel-icon-tile{width:40px;height:40px;color:var(--accent);background:var(--accent-dim);transition:transform .2s var(--ease-out), background .2s;border-radius:10px;place-items:center;display:inline-grid;box-shadow:0 0 0 1px #3ddc842e}.pixel-icon-tile.is-violet{color:var(--accent-2);background:var(--accent-2-dim);box-shadow:0 0 0 1px #8b7cff33}.pixel-icon-tile.is-amber{color:var(--warn);background:#ffbd2e24;box-shadow:0 0 0 1px #ffbd2e33}.pixel-icon-tile.is-pink{color:#ff5fa8;background:#ff5fa829;box-shadow:0 0 0 1px #ff5fa83d}.pixel-icon-tile.is-red{color:#ff5f56;background:#ff5f5629;box-shadow:0 0 0 1px #ff5f563d}.pixel-icon-tile.is-blue{color:#4f7dff;background:#4f7dff2e;box-shadow:0 0 0 1px #4f7dff42}.pixel-icon-tile.is-sky{color:#3fb6ff;background:#3fb6ff29;box-shadow:0 0 0 1px #3fb6ff3d}.pixel-icon-tile.is-ice{color:#8fe3ff;background:#8fe3ff24;box-shadow:0 0 0 1px #8fe3ff38}.pixel-icon-tile.is-purple{color:#b478ff;background:#b478ff33;box-shadow:0 0 0 1px #b478ff4d}.pixel-icon-tile.is-lime{color:#9bd42e;background:#86bc2533;box-shadow:0 0 0 1px #86bc2559}.skill-group{animation:page-in .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms)}.skill-head{align-items:center;gap:12px;display:flex}.skill-group:hover .pixel-icon-tile{transform:scale(1.08)rotate(-4deg)}.skill-title{font-family:var(--font-pixel);font-size:clamp(12px,2vw,15px);line-height:1.6}.skill-blurb{color:var(--text-dim);margin-top:10px;font-size:15px}.skill-list{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.skill-list .chip{color:var(--text);transition:border-color .2s,color .2s,background .2s}.skill-list .chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:clamp(28px,4vw,44px);display:grid}.experience{scroll-margin-top:calc(var(--nav-h) + 24px);margin-top:clamp(64px,10vh,112px)}.experience-list{border-top:1px solid var(--line-strong);margin:clamp(24px,4vw,36px) 0 0;padding:0;list-style:none}.experience-row{border-bottom:1px solid var(--line);animation:page-in .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms);grid-template-columns:150px 40px 1fr;gap:20px;padding:20px 0;transition:background .2s;display:grid}.experience-row:hover{background:linear-gradient(90deg,#3ddc840d,#0000 60%)}.experience-row:hover .experience-icon{transform:scale(1.08)rotate(-4deg)}@media (width<=640px){.experience-row{grid-template-columns:40px 1fr;gap:8px 14px}.experience-period{order:-1;grid-column:2;padding-top:0}.experience-icon{grid-row:1/span 2}}.app{flex-direction:column;min-height:100dvh;display:flex;position:relative}.app-main{z-index:1;flex:1;position:relative}.app-footer{z-index:1;padding:20px 0 calc(24px + env(safe-area-inset-bottom));font-family:var(--font-mono);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12px;display:flex;position:relative}.app-footer code{color:var(--accent)}.nav,.terminal{transition:opacity .6s var(--ease-out)}.intro-active .nav,.intro-active .terminal,.intro-active .app-footer{opacity:0;pointer-events:none}@media (width<=600px){.app-footer{padding-right:120px}}:root{--bg:#0a0b10;--bg-elev:#12141c;--bg-elev-2:#181b25;--line:#ffffff14;--line-strong:#ffffff29;--text:#f4f5f7;--text-dim:#a4a9b8;--text-faint:#6a7080;--accent:#3ddc84;--accent-dim:#3ddc842e;--accent-2:#8b7cff;--accent-2-dim:#8b7cff2e;--danger:#ff5f56;--warn:#ffbd2e;--ok:#27c93f;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-pixel:"Press Start 2P", "Courier New", monospace;--font-mono:"JetBrains Mono", "Cascadia Code", Consolas, monospace;--radius:12px;--radius-sm:8px;--nav-h:64px;--gutter:clamp(16px, 4vw, 48px);--max-w:1120px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(100% - 2 * var(--gutter), var(--max-w));margin-inline:auto}.page{padding-top:calc(var(--nav-h) + clamp(24px, 6vh, 64px));min-height:100dvh;padding-bottom:clamp(96px,14vh,160px)}.eyebrow{font-family:var(--font-pixel);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;align-items:center;gap:10px;font-size:clamp(9px,1.4vw,11px);display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:18px;height:2px}.page-title{font-family:var(--font-pixel);letter-spacing:.02em;margin-top:14px;font-size:clamp(18px,3.6vw,30px);line-height:1.5}.page-intro{color:var(--text-dim);max-width:62ch;margin-top:16px;font-size:clamp(15px,1.6vw,17px)}.btn{border-radius:var(--radius-sm);transition:transform .15s var(--ease-out), background .2s, border-color .2s, box-shadow .2s;white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;line-height:1;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:#06120c;box-shadow:0 8px 24px -8px #3ddc8499}.btn-primary:hover{box-shadow:0 12px 28px -8px #3ddc84cc}.btn-ghost{border-color:var(--line-strong);color:var(--text);background:#ffffff05}.btn-ghost:hover{border-color:var(--accent);background:var(--accent-dim)}.btn svg{flex:none;width:18px;height:18px}.chip{font-family:var(--font-mono);border:1px solid var(--line-strong);color:var(--text-dim);background:#ffffff08;border-radius:999px;padding:4px 10px;font-size:12px;display:inline-block}.pixel-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s, transform .2s var(--ease-out), box-shadow .2s;background:#12141cc7;padding:clamp(18px,3vw,28px);position:relative}.pixel-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--accent), transparent 40%, transparent 60%, var(--accent-2));-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .25s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.pixel-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px #000000e6}.pixel-card:hover:before{opacity:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-transition{animation:page-in .45s var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
