@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/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{--ink:#dfe8ef;--ink-dim:#7f8fa0;--accent:#ffb46b;--bg:#050810;font-family:IBM Plex Mono,ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--ink);overflow:hidden}.stage{position:fixed;inset:0}.hud{pointer-events:none;z-index:10;letter-spacing:.04em;-webkit-user-select:none;user-select:none;font-size:12px;line-height:1.55;position:fixed;inset:0}.hud a,.hud button{pointer-events:auto}.hud-corner{max-width:300px;position:absolute}.hud-corner.tl{top:28px;left:32px}.hud-corner.tr{text-align:right;top:28px;right:32px}.hud-corner.bl{bottom:28px;left:32px}.hud-corner.br{text-align:right;bottom:28px;right:32px}.hud-title{letter-spacing:.14em;font-size:20px;font-weight:600}.hud-dim,.hud-eyebrow{color:var(--ink-dim)}.hud-eyebrow:before{content:"////// ";letter-spacing:0}.picker{gap:10px;transition:opacity .5s;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.picker button{font:inherit;letter-spacing:.08em;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a101a8c;border:1px solid #dfe8ef38;padding:10px 18px;transition:border-color .25s,background .25s,color .25s}.picker button .idx{color:var(--ink-dim);margin-right:8px}.picker.hidden{opacity:0}.picker.hidden button{pointer-events:none}.picker button:hover,.picker button.hot{border-color:var(--hot,var(--accent));color:#fff;background:#0e1622d9}.hover-label{text-align:center;transition:opacity .3s;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.hover-label .big{letter-spacing:.2em;font-size:15px;font-weight:600}.world-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c14b8;border:1px solid #dfe8ef2e;max-width:380px;padding:26px 28px;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.world-panel h2{letter-spacing:.14em;margin:6px 0 14px;font-size:19px;font-weight:600}.world-panel p{color:var(--ink-dim);margin-bottom:10px}.world-panel .back{font:inherit;color:var(--ink);cursor:pointer;letter-spacing:.08em;background:0 0;border:1px solid #dfe8ef40;margin-top:16px;padding:9px 16px;transition:border-color .25s;display:inline-block}.world-panel .back:hover{border-color:var(--accent)}.hud-link{font:inherit;color:var(--ink-dim);cursor:pointer;letter-spacing:.08em;background:0 0;border:none;margin-top:4px;padding:0}.hud-link:hover{color:var(--ink)}.title-card{opacity:0;pointer-events:none;transition:opacity .6s,transform .6s;position:absolute;bottom:96px;left:32px;transform:translateY(10px)}.title-card.show{opacity:1;transform:translateY(0)}.title-card h2{letter-spacing:.18em;margin:8px 0 4px;font-size:44px;font-weight:600}.title-card .title-field{letter-spacing:.22em;font-size:13px}.title-card .scroll-hint{margin-top:22px;animation:2.2s ease-in-out infinite hint-bob}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.end-card{text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#080c14c7;border:1px solid #dfe8ef2e;padding:34px 42px;transition:opacity .6s,transform .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.end-card.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.end-card h2{letter-spacing:.16em;margin:8px 0 20px;font-size:22px;font-weight:600}.end-actions{justify-content:center;gap:12px;display:flex}.end-card .back,.world-panel .back{font:inherit;color:var(--ink);cursor:pointer;letter-spacing:.08em;background:0 0;border:1px solid #dfe8ef40;padding:10px 16px;transition:border-color .25s,background .25s}.end-card .back:hover{border-color:var(--accent);background:#0e1622d9}.rail{height:42vh;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.rail-track{background:#dfe8ef2e;width:1px;height:100%;position:relative}.rail-fill{background:var(--ink);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.rail-tick{background:#dfe8ef8c;width:7px;height:1px;position:absolute;left:-3px}.callout{pointer-events:none;position:relative}.callout-marker{border:1px solid var(--ink);opacity:0;width:10px;height:10px;transition:opacity .4s;position:absolute;top:-5px;left:-5px;transform:rotate(45deg)}.callout-card{border:1px solid #dfe8ef33;border-left:2px solid var(--ink);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);letter-spacing:.04em;width:262px;color:var(--ink);opacity:0;background:#080c14c7;padding:14px 16px;font-size:12px;line-height:1.55;transition:opacity .45s,transform .45s;position:absolute;top:12px;left:18px;transform:translateY(8px)}.callout-title{letter-spacing:.14em;margin:4px 0 8px;font-size:14px;font-weight:600}.callout-card p{color:var(--ink-dim)}.callout.flip .callout-card{left:auto;right:18px}.callout.show .callout-marker,.callout.show .callout-card{opacity:1;transform:translateY(0)}.game-score{letter-spacing:.2em;text-shadow:0 0 18px #7ddcff59;font-size:30px;font-weight:600;position:absolute;top:92px;left:50%;transform:translate(-50%)}.game-best{letter-spacing:.14em;font-size:12px;position:absolute;top:134px;left:50%;transform:translate(-50%)}.game-hint{letter-spacing:.12em;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.veil{background:var(--bg);z-index:20;pointer-events:none;clip-path:circle(0%);transition:clip-path .6s ease-in-out;position:fixed;inset:0}.veil.on{clip-path:circle(75%)}.loader{z-index:30;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .7s .15s;display:flex;position:fixed;inset:0}.loader.done{opacity:0;pointer-events:none}.loader .bar{background:#dfe8ef2e;width:220px;height:1px}.loader .bar i{background:var(--ink);height:100%;transition:width .2s;display:block}.fallback{max-width:720px;height:100%;margin:0 auto;padding:48px 24px 64px;font-size:14px;line-height:1.6;overflow-y:auto}.fallback header{margin-bottom:40px}.fallback section{border-left:2px solid #dfe8ef33;margin-bottom:36px;padding-left:18px}.fallback h2{letter-spacing:.12em;margin:6px 0 10px;font-size:18px}.fallback ul{color:var(--ink-dim);margin:12px 0 0 18px}.fallback li{margin-bottom:8px}.fallback a{color:var(--ink)}@media (prefers-reduced-motion:reduce){.title-card .scroll-hint{animation:none}.veil,.callout-card,.callout-marker,.title-card,.end-card{transition-duration:10ms}}@media (width<=720px){.hud-corner.tr,.coords{display:none}.hud-corner.bl{bottom:92px;left:16px}.hud-corner.br{bottom:92px;right:16px}.hud-corner.tl{top:18px;left:16px}.hover-label{bottom:150px}.title-card{bottom:150px;left:16px}.title-card h2{font-size:30px}.callout-card{width:200px}.rail{height:34vh;right:14px}.end-actions{flex-direction:column}.world-panel{max-width:none;left:16px;right:16px}.picker button{padding:8px 10px;font-size:11px}}
