.normal{--bg:#15110e;--bg2:#120e0b;--win:#1a1613;--win2:#1f1a16;--cream:#f5f0e4;--muted:#aaa191;--faint:#938877;--amber:#f5c518;--ember:#e8492c;--teal:#1f9a82;--peri:#5f9bff;--green:#7bd88f;--line:rgba(245,240,228,.10);--line2:rgba(245,240,228,.05);--accent:#f5c518;--accent-text:#f5c518;--accent-soft:rgba(245,197,24,.14);--accent-ring:rgba(245,197,24,.55);--heat-base:rgba(245,240,228,.05);--tip-bg:#231d18;--tip-ink:#f5f0e4;--tip-line:rgba(245,240,228,.16);--rail-bg1:rgba(18,14,11,.92);--rail-bg2:rgba(18,14,11,.72);--ink:#15110e;--on-accent:#15110e;--grain-op:.05;--ser:"Instrument Serif",serif;--ui:"Bricolage Grotesque",system-ui,sans-serif;--txt:"Hanken Grotesk","Bricolage Grotesque",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--railH:54px;position:relative;background:var(--bg);color:var(--cream);font-family:var(--txt);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;width:100%;min-height:100%;box-sizing:border-box;overflow:visible;transition:background .25s ease,color .25s ease}.normal *,.normal :after,.normal :before{box-sizing:border-box;min-width:0}.normal img,.normal svg{max-width:100%}.normal ::selection{background:rgba(245,197,24,.3);color:#15110e}.normal.light{--bg:#f4efe3;--bg2:#efe8d8;--win:#fbf7ee;--win2:#fdfaf3;--cream:#1c1714;--muted:#5f574c;--faint:#5d5647;--amber:#875f00;--ember:#b83216;--teal:#1a6f5e;--peri:#2f44cf;--green:#1f7a4d;--line:rgba(28,23,20,.16);--line2:rgba(28,23,20,.085);--accent:#d99a00;--accent-text:#7a5500;--accent-soft:rgba(217,154,0,.16);--accent-ring:rgba(196,138,0,.7);--heat-base:rgba(28,23,20,.07);--tip-bg:#1c1714;--tip-ink:#fbf7ee;--tip-line:rgba(251,247,238,.18);--rail-bg1:rgba(251,247,238,.92);--rail-bg2:rgba(251,247,238,.74);--ink:#fbf7ee;--grain-op:.045}.normal.light ::selection{background:rgba(217,154,0,.26);color:#1c1714}.normal .bg-grid{z-index:0;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 96% 60% at 50% -6%,#000 26%,transparent 82%);mask-image:radial-gradient(ellipse 96% 60% at 50% -6%,#000 26%,transparent 82%)}.normal .bg-grain,.normal .bg-grid{position:fixed;inset:0;pointer-events:none}.normal .bg-grain{z-index:1;opacity:var(--grain-op);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.normal .blob{position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(110px);opacity:.5;transition:opacity .25s,background .25s}.normal .blob.b1{width:560px;height:560px;top:-200px;right:-150px;background:radial-gradient(circle,rgba(245,197,24,.22),transparent 64%)}.normal .blob.b2{width:520px;height:520px;bottom:-220px;left:-170px;background:radial-gradient(circle,rgba(232,73,44,.16),transparent 64%)}.normal .blob.b3{width:460px;height:460px;top:44%;left:56%;background:radial-gradient(circle,rgba(95,155,255,.12),transparent 64%)}.normal.light .blob.b1{background:radial-gradient(circle,rgba(217,154,0,.22),transparent 64%);opacity:.42}.normal.light .blob.b2{background:radial-gradient(circle,rgba(232,73,44,.13),transparent 64%);opacity:.42}.normal.light .blob.b3{background:radial-gradient(circle,rgba(47,68,207,.08),transparent 64%);opacity:.42}.normal .progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:80;background:linear-gradient(90deg,var(--accent),var(--ember));box-shadow:0 0 14px var(--accent-soft);border-radius:0 2px 2px 0;will-change:width}.normal .rail{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:linear-gradient(180deg,var(--rail-bg1),var(--rail-bg2));-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--line);transition:background .25s,border-color .25s}.normal .rail-in{max-width:1180px;margin:0 auto;padding:13px 44px;display:flex;align-items:center;gap:18px}.normal .os-id{display:flex;align-items:center;gap:13px;flex:0 0 auto}.normal .tl{display:flex;gap:7px}.normal .tl i{width:11px;height:11px;border-radius:50%;display:block}.normal .tl .r{background:var(--ember)}.normal .tl .y{background:var(--amber)}.normal .tl .g{background:var(--teal)}.normal.light .tl .y{background:var(--accent)}.normal .os-name{font-family:var(--mono);font-size:13.5px;font-weight:600;letter-spacing:.2px;color:var(--cream)}.normal .os-name b{color:var(--accent-text);font-weight:700}.normal .widgets{margin-left:auto;gap:10px;flex-wrap:nowrap;justify-content:flex-end;min-width:0}.normal .wg,.normal .widgets{display:flex;align-items:center}.normal .wg{gap:7px;font-family:var(--mono);font-size:11.5px;padding:7px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(128,116,98,.05);color:var(--muted);white-space:nowrap;transition:border-color .25s,color .25s,background .25s;cursor:default}.normal .wg:hover{border-color:var(--accent-ring);color:var(--cream);background:var(--accent-soft)}.normal .wg .vmono{color:var(--cream);font-weight:600}.normal .wg .vmono,.normal .wg .vmono .time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.normal .wg .vmono .tz{color:var(--teal);font-weight:700;letter-spacing:.4px}.normal .wg .np-name{color:var(--cream);font-weight:600;max-width:140px;overflow:hidden;display:inline-block;white-space:nowrap;vertical-align:bottom}.normal .wg .np-name .np-track{display:inline-flex;white-space:nowrap}.normal .wg .np-name .np-seg{flex:0 0 auto}.normal .wg .np-name.scroll .np-seg{padding-right:38px}.normal .wg .np-name.scroll .np-track{animation:normal-np-marquee var(--np-dur,12s) linear infinite}@keyframes normal-np-marquee{0%{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--np-shift,0)))}}@media(prefers-reduced-motion:reduce){.normal .wg .np-name.scroll .np-track{animation:none}.normal .wg .np-name{text-overflow:ellipsis}}.normal .wg-gh{gap:9px}.normal .eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.normal .eq span{width:2.5px;height:3px;background:var(--green);border-radius:2px;animation:normal-eq 1s ease-in-out infinite}.normal .eq span:nth-child(2){animation-delay:.16s}.normal .eq span:nth-child(3){animation-delay:.34s}.normal .eq span:nth-child(4){animation-delay:.08s}@keyframes normal-eq{0%,to{height:3px}50%{height:11px}}.normal .mode-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:11px;background:rgba(128,116,98,.05);color:var(--muted);cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .2s}.normal .mode-btn:hover{border-color:var(--accent-ring);color:var(--accent-text);background:var(--accent-soft);transform:translateY(-1px)}.normal .mode-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.normal .mode-btn svg{width:17px;height:17px;transition:transform .4s cubic-bezier(.2,.85,.25,1)}.normal .mode-btn:active svg{transform:rotate(-35deg)}.normal .mode-btn .ico-moon{display:none}.normal .mode-btn .ico-sun,.normal.light .mode-btn .ico-moon{display:block}.normal.light .mode-btn .ico-sun{display:none}.normal .term-rail{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;height:34px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.3px;text-decoration:none;padding:0 12px;border:1px solid var(--accent-ring);border-radius:11px;background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .2s,box-shadow .25s}.normal .term-rail .br{color:var(--faint);font-weight:400}.normal .term-rail .cur{font-weight:700;animation:normal-blink 1.05s steps(1) infinite}.normal .term-rail:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent);transform:translateY(-1px);box-shadow:0 12px 24px -14px var(--accent-soft)}.normal .term-rail:hover .br{color:var(--on-accent)}.normal .term-rail:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.normal .wrap{position:relative;z-index:10;max-width:1180px;margin:0 auto;padding:0 44px 104px}.normal .grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:24px;gap:24px}.normal .wrap>section{margin-top:52px}.normal .grid .win{margin-top:0}.normal .win{background:linear-gradient(180deg,var(--win2),var(--win));border:1px solid var(--line);border-radius:22px;overflow:hidden;position:relative;transition:transform .45s cubic-bezier(.2,.85,.25,1),border-color .4s,box-shadow .4s,background .25s;display:flex;flex-direction:column;opacity:0;transform:translateY(16px)}.normal .win.in{opacity:1;transform:translateY(0)}.normal .win:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .4s;background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),var(--accent-soft),transparent 60%)}.normal .win:hover{transform:translateY(-5px);border-color:var(--accent-ring);box-shadow:0 36px 80px -38px rgba(0,0,0,.6),0 0 0 1px var(--accent-soft)}.normal.light .win:hover{box-shadow:0 32px 70px -40px rgba(50,38,20,.42),0 0 0 1px var(--accent-soft)}.normal .win.focused:before,.normal .win:hover:before{opacity:1}.normal .win.focused{border-color:var(--accent-ring)}.normal .titlebar{display:flex;align-items:center;gap:10px;padding:14px 22px;border-bottom:1px solid var(--line2);background:rgba(128,116,98,.025)}.normal .titlebar .tl i{width:10px;height:10px}.normal .titlebar .tt{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.4px;margin-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normal .titlebar .tt b{color:var(--muted);font-weight:500}.normal .titlebar .term-tab{margin-left:auto;flex:0 0 auto;font-family:var(--mono);font-size:11.5px;letter-spacing:.4px;color:var(--faint);text-decoration:none;padding:4px 9px;border-radius:8px;border:1px solid transparent;white-space:nowrap;cursor:pointer;transition:color .25s,border-color .25s,background .25s}.normal .titlebar .term-tab:hover{color:var(--accent-text);border-color:var(--accent-ring);background:var(--accent-soft)}.normal .titlebar .term-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.normal .body{padding:38px 40px 42px}.normal .c12{grid-column:span 12}.normal .c8{grid-column:span 8}.normal .c7{grid-column:span 7}.normal .c6{grid-column:span 6}.normal .c5{grid-column:span 5}.normal .c4{grid-column:span 4}.normal .marquee{position:relative;z-index:10;overflow:hidden;margin:0 0 6px;border:1px solid var(--line);border-radius:14px;background:rgba(128,116,98,.035);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.normal .marquee-track{display:inline-flex;white-space:nowrap;animation:normal-marq 72s linear infinite}.normal .marquee:hover .marquee-track{animation-play-state:paused}.normal .marquee-track span{font-family:var(--mono);font-size:12px;color:var(--muted);padding:11px 0;letter-spacing:.3px}.normal .marquee-track em{color:var(--accent-text);font-style:normal;padding:0 22px}@keyframes normal-marq{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.normal .hero .body{padding:52px 60px 56px;position:relative;overflow:hidden}.normal .hero .body>*{position:relative;z-index:1}.normal .hero .body>.hero-glow{position:absolute;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,var(--accent-soft),transparent 62%);filter:blur(26px);transform:translate(-50%,-50%);left:50%;top:50%;transition:opacity .4s;opacity:.55}.normal .hero .body:after,.normal .hero .body:before{content:"";position:absolute;width:18px;height:18px;z-index:1;pointer-events:none;opacity:.5}.normal .hero .body:before{top:22px;right:30px;border-top:1.5px solid var(--accent-ring);border-right:1.5px solid var(--accent-ring);border-top-right-radius:3px}.normal .hero .body:after{bottom:22px;left:30px;border-bottom:1.5px solid var(--accent-ring);border-left:1.5px solid var(--accent-ring);border-bottom-left-radius:3px}.normal h1.name{font-family:var(--ser);font-weight:400;font-size:clamp(40px,6.8vw,72px);line-height:.94;letter-spacing:-1.2px;margin:0 0 22px;color:var(--cream)}.normal h1.name .dot,.normal h1.name .nm{color:var(--accent-text)}.normal h1.name .nm{position:relative;display:inline-block;line-height:1.04;padding-bottom:.18em;margin-bottom:-.18em;background:linear-gradient(96deg,var(--accent-text) 0,var(--amber) 42%,var(--ember) 96%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px var(--accent-soft)}.normal.light h1.name .nm{text-shadow:none}.normal h1.name .wave-wrap{display:inline-block;margin-left:.12em}.normal h1.name .wave{display:inline-block;color:var(--accent-text);transform-origin:70% 70%;animation:normal-wave 3.4s ease-in-out infinite}.normal h1.name .wave-wrap:hover .wave{animation:normal-wave-hover 1s ease-in-out}@keyframes normal-wave{0%,60%,to{transform:rotate(0)}70%{transform:rotate(13deg)}80%{transform:rotate(-8deg)}90%{transform:rotate(10deg)}}@keyframes normal-wave-hover{0%{transform:rotate(0)}15%{transform:rotate(22deg)}30%{transform:rotate(-14deg)}45%{transform:rotate(20deg)}60%{transform:rotate(-10deg)}75%{transform:rotate(14deg)}to{transform:rotate(0)}}.normal .to-top{position:fixed;left:50%;bottom:22px;z-index:70;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-ring);border-radius:11px;padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateX(-50%) translateY(10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,background .2s,color .2s}.normal .to-top.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.normal .to-top:hover{background:var(--accent);color:var(--on-accent)}.normal .to-top:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.normal .term-line{font-family:var(--mono);font-size:clamp(15px,2.2vw,20px);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:1.6em;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.2);max-width:560px}.normal.light .term-line{background:rgba(28,23,20,.045)}.normal .prompt{color:var(--green);flex:0 0 auto}.normal .typed{color:var(--cream);white-space:pre}.normal .caret{display:inline-block;width:.56em;height:1.04em;background:var(--accent);margin-left:1px;transform:translateY(2px);border-radius:1px;animation:normal-blink 1.05s steps(1) infinite}@keyframes normal-blink{50%{opacity:0}}.normal .hero-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}.normal .sec-h{font-family:var(--mono);font-size:12.5px;letter-spacing:2.8px;text-transform:uppercase;font-weight:400;color:var(--faint);margin:0 0 20px;display:flex;align-items:center;gap:16px}.normal .sec-h .num{color:var(--accent-text);font-weight:700}.normal .sec-h .ln{flex:1 1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.normal .about-body{padding:36px 48px 40px}.normal .about p{font-size:clamp(14.5px,1.4vw,17px);line-height:1.72;color:var(--muted);margin:0 0 16px;max-width:64ch}.normal .about p:last-child{margin-bottom:0}.normal .about .hl{color:var(--cream);font-weight:600}.normal .about .a-amber{color:var(--amber);font-weight:500}.normal .about .a-teal{color:var(--teal);font-weight:500}.normal .about .a-ember{color:var(--ember);font-weight:500}.normal .about .a-peri{color:var(--peri);font-weight:500}.normal .about .lead{font-family:var(--ser);font-style:italic;font-size:clamp(20px,2.4vw,28px);color:var(--cream);line-height:1.3;margin-bottom:20px;max-width:24ch}.normal .who{padding:32px 38px;display:flex;flex-direction:column;gap:20px}.normal .who .wk{font-family:var(--mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.normal .who .wv{font-size:17px;color:var(--cream)}.normal .who .wv.on{color:var(--green);display:flex;align-items:center;gap:9px}.normal .who .wv.on i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex:0 0 auto}.normal .feat .body{padding:0}.normal .feat-grid{display:grid;grid-template-columns:1.45fr 1fr}.normal .feat-main{padding:36px 44px}.normal .feat-side{padding:36px 40px;border-left:1px solid var(--line2);background:rgba(128,116,98,.025)}.normal .badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:1.3px;text-transform:uppercase;padding:6px 13px;border-radius:30px;font-weight:600}.normal .badge.live{color:var(--green);background:rgba(123,216,143,.1);border:1px solid rgba(123,216,143,.32)}.normal.light .badge.live{background:rgba(31,122,77,.1);border-color:rgba(31,122,77,.34)}.normal .badge.live .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:normal-pulse 2s infinite}.normal .badge.soon{color:var(--faint);background:rgba(128,116,98,.06);border:1px solid var(--line)}@keyframes normal-pulse{0%,to{opacity:1}50%{opacity:.4}}.normal .feat h3{font-family:var(--ser);font-weight:400;font-size:clamp(28px,3.4vw,42px);line-height:1;margin:26px 0 22px;color:var(--cream);letter-spacing:-.6px}.normal .feat .desc{font-size:15px;line-height:1.72;color:var(--muted);margin:0 0 24px;max-width:48ch}.normal .feat .desc .hl{color:var(--cream);font-weight:600}.normal .feat .desc .a-amber{color:var(--amber);font-weight:500}.normal .feat .desc .a-teal{color:var(--teal);font-weight:500}.normal .feat .desc .a-peri{color:var(--peri);font-weight:500}.normal .feat-links{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.normal .lnk{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:13.5px;padding:12px 18px;border-radius:12px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s,color .25s;cursor:pointer;position:relative}.normal .lnk:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.normal .lnk.prim{background:var(--accent);color:var(--on-accent);font-weight:700}.normal .lnk.prim:hover{transform:translateY(-2px);box-shadow:0 14px 28px -8px var(--accent-soft)}.normal .lnk.ghost{border:1px solid var(--line);color:var(--cream)}.normal .lnk.ghost:hover{border-color:var(--accent-ring);background:var(--accent-soft);transform:translateY(-2px)}.normal .lnk.ghost .u{position:relative}.normal .lnk.ghost .u:after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--accent);transition:right .25s}.normal .lnk.ghost:hover .u:after{right:0}.normal .meta-row{display:flex;flex-direction:column;gap:26px}.normal .meta-row .mk{font-family:var(--mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.normal .meta-row .mv{font-size:15.5px;color:var(--cream)}.normal .meta-row .mv.on{color:var(--green);display:flex;align-items:center;gap:9px}.normal .meta-row .mv.on i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex:0 0 auto}.normal .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.normal .chip{font-family:var(--mono);font-size:12px;padding:6px 12px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:rgba(128,116,98,.04);transition:.2s}.normal .chip:hover{border-color:var(--accent-ring);color:var(--cream)}.normal .meta-row .mv.st{display:flex;align-items:center;gap:9px}.normal .meta-row .mv.st i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.normal .meta-row .mv.st.live{color:var(--green)}.normal .meta-row .mv.st.live i{background:var(--green);box-shadow:0 0 8px var(--green)}.normal .meta-row .mv.st.wip{color:var(--amber)}.normal .meta-row .mv.st.wip i{background:var(--amber);box-shadow:0 0 8px var(--amber)}.normal .meta-row .mv.st.soon{color:var(--faint)}.normal .meta-row .mv.st.soon i{background:var(--faint)}.normal .proj-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:13px;height:100%}.normal .proj-st{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.6px;text-transform:lowercase;align-self:flex-start}.normal .proj-st i{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.normal .proj-st.live{color:var(--green)}.normal .proj-st.live i{background:var(--green);box-shadow:0 0 7px var(--green)}.normal .proj-st.wip{color:var(--amber)}.normal .proj-st.wip i{background:var(--amber);box-shadow:0 0 7px var(--amber)}.normal .proj-st.soon{color:var(--faint)}.normal .proj-st.soon i{background:var(--faint)}.normal .proj-desc{font-size:13.5px;line-height:1.62;color:var(--muted);margin:0}.normal .proj-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.normal .proj-tags .chip{font-size:10.5px;padding:4px 9px;border-radius:7px}.normal .proj-links{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:4px}.normal .proj-links .lnk{font-size:12px;padding:8px 13px}.normal .stack-body{padding:30px 38px 32px;display:flex;flex-direction:column;gap:22px}.normal .sgroup{display:flex;flex-direction:column;gap:11px}.normal .sgroup .gl{font-family:var(--mono);font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--faint)}.normal .pills{display:flex;flex-wrap:wrap;gap:8px}.normal .pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;padding:7px 13px;border:1px solid var(--line);border-radius:11px;color:var(--cream);background:rgba(128,116,98,.04);transition:transform .25s,border-color .25s,background .25s;cursor:default}.normal .pill:hover{transform:translateY(-2px);border-color:var(--accent-ring);background:var(--accent-soft)}.normal .pill svg{width:14px;height:14px;flex:0 0 auto}.normal .gh-body{padding:30px 40px 32px;display:flex;flex-direction:column;justify-content:center}.normal .gh-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:30px}.normal .gh-count{font-family:var(--ser);font-size:clamp(34px,4.2vw,46px);color:var(--cream);line-height:1}.normal .gh-count b{color:var(--accent-text);font-weight:400;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.normal .gh-sub{font-family:var(--mono);font-size:12px;color:var(--faint);margin-top:8px}.normal .gh-link{font-family:var(--mono);font-size:13px;color:var(--peri);text-decoration:none;display:inline-flex;align-items:center;gap:5px;position:relative}.normal .gh-link:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px;border-radius:3px}.normal .gh-link .u:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--peri);transition:right .25s}.normal .gh-link:hover .u:after{right:0}.normal .heat{display:grid;grid-template-columns:repeat(26,1fr);grid-gap:4px;gap:4px;margin-bottom:26px}.normal .heat i{aspect-ratio:1;border-radius:2px;background:var(--heat-base);opacity:0;transform:scale(.4);animation:normal-pop .5s ease forwards;cursor:pointer;transition:outline-color .15s,transform .15s}.normal .heat i:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px;z-index:2;position:relative}.normal .heat i:hover{transform:scale(1.18)}@keyframes normal-pop{to{opacity:1;transform:scale(1)}}.normal .heat i.l1{background:rgba(245,197,24,.3)}.normal .heat i.l2{background:rgba(245,197,24,.52)}.normal .heat i.l3{background:rgba(245,197,24,.74)}.normal .heat i.l4{background:rgba(245,197,24,.98)}.normal.light .heat i.l1{background:rgba(217,154,0,.32)}.normal.light .heat i.l2{background:rgba(217,154,0,.56)}.normal.light .heat i.l3{background:rgba(217,154,0,.78)}.normal.light .heat i.l4{background:rgba(196,138,0,1)}.normal .heat-tip{position:fixed;z-index:95;pointer-events:none;font-family:var(--mono);font-size:11.5px;padding:7px 11px;border-radius:9px;background:var(--tip-bg);color:var(--tip-ink);border:1px solid var(--tip-line);white-space:nowrap;opacity:0;transform:translate(-50%,calc(-100% - 4px));transition:opacity .14s ease,transform .14s ease;box-shadow:0 12px 28px -14px rgba(0,0,0,.6)}.normal .heat-tip.show{opacity:1;transform:translate(-50%,calc(-100% - 12px))}.normal .commit{font-family:var(--mono);font-size:13px;color:var(--muted);display:flex;align-items:center;gap:9px;padding-top:24px;border-top:1px solid var(--line2)}.normal .commit .gd{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex:0 0 auto}.normal .commit b{color:var(--cream);font-weight:600}.normal .commit .msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normal .heat-scroll{overflow:hidden;margin:0 -6px 8px;padding:2px 6px 10px}.normal .who .wv a{color:var(--accent-text);text-decoration:none;border-bottom:1px dashed var(--line)}.normal .who .wv a:hover{border-bottom-color:var(--accent-ring)}html{scrollbar-width:none;scroll-behavior:smooth}html::-webkit-scrollbar{display:none}.normal .sec{scroll-margin-top:90px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.normal .heat-scroll::-webkit-scrollbar{height:8px}.normal .heat-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}.normal .heat-scroll::-webkit-scrollbar-track{background:transparent}.normal .heat.heat-full{grid-template-rows:repeat(7,12px);grid-auto-flow:column;grid-auto-columns:12px;gap:4px;margin:0}.normal .heat.heat-full i{width:12px;height:12px;aspect-ratio:auto}.normal .heat.heat-full i.pad,.normal .heat.heat-full i.ph{background:transparent;cursor:default;animation:none;opacity:1;transform:none}.normal .heat.heat-full i.ph{background:var(--heat-base);opacity:.5}.normal .heat-legend{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:18px;padding-top:20px;border-top:1px solid var(--line2)}.normal .heat-legend i{width:11px;height:11px;border-radius:2px;background:var(--heat-base);flex:0 0 auto}.normal .heat-legend i.l1{background:rgba(245,197,24,.3)}.normal .heat-legend i.l2{background:rgba(245,197,24,.52)}.normal .heat-legend i.l3{background:rgba(245,197,24,.74)}.normal .heat-legend i.l4{background:rgba(245,197,24,.98)}.normal.light .heat-legend i.l1{background:rgba(217,154,0,.32)}.normal.light .heat-legend i.l2{background:rgba(217,154,0,.56)}.normal.light .heat-legend i.l3{background:rgba(217,154,0,.78)}.normal.light .heat-legend i.l4{background:rgba(196,138,0,1)}.normal .heat-legend span:last-child{margin-left:2px}.normal .soc-body{padding:28px 40px;display:flex;flex-direction:column;gap:2px}.normal .soc{display:flex;align-items:center;gap:16px;padding:20px 8px;text-decoration:none;border-bottom:1px solid var(--line2);transition:padding .25s;position:relative}.normal .soc:last-child{border-bottom:none}.normal .soc:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:6px}.normal .soc:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transition:transform .25s;border-radius:2px}.normal .soc:hover{padding-left:18px}.normal .soc:focus-visible:before,.normal .soc:hover:before{transform:scaleY(.6)}.normal .soc .si{width:30px;height:30px;flex:0 0 auto;color:var(--muted);transition:color .25s}.normal .soc:focus-visible .si,.normal .soc:hover .si{color:var(--accent-text)}.normal .soc .sn{font-size:16.5px;color:var(--cream);font-weight:600}.normal .soc .sh{font-family:var(--mono);font-size:12.5px;color:var(--faint);margin-left:auto;transition:.25s}.normal .soc:hover .sh{color:var(--muted)}.normal .soc .arr{color:var(--faint);transition:.25s;opacity:0;transform:translateX(-6px)}.normal .soc:focus-visible .arr,.normal .soc:hover .arr{opacity:1;transform:translateX(0);color:var(--accent-text)}.normal .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.normal .blog-win{--hazard:var(--amber);--hazard-ink:#16120b;--tape-h:38px}.normal .blog-body{padding:48px 56px 54px}.normal .blog-tape{position:relative;height:var(--tape-h);border-radius:6px;display:flex;align-items:center;overflow:hidden;background:repeating-linear-gradient(45deg,var(--hazard) 0 24px,var(--hazard-ink) 24px 48px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);background-size:67.9px 67.9px;animation:normal-tape 6s linear infinite}.normal .blog-tape-text{font-family:var(--mono);font-weight:800;font-size:12px;letter-spacing:3px;white-space:nowrap;text-transform:uppercase;color:var(--hazard-ink);text-shadow:0 1px 0 rgba(245,197,24,.5);padding-left:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes normal-tape{to{background-position:67.9px 0}}.normal .blog-msg{margin-top:30px}.normal .blog-title{font-family:var(--ser);font-style:italic;font-weight:400;font-size:clamp(26px,3.2vw,34px);line-height:1.08;color:var(--cream);margin:0 0 12px}.normal .blog-title .blog-em{color:var(--accent-text);font-style:normal}.normal .blog-copy{font-size:14.5px;line-height:1.62;color:var(--muted);margin:0 0 18px;max-width:52ch}.normal .blog-status{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--faint);padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:rgba(128,116,98,.05)}.normal .blog-status b{color:var(--accent-text);font-weight:700}.normal .blog-status i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber);flex:0 0 auto;animation:normal-pulse 2s infinite}.normal .blog-status .blog-blink{color:var(--accent-text);animation:normal-blink 1.05s steps(1) infinite}.normal .footer{max-width:1180px;margin:84px auto 0;padding:48px 44px 92px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px 28px;flex-wrap:wrap}.normal .footer .fl{font-family:var(--ser);font-size:27px;line-height:1;color:var(--cream);flex:0 0 auto}.normal .footer .fl span{color:var(--accent-text)}.normal .footer .fcenter{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.normal .openterm{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.3px;color:var(--on-accent);text-decoration:none;padding:12px 18px;border-radius:11px;background:var(--accent);border:1px solid var(--accent);transition:transform .22s,box-shadow .25s,filter .25s;cursor:pointer}.normal .openterm .cur{font-weight:700;animation:normal-blink 1.05s steps(1) infinite}.normal .openterm:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px var(--accent-soft);filter:brightness(1.04)}.normal .openterm:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px}.normal .footer .fr{font-family:var(--mono);font-size:12.5px;color:var(--faint);display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:flex-end}@media(max-width:980px){.normal .c4,.normal .c5,.normal .c6,.normal .c7,.normal .c8{grid-column:span 12}.normal .feat-grid{grid-template-columns:1fr}.normal .feat-side{border-left:none;border-top:1px solid var(--line2)}.normal .wrap>section{margin-top:64px}}@media(max-width:720px){.normal .grid{gap:22px}.normal .hero .body{padding:56px 30px 54px}.normal h1.name{margin-bottom:28px}.normal .hero-foot{margin-top:24px}.normal .hero .body:after,.normal .hero .body:before{display:none}.normal .about-body,.normal .blog-body,.normal .body,.normal .feat-main,.normal .feat-side,.normal .gh-body,.normal .soc-body,.normal .stack-body,.normal .who{padding-left:30px;padding-right:30px}.normal .widgets .wg-gh,.normal .widgets .wg.hide-sm{display:none}.normal .rail-in{padding:11px 22px;gap:12px}.normal .wrap{padding:0 22px 120px}.normal .footer{margin-top:84px;padding:48px 22px 80px;text-align:center}.normal .footer,.normal .footer .fr{justify-content:center}}@media(max-width:460px){.normal .widgets .wg.hide-xs{display:none}.normal .heat{grid-template-columns:repeat(20,1fr)}.normal .heat.heat-full{grid-template-rows:repeat(7,10px);grid-auto-columns:10px;gap:3px}.normal .heat.heat-full i{width:10px;height:10px}.normal h1.name{font-size:clamp(40px,13vw,60px);margin-bottom:24px}.normal .hero .body{padding:40px 18px}.normal .hero-foot{gap:14px;margin-top:20px}.normal .about-body,.normal .blog-body,.normal .body,.normal .feat-main,.normal .feat-side,.normal .gh-body,.normal .soc-body,.normal .stack-body,.normal .who{padding-left:20px;padding-right:20px}.normal .rail-in{padding:10px 14px;gap:9px}.normal .wrap{padding:0 16px 104px}.normal .term-line{padding:14px}.normal .footer{gap:16px;margin-top:64px;padding:40px 16px 72px}.normal .footer .fcenter{width:100%}}@media(prefers-reduced-motion:reduce){.normal *{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:.05s!important}.normal .marquee-track{animation:none}.normal .win{opacity:1;transform:none}}