@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-greek-wght-normal-ece1310W.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-vietnamese-wght-normal-D-yuW59g.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-ext-wght-normal-CxNHBx-q.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-wght-normal-D9elroTD.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(./source-serif-4-cyrillic-ext-wght-italic-BXuSHrjR.woff2)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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(./source-serif-4-cyrillic-wght-italic-RLIThRd4.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(./source-serif-4-greek-wght-italic-F2ziEGcb.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(./source-serif-4-vietnamese-wght-italic-C3q834ic.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-ext-wght-italic-CpkvI5hy.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-wght-italic-D2yaqPoE.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");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-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");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-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");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-display:swap;font-weight:600;src:url(./ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.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{--paper:#f2eee6;--paper-2:#e9e3d7;--paper-3:#ddd5c5;--ink:#1b1916;--ink-2:#4a453d;--ink-3:#6b6457;--rule:#cdc4b3;--red:#a8261b;--amber:#b86a0c;--amber-hi:#ffa53a;--blue:#1d65b3;--blue-hi:#4aa8ff;--stage:#141311;--serif:"Source Serif 4 Variable", "Source Serif 4", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--head:56px;--col:min(600px, 42vw)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 12px)}body{font:400 18px/1.62 var(--serif);font-optical-sizing:auto;margin:0}a{color:inherit;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}button{font:inherit;color:inherit}sup{line-height:0}.top{z-index:30;height:var(--head);background:var(--paper);border-bottom:1px solid var(--rule);align-items:center;gap:20px;padding:0 20px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--ink);width:12px;height:12px;box-shadow:inset 0 0 0 3px var(--paper), 0 0 0 1px var(--ink);border-radius:50%;align-self:center}.brand-name{font:600 15px var(--mono);letter-spacing:.08em;text-transform:uppercase}.brand-sub{font:400 13px var(--mono);color:var(--ink-3)}.toc{scrollbar-width:none;gap:2px;margin-left:auto;display:flex;overflow-x:auto}.toc::-webkit-scrollbar{display:none}.toc a{font:500 12px var(--mono);color:var(--ink-3);border-radius:3px;padding:6px 7px;text-decoration:none;position:relative}.toc a em{white-space:nowrap;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;border-radius:3px;padding:4px 8px;font-style:normal;font-weight:400;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.toc a:hover em{opacity:1}.toc a:hover{color:var(--ink)}.toc a.on{color:var(--paper);background:var(--ink)}.now{font:600 12px var(--mono);color:var(--red);margin-left:auto;display:none}.lang{border:1px solid var(--ink);font:600 12px var(--mono);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:3px;padding:5px 9px}.lang:hover{background:var(--ink);color:var(--paper)}.story{grid-template-columns:var(--col) 1fr;display:grid}.chapters{border-right:1px solid var(--rule);grid-area:1/1;padding:0 40px 20vh 48px}.stage-col{grid-area:1/2}.stage{top:var(--head);height:calc(100svh - var(--head));background:var(--stage);-webkit-user-select:none;user-select:none;position:sticky;overflow:hidden}#gl{touch-action:pan-y;cursor:grab;opacity:0;width:100%;height:100%;transition:opacity .8s;display:block}.stage.ready #gl{opacity:1}.loading{color:#c9c1b2;font:400 13px var(--mono);letter-spacing:.06em;text-align:center;pointer-events:none;place-content:center;gap:10px;transition:opacity .5s;display:grid;position:absolute;inset:0}.loading i{background:#3a3630;width:140px;height:2px;display:block;position:relative;overflow:hidden}.loading i:after{content:"";background:var(--amber-hi);width:40%;animation:1.1s ease-in-out infinite load;position:absolute;inset:0}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(260%)}}.stage.ready .loading{opacity:0}.chapter{border-bottom:1px solid var(--rule);min-height:70vh;padding:12vh 0 10vh}.chapter:first-child{padding-top:9vh}.chapter:last-child{border-bottom:0}.ch-num{font:600 13px var(--mono);color:var(--red);letter-spacing:.06em;margin-bottom:14px}.ch-num span{color:var(--ink-3);margin-left:6px;font-weight:400}.kicker{font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:18px}h1{font:650 clamp(64px, 9vw, 112px)/.92 var(--serif);letter-spacing:-.035em;margin:0 0 28px}h2{font:620 clamp(30px, 3.1vw, 42px)/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 24px}h3{font:600 20px/1.3 var(--serif)}.body p{margin:0 0 1.05em}.lead{font-size:22px;line-height:1.5}.aside{color:var(--ink-2);border-left:2px solid var(--red);padding-left:16px;font-size:16px}.body b{font-weight:640}.parts{border-top:1px solid var(--rule);margin:0 0 1.2em;padding:0;list-style:none}.parts li{border-bottom:1px solid var(--rule);cursor:default;padding:12px 0 12px 22px;transition:background .15s;position:relative}.parts li:before{content:"";border:1.5px solid var(--ink-3);border-radius:50%;width:8px;height:8px;position:absolute;top:22px;left:2px}.parts li:hover{background:var(--paper-2)}.parts li:hover:before{background:var(--amber-hi);border-color:var(--amber)}.plain{padding-left:1.2em}.plain li{margin-bottom:6px}.fn{background:var(--ink);min-width:17px;height:17px;color:var(--paper);font:600 10px/1 var(--mono);cursor:pointer;vertical-align:2px;border:0;border-radius:9px;place-items:center;margin-left:2px;padding:0 4px;display:inline-grid}.fn:hover,.fn:focus-visible{background:var(--red);outline:none}figure{margin:32px 0 8px}figure img{object-fit:contain;background:var(--paper-3);filter:grayscale(.15)contrast(1.02);width:100%;height:auto;max-height:540px;display:block}figcaption{color:var(--ink-2);margin-top:10px;font-size:15px;line-height:1.45}figcaption a{font:400 12px/1.5 var(--mono);color:var(--ink-3);margin-top:3px;text-decoration:none;display:block}figcaption a:hover{text-decoration:underline}.legend{font:500 13px var(--mono);flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 1em;display:flex}.sw{border-radius:2px;width:26px;height:4px}.sw.fwd{background:var(--amber-hi);box-shadow:0 0 0 1px var(--amber)}.sw.back{background:var(--blue-hi);box-shadow:0 0 0 1px var(--blue);margin-left:8px}.timeline{border-left:1px solid var(--ink);margin:0 0 1.4em;padding:0;list-style:none}.timeline li{padding:0 0 18px 22px;position:relative}.timeline li:before{content:"";background:var(--paper);border:1.5px solid var(--ink);border-radius:50%;width:9px;height:9px;position:absolute;top:8px;left:-5px}.timeline .yr{font:600 13px var(--mono);color:var(--red);letter-spacing:.04em}.timeline p{margin:2px 0 0}.hud{pointer-events:none;align-items:flex-start;gap:12px;display:flex;position:absolute;top:16px;left:16px;right:16px}.windows{pointer-events:auto;gap:6px;display:flex}.win{background:#0c0b0a;border:1px solid #3a3630;border-radius:4px;justify-items:center;width:44px;padding:2px 0 4px;display:grid}.win button{color:#8a8276;cursor:pointer;background:0 0;border:0;width:100%;height:20px;font-size:9px}.win button:hover{color:#fff}.w-l{font:600 22px/1 var(--mono);color:#111;text-align:center;background:#efe7d4;border-radius:2px;width:30px;padding:4px 0}.w-r{font:500 10px var(--mono);color:#8a8276;margin-top:3px}.reset-view{pointer-events:auto;color:#d6cfc2;font:500 12px var(--mono);cursor:pointer;opacity:0;visibility:hidden;background:#141311cc;border:1px solid #3a3630;border-radius:3px;margin-left:auto;padding:6px 10px;transition:opacity .25s,visibility .25s}.stage.moved .reset-view{opacity:1;visibility:visible}.reset-view:hover{color:#fff;border-color:#6b6457}.tape{color:#111;font:500 16px/1.5 var(--mono);background:#efe7d4;border-radius:3px;padding:10px 84px 10px 14px;transition:opacity .3s,transform .3s;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 8px 28px #0006}.tape.empty{opacity:0;pointer-events:none;transform:translateY(8px)}.tape-row{white-space:nowrap;gap:12px;display:flex;overflow:hidden}.tape-k{letter-spacing:.06em;text-transform:uppercase;color:#6b6457;flex:0 0 52px;padding-top:3px;font-size:11px}.tape-v{letter-spacing:.12em;text-overflow:clip;text-align:left;direction:rtl;overflow:hidden}.tape-v.out{color:var(--red);font-weight:600}.tape-clear{font:500 11px var(--mono);cursor:pointer;background:0 0;border:1px solid #b9ae98;border-radius:3px;padding:4px 8px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.tape-clear:hover{border-color:#111}.hint{color:#d6cfc2;font:500 13px var(--mono);white-space:nowrap;pointer-events:none;background:#141311bf;border:1px solid #3a3630;border-radius:3px;padding:8px 14px;transition:opacity .4s;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hint.gone,.stage:not(.ready) .hud,.stage:not(.ready) .hint{opacity:0}.labels{pointer-events:none;position:absolute;inset:0}.lbl{will-change:transform;position:absolute;top:0;left:0}.lbl i{background:var(--amber-hi);border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute;box-shadow:0 0 0 3px #ffa53a40}.lbl span{white-space:nowrap;font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#f2eee6;background:#141311d1;border:1px solid #4a453d;border-radius:2px;padding:4px 8px;transition:background .2s,color .2s;position:absolute;bottom:10px;left:14px}.lbl span:before{content:"";transform-origin:0 100%;border-bottom:0;border-left:1px solid #8a8276;width:10px;height:10px;position:absolute;bottom:-10px;left:-10px;transform:skew(40deg)}.lbl.left span{left:auto;right:14px}.labels.dim .lbl:not(.on){opacity:.35}.lbl.on span{background:var(--amber-hi);color:#111;border-color:var(--amber-hi)}.kbd-toggle{pointer-events:auto;color:#d6cfc2;font:500 12px var(--mono);background:#141311cc;border:1px solid #3a3630;border-radius:3px;padding:6px 10px;display:none}@media (pointer:coarse){.kbd-toggle{display:block}.reset-view{margin-left:auto}}.vkbd{background:#0c0b0aeb;border:1px solid #3a3630;border-radius:4px;gap:4px;padding:6px;display:grid;position:absolute;bottom:6px;left:6px;right:6px}.vkbd div{justify-content:center;gap:4px;display:flex}.vkbd button{color:#111;height:34px;font:600 14px var(--mono);touch-action:manipulation;background:#e2dccb;border:0;border-radius:50%;flex:0 36px}.vkbd button.in{background:var(--amber-hi)}.vkbd button.out{background:var(--blue-hi)}.stage.kbd .tape{bottom:132px}.stage.kbd .hint{display:none}.pop{z-index:50;background:var(--paper);border:1px solid var(--ink);padding:14px 16px 12px;font-size:15px;line-height:1.5;position:fixed;box-shadow:0 16px 40px #1b191638}.pop.sheet{border-width:1px 0 0;max-height:70svh;bottom:0;right:0;overflow:auto;width:auto!important;top:auto!important;left:0!important}.pop-head{font:600 12px var(--mono);color:var(--red);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pop-x{cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:22px;line-height:1}.pop img{object-fit:cover;background:var(--paper-3);width:100%;max-height:190px;margin-bottom:10px}.pop p{margin:0 0 10px}.pop-src a{font:400 12px/1.5 var(--mono);color:var(--ink-2);margin-top:3px;display:block}.pop-credit{font:400 11px var(--mono);color:var(--ink-3);margin-top:8px}.widget{background:var(--paper-2);border:1px solid var(--rule);font-family:var(--mono);border-radius:4px;margin:28px 0;padding:18px 18px 14px;font-size:14px}.widget svg{width:100%;height:auto;display:block}.w-row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;display:flex}.w-row:first-child{margin-top:0}.w-grow{flex:1}.w-lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.w-stat{font-weight:600}.w-note{font:400 13px/1.5 var(--mono);color:var(--ink-2);min-height:1.5em;margin:10px 0 0!important}.w-pos{text-align:center;min-width:36px;font-size:16px}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:500 13px var(--mono);cursor:pointer;border-radius:3px;padding:7px 12px}.btn:hover{background:var(--red);border-color:var(--red)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn.sq{width:32px;padding:6px 0}.btn.sm{padding:4px 9px;font-size:12px}.tabs{border:1px solid var(--ink);border-radius:3px;display:flex;overflow:hidden}.tabs button{border:0;border-left:1px solid var(--ink);font:500 13px var(--mono);cursor:pointer;background:0 0;padding:5px 10px}.tabs button:first-child{border-left:0}.tabs button:hover{background:var(--paper-3)}.tabs button.on{background:var(--ink);color:var(--paper)}input[type=range]{accent-color:var(--red);flex:1;min-width:120px}select,input[type=text],.w-sim input,textarea{font:500 14px var(--mono);color:var(--ink);background:var(--paper);border:1px solid var(--ink-3);border-radius:3px;padding:6px 8px}select:focus,input:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px}.rl{font:500 12px var(--mono);fill:var(--ink-2);cursor:default}.rl.end{text-anchor:end}.rl.mid,.cap.mid{text-anchor:middle}.rl.on{fill:var(--red);font-weight:600}.cap{font:500 10px var(--mono);fill:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.ct{fill:var(--ink)}.wire{fill:none;stroke:var(--ink-3);stroke-width:1px;opacity:.55;transition:opacity .15s}.wire.on{stroke:var(--amber-hi);stroke-width:3px;opacity:1}.pb .sock{cursor:pointer;outline:none}.pb .sl{font:600 12px var(--mono);fill:var(--ink);text-anchor:middle}.pb .plate{fill:#cfcac0;stroke:#8f887b}.pb .hole{fill:#1b1916}.pb .sock:hover .plate,.pb .sock:focus-visible .plate{fill:#fff;stroke:var(--ink)}.pb .sock.pick .plate{fill:var(--amber-hi);stroke:var(--amber)}.pb .sock.plugged .plate{fill:#1b1916;stroke:#1b1916}.pb .sock.plugged .hole{fill:#555}.pb .sock.hot .sl{fill:var(--amber)}.pb .sock.hot2 .sl{fill:var(--blue)}.pb .cable{fill:none;stroke:#1b1916;stroke-width:3px;stroke-linecap:round;opacity:.85}.rw .core{fill:#1b1916;opacity:.06}.odo{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.odo .cell{background:var(--paper);border:1px solid var(--rule);border-radius:3px;justify-items:center;gap:4px;padding:10px 6px;display:grid;position:relative}.odo .nm{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:11px}.odo .big{font:600 40px/1 var(--mono);text-align:center;background:#efe7d4;border:1px solid #b9ae98;border-radius:3px;width:58px;padding:6px 0}.odo .sm{color:var(--ink-2);font-size:11px}.odo .cell.moved .big{animation:.45s ease-out tick}.odo .cell.will:after{content:"";background:var(--amber-hi);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px;box-shadow:0 0 0 3px #ffa53a40}@keyframes tick{0%{opacity:.2;transform:translateY(-10px)}to{opacity:1;transform:none}}.w-next{color:var(--ink-2);margin:10px 0 0;font-size:13px}.log{margin:12px 0 0;padding:0;list-style:none}.log li{border-top:1px solid var(--rule);align-items:center;gap:10px;padding:5px 0;font-size:14px;display:flex}.log li i{background:var(--ink-3);width:18px;height:1px;position:relative}.log li i:after{content:"";border:3.5px solid #0000;border-left:5px solid var(--ink-3);border-right:0;position:absolute;top:-3px;right:0}.log li span{color:var(--ink-3);margin-left:auto;font-size:12px}.log li.dbl{background:#ffa53a29}.log li.dbl span{color:var(--amber);font-weight:600}.w-lead{font:500 13px/1.5 var(--mono);margin:0 0 10px!important}.sr-l{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:6px 0 3px;font-size:10px;display:block}.ring-out{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.ring-out div{background:var(--paper);border:1px solid var(--rule);border-radius:3px;gap:2px;padding:8px 10px;display:grid}.ring-out span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.ring-out b{align-items:center;gap:10px;font-size:22px;display:flex}.ring-out b i{background:var(--ink-3);width:22px;height:1px;position:relative}.ring-out b i:after{content:"";border:3.5px solid #0000;border-left:5px solid var(--ink-3);border-right:0;position:absolute;top:-3px;right:0}.ring-out p{grid-column:1/-1}.strip{margin-top:14px;position:relative}.sr{text-align:center;grid-template-columns:repeat(13,minmax(0,1fr));display:grid}.sr span{border-right:1px solid var(--rule);padding:6px 0}.sr.top span{background:#efe7d4;font-size:16px;font-weight:600}.sr.bot span{color:var(--ink-2);background:var(--paper);font-size:12px}.sr span.c{color:var(--red)}.win-mark{border:2px solid var(--red);pointer-events:none;border-radius:3px;width:7.69231%;position:absolute;top:18px;bottom:-4px;left:46.1539%}.con{color:#b8d6a4;height:206px;font:500 12px/17px var(--mono);background:#12110f;border-radius:3px;flex-direction:column;justify-content:flex-end;margin:12px 0 0;padding:10px 12px;display:flex;overflow:hidden}.con span{white-space:pre}.con .hit{color:#ff7a6b}.res{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.res:empty{display:none}.res .cnt{background:var(--paper);border:1px solid var(--rule);border-radius:3px;padding:6px 8px;display:grid}.res .cnt span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:10px}.res .cnt b{font-variant-numeric:tabular-nums;font-size:20px}.res .cnt.good b{color:#3d6b2e}.res p{grid-column:1/-1}.rc{max-width:360px;margin:6px auto 0}.rc .wire{opacity:.7}.dg .blk{fill:#1b1916;opacity:.05}.dg .bw{fill:none;stroke:var(--ink-3);stroke-width:.7px;opacity:.35}.dg .pf,.dg .pb{fill:none;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.dg .pf{stroke:#e0870f}.dg .pb{stroke:var(--blue)}.dg .glow{stroke-width:7px;opacity:.18}.dg .rl.key{cursor:pointer;font-weight:600}.dg .rl.key:hover{fill:var(--red)}.dg .rl.key.in{fill:#e0870f}.dg .rl.key.out{fill:var(--blue)}.dg .win{fill:var(--ink-2);font-size:11px}.chain{flex-wrap:nowrap;gap:4px;margin-top:12px;display:flex}.chain span{background:var(--paper);border:1px solid var(--rule);border-radius:3px;flex:1 1 0;justify-items:center;min-width:0;padding:4px 2px;display:grid;overflow:hidden}.chain b{font-size:17px}.chain span:not(.on){opacity:.25}.chain span{transition:opacity .15s}.chain i{text-overflow:ellipsis;letter-spacing:.03em;text-transform:uppercase;max-width:100%;color:var(--ink-3);font-size:8px;font-style:normal;overflow:hidden}.chain .f b{color:#c7730a}.chain .b b{color:var(--blue)}.chain .r{border-color:var(--ink)}.w-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.w-grid label{color:var(--ink-2);gap:6px;font-size:12px;display:grid}.w-grid label.chk{grid-column:1/-1;align-items:center;gap:8px;display:flex}.w-grid .pp{color:var(--ink)}.factors{border-collapse:collapse;width:100%;margin-top:14px}.factors td{border-top:1px solid var(--rule);padding:5px 4px}.factors td:first-child{width:16px;color:var(--ink-3)}.factors .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.total{border-top:2px solid var(--ink);gap:4px;margin-top:12px;padding-top:12px;display:grid}.total span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:12px}.total b{word-break:break-all;font-size:19px}.total em{color:var(--ink-2);font-style:normal}.ct{overflow-x:auto}.ct .r1,.ct .r2{text-align:center;grid-template-columns:repeat(26,minmax(0,1fr));display:grid}.ct span{padding:3px 0;font-size:15px}.ct .r1 span{background:var(--paper);border-right:1px solid var(--rule)}.ct .r1 span.u{background:#efe7d4}.ct .r2 span{color:var(--blue);font-weight:600}.ct span.x{background:var(--red)!important;color:#fff!important}.map{gap:2px;margin-top:12px;display:flex}.map button{cursor:pointer;border:0;border-radius:1px;flex:1;height:16px;padding:0}.map .ok{background:#7f9c70}.map .bad{background:#d9b2aa}.map .cur{outline:2px solid var(--ink);outline-offset:1px}.st.good{color:#3d6b2e;font-weight:600}.st.bad{color:var(--red);font-weight:600}.set{grid-template-columns:auto 1fr;align-items:end;gap:10px 14px;margin-top:14px;display:grid}.set label,.set fieldset{color:var(--ink-2);border:0;gap:5px;min-width:0;margin:0;padding:0;font-size:12px;display:grid}.set fieldset{grid-template-columns:repeat(3,1fr)}.set legend{grid-column:1/-1;margin-bottom:5px;padding:0}.set .wide{grid-column:1/-1}.set .pc{color:var(--ink);font-weight:500}.set input{letter-spacing:.08em;width:100%}.ta{color:var(--ink-2);gap:6px;margin-top:16px;font-size:12px;display:grid}textarea{resize:vertical;letter-spacing:.08em;text-transform:uppercase;width:100%;line-height:1.5}.outbox{background:#efe7d4;border:1px solid #b9ae98;border-radius:3px;margin-top:12px}.ob-h{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #b9ae98;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.out{letter-spacing:.1em;word-spacing:.3em;min-height:3em;color:var(--red);word-break:break-word;padding:10px 12px;font-size:16px;font-weight:600}.share a{color:var(--ink-2)}.sources{border-top:1px solid var(--ink);background:var(--paper-2)}.src-inner{max-width:1000px;margin:0 auto;padding:64px 24px 80px}.sources h2{margin-bottom:14px}.about{color:var(--ink-2);max-width:720px}.fnlist{columns:2 380px;column-gap:40px;margin:28px 0;padding:0;list-style:none}.fnlist li{break-inside:avoid;gap:12px;margin-bottom:16px;font-size:15px;line-height:1.5;display:flex}.fnlist .n{background:var(--ink);height:22px;color:var(--paper);font:600 11px/22px var(--mono);text-align:center;border-radius:11px;flex:0 0 22px}.fnlist p{margin:0}.fnlist a{font:400 12px var(--mono);color:var(--ink-2);margin-top:2px;display:block}.imglist{font:400 12px/1.6 var(--mono);color:var(--ink-2);columns:2 380px;column-gap:40px;padding-left:1.2em}@media (width<=900px){:root{--head:50px}body{font-size:17px}.brand-sub{display:none}.toc{gap:0}.toc a{padding:6px 5px;font-size:11px}.toc a em{display:none}.story{display:block}.stage-col{top:var(--head);z-index:10;position:sticky}.stage{height:44svh;position:relative;top:0}.chapters{border:0;padding:0 16px 30vh}.chapter{min-height:0;padding:7vh 0 6vh}h1{font-size:60px}.lead{font-size:19px}.widget{margin:22px -4px;padding:14px 12px 12px}.tape{padding:4px 64px 4px 8px;font-size:12px;line-height:1.4;bottom:8px;left:8px;right:8px}.tape-clear{padding:3px 6px;font-size:10px}.chain i{display:none}.chain b{font-size:14px}.tape-k{flex-basis:40px;font-size:10px}.hud{top:8px;left:8px;right:8px}.win{width:36px}.w-l{width:24px;font-size:17px}.win button{height:16px}.hint{white-space:normal;text-align:center;width:max-content;max-width:90%;font-size:11px;bottom:12px}.w-grid,.set{grid-template-columns:1fr}.lbl span{padding:3px 6px;font-size:10px}.ct span{font-size:12px}.sr.top span{font-size:13px}.sr.bot span{font-size:10px}.widget{overflow:hidden}}@media (width<=640px){.toc{display:none}.now{display:block}}@media (width<=520px){.brand-name{font-size:13px}.toc a:nth-child(n){padding:6px 3px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.vkbd[hidden]{display:none}.poster{pointer-events:none;opacity:.55;filter:blur(6px);background:50%/cover no-repeat;transition:opacity .8s;position:absolute;inset:0}.stage.ready .poster{opacity:0}.stage.nogl .poster{opacity:1;filter:none}.stage.nogl .loading,.stage.nogl .hud,.stage.nogl .hint{display:none}
