@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_80c5b679-module__6qbtdq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_80c5b679-module__6qbtdq__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Instrument Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Instrument Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_c0f00ce7-module__f8Qf7G__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_c0f00ce7-module__f8Qf7G__variable{--font-body:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2?dpl=dpl_FaSi612i28rnGwyYdVjG2MXVcveL)format("woff2");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 Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_e2e5fd83-module__i85csa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_e2e5fd83-module__i85csa__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ink:#0a0a0a;--ink-2:#333;--ink-3:#8a8a8a;--dim:#565656;--blue:#1533e0;--blue-wash:#eaedff;--blue-tint:#f5f7ff;--blue-line:#c3cdf5;--green:#0d9b56;--green-line:#bfe3cc;--green-tint:#f4fbf6;--amber:#b4700c;--amber-ink:#8a5a10;--amber-tint:#fdf6e9;--red:#c2401c;--red-tint:#fbf1ee;--red-line:#e8c7ba;--border:#e4e4e4;--hairline:#f0f0f0;--wash:#f2f2f2;--sunk:#f6f6f6;--term-bg:#16181f;--term-head:#0e1014;--term-fg:#e9e4d6;--term-amber:#f0a94a;--pc:#1533e0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-mono),Consolas,monospace;-webkit-font-smoothing:antialiased;background:#fff;font-size:15px;line-height:1.75}::selection{background:var(--blue-wash);color:var(--ink)}h1,h2,h3{font-family:var(--font-mono),monospace;letter-spacing:-.01em;font-weight:600;line-height:1.25}b,strong{font-weight:600}a{color:var(--blue);font-weight:400;text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}button{font:inherit;color:inherit}code{border:1px solid var(--border);background:#f4f4f4;border-radius:4px;padding:1px 6px;font-size:13.5px}.kbd,kbd{font-family:var(--font-mono),monospace;background:var(--hairline);color:var(--ink);border:1px solid #cfcfcf;border-bottom-width:2px;border-radius:4px;padding:1px 7px;font-size:13px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:600}.eyebrow.blue{color:var(--pc)}.eyebrow.green{color:var(--green)}.eyebrow.red{color:var(--red)}.btn{font-family:var(--font-mono);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--blue)}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#0b854a}.btn-secondary{color:var(--ink);background:#fff;border:1px solid #cfcfcf}.btn-secondary:hover{border-color:var(--ink)}.btn:disabled{opacity:.6;cursor:default}.btn-sm{padding:8px 13px;font-size:13px;font-weight:600}.linkish{cursor:pointer;font-family:var(--font-mono);color:var(--blue);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.linkish:hover{color:var(--ink)}.linkish.danger{color:var(--red)}.bar{border-bottom:1px solid var(--border);z-index:50;background:#fff;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:12px 26px;display:flex;position:sticky;top:0}.bar .wm{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:9px;margin-right:8px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.bar .wm:hover{text-decoration:none}.bkey{--k:25px;width:var(--k);height:var(--k);font-family:var(--font-mono);font-weight:700;font-size:calc(var(--k)*.56);color:var(--ink);border:calc(var(--k)*.055) solid var(--ink);border-radius:calc(var(--k)*.24);box-shadow:0 calc(var(--k)*.11) 0 var(--ink), inset 0 calc(var(--k)*.045) 0 #ffffffe6, inset 0 calc(var(--k)*-.05) 0 #0a0a0a14;background:linear-gradient(#fff 0%,#f4f2ec 100%);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.bkey i{transform:translateY(calc(var(--k)*-.01));font-style:normal}.bkey .cur{right:calc(var(--k)*.14);bottom:calc(var(--k)*.14);width:calc(var(--k)*.11);height:calc(var(--k)*.2);background:var(--blue);animation:1.1s step-end infinite bkeybl;position:absolute}@keyframes bkeybl{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.bkey .cur{animation:none}}.bkey.onink{color:#fff;box-shadow:0 calc(var(--k)*.11) 0 #fff,inset 0 calc(var(--k)*.045) 0 #ffffff1f;background:linear-gradient(#1e2128 0%,#12141a 100%);border-color:#fff}.bkey.onink .cur{background:var(--green)}.navl{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.navl a{color:var(--dim);border-radius:6px;padding:7px 12px;font-size:13.5px}.navl a:hover{background:var(--wash);color:var(--ink);text-decoration:none}.navl a.on{color:var(--ink);background:var(--blue-wash);font-weight:600}.bar-right{flex-wrap:wrap;align-items:center;gap:14px;margin-left:auto;display:flex}.bar-right .home{color:var(--ink-3);font-size:12.5px}.chip{font-family:var(--font-mono);color:var(--ink);background:var(--sunk);white-space:nowrap;border:1px solid #e0e0e0;border-radius:16px;align-items:center;gap:9px;padding:6px 13px;font-size:12px;display:inline-flex}.chip b{color:var(--green)}.chip button{font-family:var(--font-mono);color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px}.chip button:hover{text-decoration:underline}.chip .who{text-overflow:ellipsis;max-width:150px;color:var(--dim);overflow:hidden}.chip a{color:inherit}.chip a:hover{text-decoration:underline}.horizon{border-bottom:2px solid var(--ink);background:var(--term-bg);width:100vw;height:86px;margin-left:-50vw;margin-right:-50vw;position:relative;left:50%;right:50%;overflow:hidden}.horizon canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.horizon.tall{height:150px}.horizon .hzcap{z-index:2;pointer-events:none;background:linear-gradient(#06081400,#060814b8);padding:34px 26px 12px;position:absolute;bottom:0;left:0;right:0}.horizon .hzcap>*{max-width:1120px;margin-left:auto;margin-right:auto}.horizon .hzeb{letter-spacing:.14em;text-transform:uppercase;color:#ffffffd9;text-shadow:0 1px 8px #00000080;font-size:11.5px;font-weight:600;display:block}.horizon .hzcap h1{color:#fff;text-shadow:0 1px 14px #0009;margin:2px auto 0;font-size:24px}main{max-width:1120px;margin:0 auto;padding:0 26px 90px}.page-head{padding:34px 0 8px}.page-head h1{max-width:30ch;margin:8px 0 10px;font-size:30px}.page-head .lede{max-width:64ch;color:var(--ink-2)}.page-head .lede a{font-weight:400}.machine{align-items:center;gap:12px;margin:14px 0 4px;display:flex}.machine .lab{text-transform:uppercase;letter-spacing:.1em;color:var(--dim);font-size:12px}.platform-switch{border:1px solid #cfcfcf;border-radius:6px;display:inline-flex;overflow:hidden}.platform-switch button{font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;background:#fff;border:none;padding:7px 16px;font-size:13px}.platform-switch button.on{background:var(--ink);color:#fff}.app-grid{grid-template-columns:280px 1fr;align-items:start;gap:0;margin:10px -26px 0;display:grid}@media (max-width:860px){.app-grid{grid-template-columns:1fr}}.side{border-right:1px solid var(--border);padding:22px 22px 22px 26px;position:sticky;top:60px}.side h4{text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:0 0 10px;font-size:12px;font-weight:400}.side ol{list-style:none}.side li{cursor:pointer;color:var(--ink-2);border-radius:6px;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.side li:hover{background:var(--wash)}.side li.on{background:var(--blue-wash);color:var(--ink);font-weight:600}.side li .c{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.side li .c.full{color:var(--green)}.lesson-main{min-width:0;max-width:820px;padding:26px 26px 40px 40px}@media (max-width:860px){.lesson-main{padding:26px 26px 40px}}.lesson .eyebrow{color:var(--pc)}.lesson h2{border-bottom:2px solid var(--ink);max-width:680px;margin:6px 0 24px;padding-bottom:14px;font-size:27px}.lesson h3{border-top:1px solid var(--hairline);max-width:680px;margin:36px 0 10px;padding-top:20px;font-size:17px}.lesson p{color:#1a1a1a;max-width:66ch;margin:0 0 16px}.lesson-lede{border-bottom:1px solid var(--hairline);padding-bottom:16px;font-size:15px;color:var(--dim)!important;margin-bottom:20px!important}.lesson ul,.lesson ol.list{color:#1a1a1a;max-width:66ch;margin:0 0 16px;padding-left:22px}.lesson li{margin-bottom:8px}.say{border:1.5px solid var(--blue-line);background:var(--blue-tint);border-radius:10px;max-width:680px;margin:14px 0 20px;overflow:hidden}.say .h{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);background:#e9edfd;border-bottom:1px solid #cfd8f6;align-items:center;gap:9px;padding:9px 14px;font-size:11px;font-weight:600;display:flex}.say .h:before{content:"❝";font-size:15px;line-height:0}.say .copy{color:var(--dim);cursor:pointer;text-transform:none;letter-spacing:0;font-size:11px;font-weight:400;font-family:var(--font-mono);background:#fff;border:1px solid #cfcfcf;border-radius:4px;margin-left:auto;padding:3px 10px}.say .copy:hover{border-color:var(--blue);color:var(--blue)}.say .body{color:var(--ink);white-space:pre-wrap;padding:14px 16px;font-size:14px;line-height:1.65}.say.term{border-color:var(--ink);background:var(--term-bg)}.say.term .h{background:var(--term-head);color:var(--term-amber);border-bottom:1px solid #e9e4d624}.say.term .h:before{content:"$";color:#8a8f9c;font-size:13px;line-height:1}.say.term .copy{color:var(--term-fg);background:0 0;border-color:#e9e4d652}.say.term .copy:hover{border-color:var(--term-amber);color:var(--term-amber)}.say.term .body{background:var(--term-bg);color:var(--term-fg)}.gstep{border-left:2px solid #e7e7e7;max-width:680px;padding-left:26px;position:relative}.gstep .stephead{margin:26px 0 6px;font-size:15.5px;font-weight:600;position:relative}.gstep:first-of-type .stephead{margin-top:4px}.gstep .stephead:before{content:"";border:3px solid var(--pc);background:#fff;border-radius:999px;width:11px;height:11px;position:absolute;top:5px;left:-34px}.checkcard{border:1.5px solid var(--ink);cursor:pointer;text-align:left;width:100%;max-width:680px;box-shadow:0 3px 0 var(--ink);font-family:var(--font-mono);background:#fff;border-radius:10px;align-items:flex-start;gap:12px;margin:20px 0;padding:15px 16px;transition:background .18s,border-color .18s,box-shadow .12s,transform .12s;display:flex;position:relative}.checkcard:hover{box-shadow:0 4px 0 var(--ink);transform:translateY(-1px)}.checkcard:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.checkcard .box{border:2px solid var(--ink);width:24px;height:24px;box-shadow:0 2px 0 var(--ink);background:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;margin-top:1px;transition:border-color .18s,box-shadow .18s;display:flex;position:relative}.checkcard .box .tick{color:#0000;font-size:13px;font-weight:700;line-height:1}.checkcard .t{color:var(--ink);font-size:15px}.checkcard.on{background:var(--green);border-color:#0a7a44;box-shadow:0 1px #075e33}.checkcard.on:hover{transform:none;box-shadow:0 1px #075e33}.checkcard.on:active{transform:none}.checkcard.on .box{background:#fff;border-color:#fff;box-shadow:0 2px #075e338c}.checkcard.on .box .tick{color:var(--green);animation:.38s cubic-bezier(.2,1.6,.4,1) both cc-pop}.checkcard.on .t{color:#fff}.checkcard.just{animation:.34s cubic-bezier(.3,1.4,.5,1) cc-land}@keyframes cc-pop{0%{transform:scale(0)rotate(-28deg)}to{transform:scale(1)rotate(0)}}@keyframes cc-land{0%{transform:translateY(-3px)}55%{transform:translateY(3px)}to{transform:translateY(0)}}.checkcard .sparks{pointer-events:none;width:0;height:0;position:absolute;top:27px;left:28px}.checkcard .sparks i{background:#fff;border-radius:2px;width:6px;height:6px;animation:.6s cubic-bezier(.15,.8,.4,1) forwards cc-spark;position:absolute;top:-3px;left:-3px}.checkcard .sparks i:nth-child(3n){background:#f0b429}.checkcard .sparks i:nth-child(4n){background:var(--pc,#8ce8bc);width:5px;height:5px}@keyframes cc-spark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.checkcard .plusone{color:#fff;pointer-events:none;font-size:12.5px;font-weight:700;animation:.8s ease-out forwards cc-plus;position:absolute;top:10px;right:14px}@keyframes cc-plus{0%{opacity:0;transform:translateY(4px)}25%{opacity:1}to{opacity:0;transform:translateY(-18px)}}@media (prefers-reduced-motion:reduce){.checkcard.just,.checkcard.on .box .tick,.checkcard .sparks i,.checkcard .plusone{animation:none!important}.checkcard:hover,.checkcard:active{transform:none}}.gstep .checkcard{margin:12px 0;padding:12px 14px}.check{border:2px solid var(--green);cursor:pointer;background:#fff;border-radius:6px;flex:none;width:22px;height:22px;margin-top:2px;position:relative}.check:after{content:"";border:2.5px solid #0000;border-width:0 2.5px 2.5px 0;width:6px;height:12px;position:absolute;top:1px;left:5.5px;transform:rotate(42deg)}.check.done{background:var(--green)}.check.done:after{border-color:#fff}.callout{border-left:3px solid var(--amber);background:var(--amber-tint);border-radius:0 10px 10px 0;max-width:680px;margin:26px 0;padding:16px 20px}.callout .eyebrow{letter-spacing:.12em;color:var(--amber-ink);margin-bottom:6px;font-size:11px;display:block}.callout .eyebrow:before{content:"◆ ";vertical-align:2px;font-size:9px}.callout p{color:#443a28;max-width:none;margin:0 0 6px;font-size:14px}.callout p:last-child{margin-bottom:0}.callout ul,.callout ol{color:#443a28;margin:6px 0 0;padding-left:20px;font-size:14px}.callout li{margin-bottom:6px}.callout.blue,.callout.green,.callout.red{border-left-color:var(--amber);background:var(--amber-tint)}.callout.blue .eyebrow,.callout.green .eyebrow,.callout.red .eyebrow{color:var(--amber-ink)}table{border-collapse:collapse;width:100%;max-width:680px;margin:12px 0 20px;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);border-bottom:2px solid var(--ink);background:0 0;border-top:none;border-left:none;border-right:none;padding:8px 12px 8px 0;font-size:12px;font-weight:600}td{vertical-align:top;color:var(--ink-2);border:none;border-bottom:1px solid #ececec;padding:9px 12px 9px 0}td code{white-space:nowrap}.compare{grid-template-columns:1fr 1fr;gap:14px;max-width:680px;margin:12px 0 20px;display:grid}@media (max-width:700px){.compare{grid-template-columns:1fr}}.cmp{border:1.5px solid var(--border);color:var(--ink-2);border-radius:10px;padding:14px 16px;font-size:14px}.cmp .k{letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.cmp.weak{background:var(--red-tint);border-color:var(--red-line)}.cmp.weak .k{color:var(--red)}.cmp.strong{border-color:var(--green-line);background:#f2faf4}.cmp.strong .k{color:var(--green)}.tank{border:1px solid var(--border);border-radius:12px;max-width:680px;margin:18px 0 22px;padding:20px}.tank .cap{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);justify-content:space-between;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.tank .trow{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.tank .cell{border:1px solid #ececec;border-radius:9px;flex:1;min-width:130px;padding:12px}.tank .cell .n{color:var(--pc);font-size:11px;font-weight:600}.tank .cell b{margin:3px 0;font-size:14.5px;display:block}.tank .cell p{color:var(--dim);max-width:none;margin:0;font-size:12.5px;line-height:1.55}.tank .arr{color:var(--ink-3);text-align:center;align-self:center;font-size:15px}.tank .arr small{text-transform:uppercase;letter-spacing:.1em;font-size:9.5px;display:block}.tank .zero{border-top:1px dashed var(--border);color:var(--dim);margin-top:14px;padding-top:10px;font-size:12.5px}.lesson .card{box-shadow:none;background:0 0;border:none;margin:0 0 8px;padding:0}.lesson .card+.card{border-top:1px solid #ececec;max-width:680px;margin-top:16px;padding-top:16px}.lesson .card h3:first-child{border-top:none;margin-top:0;padding-top:0}.nextrow{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:10px;max-width:680px;margin-top:44px;padding-top:20px;display:flex}.nextrow .n{text-transform:uppercase;letter-spacing:.1em;color:var(--dim);font-size:12px}.nextrow button.nl{cursor:pointer;color:var(--blue);font-size:16px;font-weight:600;font-family:var(--font-mono);background:0 0;border:none;padding:0}.nextrow button.nl:hover{text-underline-offset:3px;text-decoration:underline}.nextrow .pos{color:var(--ink-3);font-size:12.5px}section{margin:44px 0}.card{border:1px solid var(--border);background:#fff;border-radius:10px;margin:16px 0;padding:22px}.card h3{margin-bottom:8px;font-size:17px}.card p{max-width:66ch;color:var(--ink-2);margin:8px 0}.card ul,.card ol{max-width:62ch;color:var(--ink-2);margin:8px 0 8px 22px}.card li{margin:6px 0}.section-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:8px;display:flex}.section-head h2{font-size:22px}.resume{background:var(--blue-tint);border:1.5px solid var(--blue-line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:20px;max-width:640px;margin-top:28px;padding:18px 22px;display:flex}.resume .txt{flex:1;min-width:220px}.resume .k{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-size:11px;font-weight:600}.resume .t{margin-top:2px;font-size:16px;font-weight:600}.paths{grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;display:grid}@media (max-width:760px){.paths{grid-template-columns:1fr}}.path-card{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;padding:22px;text-decoration:none;transition:border-color .18s,transform .18s;display:block}a.path-card:hover{border-color:var(--blue);text-decoration:none;transform:translateY(-2px)}.path-card .num{color:var(--ink-3);font-size:12px}.path-card h3{margin:6px 0 8px;font-size:16px}.path-card p{color:var(--dim);font-size:13.5px}.path-card .meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:12px;display:flex}.status{letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600}.status.open{background:var(--green-tint);color:var(--green)}.status.soon{background:var(--wash);color:var(--ink-3)}.path-card.soon{opacity:.65}.prog{color:var(--blue);font-size:12px;font-weight:600}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin:20px 0 8px;display:flex}.tab{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:13.5px}.tab:hover{color:var(--ink)}.tab.on{color:var(--ink);border-bottom-color:var(--blue);font-weight:600}.challenge{margin:16px 0}.challenge .top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.challenge .slug{color:var(--ink-3);font-size:12px}.challenge .meta{color:var(--ink-3);margin-top:2px;font-size:13px}.challenge details{border:1px solid var(--hairline);background:#fafafa;border-radius:8px;max-width:680px;margin:10px 0;padding:10px 14px}.challenge summary{cursor:pointer;font-size:14px;font-weight:600}.challenge details ul{color:var(--ink-2);margin:8px 0 4px 22px;font-size:14px}.challenge .done-row{border-top:1px solid var(--hairline);align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.challenge .done-row b{font-size:14px}.boss-list{color:var(--ink-2);max-width:60ch;margin:8px 0 4px 22px;font-size:14px}.boss-list li{margin:5px 0}.challenge .say{margin:12px 0}.game-card .meta{color:var(--ink-3);font-size:12.5px}.empty{text-align:center;background:0 0;border:1px dashed #cfcfcf;border-radius:12px;margin:22px 0;padding:34px 24px}.empty .eyebrow{margin-bottom:8px;display:block}.empty p{max-width:none;color:var(--ink-2)}.filters{flex-wrap:wrap;gap:8px;margin:24px 0 28px;display:flex}.filter{font-family:var(--font-mono);border:1px solid var(--border);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:6px;padding:7px 12px;font-size:13.5px;line-height:1}.filter:hover{color:var(--ink)}.filter.on{color:var(--blue);background:var(--blue-wash);border-color:var(--blue-wash);font-weight:600}.postlist{flex-direction:column;gap:14px;max-width:760px;display:flex}.postcard{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;padding:22px;text-decoration:none;transition:border-color .18s,transform .18s;display:block}.postcard:hover{border-color:var(--blue);text-decoration:none;transform:translateY(-2px)}.postcard h3{margin:8px 0;font-size:17px}.postcard p{color:var(--ink-2);max-width:58ch;margin:0 0 14px;font-size:14px}.postcard .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ptag{border:1px solid var(--border);color:var(--ink-2);background:#fafafa;border-radius:5px;padding:5px 10px;font-size:12.5px;line-height:1}.postcard .rt{color:var(--ink-3);margin-left:auto;font-size:12px}.mast-sub{border-bottom:1px solid var(--hairline);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);justify-content:space-between;gap:12px;margin:0 -26px;padding:10px 26px;font-size:11.5px;display:flex}.read-rail{background:var(--hairline);z-index:5;width:2px;position:fixed;top:170px;bottom:120px;left:26px}.read-rail .fill{background:var(--blue);width:2px;height:0;position:absolute;top:0;left:0}.read-rail .tick{background:#cfcfcf;width:8px;height:1px;position:absolute;left:-3px}.read-status{z-index:5;color:var(--ink-3);letter-spacing:.02em;background:#fff;padding:2px 0;font-size:11.5px;position:fixed;bottom:34px;left:20px}.read-status b{color:var(--ink);font-weight:600}@media (max-width:1080px){.read-rail,.read-status{display:none}}.read-wrap{max-width:760px;margin:0 auto}.read-back{color:var(--ink-3);margin:44px 0;font-size:13px;text-decoration:none;display:inline-block}.read-back:hover{color:var(--blue)}.read-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);margin-bottom:16px;font-size:12px;font-weight:600;display:block}.read-wrap h1{letter-spacing:-.015em;max-width:20ch;margin:0 0 22px;font-size:clamp(30px,4.5vw,44px);font-weight:600;line-height:1.15}.byline{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.byline b{color:var(--ink);font-weight:600}.mono-av{border:1px solid var(--border);width:28px;height:28px;color:var(--ink);background:#fafafa;border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.read-lede{color:var(--ink-2);max-width:44ch;margin:28px 0 8px;font-size:19px;font-weight:400;line-height:1.55}hr.read-rule{border:none;border-top:1px solid var(--hairline);margin:36px 0}.prose{color:var(--ink-2)}.prose p{max-width:66ch;margin:0 0 1.15em;font-size:15.5px;line-height:1.85}.prose p b,.prose p strong{color:var(--ink)}.prose h2{color:var(--ink);max-width:640px;margin:1.8em 0 .5em;scroll-margin-top:90px;font-size:22px;position:relative}.prose h2 .sec{color:var(--blue);letter-spacing:.02em;font-size:13px;font-weight:600;position:absolute;top:4px;left:-58px}@media (max-width:1080px){.prose h2 .sec{margin-bottom:4px;display:block;position:static}}.prose h3{color:var(--ink);margin:1.6em 0 .4em;font-size:17px}.prose ul,.prose ol{max-width:62ch;margin:0 0 1.15em 24px;font-size:15.5px;line-height:1.85}.prose li{margin:8px 0}.prose li b,.prose li strong{color:var(--ink)}.prose hr{border:none;border-top:1px solid var(--hairline);margin:32px 0}.prose img{border-radius:10px;max-width:100%}.prose pre{background:var(--term-bg);color:var(--term-fg);border-radius:10px;max-width:680px;margin:0 0 1.15em;padding:16px 18px;overflow-x:auto}.prose pre code{color:var(--term-fg);background:0 0;border:none;padding:0;font-size:13.5px;line-height:1.7}.prose blockquote{margin:0}.dropcap{float:left;color:var(--ink);border:1.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:6px;margin:4px 12px 0 0;padding:8px 12px;font-size:24px;font-weight:600;line-height:1}.pq{max-width:40ch;margin:44px 0}.pq .qr{background:var(--blue);width:44px;height:3px;margin-bottom:16px}.pq blockquote{color:var(--ink);margin:0;font-size:clamp(20px,2.6vw,26px);font-weight:600;line-height:1.4}.pq blockquote p{font-size:inherit;line-height:inherit;color:inherit;max-width:none;margin:0}.pq figcaption{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-top:12px;font-size:11.5px}.endcur{background:var(--blue);width:.5em;height:1em;margin-left:.15em;animation:1.05s step-end infinite blink;display:inline-block;transform:translateY(.12em)}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.endcur{animation:none}}.colophon{border-top:1px solid var(--border);color:var(--ink-3);max-width:64ch;margin-top:56px;padding-top:22px;font-size:12.5px;line-height:1.7}.colophon b{color:var(--ink-2);font-weight:600}.nextline{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:32px;display:flex}.nextline .n{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-size:11.5px}.nextline a{color:var(--blue);font-size:17px;font-weight:600;text-decoration:none}.nextline a:hover{text-decoration:underline}.nextline .all{margin-left:auto}.modal-overlay{z-index:100;background:#0a0a0a66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:380px;padding:28px;position:relative;box-shadow:0 20px 60px #00000040}.modal h3{margin:0 0 6px;font-size:18px}.modal p{color:var(--dim);max-width:none;margin:0 0 16px;font-size:13.5px;line-height:1.6}.modal-close{cursor:pointer;color:var(--ink-3);background:0 0;border:none;font-size:24px;line-height:1;position:absolute;top:10px;right:14px}.modal-close:hover{color:var(--ink)}.field-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:14px;font-size:11px;font-weight:600;display:block}.field{width:100%;font-family:var(--font-mono);background:#fff;border:1px solid #cfcfcf;border-radius:7px;margin-top:6px;padding:11px 12px;font-size:14px}.field.mono{letter-spacing:.35em}.field:focus{outline:2px solid var(--blue);border-color:var(--blue)}.field-error{color:var(--red);max-width:none;margin-top:8px;font-size:13.5px}.modal .btn{width:100%;margin-top:16px}.fine-print{color:var(--ink-3);max-width:none;margin-top:14px;font-size:12px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:22px 0;display:grid}.stat{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stat-num{font-size:30px;font-weight:600;line-height:1.1}.stat-hint{color:var(--ink-3);font-size:12px}.bar-row{grid-template-columns:minmax(140px,240px) 1fr 90px;align-items:center;gap:12px;padding:6px 0;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);font-size:13.5px;overflow:hidden}.bar-track{background:var(--hairline);border-radius:4px;height:10px;display:block;overflow:hidden}.bar-fill{background:var(--blue);border-radius:0 4px 4px 0;height:100%;display:block}.bar-num{color:var(--ink-3);text-align:right;white-space:nowrap;font-size:12px}.af-grid{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}@media (max-width:640px){.af-grid{grid-template-columns:1fr}}.af-field{min-width:0;display:block}.af-wide{grid-column:1/-1}.af-field .field-label{margin-top:0}textarea.field{resize:vertical}.mono-area{font-size:12.5px;line-height:1.5}.af-actions{align-items:center;gap:14px;margin-top:14px;display:flex}.af-actions .btn{width:auto;margin-top:0}.af-status{color:var(--green);font-size:12px}select.field{appearance:auto}.keycap{border:1px solid var(--border);color:var(--dim);background:#fff;border-radius:4px;padding:2px 8px;font-size:11.5px;display:inline-block}footer{background:#fff;border-top:1px solid #ececec;margin-top:20px;padding:22px 26px 60px}.foot-inner{max-width:1120px;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 auto;font-size:12.5px;display:flex}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hardtab{color:var(--red)!important}.hardtab.on{border-bottom-color:var(--red)!important;color:var(--red)!important}.deck{max-width:680px;margin-top:24px}.ccard{border:1.5px solid var(--ink);box-shadow:0 6px 0 var(--ink);background:#fff;border-radius:12px;margin:18px 0 22px;padding:28px}.ccard .cno{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.ccard .ctext{max-width:26ch;margin:10px 0 16px;font-size:21px;font-weight:600;line-height:1.5}.ccard .cdone{color:var(--dim);border-top:1px solid var(--hairline);margin:0;padding-top:12px;font-size:13px}.ccard.boss{background:var(--term-bg);border-color:var(--term-bg);box-shadow:0 6px #000}.ccard.boss .cno{color:var(--term-amber)}.ccard.boss .ctext{color:#fff}.ccard.boss .cdone{color:#a8acb8;border-top-color:#e9e4d624}.phead-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.phead-row>div{min-width:260px}.resume-hero{border:1.5px solid var(--pc);border-radius:14px;margin:10px 0 34px;overflow:hidden}.resume-hero .rh-scene{background:var(--term-bg);height:110px;position:relative}.resume-hero .rh-scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.rh-body{border-top:3px solid var(--pc);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.rh-txt{flex:1;min-width:260px}.rh-k{letter-spacing:.14em;text-transform:uppercase;color:var(--pc);font-size:11px;font-weight:700;display:block}.rh-t{margin:4px 0 12px;font-size:18px;font-weight:600;display:block}.rh-n{color:var(--ink-3);margin-top:6px;font-size:12px;display:block}.rh-go{flex:none;padding:14px 22px;font-size:15px}.pbar{background:var(--hairline);border-radius:999px;max-width:420px;height:8px;display:block;overflow:hidden}.pfill{background:var(--pc,#1533e0);border-radius:999px;height:100%;transition:width .4s;display:block}.plib{grid-template-columns:1fr 1fr;gap:20px;margin-top:6px;display:grid}@media (max-width:760px){.plib{grid-template-columns:1fr}}.plib-card{border:1px solid var(--border);border-top:3px solid var(--pc,#1533e0);color:var(--ink);background:#fff;border-radius:12px;text-decoration:none;transition:border-color .18s,transform .18s;display:block;overflow:hidden}a.plib-card:hover{border-color:var(--pc,#1533e0);text-decoration:none;transform:translateY(-2px)}.plib-card .pmini{background:var(--term-bg);border-bottom:1px solid var(--hairline);height:84px;position:relative}.plib-card .pmini canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.plib-card.soon{opacity:.66}.plib-card.soon .pmini{filter:saturate(.4)}.plc-body{padding:16px 20px 18px}.plc-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.plc-head b{font-size:16px;font-weight:600}.plc-num{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.plc-body p{color:var(--dim);max-width:52ch;margin:6px 0 12px;font-size:13px}.plc-meta{color:var(--ink-3);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.plc-soon{letter-spacing:.08em;text-transform:uppercase;background:var(--wash);color:var(--ink-3);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.plc-prog{align-items:center;gap:10px;margin-top:12px;display:flex}.plc-prog .pbar{flex:1}.plc-n{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px}.plc-go{color:var(--pc,#1533e0);margin-top:12px;font-size:13.5px;font-weight:600;display:inline-block}a.plib-card:hover .plc-go{text-underline-offset:3px;text-decoration:underline}.counts{color:#565656;margin:0 0 26px;font-size:13px}.counts b{color:var(--green,#0d9b56)}.counts .linky{font-family:var(--font-mono);color:#1533e0;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.adder{border:1.5px solid #0a0a0a;border-radius:10px;max-width:640px;margin-bottom:34px;padding:18px 20px}.adder label{text-transform:uppercase;letter-spacing:.08em;color:#565656;margin:0 0 6px;font-size:12px;display:block}.adder input,.adder textarea{width:100%;font-family:var(--font-mono);border:1px solid #cfcfcf;border-radius:7px;padding:10px 12px;font-size:14.5px}.adder textarea{resize:vertical;min-height:58px;line-height:1.6}.adder input:focus,.adder textarea:focus{border-color:#1533e0;outline:none}.adder .r2{margin-top:12px}.adder .row3{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.spark{font-family:var(--font-mono);color:#1533e0;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}.ideas-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.icard{border:1px solid #e0e0e0;border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px 14px;display:flex;position:relative}.icard .ti{padding-right:26px;font-size:15px;font-weight:600;line-height:1.4}.icard .no{color:#565656;flex:1;font-size:12.5px;line-height:1.6}.icard .meta{color:#9a9a9a;font-size:11px}.icard .bot{border-top:1px dashed #ececec;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;display:flex}.icard .built{color:#565656;cursor:pointer;font-size:12.5px;font-family:var(--font-mono);background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.icard .box{color:#0000;border:2px solid #0a0a0a;border-radius:5px;justify-content:center;align-items:center;width:19px;height:19px;font-size:12px;font-weight:700;display:inline-flex}.icard .del{color:#c4c4c4;cursor:pointer;font-size:11px;font-family:var(--font-mono);background:0 0;border:none;padding:0}.icard .del:hover{color:#c2401c}.icard.done{background:#f4fbf6;border:1.5px solid #bfe3cc}.icard.done .box{color:#fff;background:#0d9b56;border-color:#0d9b56}.icard.done .ti{color:#4a6a56;text-decoration:line-through;text-decoration-thickness:1.5px}.icard.done .built{color:#0d9b56;font-weight:600}.icard .party{font-size:12px}.ideas-empty{color:#565656;border:1.5px dashed #cfcfcf;border-radius:10px;max-width:640px;padding:26px;font-size:13.5px;line-height:1.8}.ptool{border:1.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:10px;margin:24px 0;overflow:hidden}.ptool-head{background:#111318;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.ptool-eb{letter-spacing:.14em;text-transform:uppercase;color:#8b93a7;font-size:10.5px;font-weight:600}.ptool-name{font-family:var(--font-mono);color:#2fd584;background:#2fd58414;border:1px solid #2fd58459;border-radius:6px;padding:2px 10px;font-size:13.5px;font-weight:700}.ptool-body{padding:14px 18px 16px}.ptool-tag{margin:0 0 10px;font-weight:600}.ptool-body .checkcard{margin-top:12px}.ptool-body p:last-child{margin-bottom:0}.tbelt{border:1.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#111318;border-radius:12px;margin:0 0 34px;padding:18px 20px 16px}.tbelt .tb-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tbelt .tb-eb{letter-spacing:.14em;text-transform:uppercase;color:#8b93a7;font-size:11px;font-weight:600}.tbelt .tb-n{font-family:var(--font-mono);color:#2fd584;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.tbelt .tb-sub{color:#8b93a7;margin:4px 0 13px;font-size:12.5px;line-height:1.6}.tb-row{flex-wrap:wrap;gap:8px;display:flex}.tb-slot{font-family:var(--font-mono);color:#6b7386;border:1px dashed #3a4050;border-radius:7px;padding:6px 12px;font-size:12.5px;font-weight:700}.tb-slot:hover{color:#aeb6c8;border-color:#8b93a7;text-decoration:none}.tb-slot.on{color:#2fd584;background:#2fd58417;border:1px solid #2fd58480;box-shadow:0 2px #2fd58447}.tb-slot.on:before{content:"✓ ";font-weight:700}.prof-anon{color:#333;background:#f5f7ff;border:1.5px solid #c3cdf5;border-radius:10px;max-width:560px;margin-bottom:8px;padding:16px 20px;font-size:13.5px}.prof-anon .linky{font-family:var(--font-mono);color:#1533e0;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13.5px;text-decoration:underline}.prof-h2{text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--ink);margin:44px 0 16px;padding-bottom:8px;font-size:15px;font-weight:600}.prof-field{max-width:420px;margin-bottom:16px}.prof-field label{text-transform:uppercase;letter-spacing:.08em;color:#565656;margin-bottom:6px;font-size:12px;display:block}.prof-field input{width:100%;font-family:var(--font-mono);border:1px solid #cfcfcf;border-radius:7px;padding:11px 12px;font-size:14.5px}.prof-field input:focus{border-color:#1533e0;outline:none}.prof-email{font-family:var(--font-mono);color:#333;margin:0;font-size:14.5px}.prof-btnrow{flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;display:flex}.prof-signout{font-family:var(--font-mono);color:#8a8a8a;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.prof-signout:hover{color:#c2401c;text-decoration:underline}.prof-prog .prow{grid-template-columns:minmax(190px,290px) 1fr 64px;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:grid}.prof-prog .bar2{background:#efefef;border-radius:4px;height:14px;overflow:hidden}.prof-prog .bar2 i{background:#0d9b56;border-radius:4px;height:100%;display:block}.prof-prog .prow.zero .bar2 i{background:#e0e0e0}.prof-prog .pc{text-align:right;color:#565656;font-variant-numeric:tabular-nums;font-size:12px}.prof-prog .total{border-top:1px dashed #e4e4e4;margin-top:14px;padding-top:12px;font-size:13.5px}.prof-prog .total b{color:var(--green,#0d9b56)}.prof-badges{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.pbadge{background:#f4fbf6;border:1.5px solid #bfe3cc;border-radius:10px;padding:14px 16px}.pbadge .mk{color:#fff;background:#0d9b56;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.pbadge b{margin-bottom:2px;font-size:14px;display:block}.pbadge p{color:#565656;margin:0;font-size:12px;line-height:1.55}.pbadge.locked{background:#fff;border:1.5px dashed #d8d8d8}.pbadge.locked .mk{color:#b0b0b0;background:#f0f0f0}.pbadge.locked b{color:#8a8a8a}@media (max-width:640px){.prof-prog .prow{grid-template-columns:1fr 64px}.prof-prog .prow .bar2{grid-column:1/-1}}@media (max-width:700px){.bar{gap:8px 10px;padding:10px 14px}.bar .wm{white-space:nowrap;margin-right:0;font-size:14.5px}.bar-right{gap:8px}.bar-right .home{font-size:11px}.chip{gap:6px;padding:5px 10px;font-size:11px}.chip .who{max-width:76px}.navl{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;margin:0 -14px;padding:2px 10px;overflow-x:auto}.navl::-webkit-scrollbar{display:none}.navl a{white-space:nowrap;padding:6px 10px;font-size:13px}.page-head h1{font-size:24px}.phead-row{flex-wrap:wrap;gap:12px}.resume-hero .rh-body{flex-wrap:wrap}.resume-hero .rh-go{text-align:center;flex-basis:100%}.tabs{scrollbar-width:none;flex-wrap:nowrap;margin-right:-14px;padding-bottom:4px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs .tab{white-space:nowrap}.lesson-main table{display:block;overflow-x:auto}.hzcap h1{font-size:20px}.foot-inner{flex-direction:column;gap:6px}}.prate{border-top:1px dashed var(--border);flex-direction:column;gap:4px;margin-top:20px;padding-top:14px;display:flex}.prate-l{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-size:10px}.prate-stars{gap:2px;display:flex}.prate-stars button{cursor:pointer;color:#d8d8d8;background:0 0;border:none;padding:2px;font-size:16px;line-height:1;transition:color .12s,transform .12s}.prate-stars button:hover{transform:scale(1.15)}.prate-stars button.on{color:var(--pc,#f0b429)}.funnel-stars{color:#b4700c;margin-left:10px;font-size:12px;font-weight:600}.side-toggle{display:none}@media (max-width:860px){.side{border-right:none;border-bottom:1px solid var(--border);background:#fff;padding:10px 20px;position:static;top:auto}.side h4{display:none}.side-toggle{width:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:11px;display:flex}.side-toggle .st-cur{color:var(--ink);text-transform:none;letter-spacing:0;white-space:nowrap;font-size:12.5px;font-weight:600}.side .side-list{padding:4px 0 10px;display:none}.side.open .side-list{display:block}.side .machine{margin:0 0 12px}}.pr-bench{margin:0 0 10px}.pr-benchin{color:#e8e6e0;background:#0e1217;border-radius:14px;padding:26px 28px 24px;box-shadow:0 10px 40px #0a0e1740}.pr-bt{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.pr-bt h2{font-family:var(--font-mono);color:#fff;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.pr-sub{color:#7a828e;font-size:12px}.pr-lucky{font-family:var(--font-mono);color:#0e1217;cursor:pointer;background:#ffd23e;border:none;border-radius:6px;margin-left:auto;padding:7px 14px;font-size:12px;font-weight:700}.pr-lucky:hover{background:#ffc61a}.pr-ideal{border-bottom:1.5px dashed #ffffff40;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.pr-pre{color:#7a828e;white-space:nowrap;font-size:16px}.pr-ideal input{min-width:200px;font-family:var(--font-mono);color:#fff;caret-color:#0d9b56;background:0 0;border:none;outline:none;flex:1;font-size:16px}.pr-ideal input::placeholder{color:#4a525e}.pr-sugg{flex-wrap:wrap;gap:7px;min-height:30px;margin-bottom:6px;display:flex}.pr-sl{color:#7a828e;align-self:center;margin-right:2px;font-size:11px}.pr-sug{font-family:var(--font-mono);color:#e8e6e0;border:1px solid var(--kc,#4a525e);cursor:pointer;background:#ffffff0f;border-radius:14px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;transition:background .12s;display:inline-flex}.pr-sug .pr-d{background:var(--kc);border-radius:2px;width:7px;height:7px}.pr-sug:hover{background:#ffffff24}.pr-sug.in{background:var(--kc);color:#fff;border-color:var(--kc)}.pr-built{border-top:1px solid #ffffff1f;margin-top:8px;padding-top:14px}.pr-bl{text-transform:uppercase;letter-spacing:.12em;color:#0d9b56;align-items:center;gap:8px;margin-bottom:8px;font-size:10.5px;font-weight:600;display:flex}.pr-bcopy{font-family:var(--font-mono);color:#e8e6e0;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:5px;margin-left:auto;padding:3px 11px;font-size:11px}.pr-bcopy:hover{border-color:#fff}.pr-btext{color:#fff;max-width:76ch;font-size:14.5px;line-height:1.8}.pr-ph{color:#8fb6ff;cursor:pointer;border-bottom:1px dotted #8fb6ff80}.pr-ph:hover{color:#fff}.pr-hint{color:#7a828e;margin-top:10px;font-size:11.5px}.pr-controls{flex-direction:column;gap:12px;margin:18px 0 6px;display:flex}.pr-search{background:#fff;border:1.5px solid #cfcfcf;border-radius:8px;align-items:center;gap:10px;max-width:520px;padding:10px 14px;display:flex}.pr-search:focus-within{border-color:var(--blue)}.pr-search input{font-family:var(--font-mono);color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.pr-mag{color:#8a8a8a}.pr-k{color:#8a8a8a;white-space:nowrap;font-size:11px}.pr-frow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pr-lab{text-transform:uppercase;letter-spacing:.1em;color:#8a8a8a;margin-right:4px;font-size:11px}.pr-fbtn{font-family:var(--font-mono);color:#333;cursor:pointer;background:#fff;border:1px solid #cfcfcf;border-radius:16px;align-items:center;gap:7px;padding:6px 13px;font-size:12.5px;display:inline-flex}.pr-fbtn .pr-d{background:var(--kc,#0a0a0a);border-radius:2px;flex:none;width:8px;height:8px}.pr-fbtn:hover{border-color:var(--ink)}.pr-fbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}.pr-count{color:#8a8a8a;font-size:12px}.pr-bin{padding:2px 0 40px}.pr-khead{border-bottom:2px solid var(--ink);align-items:baseline;gap:10px;margin:26px 0 4px;padding-bottom:6px;display:flex}.pr-khead .pr-d{background:var(--kc);border-radius:3px;align-self:center;width:10px;height:10px}.pr-khead h2{font-family:var(--font-mono);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.pr-khead .pr-n{color:#8a8a8a;font-size:12px}.pr-row{border-bottom:1px solid #f0f0f0}.pr-line{cursor:pointer;border-radius:6px;grid-template-columns:minmax(160px,240px) 1fr auto;align-items:baseline;gap:8px 18px;padding:9px 6px;display:grid}.pr-line:hover,.pr-row.open .pr-line{background:#f7f7f5}.pr-nm{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.pr-fav{object-fit:contain;background:#f4f4f4;border-radius:4px;flex:none}.pr-mono{font-family:var(--font-mono);color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.pr-tl{color:#565656;min-width:0;font-size:13px;line-height:1.55}.pr-lvl{color:#8a8a8a;white-space:nowrap;font-size:11px}.pr-lvl.adv{color:#b4700c}@media (max-width:720px){.pr-line{grid-template-columns:1fr auto}.pr-tl{grid-column:1/-1;padding-left:24px}}.pr-rowx{max-width:760px;padding:4px 6px 16px 30px}.pr-why{color:#1a1a1a;margin:4px 0 12px;font-size:13.5px;line-height:1.65}.pr-sayx{background:#f5f7ff;border:1.5px solid #c3cdf5;border-radius:8px;margin:0 0 12px;overflow:hidden}.pr-sayh{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);background:#e9edfd;align-items:center;gap:7px;padding:6px 11px;font-size:10px;font-weight:600;display:flex}.pr-sayh:before{content:"❝";font-size:13px;line-height:0}.pr-copy{color:#565656;cursor:pointer;text-transform:none;letter-spacing:0;font-size:10.5px;font-weight:400;font-family:var(--font-mono);background:#fff;border:1px solid #cfcfcf;border-radius:4px;margin-left:auto;padding:2px 8px}.pr-sayb{color:var(--ink);padding:9px 12px;font-size:12.5px;line-height:1.6}.pr-foot{color:#8a8a8a;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.pr-foot a.pr-pl{color:var(--pk,var(--blue));opacity:.85;border:1px solid;border-radius:12px;padding:1px 9px}.pr-foot a.pr-pl:hover{opacity:1;text-decoration:none}.pr-empty{text-align:center;color:#8a8a8a;padding:60px 0;font-size:14px}.pr-empty b{color:var(--ink)}@media (max-width:640px){.pr-benchin{padding:18px 16px 16px}.pr-k{display:none}}.say-wrap{max-width:680px;margin:26px 0 20px;position:relative}.say-wrap .say{max-width:none;margin:0}.challenge .say-wrap{margin:16px 0 12px}.say-wrap .turn{z-index:2;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#0a0a0a;border:1.5px solid var(--ink);box-shadow:0 2px 0 var(--ink);background:#ffd23e;border-radius:6px;padding:2.5px 9px;font-size:10px;font-weight:700;position:absolute;top:-11px;left:10px;transform:rotate(-1.2deg)}.fcsim,.tplay{border:1.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:12px;max-width:680px;margin:20px 0;padding:14px 16px 16px}.fcs-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.fcs-eb{letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-size:11px;font-weight:700}.fcs-sub{color:var(--ink-3);font-size:11.5px}.fcs-term{background:#0c120e;border:1px solid #78c8964d;border-radius:9px;overflow:hidden}.fcs-bar{background:#78c8961a;align-items:center;gap:5px;padding:7px 10px;display:flex}.fcs-bar i{background:#bee6cd59;border-radius:99px;width:7px;height:7px}.fcs-bar span{color:#bee6cd99;letter-spacing:.06em;margin-left:6px;font-size:10px}.fcs-bar.light{background:#ededea}.fcs-bar.light i{background:#c9c9c4}.fcs-bar.light span{color:#8a8a8a}.fcs-body{min-height:96px;font-family:var(--font-mono);color:#eaf6ee;padding:12px 14px 14px;font-size:13px;line-height:1.9}.fcs-line{white-space:pre-wrap}.fcs-line.dim{color:#bee6cd8c}.fcs-line.ok{color:#2fd584}.fcs-p{color:#9adbb4;margin-right:6px}.fcs-cur{vertical-align:-2px;background:#2fd584;width:7px;height:14px;animation:1s step-end infinite bkeybl;display:inline-block}.fcs-start{font-family:var(--font-mono);color:#0c120e;cursor:pointer;background:#2fd584;border:none;border-radius:8px;margin:14px auto;padding:12px 18px;font-size:14px;font-weight:700;display:block}.fcs-start:hover{background:#27bd74}.fcs-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fcs-chips button{font-family:var(--font-mono);color:#eaf6ee;cursor:pointer;background:#ffffff12;border:1px solid #2fd58480;border-radius:14px;padding:6px 13px;font-size:12px}.fcs-chips button:hover{background:#2fd5842e}.fcs-ask{color:#e8c36a;flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fcs-btns{gap:7px;display:inline-flex}.fcs-btns button{font-family:var(--font-mono);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:4px 14px;font-size:12px;font-weight:700}.fcs-btns .yes{color:#0c120e;background:#2fd584;border-color:#2fd584;animation:1.4s ease-in-out infinite fcs-pulse}.fcs-btns .no{color:#bee6cd99;background:0 0;border-color:#bee6cd59}@keyframes fcs-pulse{0%,to{box-shadow:0 0 #2fd58480}50%{box-shadow:0 0 0 6px #2fd58400}}.fcs-yes{color:#2fd584;font-weight:700}.fcs-browser{border:1.5px solid #d8d8d4;border-radius:9px;margin-top:10px;animation:.4s cubic-bezier(.3,1.3,.5,1) fcs-open;overflow:hidden}@keyframes fcs-open{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.fcs-page{background:#fff;justify-content:center;align-items:center;height:120px;display:flex;overflow:hidden}.fcs-canvas{width:100%;height:100%}.fcs-name{font-family:var(--font-mono);flex-wrap:wrap;justify-content:center;gap:2px;padding:0 10px;font-size:30px;font-weight:700;display:flex}.fcs-name span{background:linear-gradient(135deg,#1533e0,#0d9b56 40%,#e8663a 70%,#6a3fe4);color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.2s ease-in-out infinite fcs-bounce}@keyframes fcs-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-7px)}}.fcs-after{margin-top:12px;font-size:13px;line-height:1.65}.fcs-again{font-family:var(--font-mono);color:var(--blue);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.fcs-name span,.fcs-btns .yes,.fcs-cur{animation:none}}.tp-quest{font-family:var(--font-mono);color:#7a5a10;background:#fff7df;border:1.5px dashed #d9a62e;border-radius:8px;margin-bottom:10px;padding:8px 12px;font-size:12px;font-weight:700}.tp-quest.won{border-color:var(--green);background:var(--green-tint,#edfaf2);color:var(--green)}.tp-body{max-height:220px;overflow-y:auto}.tp-in{cursor:text;background:#ffd23e14;border:1.5px dashed #ffd23eb3;border-radius:7px;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;display:flex}.tp-in.live{background:#2fd5840d;border-style:solid;border-color:#2fd58473}.tp-in input{font-family:var(--font-mono);color:#eaf6ee;caret-color:#2fd584;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.tp-in input::placeholder{color:#bee6cd66}.tp-hint{letter-spacing:.12em;text-transform:uppercase;color:#ffd23e;white-space:nowrap;font-size:9.5px;font-weight:700;animation:1.5s ease-in-out infinite tp-blink}@keyframes tp-blink{0%,to{opacity:1}50%{opacity:.4}}.gt-stage{border:1px solid #0000004d;border-radius:9px;position:relative;overflow:hidden}.gt-stage canvas{cursor:pointer;touch-action:manipulation;background:#0e1420;width:100%;height:190px;display:block}.gt-over{color:#eaf6ee;font-family:var(--font-mono);background:#0a0e1699;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex;position:absolute;inset:0}.gt-over .fcs-start{margin:0}.gt-say{font-family:var(--font-mono);color:#eaf6ee;background:#0c120e;border-radius:9px;margin-top:12px;padding:12px 14px;font-size:12.5px;line-height:1.7}.gt-say b{color:#2fd584}.sl-stage{border:1px solid #00000040;border-radius:9px;overflow:hidden}.sl-stage canvas{touch-action:none;cursor:crosshair;background:#17803f;width:100%;height:240px;display:block}.sl-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.sl-shoot{font-family:var(--font-mono);color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);background:#ffd23e;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:700}.sl-shoot:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.sl-tally{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.sl-msg{font-family:var(--font-mono);color:var(--ink-2);margin-top:8px;font-size:12.5px}.sl-msg.goal{color:var(--green);font-weight:700}.sb-stage{border:1px solid #00000059;border-radius:9px;margin-top:10px;overflow:hidden}.sb-stage canvas{touch-action:none;cursor:grab;background:#141019;width:100%;height:250px;display:block}.sb-stage canvas:active{cursor:grabbing}.sb-chips button{color:var(--ink);background:#fff;border-color:#e86fa48c}.sb-chips button:hover{background:#e86fa41f}.sb-chips button.on{color:#fff;background:#c2255c;border-color:#c2255c}.pm-stage{border:1.5px solid var(--ink);background:#fbf7ee;border-radius:9px;position:relative;overflow:hidden}.pm-stage canvas{width:100%;height:190px;display:block}.pm-btn{font-family:var(--font-mono);letter-spacing:.08em;color:#fff;border:2px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#e8563f;border-radius:99px;padding:10px 26px;font-size:14px;font-weight:800;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.pm-btn:active{box-shadow:0 1px 0 var(--ink);transform:translate(-50%)translateY(2px)}.ds-names{width:100%;font-family:var(--font-mono);color:var(--ink);background:#fffbf2;border:1.5px dashed #b4700c99;border-radius:7px;outline:none;margin-bottom:10px;padding:7px 10px;font-size:12.5px}.ds-names:focus{border-style:solid;border-color:#b4700c}.ds-stage canvas{width:100%;height:230px;display:block}.ds-result{font-family:var(--font-mono);font-size:13px}.ds-result b{color:var(--green)}.wb-stage{border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}.wb-stage canvas{width:100%;height:200px;display:block}.wb-name{font-family:var(--font-mono);color:#6a3fe4;font-size:12.5px;font-weight:700}.el-app{border:1.5px solid var(--ink);background:#fff;border-radius:9px;overflow:hidden}.el-bar{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#0e7fa8;padding:7px 12px;font-size:10.5px;font-weight:700}.el-list{min-height:64px;padding:10px 12px}.el-item{font-family:var(--font-mono);font-size:13px;line-height:1.9}.el-empty{font-family:var(--font-mono);color:var(--ink-3);padding:12px 0;font-size:12px}.el-row{gap:8px;padding:0 12px 10px;display:flex}.el-row input{font-family:var(--font-mono);border:1.5px dashed #0e7fa88c;border-radius:7px;outline:none;flex:1;min-width:0;padding:7px 10px;font-size:12.5px}.el-row input:focus{border-style:solid;border-color:#0e7fa8}.el-row button{font-family:var(--font-mono);color:#fff;cursor:pointer;background:#0e7fa8;border:none;border-radius:7px;padding:7px 16px;font-size:12px;font-weight:700}.el-row2{align-items:center;gap:10px;padding:0 12px 12px;display:flex}.el-slam{font-family:var(--font-mono);border:1.5px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);background:#ffd23e;border-radius:7px;padding:7px 14px;font-size:12.5px;font-weight:700}.el-slam:disabled{opacity:.45;cursor:default}.el-forget{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;font-size:11px;text-decoration:underline}.el-door{border:1.5px solid var(--ink);color:#eaf6ee;text-align:center;background:#1f2430;border-radius:9px;padding:26px 16px}.el-door-panel span{font-size:34px}.el-door-panel p{font-family:var(--font-mono);color:#eaf6eebf;max-width:380px;margin:10px auto 14px;font-size:12.5px;line-height:1.6}.tf-chords{gap:8px;margin-bottom:10px;display:flex}.tf-chord{text-align:center;font-family:var(--font-mono);border:1.5px solid var(--ink);color:var(--ink-3);background:#fff;border-radius:9px;flex:1;padding:14px 0;font-size:16px;font-weight:800;transition:background .12s,color .12s}.tf-chord.on{color:#fff;background:#5c940d}.tf-track{background:#0000001a;border-radius:99px;height:6px;margin-bottom:4px;overflow:hidden}.tf-bar{background:#5c940d;width:0;height:100%}.tf-catch{font-family:var(--font-mono);color:#fff;border:2px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#5c940d;border-radius:9px;padding:10px 26px;font-size:14px;font-weight:800}.tf-catch:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.tf-catch.hit{background:var(--green)}.tf-catch.miss{background:#e8563f}.tf-slow{font-family:var(--font-mono);border:1.5px dashed var(--ink);cursor:pointer;background:#fff;border-radius:99px;padding:8px 14px;font-size:12px;font-weight:700}.tf-slow.on{background:#e4f2d2;border-style:solid}.mb-machine{border:1.5px solid var(--ink);background:#23262b;border-radius:9px;overflow:hidden}.mb-slot{background:#2e3238;align-items:center;gap:8px;padding:12px;display:flex}.mb-slot input{width:90px;font-family:var(--font-mono);color:#eaf6ee;text-align:center;background:#16181c;border:1.5px dashed #ffd23e99;border-radius:7px;outline:none;padding:7px 10px;font-size:14px}.mb-slot input:focus{border-style:solid;border-color:#ffd23e}.mb-slot button{font-family:var(--font-mono);color:var(--ink);cursor:pointer;background:#ffd23e;border:none;border-radius:7px;padding:8px 16px;font-size:12.5px;font-weight:700}.mb-rewired{font-family:var(--font-mono);color:#e8563f;font-size:10.5px;font-weight:700}.mb-tape{min-height:56px;font-family:var(--font-mono);color:#eaf6ee;padding:10px 14px;font-size:13.5px}.mb-row{gap:10px;line-height:1.9;display:flex}.mb-row b{color:#ffd23e}.mb-arrow{color:#eaf6ee80}.mb-empty{color:#eaf6ee80;padding:8px 0;font-size:12px}.mb-guess{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.mb-guess-label{width:100%;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.mb-guess button{font-family:var(--font-mono);border:1.5px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);background:#fff;border-radius:99px;padding:7px 14px;font-size:12px}.mb-guess button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.pf-weak{font-family:var(--font-mono);color:var(--ink-3);margin-bottom:8px;font-size:12px}.pf-weak s{color:#b0332a}.pf-stage{border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}.pf-stage canvas{width:100%;height:200px;transition:filter .35s;display:block}.pf-slots{flex-direction:column;gap:7px;margin-top:10px;display:flex}.pf-slot{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pf-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);min-width:96px;font-size:10.5px;font-weight:700}.pf-label.on{color:var(--green)}.pf-chips button{color:var(--ink);background:#fff;border-color:#00000059}.pf-chips button:hover{background:#0000000d}.pf-chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.kl-stage canvas{height:220px}.kl-panel{background:#fdf3f7;border:1.5px dashed #c2255c80;border-radius:9px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:10px;padding:10px 14px;display:flex}.kl-panel label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;display:flex}.kl-panel input[type=range]{accent-color:#c2255c;width:110px}.kl-paint{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:7px;font-size:10.5px;font-weight:700;display:flex}.kl-paint button{cursor:pointer;border:2.5px solid;border-radius:99px;width:22px;height:22px;padding:0}.kl-paint button.on{outline:2.5px solid var(--ink);outline-offset:2px}.fx-round{border:1.5px solid var(--ink);background:#fff;border-radius:9px;margin-bottom:10px;padding:12px 14px}.fx-round.ok{border-color:var(--green);background:var(--green-tint,#edfaf2)}.fx-scene{font-size:13.5px;line-height:1.55}.fx-num{background:var(--ink);color:#fff;width:20px;height:20px;font-family:var(--font-mono);vertical-align:-3px;border-radius:99px;justify-content:center;align-items:center;margin-right:8px;font-size:11px;font-weight:700;display:inline-flex}.fx-round.ok .fx-num{background:var(--green)}.fx-term{font-family:var(--font-mono);color:#ff8b7e;background:#1c1917;border-radius:7px;margin-top:8px;padding:8px 12px;font-size:12px}.fx-moves{flex-direction:column;gap:6px;margin-top:10px;display:flex}.fx-moves button{font-family:var(--font-mono);text-align:left;cursor:pointer;background:#fff;border:1.5px solid #0006;border-radius:8px;padding:8px 12px;font-size:12.5px}.fx-moves button:hover{border-color:var(--ink);background:#00000008}.fx-solved{font-family:var(--font-mono);color:var(--green);margin-top:8px;font-size:12.5px;font-weight:700}.fx-nudge{font-family:var(--font-mono);color:#8a5a00;background:#fff7df;border:1.5px dashed #d9a62e;border-radius:7px;margin-top:8px;padding:7px 10px;font-size:12px}.sorter{margin:0 0 26px}.sorter-open{font-family:var(--font-mono);border:1.5px dashed var(--ink);cursor:pointer;text-align:left;background:#fffdf4;border-radius:10px;width:100%;padding:12px 18px;font-size:13px;font-weight:700}.sorter-open:hover{box-shadow:0 2px 0 var(--ink);border-style:solid}.sorter-box{border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:12px;padding:16px 18px}.sorter-head{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.sorter-head b{font-family:var(--font-mono);font-size:15px}.sorter-head span{color:var(--ink-3);font-size:12px}.sorter-x{color:var(--ink-3);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:17px;line-height:1}.sorter-x:hover{color:var(--ink)}.sorter-q{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.sorter-l{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);min-width:210px;font-size:10.5px;font-weight:700}.sorter-chips{flex-wrap:wrap;gap:7px;display:flex}.sorter-chips button{font-family:var(--font-mono);cursor:pointer;background:#fff;border:1.5px solid #00000059;border-radius:99px;padding:6px 13px;font-size:12px}.sorter-chips button:hover{border-color:var(--ink)}.sorter-chips button.on{background:var(--sc,var(--ink));border-color:var(--sc,var(--ink));color:#fff}.sorter-res{border:2px solid var(--sc);border-radius:10px;grid-template-columns:200px 1fr;gap:0;margin-top:14px;display:grid;overflow:hidden}.sorter-scene{border-right:2px solid var(--sc);min-height:150px;position:relative}.sorter-scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.sorter-res-body{padding:14px 18px}.sorter-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sc);font-size:10px;font-weight:700;display:block}.sorter-res-body b{font-family:var(--font-mono);font-size:17px}.sorter-res-body p{color:var(--ink-2);margin:6px 0;font-size:13.5px;line-height:1.6}.sorter-setup{color:var(--ink-3)!important;font-size:12.5px!important}.sorter-cta{flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:10px;display:flex}.sorter-alt{font-family:var(--font-mono);color:var(--blue);text-underline-offset:3px;font-size:13px;text-decoration:underline}@media (max-width:700px){.sorter-res{grid-template-columns:1fr}.sorter-scene{border-right:none;border-bottom:2px solid var(--sc);min-height:110px}.sorter-l{width:100%;min-width:0}}.ph-tight{margin-bottom:18px}.ph-tight .lede{max-width:62ch}.pr-main{min-width:0}.pr-main .pr-view{margin:16px 0 12px}.pr-think{font-family:var(--font-mono);color:#9aa3b0;align-self:center;font-size:12px}.pr-think:after{content:"";vertical-align:-1px;background:#2fd584;width:7px;height:12px;margin-left:7px;animation:1s step-end infinite bkeybl;display:inline-block}.pr-sug.pop{animation:.28s cubic-bezier(.3,1.5,.5,1) backwards prpop}@keyframes prpop{0%{opacity:0;transform:scale(.6)translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pr-sug.pop,.pr-think:after{animation:none}}.pr-receipt{font-family:var(--font-mono);color:#7a828e;margin-top:8px;font-size:10.5px}.pr-view-note{font-family:var(--font-mono);color:#b4700c;align-self:center;font-size:11px}.pmap-loading{font-family:var(--font-mono);color:var(--ink-3);text-align:center;border:2px dashed #00000040;border-radius:12px;padding:60px 20px;font-size:12.5px}.pr-view{gap:8px;margin:18px 0 14px;display:flex}.pr-view button{font-family:var(--font-mono);border:1.5px solid var(--ink);cursor:pointer;background:#fff;border-radius:99px;padding:8px 18px;font-size:12.5px;font-weight:700}.pr-view button.on{background:var(--ink);color:#fff}.pr-view button:disabled{opacity:.4;cursor:default}.pr-potd{font-family:var(--font-mono);cursor:pointer;text-align:left;background:#fffdf4;border:1.5px dashed #00000059;border-radius:9px;flex-wrap:wrap;align-items:baseline;gap:8px;width:100%;margin-top:16px;padding:9px 14px;font-size:12.5px;display:flex}.pr-potd:hover{border-style:solid}.pr-potd-star{color:#b4700c}.pr-potd-t{color:var(--ink-3)}.pr-stack{font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:8px;font-size:11.5px;display:flex}.pr-stack-b{color:var(--green);font-weight:700}.pr-stack-h{color:var(--ink-3)}.pr-pairs button.pr-pl{cursor:pointer;background:0 0}.pmap{margin-bottom:26px}.pmap-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.pmap-q{font-family:var(--font-mono);border:1.5px solid var(--ink);border-radius:8px;outline:none;min-width:180px;padding:8px 12px;font-size:12.5px}.pmap-legend{flex-wrap:wrap;gap:6px;display:flex}.pmap-legend button{font-family:var(--font-mono);border:1.5px solid var(--c);color:var(--ink);cursor:pointer;background:#fff;border-radius:99px;padding:4px 11px;font-size:11px}.pmap-legend button:before{content:"";background:var(--c);border-radius:99px;width:8px;height:8px;margin-right:6px;display:inline-block}.pmap-legend button.off{opacity:.35}.pmap-wander{font-family:var(--font-mono);border:1.5px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);background:#ffd23e;border-radius:99px;padding:6px 14px;font-size:11.5px;font-weight:700}.pmap-wander:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.pmap-zoom{gap:5px;margin-left:auto;display:flex}.pmap-zoom button{border:1.5px solid var(--ink);cursor:pointer;width:32px;height:32px;box-shadow:0 2px 0 var(--ink);background:#fff;border-radius:8px;font-size:16px;font-weight:700}.pmap-zoom button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.pmap-stage{border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:12px;position:relative;overflow:hidden}.pmap-stage canvas{touch-action:none;width:100%;height:min(66vh,640px);min-height:420px;display:block}.pmap-hint{font-family:var(--font-mono);color:var(--ink-3);margin-top:8px;font-size:11.5px;line-height:1.7}.pmap-card{border:1.5px solid var(--c,#4d66f5);color:#eaeff8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e1217f0;border-radius:12px;max-width:min(430px,100% - 24px);max-height:72%;padding:14px 16px;position:absolute;bottom:12px;left:12px;overflow:auto}.pmap-x{color:#eaeff899;cursor:pointer;background:0 0;border:none;font-size:17px;line-height:1;position:absolute;top:8px;right:10px}.pmap-x:hover{color:#fff}.pmap-card-head{flex-wrap:wrap;align-items:baseline;gap:10px;padding-right:20px;display:flex}.pmap-card-head b{font-family:var(--font-mono);font-size:16px}.pmap-kind{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#0e1217;background:var(--c);border-radius:5px;padding:2px 8px;font-size:10px;font-weight:700}.pmap-lvl{font-family:var(--font-mono);color:#eaeff88c;font-size:11px}.pmap-tag{margin:6px 0 4px;font-size:13.5px}.pmap-why{color:#eaeff8bf;margin:0 0 10px;font-size:12.5px;line-height:1.6}.pmap-rl{width:100%}.pmap-rl.gold{color:#ffd23e!important}.pmap-rl.blue{color:#8fb0ff!important}.pmap-say{font-family:var(--font-mono);color:#2fd584;background:#0c120e;border:1px solid #2fd5844d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:9px 12px;font-size:12px;display:flex}.pmap-say button{font-family:var(--font-mono);cursor:pointer;background:#ffd23e;border:none;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:11px;font-weight:700}.pmap-rel{flex-wrap:wrap;align-items:baseline;gap:7px;margin-top:6px;display:flex}.pmap-rel span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.pmap-rel button{font-family:var(--font-mono);color:#eaeff8;cursor:pointer;background:#ffffff0f;border:1px solid #eaeff859;border-radius:99px;padding:4px 11px;font-size:11.5px}.pmap-rel button:hover{border-color:#fff}@media (max-width:700px){.pmap-stage canvas{height:400px}.pmap-zoom{margin-left:0}}.xtg-stage{border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}.xtg-stage canvas{cursor:crosshair;touch-action:manipulation;width:100%;height:250px;display:block}.xtg-read{font-family:var(--font-mono);color:var(--ink-2);min-height:1.6em;margin-top:10px;font-size:12.5px}.xtg-read b{color:var(--ink)}.xtg-big{color:var(--green);font-weight:700}.bar-stuck{font-family:var(--font-mono);color:#8a5a00;white-space:nowrap;background:#fff1c2;border:1px solid #d9a62e;border-radius:99px;margin-left:8px;padding:2px 9px;font-size:11px;font-weight:700}.bar-stuck.off{visibility:hidden;padding:2px 9px}.hurt-card{border-color:#d9a62e!important}.hurt-row{border-bottom:1px dashed #0000001f;align-items:baseline;gap:12px;padding:7px 0;display:flex}.hurt-row:last-child{border-bottom:none}.hurt-n{font-family:var(--font-mono);color:#8a5a00;text-align:center;background:#fff1c2;border:1.5px solid #d9a62e;border-radius:8px;min-width:38px;padding:2px 10px;font-size:14px;font-weight:800}.hurt-what{font-size:13.5px}.hurt-when{font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:11px}.stuckw{margin:26px 0 6px}.stuckbtn{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.stuckbtn:hover{color:var(--ink)}.stuckp{background:#fffdf4;border:1.5px dashed #d9a62e;border-radius:10px;margin-top:10px;padding:14px 16px}.stuckp-lede{margin:0 0 10px;font-size:13.5px;line-height:1.6}.stuckp-pre{font-family:var(--font-mono);color:#eaf6ee;white-space:pre-wrap;background:#0c120e;border-radius:8px;margin:0 0 10px;padding:12px 14px;font-size:12px;line-height:1.7}.stuckp-row{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.stuckp-copy{font-family:var(--font-mono);border:1.5px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);background:#ffd23e;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:700}.stuckp-copy:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.stuckp-more{color:var(--ink-3);font-size:12px}.pathdone{border:2px solid var(--green);background:var(--green-tint,#edfaf2);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:16px;margin:22px 0 0;padding:16px 18px;font-size:15px;display:flex;position:relative}.pathdone a{font-family:var(--font-mono);color:var(--green);font-weight:700}.pd-conf{background:var(--c);pointer-events:none;border-radius:2px;width:7px;height:10px;animation:2.2s cubic-bezier(.2,.6,.4,1) forwards pdconf;position:absolute;top:50%;left:50%}@keyframes pdconf{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx),calc(var(--dy) + 220px)) rotate(540deg);opacity:0}}@media (prefers-reduced-motion:reduce){.pd-conf{display:none}}.certwrap{max-width:820px;margin:34px auto;padding:0 20px}.cert{border:2.5px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:14px;overflow:hidden}.cert-scene{border-bottom:2px solid var(--ink);height:150px;overflow:hidden}.cert-mini{height:150px;position:relative}.cert-mini canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.cert-body{border-top:6px solid var(--pc,#1533e0);padding:30px 36px 26px}.cert-eb{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.cert-h{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink);margin:10px 0 14px;font-size:clamp(34px,6vw,54px)}.cert-line{margin:0 0 4px;font-size:17px}.cert-sub{font-family:var(--font-mono);color:var(--ink-3);margin:0 0 26px;font-size:12.5px}.cert-foot{border-top:1.5px dashed #00000040;align-items:center;gap:14px;padding-top:16px;display:flex}.cert-key{--k:40px}.cert-meta{font-family:var(--font-mono);color:var(--ink-3);font-size:11px;line-height:1.7}.cert-actions{flex-wrap:wrap;align-items:baseline;gap:18px;margin-top:18px;display:flex}.cert-hint{color:var(--ink-3);font-size:12px}.cert-guard{max-width:560px;margin:60px auto;padding:0 20px}.cert-guard h1{font-family:var(--font-mono)}.cert-guard p{margin:12px 0 20px;line-height:1.7}@media print{.bar,.cert-actions,.hz{display:none!important}.certwrap{max-width:none;margin:0}.cert{box-shadow:none}}.cweek{border:1.5px solid var(--ink);box-shadow:0 2px 0 var(--ink);background:#fff7df;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.cweek b{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.cweek span{font-size:14px}.cweek i{color:var(--ink-3);font-size:11.5px;font-style:normal}.bkey-popped{pointer-events:none;z-index:60;animation:4s cubic-bezier(.3,0,.6,1) forwards bkeyfall;position:relative}@keyframes bkeyfall{0%{opacity:1;transform:none}6%{transform:translateY(-10px)rotate(-9deg)}40%{transform:translateY(62vh)rotate(126deg)}50%{transform:translateY(53vh)rotate(139deg)}58%{opacity:1;transform:translateY(62vh)rotate(145deg)}66%{opacity:0;transform:translateY(62vh)rotate(145deg)}70%{opacity:0;transform:translateY(-6px)rotate(0)}78%{opacity:1;transform:none}84%{transform:translateY(2px)}90%,to{opacity:1;transform:none}}.bkey-oops{font-family:var(--font-mono);color:var(--ink-3);margin-left:10px;font-size:11px;animation:4.2s forwards bkoops}@keyframes bkoops{0%{opacity:0}12%{opacity:0}22%{opacity:1}80%{opacity:1}to{opacity:0}}.plc-knock{font-family:var(--font-mono);color:var(--ink-3);margin-top:8px;font-size:11px;display:block}.plib-card.soon{cursor:pointer}.nf{background:var(--paper,#fbf7ee);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.nf-in{text-align:left;max-width:520px}.nf-key{--k:56px}.nf-code{font-family:var(--font-mono);letter-spacing:.2em;color:var(--ink-3);margin-top:22px;font-size:15px;font-weight:700}.nf h1{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink);margin:8px 0 12px;font-size:clamp(24px,5vw,34px);font-weight:700}.nf p{color:var(--ink-2);margin:0 0 18px;font-size:15.5px;line-height:1.65}.nf-ideas{font-family:var(--font-mono);color:var(--ink-3);border:1.5px dashed #0000004d;border-radius:9px;margin-bottom:26px;padding:10px 14px;font-size:12.5px;line-height:1.8}.nf-ideas span{letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.nf-cta{flex-wrap:wrap;align-items:baseline;gap:18px;display:flex}.nf-go{font-family:var(--font-mono);color:#fff;background:#0d9b56;border:2px solid #053a22;border-radius:12px;padding:12px 22px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 4px #053a22}.nf-go:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 5px #053a22}.nf-go:active{transform:translateY(3px);box-shadow:0 1px #053a22}.nf-home{font-family:var(--font-mono);color:var(--ink-2);text-underline-offset:3px;font-size:13px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.tp-hint{animation:none}}
