@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SFMono-Regular", monospace;--topbar-h:40px;--gap:10px;--radius:10px;--ease:cubic-bezier(.2, .8, .2, 1);--dur-instant:80ms;--dur-fast:.14s;--dur-base:.22s;--dur-slow:.36s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:linear(0, .36 8%, .82 20%, 1.04 32%, 1.06 40%, 1.01 55%, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070c1d;--bg-veins:#12235e;--surface:#0c142ea8;--surface-strong:#0e1632e6;--surface-hover:#4664dc1a;--border:#8ca5ff21;--border-strong:#8ca5ff42;--text:#e6e9f5;--muted:#a3acc9;--dim:#6c76a0;--lapis:#3d5be0;--lapis-soft:#8ea4ff;--pyrite:#e0b860;--pyrite-soft:#e0b86029;--ok:#7fd6a8;--warn:#e7b56a;--err:#f08a96;--shadow:0 18px 50px -20px #000000b3;--fleck:#e8c470bf;--fleck-dim:#aabeff59;--c0:#1a2550;--c1:#f08a96;--c2:#7fd6a8;--c3:#e0b860;--c4:#3d5be0;--c5:#b48cf2;--c6:#6ccfe0;--c7:#e6e9f5}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9ecf6;--bg-veins:#b9c6f3;--surface:#ffffffb3;--surface-strong:#fffffff0;--surface-hover:#2d48b812;--border:#1e2d6e21;--border-strong:#1e2d6e42;--text:#121834;--muted:#46507a;--dim:#6a7398;--lapis:#2b47c4;--lapis-soft:#2b47c4;--pyrite:#8f6410;--pyrite-soft:#a073141f;--ok:#1f7a4d;--warn:#8f5b0a;--err:#b3263a;--shadow:0 18px 40px -24px #141e5059;--fleck:#aa781473;--fleck-dim:#2b47c438;--c0:#cfd6ee;--c7:#121834}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9ecf6;--bg-veins:#b9c6f3;--surface:#ffffffb3;--surface-strong:#fffffff0;--surface-hover:#2d48b812;--border:#1e2d6e21;--border-strong:#1e2d6e42;--text:#121834;--muted:#46507a;--dim:#6a7398;--lapis:#2b47c4;--lapis-soft:#2b47c4;--pyrite:#8f6410;--pyrite-soft:#a073141f;--ok:#1f7a4d;--warn:#8f5b0a;--err:#b3263a;--shadow:0 18px 40px -24px #141e5059;--fleck:#aa781473;--fleck-dim:#2b47c438;--c0:#cfd6ee;--c7:#121834}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}#root{min-height:100%}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--lapis-soft);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;display:block}kbd{font:11px var(--font-mono);color:var(--dim);border:1px solid var(--border);border-radius:4px;padding:0 5px}:focus-visible{outline:2px solid var(--pyrite);outline-offset:2px;border-radius:4px}::selection{background:var(--pyrite-soft);color:var(--text)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--surface-strong);border-radius:8px;padding:8px 14px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.accent,.t-accent{color:var(--pyrite)}.t-dim{color:var(--dim)}.t-ok{color:var(--ok)}.t-err{color:var(--err)}.status{font:12px var(--font-mono);white-space:nowrap;color:var(--muted)}.status--live>span,.status--production>span{color:var(--ok)}.status--soon>span,.status--building>span{color:var(--warn)}.status--planned>span,.status--study>span{color:var(--dim)}.btn{font:500 13px var(--font-mono);color:var(--text);border:1px solid var(--border-strong);border-radius:7px;align-items:center;gap:6px;padding:6px 12px;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--lapis-soft);text-decoration:none}.btn--primary{background:var(--lapis);border-color:var(--lapis);color:#fff}.btn--primary:hover{background:color-mix(in oklab, var(--lapis) 85%, white)}.link-btn{font:13px var(--font-mono);color:var(--lapis-soft)}.link-btn:hover{text-decoration:underline}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags li{font:12px var(--font-mono);color:var(--muted);border:1px solid var(--border);background:var(--surface-hover);border-radius:999px;padding:2px 8px}.tags--small li{padding:1px 7px;font-size:11px}.bullets li{color:var(--muted);padding-left:18px;position:relative}.bullets li+li{margin-top:6px}.bullets li:before{content:"›";color:var(--pyrite);font-family:var(--font-mono);position:absolute;left:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.t-warn{color:var(--warn)}.wallpaper{z-index:-1;background: radial-gradient(circle at 80% 8%, #b4c8ff2e, transparent 22%), radial-gradient(ellipse 70% 55% at 15% 85%, color-mix(in oklab, var(--bg-veins) 55%, transparent), transparent 70%), radial-gradient(ellipse 60% 50% at 75% 30%, color-mix(in oklab, var(--bg-veins) 40%, transparent), transparent 70%), var(--bg);transform:translateX(calc(var(--ws,0) * -2.2%));transition:transform .9s var(--ease-out);position:fixed;inset:0 -8%}.wallpaper:before{content:"";background:var(--fleck);position:absolute;inset:0;-webkit-mask:url(/flecks.svg) 0 0/960px 720px;mask:url(/flecks.svg) 0 0/960px 720px}.topbar{z-index:30;height:var(--topbar-h);margin:var(--gap) var(--gap) 0;font:13px var(--font-mono);background:var(--surface);-webkit-backdrop-filter:blur(18px)saturate(150%);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 6px 0 14px;display:grid;position:sticky;top:0}.topbar__left{justify-self:start;align-items:center;gap:12px;display:flex}.topbar__brand{color:var(--text);letter-spacing:.02em;align-items:center;gap:8px;font-weight:600;display:inline-flex}.topbar__brand:hover{text-decoration:none}.topbar__name{white-space:nowrap}.topbar__codename{color:var(--dim);font:500 12px var(--font-mono);letter-spacing:0;margin-left:-6px}.topbar__star{color:var(--pyrite);text-shadow:0 0 12px var(--pyrite);transition:transform var(--dur-slow) var(--ease-spring);font-size:15px}.topbar__brand:hover .topbar__star{transform:rotate(45deg)scale(1.15)}.topbar__apps svg{fill:currentColor;opacity:.8;width:11px;height:11px}.topbar__ws{gap:4px;display:flex}.ws-btn{height:28px;color:var(--dim);transition:color var(--dur-fast), background var(--dur-fast);border-radius:6px;align-items:center;gap:6px;padding:0 10px 2px;display:inline-flex;position:relative}.ws-btn:hover,.ws-btn[aria-current=page]{color:var(--text);background:var(--surface-hover)}.ws-btn__num{font-weight:600}.ws-btn[aria-current=page] .ws-btn__num{color:var(--pyrite)}.ws-btn__dots{gap:2px;display:flex;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.ws-btn__dots i{opacity:.55;background:currentColor;border-radius:50%;width:3px;height:3px}.ws-btn[aria-current=page] .ws-btn__dots i{background:var(--pyrite);opacity:1}.topbar__right{justify-self:end;align-items:center;gap:6px;display:flex}.chip{height:28px;color:var(--dim);border:1px solid var(--border);transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);border-radius:6px;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.chip:hover{background:var(--surface-hover);color:var(--text)}.chip:active{transform:translateY(1px)}.chip .on{color:var(--text);font-weight:600}.chip--icon{min-width:32px;color:var(--muted);justify-content:center}.chip[aria-pressed=true]{color:var(--pyrite);border-color:color-mix(in oklab, var(--pyrite) 60%, transparent)}.topbar__status,.topbar__ssid{color:var(--muted)}.wifi,.speaker{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:15px;height:12px}.wifi path{opacity:.25}.wifi .on,.speaker .on{opacity:1}.wifi circle,.speaker .on{fill:currentColor;stroke:none}.topbar__clock{color:var(--text);white-space:nowrap;margin:0 4px 0 6px}.topbar__date{color:var(--dim);margin-right:8px}.hint{right:calc(var(--gap) + 6px);font:11px var(--font-mono);color:var(--dim);opacity:.8;position:fixed;bottom:4px}.hint a{color:var(--muted)}.dock{display:none}.workspace{--ws-h:calc(100dvh - var(--topbar-h) - var(--gap) * 3 - 18px);gap:var(--gap);padding:var(--gap);height:calc(var(--ws-h) + var(--gap) * 2);animation:ws-in var(--dur-slow) var(--ease-out) backwards;display:flex;position:relative}.workspace[data-direction="-1"]{--from:-40px}.workspace[data-direction="1"]{--from:40px}@keyframes ws-in{0%{opacity:0;transform:translateX(var(--from,0))}}.ws-col{flex:var(--w,1) 1 0;gap:var(--gap);flex-direction:column;min-width:0;display:flex}.ws-empty{text-align:center;animation:win-in .5s var(--ease-out) both;flex:1;place-content:center;justify-items:center;gap:14px;display:grid}.ws-empty__logo{opacity:.7;margin-bottom:8px;font-size:9px}.ws-empty__title{font-size:18px}.ws-empty__hint{color:var(--dim);font:12px var(--font-mono)}::view-transition-group(*){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(*):only-child{animation:vt-out var(--dur-base) var(--ease-in) both}::view-transition-new(*):only-child{animation:vt-in var(--dur-slow) var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:scale(.94)}}@keyframes vt-in{0%{opacity:0;transform:scale(.96)}}.overlay{z-index:40;padding:calc(var(--topbar-h) + var(--gap) * 3) var(--gap) var(--gap);place-items:start center;display:grid;position:fixed;inset:0}.overlay__backdrop{-webkit-backdrop-filter:blur(3px);cursor:default;animation:fade var(--dur-base) var(--ease-out) both;background:#0408166b;position:absolute;inset:0}.overlay__backdrop--clear{-webkit-backdrop-filter:none;background:0 0}@keyframes fade{0%{opacity:0}}.panel,.launcher,.cc,.keys{background:var(--surface-strong);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--border-strong);border-radius:14px;position:relative;box-shadow:0 30px 80px -30px #000000bf}.scratchpad__window{width:min(880px,100%);height:min(560px,70dvh);animation:drop var(--dur-base) var(--ease-out) both;position:relative}.scratchpad__window,.scratchpad__window:hover{background:linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, linear-gradient(var(--border), var(--border)) border-box}@keyframes drop{0%{opacity:0;transform:translateY(-24px)scale(.98)}}.launcher{width:min(640px,100%);max-height:min(560px,76dvh);animation:pop var(--dur-base) var(--ease-out) both;transform-origin:top;flex-direction:column;display:flex;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(-10px)scale(.97)}}.launcher__search{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;display:flex}.launcher__prompt{color:var(--pyrite);text-shadow:0 0 12px var(--pyrite);font-size:18px}.launcher__search input{min-width:0;font:17px var(--font-sans);color:var(--text);caret-color:var(--pyrite);background:0 0;border:0;outline:0;flex:1}.launcher__search input::placeholder{color:var(--dim)}.launcher__list{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;padding:6px;overflow-y:auto}.launcher__group{font:11px var(--font-mono);color:var(--dim);padding:10px 10px 4px}.launcher__item{cursor:pointer;border-radius:9px;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.launcher__item[aria-selected=true]{background:color-mix(in oklab, var(--lapis) 22%, transparent);box-shadow:inset 2px 0 0 var(--pyrite)}.launcher__glyph{width:30px;height:30px;font:14px var(--font-mono);color:var(--pyrite);background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;place-items:center;display:grid}.launcher__text{flex-direction:column;min-width:0;display:flex}.launcher__label{font-weight:500}.launcher__hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.launcher__aside{font:11px var(--font-mono);color:var(--dim);white-space:nowrap}.launcher__state{color:var(--ok)}.launcher__state--closed{color:var(--dim)}.launcher__empty{color:var(--muted);text-align:center;padding:22px 12px}.launcher__foot{border-top:1px solid var(--border);font:11px var(--font-mono);color:var(--dim);gap:16px;padding:8px 16px;display:flex}.launcher__foot kbd+kbd{margin-left:2px}.overlay--cc{padding-top:calc(var(--topbar-h) + var(--gap) * 2);place-items:start end}.cc{width:min(360px,100%);animation:pop var(--dur-base) var(--ease-out) both;transform-origin:100% 0;gap:12px;padding:14px;display:grid}.cc__me{align-items:center;gap:12px;display:flex}.cc__avatar{width:40px;height:40px;color:var(--pyrite);background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--lapis) 70%, white), var(--lapis) 60%, color-mix(in oklab, var(--lapis) 60%, black));text-shadow:0 0 10px var(--pyrite);border-radius:50%;place-items:center;font-size:18px;display:grid}.cc__who{flex-direction:column;line-height:1.35;display:flex}.cc__who span{font:11.5px var(--font-mono);color:var(--dim)}.cc__net{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;padding:12px}.cc__net-head{color:var(--pyrite);align-items:center;gap:8px;display:flex}.cc__ssid{color:var(--text);font:600 13px var(--font-mono);flex:1}.cc__ok{font:11px var(--font-mono);color:var(--ok)}.cc__spark{width:100%;height:42px;margin:10px 0 6px;display:block}.cc__spark-line{fill:none;stroke:var(--lapis-soft);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cc__spark-fill{fill:color-mix(in oklab, var(--lapis) 22%, transparent);stroke:none}.cc__stats{font:11.5px var(--font-mono);grid-template-columns:repeat(4,auto);justify-content:space-between;display:grid}.cc__stats div{gap:4px;display:flex}.cc__stats dt{color:var(--dim)}.cc__others{border-top:1px dashed var(--border);margin-top:10px;padding-top:8px}.cc__others button{width:100%;font:12px var(--font-mono);color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:5px 4px;display:flex}.cc__others button span:first-of-type{text-align:left;flex:1}.cc__others button:hover{background:var(--surface-hover);color:var(--text)}.cc__grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cc-toggle{text-align:left;border:1px solid var(--border);background:var(--surface-hover);transition:background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.cc-toggle:hover{border-color:var(--border-strong)}.cc-toggle:active{transform:scale(.97)}.cc-toggle__glyph{background:var(--border);width:30px;height:30px;color:var(--muted);transition:background var(--dur-fast), color var(--dur-fast);border-radius:50%;flex:none;place-items:center;display:grid}.cc-toggle--switch .cc-toggle__glyph{color:var(--pyrite)}.cc-toggle--on .cc-toggle__glyph{background:var(--lapis);color:#fff}.cc-toggle__text{flex-direction:column;font-size:13.5px;line-height:1.3;display:flex}.cc-toggle__sub{font:11px var(--font-mono);color:var(--dim)}.cc__volume{color:var(--muted);align-items:center;gap:10px;display:flex}.cc__volume--off{opacity:.45}.cc__volume input{accent-color:var(--pyrite);flex:1}.cc__vol-num{text-align:right;width:3ch;font:11px var(--font-mono)}.cc__foot{gap:8px;display:flex}.cc__foot button{border:1px solid var(--border);color:var(--muted);border-radius:8px;flex:1;justify-content:space-between;align-items:center;padding:7px 10px;font-size:13px;display:flex}.cc__foot button:hover{color:var(--text);background:var(--surface-hover)}.cc__motd{font:11px var(--font-mono);color:var(--dim);text-align:center}.overlay--keys{place-items:center}.keys{width:min(760px,100%);max-height:86dvh;animation:pop var(--dur-base) var(--ease-out) both;padding:22px 24px;overflow-y:auto}.keys:focus{outline:none}.keys__title{margin-bottom:16px;font-size:18px;font-weight:600}.keys__groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;display:grid}.keys h3{font:600 12px var(--font-mono);color:var(--pyrite);margin-bottom:8px}.keys__row{border-bottom:1px dashed var(--border);gap:2px;padding:7px 0;display:grid}.keys__row dd{color:var(--muted);font-size:13.5px}.keys__combo{align-items:center;gap:3px;display:inline-flex}.keys__or{font:11px var(--font-mono);color:var(--dim);margin:0 6px}.keys kbd{color:var(--text);background:var(--surface-hover);padding:1px 6px}.keys__foot{font:12px var(--font-mono);color:var(--dim);margin-top:16px}.toasts{z-index:60;top:calc(var(--topbar-h) + var(--gap) * 2);right:var(--gap);width:min(340px, calc(100vw - var(--gap) * 2));pointer-events:none;gap:8px;display:grid;position:fixed}.toast{pointer-events:auto;background:var(--surface-strong);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-strong);border-left:2px solid var(--pyrite);box-shadow:var(--shadow);animation:toast-in var(--dur-base) var(--ease-out) both;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.toast--leaving{animation:toast-out .16s var(--ease-in) both}@keyframes toast-in{0%{opacity:0;transform:translate(14px)}}@keyframes toast-out{to{opacity:0;transform:translate(14px)}}.toast__dot{background:var(--pyrite);border-radius:50%;flex:none;width:6px;height:6px}.toast__msg{flex:1}.toast__action{font:600 12px var(--font-mono);color:var(--pyrite);border:1px solid color-mix(in oklab, var(--pyrite) 45%, transparent);border-radius:6px;padding:3px 8px}.toast__action:hover{background:var(--pyrite-soft)}.matrix{z-index:80;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.boot{z-index:90;background:var(--bg);font:13px/1.8 var(--font-mono);place-items:center;transition:opacity .32s,filter .32s;display:grid;position:fixed;inset:0}.boot--leaving{opacity:0;filter:blur(6px);pointer-events:none}.boot__inner{width:min(420px,100% - 32px)}.boot__star{color:var(--pyrite);text-shadow:0 0 22px var(--pyrite);font-size:28px;animation:1.6s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.55;transform:scale(.9)}}.boot__name{margin:4px 0 16px;font-weight:600}.boot__steps li{gap:8px;animation:.18s ease-out both line-in;display:flex}.boot__dots{border-bottom:1px dotted var(--border-strong);flex:1;margin-bottom:7px}@keyframes line-in{0%{opacity:0;transform:translate(-6px)}}.boot__welcome{color:var(--pyrite);margin-top:14px;animation:.2s ease-out both line-in}.boot__skip{margin-top:28px;font-size:11px}.intro{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.intro__name{font:600 26px/1.15 var(--font-sans);letter-spacing:-.01em}.intro__role{font:500 13px var(--font-mono);color:var(--pyrite);margin-top:2px}.intro__headline{max-width:52ch;color:var(--muted);margin-top:10px}.intro__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}@media (width<=1180px){.topbar__date,.topbar__ssid,.topbar__codename{display:none}.workspace{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;height:auto;display:grid}.ws-col{display:contents}.window{max-height:560px}.workspace[data-count="1"],.workspace[data-count="0"],.workspace--projects{grid-template-columns:minmax(0,1fr)}.workspace--projects .window{max-height:none}.ws-empty{grid-column:1/-1;min-height:60dvh}.hint{display:none}.intro{clip-path:none;white-space:normal;grid-column:1/-1;width:auto;height:auto;padding:18px 6px 8px;position:static;overflow:visible}}@media (width<=720px){:root{--gap:8px}.topbar{grid-template-columns:1fr auto;padding:0 6px 0 12px}.topbar__ws,.topbar__clock,.topbar__apps span{display:none}.topbar__name{font-size:13px}.workspace{padding-bottom:calc(80px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr)}.window{max-height:none}.window__btns{opacity:1}.dock{z-index:30;left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + env(safe-area-inset-bottom));background:var(--surface-strong);-webkit-backdrop-filter:blur(18px)saturate(150%);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;display:grid;position:fixed}.dock .ws-btn{height:50px;font:11px var(--font-mono);border-radius:10px;flex-direction:column;justify-content:center;gap:0}.dock .ws-btn__num{font-size:13px}.dock .ws-btn__dots{bottom:4px}.overlay{padding-top:calc(var(--topbar-h) + var(--gap) * 2)}.overlay--cc{place-items:start center}.scratchpad__window{height:min(520px,62dvh)}.launcher__search input{font-size:16px}.launcher__foot{display:none}.toasts{top:auto;bottom:calc(84px + env(safe-area-inset-bottom))}}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}.window{flex:var(--h,1) 1 0;border-radius:var(--radius);background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(var(--border), var(--border)) border-box;-webkit-backdrop-filter:blur(18px)saturate(150%);min-width:0;min-height:0;box-shadow:var(--shadow);animation:win-in .4s var(--ease-out) backwards;transition:opacity var(--dur-base);border:1px solid #0000;flex-direction:column;display:flex}.ws-col:nth-child(2) .window{animation-delay:40ms}.ws-col:nth-child(3) .window{animation-delay:80ms}.window+.window{animation-delay:60ms}@keyframes win-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}.window:hover{background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(var(--border-strong), var(--border-strong)) border-box}.window{position:relative}.window--focused:before,.window--max:before,.scratchpad__window:before{content:"";z-index:1;border-radius:inherit;background:conic-gradient(from var(--angle), var(--lapis), transparent 25%, var(--pyrite) 50%, transparent 75%, var(--lapis));-webkit-mask-composite:xor;pointer-events:none;animation:ring-in var(--dur-base) var(--ease-out) both, spin 9s linear infinite;padding:1px;position:absolute;inset:-1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@keyframes ring-in{0%{opacity:0}}@keyframes spin{to{--angle:360deg}}.window--focused .window__title{color:var(--text)}.window--max{z-index:20;inset:calc(var(--topbar-h) + var(--gap) * 2) var(--gap) var(--gap);position:fixed}.window--max,.window--max:hover{background:linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, linear-gradient(var(--border), var(--border)) border-box}.window--behind{opacity:.2}.window__bar{border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:10px;height:34px;padding:0 6px 0 12px;display:flex}.window__title{min-width:0;font:500 12px var(--font-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-fast);flex:1;overflow:hidden}.window__glyph{width:1.4em;color:var(--pyrite);display:inline-block}.window__meta{align-items:center;display:flex}.window__btns{opacity:.55;transition:opacity var(--dur-fast);gap:2px;display:flex}.window:hover .window__btns,.window--focused .window__btns,.window__btns:focus-within{opacity:1}.window__btn{width:24px;height:24px;color:var(--dim);transition:color var(--dur-fast), background var(--dur-fast);border-radius:6px;place-items:center;display:grid}.window__btn:hover{color:var(--text);background:var(--surface-hover)}.window__btn--close:hover{color:var(--err);background:color-mix(in oklab, var(--err) 14%, transparent)}.window__btn:active{transform:scale(.92)}.window__btn svg{fill:none;stroke:currentColor;stroke-width:1.3px;width:11px;height:11px}.window__body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;min-height:0;padding:16px 18px;overflow:auto}.window__body:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--pyrite) 60%, transparent);border-radius:0 0 var(--radius) var(--radius);outline:none}.window--terminal .window__body{padding:0;overflow:hidden}.logo{font:12px/1 var(--font-mono);white-space:pre;margin:0}.logo__t0{color:#fff6dc;text-shadow:0 0 10px var(--pyrite);animation:5s ease-in-out infinite core}.logo__t1{color:var(--pyrite)}.logo__t2{color:var(--lapis-soft)}.logo__t3{color:var(--lapis)}.logo__t4{color:var(--lapis);opacity:.45}.logo__t5{color:var(--pyrite);animation:3.2s ease-in-out infinite twinkle-dust;animation-delay:calc(var(--d,0) * -.7s)}@keyframes core{50%{text-shadow:0 0 18px var(--pyrite)}}@keyframes twinkle-dust{0%,to{opacity:.25}50%{opacity:.95}}:root[data-theme=light] .logo__t0{color:#f2c75c;text-shadow:0 0 8px #e0a82899}:root[data-theme=light] .logo__t1,:root[data-theme=light] .logo__t5{color:#d39b22}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .logo__t0{color:#f2c75c;text-shadow:0 0 8px #e0a82899}:root:not([data-theme=dark]) .logo__t1,:root:not([data-theme=dark]) .logo__t5{color:#d39b22}}.fastfetch-wrap{min-height:100%;font:12.5px/1.25 var(--font-mono);place-items:center;display:grid;container-type:inline-size}.fastfetch{--lh:1.25em;align-items:flex-start;gap:3ch;display:flex}.fastfetch__logo{font:inherit;line-height:var(--lh);flex:none}.fastfetch__info{min-width:0;padding-top:var(--lh);line-height:var(--lh);white-space:nowrap}.fastfetch__title{font-weight:700}.fastfetch__rule{color:var(--dim)}.fastfetch dl>div{grid-template-columns:10ch auto;display:grid}.fastfetch dt{color:var(--pyrite);font-weight:600}.fastfetch dd{text-overflow:ellipsis;min-width:0;overflow:hidden}.fastfetch__palette{margin-top:var(--lh);height:var(--lh);display:flex}.fastfetch__palette span{width:3ch;height:100%}@container (width<700px){.fastfetch{font-size:11px}}@container (width<610px){.fastfetch{font-size:9.5px}}@container (width<530px){.fastfetch{align-items:center;gap:var(--lh);flex-direction:column;font-size:12px}.fastfetch__logo{font-size:9px}.fastfetch__info{white-space:normal;padding-top:0}}.fastfetch-wrap--compact{place-items:start;padding:6px 0;font-size:12px}.featured{flex-direction:column;gap:12px;display:flex}.featured__list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.featured__item{text-align:left;border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:100%;height:100%;padding:12px 14px;transition:border-color .15s,background .15s,transform .15s;display:flex}.featured__item:hover{border-color:var(--lapis-soft);background:var(--surface-hover);transform:translateY(-1px)}.featured__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.featured__name{font-size:16px;font-weight:600}.featured__tagline{color:var(--muted);font-size:13.5px;line-height:1.45}.featured__stack{font:11px var(--font-mono);color:var(--dim);margin-top:auto}.now__list li{border-bottom:1px dashed var(--border);color:var(--muted);padding:6px 0}.now__list li:before{content:"◆";color:var(--pyrite);vertical-align:2px;margin-right:10px;font-size:9px}.now__motd{font:13px/1.6 var(--font-mono);color:var(--pyrite);margin-top:14px}.now__hint{font:11px var(--font-mono);margin-top:10px}.plist{flex-direction:column;gap:4px;margin:-6px -8px;display:flex}.plist__item{text-align:left;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;width:100%;padding:10px;transition:background .15s;display:grid}.plist__item:hover{background:var(--surface-hover)}.plist__item[aria-current=true]{background:var(--surface-hover);box-shadow:inset 2px 0 0 var(--pyrite)}.plist__idx{font:12px/1.9 var(--font-mono);color:var(--dim)}.plist__item[aria-current=true] .plist__idx{color:var(--pyrite)}.plist__main{flex-direction:column;min-width:0;display:flex}.plist__name{font-weight:600}.plist__tagline{color:var(--muted);font-size:13px;line-height:1.45}.plist .status{padding-top:3px}.case{max-width:820px;animation:win-in .3s var(--ease) both;margin:0 auto;padding:8px 6px 24px}.case__title{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.case__title h3{letter-spacing:-.02em;font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1.1}.case__tagline{color:var(--muted);margin-top:8px;font-size:18px}.case__facts{flex-wrap:wrap;gap:10px 32px;margin-top:18px;display:flex}.case__facts dt{font:11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.case__links{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.case__private{font:12px var(--font-mono);color:var(--dim)}.case__shot{margin-top:26px}.case__cover{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface-strong);border-radius:8px;display:block;overflow:hidden}.case__cover img{object-fit:contain;width:100%;max-height:70vh;display:block}.case__cover--mobile img{width:auto;margin-inline:auto}.case__shot figcaption{font:12px var(--font-mono);color:var(--dim);margin-top:8px}.case__thumbs{gap:8px;margin-top:10px;display:flex}.case__thumb{border:1px solid var(--border);opacity:.6;width:120px;height:75px;transition:opacity var(--dur-fast), border-color var(--dur-fast);border-radius:6px;flex:none;padding:0;overflow:hidden}.case__thumb--mobile{width:42px}.case__thumb:hover,.case__thumb[aria-pressed=true]{opacity:1}.case__thumb[aria-pressed=true]{border-color:var(--pyrite)}.case__thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.case__section{margin-top:30px}.case__section h4{text-transform:uppercase;letter-spacing:.08em;align-items:baseline;gap:10px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.case__num{font-family:var(--font-mono);color:var(--pyrite)}.case__section>p{color:var(--muted);max-width:68ch;font-size:16px}.decisions{counter-reset:d;gap:10px;display:grid}.decisions li{counter-increment:d;border:1px solid var(--border);background:var(--surface-hover);border-radius:8px;padding:12px 14px 12px 46px;position:relative}.decisions li:before{content:counter(d, decimal-leading-zero);font:600 12px/1.9 var(--font-mono);color:var(--pyrite);position:absolute;top:12px;left:14px}.about p+p{margin-top:10px}.about>p:not([class]){color:var(--muted)}.about__name{letter-spacing:-.01em;font-size:22px;font-weight:600}.about__role{font:13px var(--font-mono);color:var(--pyrite)}.about__headline{margin:12px 0 4px;font-size:17px;line-height:1.45}.xp__list{position:relative}.xp__job{border-left:1px solid var(--border-strong);padding:0 0 22px 20px;position:relative}.xp__job:before{content:"";background:var(--bg);border:1px solid var(--lapis-soft);border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:-5px}.xp__job--current:before{background:var(--pyrite);border-color:var(--pyrite);box-shadow:0 0 10px var(--pyrite)}.xp__period{font:12px var(--font-mono);color:var(--dim)}.xp__role{font-size:17px;font-weight:600;line-height:1.35}.xp__company{color:var(--pyrite);margin-bottom:10px;font-size:14px}.xp__job .tags{margin-top:12px}.xp__origin{border:1px dashed var(--border-strong);border-radius:8px;margin-top:6px;padding:14px 16px}.xp__origin h3{font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:6px}.xp__origin p{color:var(--muted);font-size:14px}.xp__earlier{flex-direction:column;margin-top:8px;display:flex;font-size:13px!important}.stack{gap:14px;display:grid}.stack dt{font:600 12px var(--font-mono);color:var(--pyrite);margin-bottom:6px}.edu__list li{border-bottom:1px dashed var(--border);flex-direction:column;padding:7px 0;display:flex}.edu__title{font-weight:500;line-height:1.4}.edu__school{color:var(--dim);font-size:13px}.edu__school em{color:var(--pyrite);font-style:normal}.langs{gap:6px;margin-top:14px;display:grid}.langs li{grid-template-columns:9ch auto 1fr;align-items:center;gap:10px;font-size:14px;display:grid}.langs .t-dim{font:12px var(--font-mono)}.langs__bar{gap:2px;display:flex}.langs__bar i{background:var(--border-strong);border-radius:1px;width:6px;height:10px}.langs__bar i.on{background:var(--lapis-soft)}.contact__lead{font-size:16px;line-height:1.45}.contact__list{gap:6px;margin-top:14px;display:grid}.contact__list li{font:13px var(--font-mono);grid-template-columns:9ch 1fr;gap:8px;min-width:0;display:grid}.contact__list a{overflow-wrap:anywhere}.exp__play{border:1px solid color-mix(in oklab, var(--pyrite) 45%, transparent);background:var(--pyrite-soft);border-radius:8px;margin-bottom:14px;padding:14px 16px}.exp__play-title{font:700 15px var(--font-mono);color:var(--pyrite)}.exp__play p+p{margin-top:6px}.exp{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.exp__item{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.exp__item--building{border-color:color-mix(in oklab, var(--warn) 40%, transparent);grid-column:1/-1}.exp__item--planned{border-style:dashed}.exp__item--planned p{color:var(--dim);font:12px var(--font-mono)}.exp__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.exp__head h3{font-size:16px;font-weight:600}.exp__item>p{color:var(--muted)}.colophon dl>div,.changelog li{font:12.5px/1.7 var(--font-mono)}.colophon dl>div{grid-template-columns:14ch 1fr;gap:12px;display:grid}.colophon dt{color:var(--pyrite)}.colophon dd{color:var(--muted)}.changelog .bullets{font-family:var(--font-sans);margin-top:6px;font-size:14px}@media (width<=720px){.window__body{padding:14px}.window--terminal{height:420px}.window--max{inset:calc(var(--topbar-h) + var(--gap) * 2) var(--gap) calc(84px + env(safe-area-inset-bottom))}.case__tagline{font-size:16px}}@media (width<=1180px){.window--terminal{height:420px}}.window--game{--eg-bg:#060a17;--eg-fg:#dfe4f5;--eg-red:#f08a96;--eg-green:#7fd6a8;--eg-yellow:#e7c06a;--eg-blue:#7f9cff;--eg-magenta:#c39cf5;--eg-cyan:#6ccfe0;--eg-bright-red:#ff6f7d;--eg-bright-magenta:#f39cf0}.window--game .window__body{background:var(--eg-bg);padding:0;overflow:hidden}.eg{flex-direction:column;height:100%;display:flex}.eg__box{cursor:default;outline:none;flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.eg__box:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--pyrite) 60%, transparent)}.eg__screen{font-family:var(--font-mono);color:var(--eg-fg);white-space:pre;font-variant-ligatures:none;margin:0}.eg__row{height:1.2em;overflow:hidden}.eg-w2{text-align:center;width:2ch;line-height:1;display:inline-block}.eg-loading{font:13px var(--font-mono);padding:16px}.eg__touch{display:none}@media (pointer:coarse){.eg__touch{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.eg__touch button,.eg__type{min-width:40px;font:600 13px var(--font-mono);color:var(--eg-fg);border:1px solid var(--border-strong);text-align:center;background:#ffffff0f;border-radius:6px;padding:8px 10px;position:relative}.eg__type input{opacity:0;position:absolute;inset:0}}@media (width<=1180px){.window--game{grid-column:1/-1;min-height:70dvh}}.colophon__note{margin-top:14px}.terminal{height:100%;font:13px/1.6 var(--font-mono);cursor:text;container-type:inline-size}.terminal__scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;height:100%;padding:12px 16px 14px;overflow-y:auto}.t-line+.t-line{margin-top:2px}.t-line:has(.t-echo){margin-top:8px}.t-line:first-child{margin-top:0}.t-echo{color:var(--text);word-break:break-all}.t-block>*+*{margin-top:6px}.t-block ul li:before{content:"  › ";color:var(--dim);white-space:pre}.t-table{gap:1px 0;display:grid}.t-row{grid-template-columns:14ch 1fr;gap:12px;display:grid}.t-row:has(>:nth-child(3)){grid-template-columns:14ch 15ch 1fr}.t-help+.t-help{margin-top:10px}.t-help__title{color:var(--muted);margin-bottom:2px}.t-help__title:before{content:"# ";color:var(--dim)}.t-starsay{line-height:1.2}.t-starsay__star{color:var(--pyrite);text-shadow:0 0 12px color-mix(in oklab, var(--pyrite) 45%, transparent)}.t-row--log{grid-template-columns:8ch 11ch 1fr!important}.t-row--top{grid-template-columns:6ch 20ch 14ch 1fr!important}.t-pre{font:inherit;color:var(--text);margin:0;line-height:1}.t-sl{overflow:hidden}.t-sl__train{font:11px/1.15 var(--font-mono);color:var(--pyrite);width:max-content;margin:0;animation:3.2s linear both train}@keyframes train{0%{transform:translate(100cqw)}to{transform:translate(-100%)}}.t-bar{color:var(--lapis-soft)}.t-history li{white-space:pre-wrap}.t-hints{color:var(--muted);word-spacing:6px;margin-top:8px}.t-input{align-items:baseline;margin-top:8px;display:flex}.t-prompt{white-space:pre;flex:none}.t-input input{min-width:0;font:inherit;color:var(--text);caret-color:var(--pyrite);background:0 0;border:0;outline:0;flex:1;padding:0}.t-input input::placeholder{color:var(--dim);opacity:.7}.terminal a{color:var(--lapis-soft)}@media (width<=720px){.terminal{font-size:12.5px}.t-input input{font-size:16px}:is(.t-row,.t-row:has(>:nth-child(3))){grid-template-columns:1fr;gap:0;margin-bottom:6px}.t-prompt .t-accent{display:none}}.plain{max-width:760px;font:16px/1.65 var(--font-sans);color:var(--text);margin:0 auto;padding:24px 16px 64px}.plain__nav{font:13px var(--font-mono);flex-wrap:wrap;gap:8px 20px;display:flex}.plain__header{margin:36px 0 12px}.plain h1{font:600 32px/1.15 var(--font-sans);letter-spacing:-.01em}.plain h2{font:600 13px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pyrite);border-bottom:1px solid var(--border-strong);margin:40px 0 12px;padding-bottom:6px}.plain h3{font:600 18px/1.3 var(--font-sans);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.plain p+p,.plain ul{margin-top:8px}.plain ul{padding-left:1.2em;list-style:outside}.plain li+li{margin-top:4px}.plain__role{font:500 14px var(--font-mono);color:var(--pyrite);margin-top:4px}.plain__headline{color:var(--muted);margin-top:12px;font-size:18px}.plain__links{font:13px var(--font-mono);flex-wrap:wrap;gap:4px 18px;margin-top:12px;display:flex}.plain__meta{font:13px var(--font-mono);color:var(--dim)}.plain__project+.plain__project,.plain__job+.plain__job{margin-top:28px}.plain__dl>div{grid-template-columns:16ch 1fr;gap:12px;display:grid}.plain__dl>div+div{margin-top:6px}.plain__dl dt{color:var(--muted)}.plain__footer{font:13px var(--font-mono);color:var(--dim);margin-top:56px}@media (width<=560px){.plain__dl>div{grid-template-columns:1fr;gap:0}}@media print{:root{--text:#111;--muted:#333;--dim:#555;--pyrite:#6b4e12;--border-strong:#bbb}body{background:#fff!important}.plain{max-width:none;padding:0;font-size:11pt}.plain__nav,.plain__footer{display:none}.plain__project,.plain__job{break-inside:avoid}}
