@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2)format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.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:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.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:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/cinzel-latin-ext-900-normal-CWXxiu5r.woff2)format("woff2"),url(/assets/cinzel-latin-ext-900-normal-BlZZvP7K.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:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/cinzel-latin-900-normal-BI3z7Tow.woff2)format("woff2"),url(/assets/cinzel-latin-900-normal-t_fSDEbn.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-ext-900-normal-BLeVovcl.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-900-normal-DKFql_-q.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-900-normal-CWPcV0_V.woff2)format("woff2"),url(/assets/nunito-cyrillic-900-normal-Dr1fjxoU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-vietnamese-900-normal-D6LWQAy_.woff2)format("woff2"),url(/assets/nunito-vietnamese-900-normal-WV2-fBew.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2)format("woff2"),url(/assets/nunito-latin-ext-900-normal-CTBZd6bf.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-ext-700-normal-D6iG63UR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-700-normal-iEXTdOVf.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-vietnamese-700-normal-k5PzE07T.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.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{--bg:#070b16;--panel:#0a1020d6;--panel-2:#10182eeb;--line:#e8b65a8c;--gold:#e8b65a;--gold-2:#ffd98a;--cyan:#59d7ff;--violet:#a98bff;--green:#4fd18b;--text:#f4ecdc;--muted:#b9b2a3;--f-title:"Cinzel", "Times New Roman", serif;--f-body:"Nunito", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--f-body);margin:0;overflow:hidden}body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer}canvas{touch-action:none;display:block}.layer{pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.layer>*{pointer-events:auto}.btn{border:1.5px solid var(--line);background:var(--panel-2);min-height:48px;color:var(--text);letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:800;transition:transform .15s,background .2s,border-color .2s;display:inline-flex}.btn:hover{border-color:var(--gold)}.btn:active{transform:scale(.97)}.btn.primary{color:#1b1206;background:linear-gradient(#f2c66d,#c98f2f);border-color:#ffe2a3;box-shadow:0 0 24px #f2c66d59}.btn.ghost{background:0 0}.btn.small{min-height:38px;padding:0 14px;font-size:14px}.icon-btn{border:1.5px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;place-items:center;width:46px;height:46px;padding:0;display:grid}.icon-btn svg{width:22px;height:22px}.icon-btn[aria-pressed=false]{opacity:.7}.icon-btn .dot{background:var(--cyan);width:9px;height:9px;box-shadow:0 0 8px var(--cyan);border-radius:50%;position:absolute;top:4px;right:4px}.hud-top{top:calc(10px + var(--safe-t));pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-top>*{pointer-events:auto}.obj{background:var(--panel);border:1.5px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;align-items:center;gap:10px;max-width:min(560px,100vw - 190px);padding:7px 14px 7px 8px;display:flex}.obj .area{font-family:var(--f-title);letter-spacing:.12em;color:var(--gold);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.obj .txt{font-size:14.5px;font-weight:700;line-height:1.25}.obj .badge{border:1.5px solid var(--gold);width:30px;height:30px;color:var(--gold-2);background:#e8b65a29;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:900;display:grid}.obj.collapsed .col{display:none}.hud-right{gap:8px;margin-left:auto;display:flex;position:relative}.hud-right .icon-btn{position:relative}.prompt{right:18px;bottom:calc(26px + var(--safe-b));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.prompt button{color:#1b1206;background:radial-gradient(circle at 50% 35%,#f6d28a,#c98f2f);border:2px solid #ffe2a3;border-radius:50%;width:86px;height:86px;padding:8px;font-size:13px;font-weight:900;line-height:1.1;animation:1.6s ease-in-out infinite pulse;box-shadow:0 0 30px #ffd27a8c}.prompt .lbl{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:180px;padding:5px 12px;font-size:14px;font-weight:800}.prompt.desk{left:50%;right:auto;bottom:calc(150px + var(--safe-b));flex-direction:row;transform:translate(-50%)}.prompt.desk kbd{background:var(--gold);color:#1b1206;min-width:34px;height:34px;font-weight:900;font-family:var(--f-mono);border-radius:8px;place-items:center;display:inline-grid;box-shadow:0 3px #8a6220}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 0 44px #ffd27abf}}.joy{left:22px;bottom:calc(26px + var(--safe-b));touch-action:none;background:radial-gradient(circle,#0a102059,#0a102099);border:2px solid #e8b65a73;border-radius:50%;width:136px;height:136px;position:absolute}.joy .knob{background:radial-gradient(circle at 40% 35%,#f6e1b0,#c9963f);border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #00000080}.joy .hint{text-align:center;width:100%;color:var(--muted);font-size:11px;font-weight:700;position:absolute;bottom:-22px}.arrow{pointer-events:none;width:42px;height:42px;margin:-21px;display:none;position:absolute}.arrow svg{filter:drop-shadow(0 0 6px #ffd27acc);width:100%;height:100%}.arrow span{color:var(--gold-2);white-space:nowrap;text-shadow:0 1px 3px #000;font-size:11px;font-weight:800;position:absolute;top:44px;left:50%;transform:translate(-50%)}.dlg{left:50%;bottom:calc(16px + var(--safe-b));background:var(--panel-2);border:1.5px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border-radius:20px;align-items:flex-start;gap:12px;width:min(760px,100vw - 20px);padding:14px 16px 14px 14px;animation:.25s rise;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.dlg.ambient{width:min(620px,100vw - 40px);bottom:calc(22px + var(--safe-b));cursor:default;background:#0a1020cc;padding:10px 14px 10px 10px}.touch .dlg.ambient{bottom:auto;top:calc(64px + var(--safe-t));width:calc(100vw - 20px);animation:none}.dlg .face{border:2px solid var(--line);background:#0c1426;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;display:grid;overflow:hidden}.dlg.ambient .face{width:44px;height:44px}.dlg .face svg{width:100%;height:100%}.dlg .who{font-family:var(--f-title);letter-spacing:.14em;color:var(--cyan);margin-bottom:3px;font-size:13px;font-weight:800}.dlg .who.NEX{color:var(--gold-2)}.dlg .who.ENGINE{color:#8fe9ff}.dlg .who.HALLUCINO{color:#ff8ad8}.dlg .say{min-height:1.45em;font-size:17px;font-weight:600;line-height:1.45}.dlg.ambient .say{font-size:15px}.dlg .more{color:var(--muted);font-size:12px;animation:1.2s infinite blink;position:absolute;bottom:8px;right:16px}.dlg .choices{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.dlg .choices .btn{min-height:40px;padding:0 16px;font-size:14.5px}@keyframes blink{50%{opacity:.3}}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}}.banner{top:calc(78px + var(--safe-t));text-align:center;border:1.5px solid var(--gold);pointer-events:none;background:linear-gradient(#141c34f2,#0a1020f2);border-radius:18px;min-width:min(420px,100vw - 30px);max-width:calc(100vw - 30px);padding:14px 26px 16px;animation:.5s cubic-bezier(.2,1.4,.4,1) bannerIn;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 40px #e8b65a59}.banner .k{font-family:var(--f-title);letter-spacing:.28em;color:var(--gold);font-size:12px;font-weight:800}.banner .t{font-family:var(--f-title);color:#fff3d6;margin:4px 0 2px;font-size:26px;font-weight:800}.banner .s{color:var(--muted);font-size:14.5px;font-weight:700}.banner.core{border-color:var(--cyan);box-shadow:0 0 60px #59d7ff80}.banner.core .k{color:var(--cyan)}.banner.area{box-shadow:none;background:0 0;border:none;top:22%}.banner.area .t{text-shadow:0 2px 20px #000c,0 0 30px #e8b65a80;color:var(--gold-2);font-size:clamp(30px,6vw,54px)}.banner.area .k,.banner.area .s{text-shadow:0 1px 8px #000;color:#fff;font-size:15px}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-14px)scale(.92)}}.toast{left:50%;top:calc(70px + var(--safe-t));background:var(--panel-2);border:1px solid var(--line);pointer-events:none;border-radius:12px;padding:8px 16px;font-size:14px;font-weight:700;animation:.25s rise;position:absolute;transform:translate(-50%)}.bars:before,.bars:after{content:"";background:#000;height:9vh;transition:transform .6s;position:absolute;left:0;right:0}.bars:before{top:0}.bars:after{bottom:0}.skip{color:#ffffffbf;background:#00000059;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;position:absolute;bottom:calc(9vh + 10px);right:14px}.modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30;background:#04070eb8;place-items:center;padding:12px;animation:.2s fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.sheet{border:1.5px solid var(--line);background:linear-gradient(#121a31,#0b1122);border-radius:22px;width:min(980px,100%);max-height:calc(100vh - 24px);padding:18px 18px 22px;overflow:auto;box-shadow:0 20px 80px #0009}.sheet h2{font-family:var(--f-title);color:var(--gold-2);letter-spacing:.06em;margin:0;font-size:24px}.sheet .head{z-index:2;background:#121a31;align-items:center;gap:12px;margin-bottom:12px;padding:6px 0;display:flex;position:sticky;top:-18px}.sheet .head .close{margin-left:auto}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tab{background:0 0;border:1.5px solid #ffffff26;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:800}.tab.on{border-color:var(--gold);color:var(--gold-2);background:#e8b65a26}@keyframes fade{0%{opacity:0}}.cx-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;display:grid}@media (max-width:720px){.cx-grid{grid-template-columns:1fr}}.cx-list{flex-direction:column;gap:6px;max-height:62vh;padding-right:4px;display:flex;overflow:auto}.cx-item{text-align:left;background:#ffffff08;border:1.5px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:9px 12px;display:flex}.cx-item.on{border-color:var(--gold);background:#e8b65a1a}.cx-item.locked{opacity:.45}.cx-item .ic{border-radius:50%;flex:none;width:12px;height:12px}.cx-item .nm{font-size:15px;font-weight:800}.cx-item .ar{color:var(--muted);font-size:12px}.cx-detail{background:#ffffff0a;border:1.5px solid #ffffff14;border-radius:16px;padding:16px}.cx-detail h3{font-family:var(--f-title);margin:0 0 4px;font-size:22px}.cx-detail .catl{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:800}.cx-detail p{font-size:16px;line-height:1.55}.cx-detail pre{font-family:var(--f-mono);white-space:pre-wrap;color:var(--cyan);background:#070b16;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px;font-size:14px}.mastery{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.mastery i{background:#ffffff1f;border-radius:3px;width:26px;height:6px}.mastery i.on{background:var(--gold)}.tech{background:#a98bff14;border:1.5px dashed #a98bff99;border-radius:12px;margin-top:10px;padding:12px}.tech b{color:var(--violet)}.map-phases{flex-direction:column;gap:14px;display:flex}.map-ph{background:#ffffff09;border:1.5px solid #ffffff14;border-radius:16px;padding:14px}.map-ph h3{font-family:var(--f-title);color:var(--gold-2);margin:0 0 8px;font-size:18px}.map-ph.locked{opacity:.5}.map-areas{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.map-area{text-align:left;background:#0a102099;border:1.5px solid #ffffff1a;border-radius:12px;padding:10px 12px}.map-area:disabled{opacity:.45;cursor:default}.map-area.cur{border-color:var(--cyan)}.map-area .n{font-size:14.5px;font-weight:900}.map-area .q{color:var(--muted);margin-top:3px;font-size:12px}.cores{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.core-chip{color:#ffffff73;font-size:12.5px;font-weight:800;font-family:var(--f-mono);border:1.5px solid #59d7ff40;border-radius:999px;padding:6px 12px}.core-chip.on{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 14px #59d7ff59}.set-row{border-bottom:1px solid #ffffff12;align-items:center;gap:12px;padding:12px 0;display:flex}.set-row label{flex:1;font-weight:800}.set-row input[type=range]{width:160px;accent-color:var(--gold)}.seg{border:1.5px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;padding:7px 12px;font-size:13px;font-weight:800}.seg button.on{background:var(--gold);color:#1b1206}.title{z-index:40;padding:24px 16px calc(36px + var(--safe-b));background:#05070d;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.title .bg{filter:saturate(1.05);background-position:50%;background-size:cover;animation:40s ease-in-out infinite alternate kenburns;position:absolute;top:-4%;bottom:-4%;left:-4%;right:-4%}.title .shade{background:linear-gradient(#05070d40 0%,#05070d0d 35%,#05070dbf 72%,#05070df2 100%);position:absolute;top:0;bottom:0;left:0;right:0}.title .logo{text-align:center;margin-bottom:22px;position:relative}.title .logo .l1{font-family:var(--f-title);letter-spacing:.08em;color:#ffe7b0;text-shadow:0 0 40px #e8b65a99,0 4px 24px #000000e6;font-size:clamp(44px,10vw,96px);font-weight:900;line-height:.95}.title .logo .l2{font-family:var(--f-title);letter-spacing:.3em;color:var(--cyan);text-shadow:0 0 20px #59d7ff99,0 2px 10px #000;margin-top:6px;font-size:clamp(16px,3.4vw,28px);font-weight:700}.title .logo .l3{color:#e9e2d0;text-shadow:0 1px 8px #000;margin-top:14px;max-width:560px;margin-inline-start:auto;margin-inline-end:auto;font-size:16px;font-weight:700;line-height:1.45}.title .menu{flex-direction:column;gap:10px;width:min(340px,100%);display:flex;position:relative}.title .foot{color:var(--muted);margin-top:16px;font-size:13px;position:relative}.title .foot a{color:var(--gold-2)}@keyframes kenburns{0%{transform:scale(1)translate(0)}to{transform:scale(1.12)translate(-2%,-1.5%)}}.loading{z-index:35;padding:30px 16px calc(40px + var(--safe-b));background:#05070d;flex-direction:column;justify-content:flex-end;align-items:center;transition:opacity .6s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loading .bg{opacity:.55;background-position:50%;background-size:cover;animation:30s linear infinite alternate kenburns;position:absolute;top:0;bottom:0;left:0;right:0}.loading .shade{background:linear-gradient(#05070d33,#05070deb);position:absolute;top:0;bottom:0;left:0;right:0}.loading .k{font-family:var(--f-title);letter-spacing:.3em;color:var(--gold);font-size:13px;font-weight:800;position:relative}.loading .t{font-family:var(--f-title);color:#ffe7b0;text-align:center;text-shadow:0 0 30px #e8b65a80;font-size:clamp(30px,6vw,52px);font-weight:900;position:relative}.loading .s{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:14px;font-weight:800;position:relative}.loading .bar{background:#ffffff1f;border-radius:2px;width:min(320px,80vw);height:4px;margin-top:22px;position:relative;overflow:hidden}.loading .bar i{background:var(--gold);width:40%;animation:1.2s ease-in-out infinite load;position:absolute;top:0;bottom:0;left:0;right:0}.loading .tip{text-align:center;max-width:520px;color:var(--muted);margin-top:16px;font-size:14.5px;line-height:1.5;position:relative}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(260%)}}.pz{left:50%;bottom:calc(16px + var(--safe-b));background:var(--panel-2);border:1.5px solid var(--line);border-radius:20px;width:min(720px,100vw - 16px);padding:14px 16px;animation:.25s rise;position:absolute;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.pz.top{top:calc(64px + var(--safe-t));bottom:auto}.pz h4{font-family:var(--f-title);color:var(--gold-2);letter-spacing:.05em;margin:0 0 4px;font-size:17px}.pz p{margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.45}.pz .row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.pz .big{font-family:var(--f-mono);color:var(--cyan);text-align:center;font-size:34px;font-weight:800}.pz .exit{width:34px;height:34px;min-height:0;padding:0;position:absolute;top:10px;right:10px}.chipbtn{border:1.5px solid var(--line);min-width:52px;min-height:48px;font-size:18px;font-weight:900;font-family:var(--f-mono);background:#ffffff0a;border-radius:14px}.chipbtn.on{background:var(--gold);color:#1b1206}.chipbtn.cy.on{background:var(--cyan);color:#04121a}.hidden{display:none!important}@media (max-width:560px){.obj{gap:8px;max-width:calc(100vw - 196px);padding:6px 10px 6px 6px}.obj .area{letter-spacing:.08em;font-size:9.5px}.icon-btn{width:40px;height:40px}.icon-btn svg{width:19px;height:19px}.hud-right{gap:6px}.obj .txt{font-size:13px}.banner .t{font-size:21px}.dlg .say{font-size:15.5px}}@media (prefers-reduced-motion:reduce){.title .bg,.loading .bg{animation:none}}
