:root{color-scheme:dark;--ink:#0b0d17;--panel:#131629;--panel-2:#1a1e36;--line:#2a2f52;--text:#eceefb;--muted:#9097c4;--rec:#ff4d5e;--live:#5ef2c2;--amber:#ffc24b;--blue:#7aaeff;--code-bg:#070910;--code-text:#c9cdea;--code-muted:#5b6190;--stage-bg:radial-gradient(120% 90% at 30% 20%,#2a1f4a 0%,#151a33 55%,#0e1124 100%);--stage-off:#0e1124;--scrim:rgba(8,10,20,.72);--overlay:rgba(7,9,16,.82);--display:"Unbounded","Arial Black",system-ui,sans-serif;--body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--r:14px;--gutter:clamp(16px,4vw,40px)}[data-theme=light]{color-scheme:light;--ink:#f4f6fb;--panel:#ffffff;--panel-2:#e7ecf7;--line:#d5dced;--text:#14182c;--muted:#5c647f;--rec:#e11d48;--live:#0c8f6e;--amber:#b45309;--blue:#2563eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--ink)}body{margin:0;color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--rec);color:#fff}a,button{color:inherit}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--live);outline-offset:3px;border-radius:6px}#mesh{position:fixed;inset:0;z-index:0;pointer-events:none}.app{position:relative;z-index:1}.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--gutter)}.eyebrow,.mono{font-family:var(--mono)}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--live);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:18px;height:1px;background:currentColor;transform-origin:left;animation:grow .8s ease both}@keyframes grow{0%{transform:scaleX(0)}}h1,h2,h3{font-family:var(--display);line-height:1.05;margin:0;text-wrap:balance}h2{font-size:clamp(28px,4.4vw,52px);font-weight:800;letter-spacing:-.02em}h3{font-size:18px;font-weight:600}section{padding-block:clamp(64px,10vw,120px)}.sec-head{display:grid;grid-gap:14px;gap:14px;margin-bottom:40px;max-width:760px}.sec-head p{color:var(--muted);margin:0;font-size:17px}.nav{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--ink) 72%,transparent);border-bottom:1px solid var(--line)}.nav .wrap{gap:18px;height:60px}.brand,.nav .wrap{display:flex;align-items:center}.brand{font-family:var(--display);font-weight:800;font-size:17px;text-decoration:none;gap:10px}.brand b{color:var(--rec)}.rec-dot{width:9px;height:9px;border-radius:50%;background:var(--rec);box-shadow:0 0 0 0 var(--rec);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,77,94,.7)}70%{box-shadow:0 0 0 10px rgba(255,77,94,0)}to{box-shadow:0 0 0 0 rgba(255,77,94,0)}}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{position:relative;text-decoration:none;font-family:var(--mono);font-size:13px;color:var(--muted);padding:6px 10px;border-radius:8px;transition:color .2s,background .2s}.nav-links a:after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:1px;background:var(--live);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-links a.on,.nav-links a:hover{color:var(--text)}.nav-links a:hover{background:var(--panel-2)}.nav-links a.on:after,.nav-links a:hover:after{transform:scaleX(1)}.nav-tools{gap:10px}.nav-tools,.trophy-btn{display:flex;align-items:center}.trophy-btn{gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;font-family:var(--mono);font-size:12px}.trophy-btn .bar{width:44px;height:5px;background:var(--line);border-radius:9px;overflow:hidden}.trophy-btn .bar i{display:block;height:100%;background:var(--amber);transition:width .5s}@media (max-width:860px){.nav-links{display:none}.nav-tools{margin-left:auto}}.hero{padding-block:clamp(40px,7vw,90px) 40px}.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:center}@media (max-width:920px){.hero .wrap{grid-template-columns:1fr}}.hero h1{font-size:clamp(40px,7.4vw,96px);font-weight:800;letter-spacing:-.035em;margin-block:18px 22px}.hero h1 .outline{color:transparent;-webkit-text-stroke:1.5px var(--text)}.hero h1 .accent{color:var(--rec)}.typer{font-family:var(--mono);font-size:clamp(15px,1.8vw,19px);color:var(--amber);min-height:1.6em}.typer .caret{display:inline-block;width:.6ch;background:var(--amber);margin-left:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-lede{color:var(--muted);font-size:18px;max-width:56ch;margin:18px 0 30px}.hero-lede strong{color:var(--text);font-weight:700}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;padding:13px 20px;border-radius:12px;border:1px solid var(--line);background:var(--panel);transition:transform .15s,border-color .15s,background .15s}.btn:hover{transform:translateY(-2px);border-color:var(--muted)}.btn.primary{background:var(--rec);border-color:var(--rec);color:#fff;position:relative;overflow:hidden}.btn.primary:hover{background:#ff6674}.btn.primary:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.35) 50%,transparent 68%);transform:translateX(-130%);animation:sheen 4.2s ease-in-out infinite}@keyframes sheen{0%,62%{transform:translateX(-130%)}to{transform:translateX(130%)}}.btn .k{font-family:var(--mono);font-size:12px;opacity:.75}.hero{position:relative}.hero:after,.hero:before{content:"";position:absolute;width:min(42vw,520px);height:min(42vw,520px);border-radius:50%;filter:blur(46px);pointer-events:none;z-index:0;opacity:.4}.hero:before{background:color-mix(in srgb,var(--rec) 70%,transparent);top:-10%;left:-8%;animation:blob 16s ease-in-out infinite}.hero:after{background:color-mix(in srgb,var(--blue) 60%,transparent);right:6%;bottom:-30%;animation:blob 19s ease-in-out infinite reverse}[data-theme=light] .hero:after,[data-theme=light] .hero:before{opacity:.28}.hero .wrap{position:relative;z-index:1}@keyframes blob{0%,to{transform:translate(0) scale(1)}50%{transform:translate(28px,-18px) scale(1.08)}}.call{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:0 30px 80px -30px rgba(255,77,94,.35),inset 0 0 0 1px rgba(255,255,255,.02)}.call-top{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 12px;font-family:var(--mono);font-size:12px;color:var(--muted);gap:10px;flex-wrap:wrap}@media (max-width:480px){.call-top>span:last-child{display:none}}.call-top .rec{color:var(--rec);display:flex;align-items:center;gap:8px;font-weight:600}.stage{position:relative;aspect-ratio:4/3;max-width:100%;border-radius:14px;overflow:hidden;background:var(--stage-bg);display:grid;place-items:center}.avatar{width:clamp(110px,32%,150px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:clamp(34px,5vw,48px);background:linear-gradient(145deg,var(--rec),var(--amber));color:#1a0d12;position:relative}.avatar .ring{position:absolute;inset:-10px;border-radius:50%;border:3px solid var(--live);opacity:.9}.stage .name-tag{position:absolute;left:12px;bottom:12px;background:var(--scrim);padding:5px 10px;border-radius:8px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;color:#fff}.eq{display:inline-flex;gap:2px;align-items:flex-end;height:14px}.eq i{width:3px;background:var(--live);border-radius:2px}.stage .hand{position:absolute;top:12px;right:12px;font-size:26px}.stage .cam-off{position:absolute;inset:0;display:grid;place-items:center;background:var(--stage-off);font-family:var(--mono);color:#9097c4;font-size:13px}.bubble{position:absolute;top:14px;left:14px;right:60px;background:var(--live);color:#062a1f;font-weight:700;font-size:13px;padding:8px 12px;border-radius:12px 12px 12px 3px}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:8px}.thumb{aspect-ratio:16/11;border-radius:10px;background:var(--panel-2);display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);text-align:center;padding:4px}.thumb b{display:block;font-family:var(--display);font-size:15px;color:var(--text)}.controls{display:flex;justify-content:center;gap:10px;padding:14px 0 4px;flex-wrap:wrap}.ctl{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center;transition:background .15s,transform .15s;position:relative}.ctl:hover{transform:translateY(-2px)}.ctl.off{background:var(--rec);border-color:var(--rec)}.ctl.on{background:var(--live);border-color:var(--live);color:#062a1f}.ctl svg{width:20px;height:20px}.ctl[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:54px;white-space:nowrap;font-size:11px;font-family:var(--mono);background:#000;color:#fff;padding:4px 8px;border-radius:6px}.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--panel)}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track{display:flex;gap:42px;padding:16px 0;width:max-content;animation:slide 38s linear infinite;font-family:var(--display);font-weight:600;font-size:clamp(16px,2vw,22px);white-space:nowrap}.marquee-track span{display:inline-flex;align-items:center;gap:42px}.marquee-track span:after{content:"✦";color:var(--rec);font-size:.8em}@keyframes slide{to{transform:translateX(-50%)}}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--panel);padding:26px 22px}.stat .n{font-family:var(--display);font-weight:800;font-size:clamp(36px,5vw,58px);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .n sup{color:var(--rec);font-size:.5em;vertical-align:top}.stat .l{color:var(--muted);font-size:14px;margin-top:10px;font-family:var(--mono)}.log{display:grid;grid-template-columns:280px 1fr;grid-gap:24px;gap:24px}@media (max-width:860px){.log{grid-template-columns:1fr}}.log-list{display:grid;grid-gap:10px;gap:10px;align-content:start}.log-item{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px 16px;display:grid;grid-gap:4px;gap:4px;transition:border-color .15s,background .15s}.log-item:hover{border-color:var(--muted)}.log-item.active{border-color:var(--rec);background:var(--panel-2)}.log-item .co{font-weight:700;display:flex;align-items:center;gap:8px}.log-item .pd{font-size:12px;color:var(--muted)}.log-item .pd,.pill{font-family:var(--mono)}.pill{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:99px;font-weight:600}.pill.live{background:color-mix(in srgb,var(--live) 16%,transparent);color:var(--live);animation:liveglow 2.6s ease-in-out infinite}@keyframes liveglow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--live) 45%,transparent)}70%{box-shadow:0 0 0 7px transparent}}.pill.done{background:rgba(144,151,196,.14);color:var(--muted)}.log-detail{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,34px)}.log-detail h3{font-size:clamp(20px,2.4vw,28px);font-weight:800}.log-detail .sub{color:var(--muted);font-family:var(--mono);font-size:13px;margin:8px 0 16px}.log-detail .blurb{font-size:17px;margin:0 0 18px}.wins{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-gap:10px;gap:10px}.wins li{display:grid;grid-template-columns:22px 1fr;grid-gap:8px;gap:8px;color:var(--text)}.wins li:before{content:"▸";color:var(--rec);font-family:var(--mono)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--mono);font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:var(--ink);color:var(--text)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 14px;font-family:var(--mono);font-size:12.5px;color:var(--muted);transition:transform .15s,background .15s,color .15s,border-color .15s}.filter:active{transform:scale(.96)}.filter.on{background:var(--text);color:var(--ink);border-color:var(--text)}.grid-proj{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:980px){.grid-proj{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.grid-proj{grid-template-columns:1fr}}.proj{position:relative;border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d;will-change:transform;overflow:hidden}.proj .glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s}.proj:hover .glow{opacity:1}.proj .tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}.proj h3{font-size:22px;font-weight:800}.proj p{margin:0;color:var(--muted);font-size:15px;flex:1 1}.hue-red .tag{color:var(--rec)}.hue-amber .tag{color:var(--amber)}.hue-mint .tag{color:var(--live)}.hue-blue .tag{color:var(--blue)}.skills{display:grid;grid-template-columns:1fr 340px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:900px){.skills{grid-template-columns:1fr}}.sk-groups{display:grid;grid-gap:24px;gap:24px}.sk-group h3{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.sk{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 14px;font-weight:600;font-size:15px;transition:all .15s}.sk.on,.sk:hover{border-color:var(--live);color:var(--live);transform:translateY(-2px)}.sk.on{animation:pop .28s ease}@keyframes pop{50%{transform:translateY(-2px) scale(1.05)}}.readout{position:-webkit-sticky;position:sticky;top:90px;background:var(--code-bg);border:1px solid #2a2f52;border-radius:16px;padding:20px;font-family:var(--mono);font-size:13px;color:var(--code-text)}.readout .lbl{color:#9097c4;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.readout .big{font-family:var(--display);font-size:22px;color:#5ef2c2;margin:8px 0 12px;line-height:1.2}.readout .ln{color:var(--code-text)}.readout .sig{display:flex;gap:3px;align-items:flex-end;height:26px;margin-top:16px}.readout .sig i{flex:1 1;background:#5ef2c2;border-radius:2px;opacity:.85}.arcade{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}.tab{flex:1 1;min-width:150px;border:0;background:transparent;padding:16px;font-family:var(--mono);font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.tab.on{color:var(--text);border-bottom-color:var(--rec);background:var(--panel-2)}.game{padding:clamp(16px,3vw,28px)}.game-panel:not([hidden]){animation:panelIn .35s ease}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}}.game-hud{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-family:var(--mono);font-size:13px;margin-bottom:14px;color:var(--muted)}.game-hud b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.game-hud .btn{padding:8px 14px;font-size:13px;margin-left:auto}.editor{position:relative;height:360px;border-radius:14px;background:var(--code-bg);border:1px solid #2a2f52;overflow:hidden;font-family:var(--mono);font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editor pre{margin:0;padding:16px 16px 16px 52px;color:var(--code-muted);line-height:1.75;white-space:pre;counter-reset:ln}.editor .gut{left:0;top:0;bottom:0;border-right:1px solid var(--line)}.bug,.editor .gut{position:absolute;width:38px}.bug{height:38px;border:0;background:transparent;padding:0;display:grid;place-items:center}.bug svg{width:34px;height:34px;filter:drop-shadow(0 0 8px rgba(255,77,94,.6))}.splat{pointer-events:none;font-family:var(--mono);font-weight:700;color:var(--live);font-size:14px}.overlay,.splat{position:absolute}.overlay{inset:0;display:grid;place-items:center;text-align:center;background:var(--overlay);padding:20px;color:#eceefb}.overlay h3{font-size:clamp(20px,3vw,30px);font-weight:800;margin-bottom:8px}.overlay p{color:#b7bddf;margin:0 0 16px}.mem-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;max-width:560px;margin:0 auto;perspective:900px}.card{aspect-ratio:1;border:0;padding:0;background:transparent;position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}.card.flip{transform:rotateY(180deg)}.card .face{position:absolute;inset:0;border-radius:12px;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line)}.card .front{background:repeating-linear-gradient(45deg,var(--panel-2) 0 8px,var(--panel) 8px 16px);color:var(--line);font-size:22px}.card .back,.card .front{font-family:var(--display)}.card .back{transform:rotateY(180deg);background:var(--ink);font-weight:600;font-size:clamp(11px,2.4vw,16px);color:var(--amber)}.card.matched .back{color:var(--live);border-color:var(--live)}.term{background:var(--code-bg);border:1px solid #2a2f52;border-radius:14px;height:380px;display:flex;flex-direction:column;font-family:var(--mono);font-size:13.5px;color:var(--code-text)}.term-bar{display:flex;gap:7px;padding:10px 14px;border-bottom:1px solid #2a2f52;align-items:center;color:#9097c4;font-size:12px}.term-bar i{width:11px;height:11px;border-radius:50%;background:var(--line)}.term-bar i:first-child{background:var(--rec)}.term-bar i:nth-child(2){background:var(--amber)}.term-bar i:nth-child(3){background:var(--live)}.term-bar span{margin-left:8px}.term-out{flex:1 1;overflow-y:auto;padding:14px;white-space:pre-wrap;word-break:break-word}.term-out .p{color:#5ef2c2}.term-out .e{color:#ff4d5e}.term-out .h{color:#ffc24b}.term-in{display:flex;gap:8px;padding:10px 14px;border-top:1px solid #2a2f52;align-items:center}.term-in label{color:#5ef2c2;white-space:nowrap}.term-in input{flex:1 1;min-width:0;background:transparent;border:0;color:var(--code-text);font:inherit;outline:none}.term-hints{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.term-hints button{border:1px solid var(--line);background:transparent;border-radius:6px;padding:4px 9px;font-family:var(--mono);font-size:12px;color:var(--muted)}.term-hints button:hover{color:var(--text);border-color:var(--muted)}.cert-row{display:grid;grid-template-columns:320px 1fr;grid-gap:28px;gap:28px;align-items:center}@media (max-width:820px){.cert-row{grid-template-columns:1fr}}.badge-flip{perspective:1000px;width:100%;max-width:320px;aspect-ratio:1;border:0;background:transparent;padding:0}.badge-inner{position:relative;width:100%;height:100%;transition:transform .8s cubic-bezier(.3,1.3,.5,1);transform-style:preserve-3d}.badge-flip.f .badge-inner{transform:rotateY(180deg)}.badge-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center;text-align:center}.hex{width:86%;aspect-ratio:1/1.1;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,#ffb13d,#ff7a2f 60%,#c94a1d);display:grid;place-items:center;color:#1a0e05;padding:18%}.hex .t1{font-family:var(--display);font-weight:800;font-size:34px;line-height:1}.hex .t2{font-size:11px;font-weight:600;letter-spacing:.1em;margin-top:8px;text-transform:uppercase}.badge-back,.hex .t2{font-family:var(--mono)}.badge-back{transform:rotateY(180deg);background:var(--panel);border:1px solid var(--amber);border-radius:20px;padding:24px;font-size:13px;color:var(--text)}.cert-copy h3{font-size:clamp(22px,3vw,34px);font-weight:800;margin-bottom:12px}.cert-copy p{color:var(--muted);max-width:58ch}.edu{margin-top:26px;padding-top:22px;border-top:1px dashed var(--line);display:grid;grid-gap:4px;gap:4px}.edu .k{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.edu b{font-size:18px}.contact{text-align:left}.contact h2{font-size:clamp(40px,8vw,110px);letter-spacing:-.04em}.contact h2 .accent{color:var(--rec)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-top:36px}.contact-slot{display:flex;min-width:0}.contact-slot>.ct{flex:1 1;width:100%}@media (max-width:700px){.contact-grid{grid-template-columns:1fr}}.ct{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:14px;justify-content:space-between;text-decoration:none;transition:border-color .15s,transform .15s}a.ct:hover{border-color:var(--live);transform:translateY(-2px)}.ct .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ct .v{font-weight:700;font-size:16px;-webkit-user-select:all;-moz-user-select:all;user-select:all;word-break:break-all}.ct .copy{border:1px solid var(--line);background:var(--ink);border-radius:8px;padding:6px 12px;font-family:var(--mono);font-size:12px;white-space:nowrap}.ct .copy.ok{color:var(--live);border-color:var(--live)}.ct .arrow,footer{font-family:var(--mono);color:var(--muted)}footer{border-top:1px solid var(--line);padding-block:28px 40px;font-size:12.5px}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}kbd{font-family:var(--mono);border:solid var(--line);border-width:1px 1px 2px;border-radius:5px;padding:0 5px;font-size:11px;color:var(--text)}.toast-stack{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:90;display:grid;grid-gap:10px;gap:10px;width:min(340px,calc(100vw - 32px))}.toast{background:var(--panel-2);border:1px solid var(--amber);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:40px 1fr;grid-gap:12px;gap:12px;align-items:center;box-shadow:0 20px 50px -10px rgba(0,0,0,.6)}.toast .ic{width:40px;height:40px;border-radius:10px;background:var(--amber);color:#1a1205;display:grid;place-items:center;font-family:var(--display);font-weight:800}.toast .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.toast b{display:block;font-size:15px}.toast span{font-size:13px;color:var(--muted)}.drawer-bg{position:fixed;inset:0;background:rgba(4,5,10,.6);z-index:80}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,100vw);background:var(--panel);border-left:1px solid var(--line);z-index:81;padding:calc(24px + env(safe-area-inset-top, 0px)) 22px 24px;overflow-y:auto}.drawer h3{font-size:22px;font-weight:800;margin-bottom:4px}.drawer .sub{color:var(--muted);font-size:14px;margin-bottom:20px}.ach{display:grid;grid-template-columns:36px 1fr;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.ach .ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px;background:var(--line);color:var(--muted)}.ach.got .ic{background:var(--amber);color:#1a1205}.ach b{display:block;font-size:15px}.ach span{font-size:13px}.ach span,.ach:not(.got) b{color:var(--muted)}.close{position:absolute;top:calc(16px + env(safe-area-inset-top, 0px));right:16px;border:1px solid var(--line);background:var(--ink);border-radius:8px;padding:4px 10px;font-family:var(--mono);font-size:12px}.theme-btn{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;position:relative;transition:transform .35s ease,border-color .2s}.theme-btn:hover{transform:rotate(-16deg);border-color:var(--muted)}.theme-btn svg{width:18px;height:18px;grid-area:1/1}.theme-btn .ico-sun,[data-theme=light] .theme-btn .ico-moon{display:none}[data-theme=light] .theme-btn .ico-sun{display:block;animation:spin-in .45s ease}@keyframes spin-in{0%{transform:rotate(-80deg) scale(.6);opacity:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.edu-list{grid-gap:14px;margin-top:8px}.edu-item,.edu-list{display:grid;gap:14px}.edu-item{grid-template-columns:112px 1fr;grid-gap:14px;align-items:baseline}.edu-item .yr{font-family:var(--mono);font-size:12.5px;color:var(--amber);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.edu-item b{display:block;font-size:17px}.edu-item span{color:var(--muted)}@media (max-width:420px){.edu-item{grid-template-columns:1fr;gap:2px}}.proj-link{font-family:var(--mono);font-size:12.5px;color:var(--text);text-decoration:none;border-top:1px dashed var(--line);padding-top:12px}.proj-link:hover{color:var(--live)}.cert-row.solo{grid-template-columns:1fr}.cert-more{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-gap:6px;gap:6px;font-size:15px}.cert-more span{color:var(--muted)}