@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zcool-kuaile-chinese-simplified-400-normal-BKaOBC6q.woff2)format("woff2"),url(/assets/zcool-kuaile-chinese-simplified-400-normal-DF5oRnqi.woff)format("woff")}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zcool-kuaile-latin-400-normal-CVXjA4UX.woff2)format("woff2"),url(/assets/zcool-kuaile-latin-400-normal-CWhmaTEa.woff)format("woff")}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.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}:root{color:var(--art-outline);background:var(--art-sky);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,canvas:focus-visible{outline:3px solid var(--art-yellow);outline-offset:4px}button svg{width:21px;height:21px;display:block}.game-shell{isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden}.scene-host{position:absolute;inset:0}.scene-host canvas{touch-action:none;outline-offset:-4px;width:100%;height:100%;display:block}.screen-shade{pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--art-shadow) 12%, transparent), transparent 18%, transparent 85%, color-mix(in srgb, var(--art-shadow) 10%, transparent));position:absolute;inset:0}.scene-header{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;top:28px;left:34px;right:30px}.scene-name{color:var(--art-white);text-shadow:0 2px 0 var(--art-outline), 2px 0 0 var(--art-outline), -2px 0 0 var(--art-outline), 0 -2px 0 var(--art-outline)}.brand{letter-spacing:.04em;align-items:center;gap:9px;font-family:Arial Black,Arial,sans-serif;font-size:13px;font-weight:900;display:flex}.brand-signal{background:var(--art-yellow);width:5px;height:5px;box-shadow:7px 0 var(--art-yellow)}.scene-name h1{letter-spacing:.06em;margin:9px 0 10px;font-size:clamp(25px,2.3vw,36px);font-weight:900;line-height:1.2}.scene-name p{align-items:center;gap:9px;margin:0;font-size:12px;font-weight:600;display:flex}.location-dot{background:var(--art-yellow);width:6px;height:6px;display:inline-block;transform:rotate(45deg)}.label-divider{opacity:.65}.view-tools{pointer-events:auto;gap:8px;display:flex}.view-tools button{border:2px solid var(--art-outline);background:var(--art-white);width:44px;height:44px;box-shadow:0 3px 0 color-mix(in srgb, var(--art-outline) 45%, transparent);border-radius:10px;place-content:center;transition:background .15s,transform .15s;display:grid}.view-tools button:hover{background:var(--art-heroLight);transform:translateY(-2px)}.view-tools button[aria-pressed=true]{background:var(--art-yellow)}.controls-panel{background:color-mix(in srgb, var(--art-white) 94%, transparent);border:2px solid var(--art-outline);width:264px;box-shadow:0 4px 0 color-mix(in srgb, var(--art-outline) 30%, transparent);border-radius:12px;padding:15px 18px;position:absolute;bottom:64px;left:34px}.controls-heading{justify-content:space-between;align-items:center;font-size:16px;font-weight:800;display:flex}.controls-heading button{background:0 0;border:0;margin-right:-5px;padding:3px}.controls-heading button svg{width:17px;height:17px}.controls-panel p{white-space:nowrap;margin:7px 0 12px;font-size:11px;line-height:1.8}.control-row{justify-content:space-between;align-items:center;gap:14px;min-height:30px;font-size:12px;display:flex}.key-group{gap:3px;display:flex}kbd{border:1px solid var(--art-outline);background:var(--art-white);border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 4px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.wide-key{min-width:51px}.mouse-key{padding:3px 0;font-size:11px;font-weight:600}.fps-panel{background:var(--art-white);border:2px solid var(--art-outline);border-radius:10px;min-width:150px;padding:12px 16px;position:absolute;top:86px;right:30px}.fps-value{align-items:baseline;gap:8px;display:flex}.fps-value strong{font-variant-numeric:tabular-nums;color:var(--art-grassDark);font:800 31px/1.15 Arial,sans-serif}.fps-value span{font-size:11px}.fps-detail{font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;margin-top:7px;font-size:11px;display:flex}.scene-footer{color:var(--art-white);text-shadow:0 1px 3px var(--art-outline);pointer-events:none;align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:24px;left:34px;right:30px}.footer-line{background:var(--art-white);opacity:.6;width:24px;height:1px}.scene-footer kbd{min-width:18px;height:18px;color:var(--art-outline);text-shadow:none;margin:0 3px;font-size:10px}.lock-hint{background:color-mix(in srgb, var(--art-outline) 78%, transparent);color:var(--art-white);pointer-events:none;white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:800;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.scene-notice{background:var(--art-white);border:2px solid var(--art-outline);border-radius:9px;padding:10px 20px;font-size:13px;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.loading-screen,.error-screen{z-index:4;background:var(--art-skyLight);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-screen p{margin-top:26px;font-size:14px}.loading-crystal{background:var(--art-crystalLight);clip-path:polygon(50% 0,100% 32%,100% 75%,50% 100%,0 75%,0 32%);width:24px;height:35px;box-shadow:inset -11px 0 var(--art-crystal);animation:1.6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.error-screen>div{text-align:center;max-width:460px;padding:30px}.error-screen h2{font-size:22px}.error-screen p{font-size:14px;line-height:1.8}.error-screen button{border:2px solid var(--art-outline);background:var(--art-yellow);border-radius:8px;margin-top:14px;padding:11px 24px;font-weight:700}@media (min-width:1900px){.scene-header{top:34px;left:44px;right:40px}.controls-panel{bottom:72px;left:44px}.scene-footer{bottom:28px;left:44px}}@media (max-width:680px){.scene-header{gap:10px;top:17px;left:18px;right:16px}.brand{font-size:10px}.scene-name h1{margin:8px 0;font-size:23px}.scene-name p{font-size:10px}.view-tools{gap:4px}.view-tools button{border-radius:8px;width:34px;height:36px}.view-tools button svg{width:17px;height:17px}.controls-panel{width:245px;padding:14px 16px;bottom:63px;left:18px}.controls-panel p{font-size:10px}.scene-footer{bottom:20px;left:18px}.fps-panel{top:67px;right:16px}}@media (max-height:550px){.controls-panel{width:245px;padding:10px 15px;bottom:50px}.controls-panel p{display:none}.control-row{min-height:26px}.controls-heading{margin-bottom:7px}.scene-footer{bottom:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.menu{--ink:var(--art-outline);--paper:var(--art-white);--font-display:"ZCOOL KuaiLe", "Baloo 2 Variable", "Microsoft YaHei UI", sans-serif;--font-num:"Baloo 2 Variable", "Arial Black", sans-serif;--lift:0 5px 0 var(--ink);z-index:3;color:var(--ink);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) 340px;gap:18px 32px;padding:26px 34px 20px;animation:.45s ease-out both menu-in;display:grid;position:absolute;inset:0}@keyframes menu-in{0%{opacity:0;transform:translateY(8px)}}.menu svg{flex:none;width:20px;height:20px;display:block}.menu-backdrop{z-index:-1;pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 60%, transparent) 0%, color-mix(in srgb, var(--ink) 24%, transparent) 40%, transparent 62%), linear-gradient(180deg, color-mix(in srgb, var(--ink) 22%, transparent), transparent 22%, transparent 78%, color-mix(in srgb, var(--ink) 35%, transparent));position:absolute;inset:0}.menu-topbar{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;display:flex}.menu-chips{gap:8px;display:flex}.chip-button,.player-card,.stat-pill{background:var(--paper);border:2.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:999px;align-items:center;gap:7px;display:inline-flex}.chip-button{height:40px;padding:0 15px 0 11px;font-size:13px;font-weight:800;transition:transform .12s,background .12s}.chip-button:hover{background:var(--art-heroLight);transform:translateY(-2px)}.player-card{gap:6px;padding:4px 6px 4px 4px}.player-portrait{border:2.5px solid var(--ink);background:radial-gradient(circle at 50% 70%, var(--art-grassLight), var(--art-grass));border-radius:50%;place-items:end center;width:38px;height:38px;display:grid;overflow:hidden}.player-name{font-family:var(--font-display);align-items:baseline;gap:6px;padding:0 8px 0 2px;font-size:17px;display:flex}.player-name em{font:800 14px var(--font-num);color:var(--art-heroOrangeDark);font-style:normal}.stat-pill{box-shadow:none;background:var(--art-skyLight);border-width:2px;height:34px;padding:0 12px 0 8px}.stat-pill b{font:800 16px/1 var(--font-num)}.stat-pill small{opacity:.7;font-size:11px;font-weight:700}.stat-pill svg{width:18px;height:18px;color:var(--art-crystal)}.stat-pill:last-child svg{color:var(--art-heroOrangeDark)}.menu-left{flex-direction:column;grid-area:2/1;align-self:center;gap:16px;width:min(100%,590px);display:flex}.logo-block{margin-bottom:6px}.logo{font:800 clamp(58px, 6.4vw, 96px)/.95 var(--font-num);letter-spacing:.01em;color:var(--paper);-webkit-text-stroke:9px var(--ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--ink);margin:0}.logo span{color:var(--art-yellow)}.logo-sub{align-items:center;gap:12px;margin-top:6px;padding-left:4px;display:flex}.logo-sub>span:first-child{font:400 clamp(26px, 2.6vw, 36px)/1.1 var(--font-display);letter-spacing:.12em;color:var(--art-yellow);-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink)}.version-tag{font:800 12px/1 var(--font-num);background:var(--art-red);color:var(--paper);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:999px;padding:6px 10px 5px}.start-card{text-align:left;border:4px solid var(--paper);background:repeating-linear-gradient(115deg, transparent 0 22px, color-mix(in srgb, var(--paper) 13%, transparent) 22px 34px), linear-gradient(135deg, #ff8a4c, var(--art-red) 70%);height:128px;color:var(--paper);box-shadow:0 0 0 3px var(--ink), 0 8px 0 3px var(--ink);border-radius:22px;align-items:center;gap:18px;padding:0 150px 0 22px;transition:transform .12s,box-shadow .12s,filter .12s;display:flex;position:relative;overflow:hidden}.start-card:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--paper) 45%, transparent), transparent);pointer-events:none;width:22%;animation:3.6s ease-in-out infinite shine;position:absolute;inset:-40% auto -40% -30%;transform:skew(-18deg)}@keyframes shine{0%,55%{left:-30%}85%,to{left:120%}}.start-card:hover:not(:disabled){filter:saturate(1.08)brightness(1.04);box-shadow:0 0 0 3px var(--ink), 0 11px 0 3px var(--ink);transform:translateY(-3px)}.start-card:active:not(:disabled){box-shadow:0 0 0 3px var(--ink), 0 3px 0 3px var(--ink);transform:translateY(5px)}.start-card:disabled{cursor:progress;filter:grayscale(.45)}.start-icon{background:var(--paper);border:3px solid var(--ink);width:70px;height:70px;color:var(--art-red);box-shadow:inset 0 -6px 0 color-mix(in srgb, var(--art-red) 22%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.start-icon svg{width:36px;height:36px;margin-left:4px}.start-text{flex-direction:column;gap:6px;display:flex}.start-text strong{font:400 44px/1 var(--font-display);letter-spacing:.06em;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink)}.start-text small{letter-spacing:.04em;text-shadow:0 2px 0 color-mix(in srgb, var(--ink) 60%, transparent);font-size:14px;font-weight:800}.start-hero{background:radial-gradient(circle at 50% 80%, color-mix(in srgb, var(--art-yellow) 80%, transparent), transparent 70%);border-radius:18px 18px 0 0;place-items:end center;width:120px;height:120px;display:grid;position:absolute;bottom:0;right:18px}.mechanic-sprite{width:64px;height:64px;image-rendering:pixelated;transform-origin:44% 97%;background:url(/art/mechanic.png) 0 0/1152px 64px no-repeat;animation:1.1s steps(9,end) infinite hero-idle;display:block;transform:scale(1.75)}.mechanic-sprite.small{transform-origin:44% 90%;transform:scale(.62)}@keyframes hero-idle{0%{background-position:0 0}to{background-position:-576px 0}}.mode-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mode-card{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--lift);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;padding:12px 14px;display:grid}.class-card{grid-template-columns:1fr}.mode-icon{background:var(--art-grass);width:42px;height:42px;color:var(--paper);border:2.5px solid var(--ink);border-radius:12px;place-items:center;display:grid}.mode-icon svg{width:24px;height:24px}.mode-text{flex-direction:column;gap:2px;display:flex}.mode-text strong{font:400 20px/1.1 var(--font-display)}.mode-text small{opacity:.65;font-size:11px;font-weight:700}.difficulty,.class-list{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.pip,.class-pill{white-space:nowrap;border:2px solid var(--ink);background:var(--art-skyLight);height:28px;color:color-mix(in srgb, var(--ink) 55%, transparent);border-radius:999px;align-items:center;gap:3px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.pip svg,.class-pill svg{width:14px;height:14px}.pip.active,.class-pill.active{background:var(--art-yellow);color:var(--ink);box-shadow:0 2px 0 var(--ink)}.class-pill .pill-lock{opacity:.7;width:12px;height:12px;margin-left:2px}.camp-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.camp-tile{border:3px solid var(--ink);background:var(--paper);box-shadow:0 4px 0 var(--ink);border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:12px 4px 10px;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.camp-tile:hover{box-shadow:0 7px 0 var(--ink);transform:translateY(-3px)}.camp-tile:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.tile-icon{border:2.5px solid var(--ink);width:44px;height:44px;color:var(--paper);background:var(--art-blue);border-radius:50%;place-items:center;display:grid}.tile-icon svg{width:24px;height:24px}.camp-tile:first-child .tile-icon{background:var(--art-heroOrange)}.camp-tile:nth-child(2) .tile-icon{background:var(--art-crystal)}.camp-tile:nth-child(3) .tile-icon{background:var(--art-pink)}.camp-tile:nth-child(4) .tile-icon{background:var(--art-yellow);color:var(--ink)}.camp-tile:nth-child(5) .tile-icon{background:var(--art-grass)}.camp-tile:nth-child(6) .tile-icon{background:var(--art-heroNavy)}.tile-label{font:400 15px/1.2 var(--font-display);white-space:nowrap}.tile-status{opacity:.6;white-space:nowrap;align-items:center;gap:3px;font-size:10px;font-weight:800;display:inline-flex}.tile-status svg{width:11px;height:11px}.roadmap{background:var(--paper);border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:18px;grid-area:2/2;align-self:center;overflow:hidden}.roadmap-head{background:repeating-linear-gradient(115deg, transparent 0 16px, color-mix(in srgb, var(--paper) 22%, transparent) 16px 24px), linear-gradient(90deg, var(--art-yellow), var(--art-heroOrange));border-bottom:3px solid var(--ink);align-items:center;gap:10px;padding:12px 16px;display:flex}.roadmap-head svg{width:26px;height:26px}.roadmap-head strong{font:400 22px/1.1 var(--font-display);display:block}.roadmap-head small{opacity:.75;font-size:11px;font-weight:800}.roadmap ol{flex-direction:column;gap:7px;margin:0;padding:10px;list-style:none;display:flex}.roadmap li{border:2px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--art-skyLight);border-radius:12px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.road-badge{border:2px solid var(--ink);background:var(--paper);width:32px;height:32px;font:800 15px/1 var(--font-num);border-radius:50%;place-items:center;display:grid}.road-badge svg{width:18px;height:18px}.road-text{flex-direction:column;gap:2px;min-width:0;display:flex}.road-text strong{font-size:13px;font-weight:800}.road-text small{opacity:.65;font-size:11px;font-weight:600}.road-state{background:color-mix(in srgb, var(--ink) 10%, transparent);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.road-done{background:color-mix(in srgb, var(--art-grassLight) 35%, var(--paper));border-color:var(--art-grassDark)}.road-done .road-badge,.road-done .road-state{background:var(--art-grass);color:var(--paper)}.road-next{background:color-mix(in srgb, var(--art-yellow) 30%, var(--paper));border-color:var(--art-heroOrangeDark)}.road-next .road-badge{background:var(--art-yellow)}.road-next .road-state{background:var(--art-heroOrange);color:var(--paper)}.menu-footer{color:var(--paper);text-shadow:0 1px 2px var(--ink);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;font-size:12px;font-weight:700;display:flex}.menu-footer button{color:inherit;text-underline-offset:3px;text-shadow:inherit;background:0 0;border:0;align-items:center;gap:6px;font-weight:800;text-decoration:underline;display:inline-flex}.menu-footer svg{width:16px;height:16px}.menu-toast{background:var(--ink);color:var(--paper);box-shadow:0 4px 0 color-mix(in srgb, var(--ink) 50%, transparent);border-radius:12px;align-items:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:800;animation:.2s ease-out menu-in;display:flex;position:absolute;bottom:62px;left:50%;transform:translate(-50%)}.menu-toast svg{width:16px;height:16px;color:var(--art-yellow)}.dialog-layer{z-index:5;background:color-mix(in srgb, var(--ink) 45%, transparent);place-items:center;padding:20px;animation:.18s ease-out menu-in;display:grid;position:absolute;inset:0}.dialog{background:var(--paper);border:3px solid var(--ink);width:min(100%,440px);max-height:100%;box-shadow:0 7px 0 var(--ink);border-radius:18px;overflow:auto}.dialog-head{border-bottom:3px solid var(--ink);background:var(--art-skyLight);border-radius:15px 15px 0 0;justify-content:space-between;align-items:center;padding:14px 16px 12px 20px;display:flex}.dialog-head h2{font:400 24px/1.1 var(--font-display);margin:0}.dialog-head button{border:2px solid var(--ink);background:var(--paper);border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.dialog-head button:hover{background:var(--art-heroLight)}.dialog-body{padding:16px 20px 20px;font-size:13px;line-height:1.7}.dialog-body p{margin:0 0 12px}.key-list{grid-template-columns:auto 1fr;align-items:center;gap:9px 18px;margin:0;display:grid}.key-list dt{gap:3px;display:flex}.key-list dd{margin:0;font-weight:700}.settings{flex-direction:column;gap:8px;display:flex}.toggle-row{border:2px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--art-skyLight);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;font-weight:800;display:flex;position:relative}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.switch{border:2px solid var(--ink);background:var(--art-rockLight);border-radius:999px;width:46px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:var(--paper);border:2px solid var(--ink);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle-row input:checked+.switch{background:var(--art-grass)}.toggle-row input:checked+.switch:after{transform:translate(20px)}.toggle-row input:focus-visible+.switch{outline:3px solid var(--art-yellow);outline-offset:2px}.toggle-row.disabled{cursor:default;opacity:.7}.slider-row{border:2px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--art-skyLight);border-radius:12px;grid-template-columns:auto 1fr 34px;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-weight:800;display:grid}.slider-row input{width:100%;accent-color:var(--art-heroOrange)}.slider-row output{font:800 15px/1 var(--font-num);text-align:right}.soon{opacity:.8;align-items:center;gap:4px;font-size:11px;display:inline-flex}.soon svg{width:13px;height:13px}.credits ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.menu{--soft:0 6px 18px #241c3a38;--gloss:linear-gradient(180deg, #ffffff61, #0000 48%)}.chip-button,.player-card{box-shadow:0 3px 0 #d6d9e4, var(--soft);background:#fff;border:0}.chip-button svg{color:#5a6ad8}.chip-button:nth-child(2) svg{color:#2f9e6a}.chip-button:hover{box-shadow:0 5px 0 #d6d9e4, var(--soft);background:#fff;transform:translateY(-2px)}.player-portrait{background:radial-gradient(circle at 50% 70%,#ffe08a,#f6a23f);border:3px solid #fff;box-shadow:0 0 0 2px #e3c25a}.stat-pill{background:#f1f3fa;border:0;box-shadow:inset 0 -2px #e1e5f0}.stat-pill:first-of-type svg{color:#3fb6d8}.start-card{background:var(--gloss), repeating-linear-gradient(115deg, transparent 0 26px, #ffffff1a 26px 40px), linear-gradient(120deg, #ff8a6b 0%, #ff5468 45%, #ef3f6e 100%);border:4px solid #fff;border-radius:24px;box-shadow:0 6px #b8264e,0 14px 28px #b8264e66}.start-card:hover:not(:disabled){box-shadow:0 9px #b8264e,0 18px 32px #b8264e73}.start-card:active:not(:disabled){box-shadow:0 2px #b8264e,0 6px 14px #b8264e59}.start-icon{color:#ff4f62;border:0;box-shadow:0 4px #b8264e8c,inset 0 -5px #ffe2e6}.start-text strong{-webkit-text-stroke:0;text-shadow:0 3px #8e1638b3}.start-text small{opacity:.95;text-shadow:0 1px #8e163899}.start-hero{background:radial-gradient(circle at 50% 78%,#fff3b0d9,#0000 68%)}.mode-card{color:#fff;box-shadow:0 5px 0 var(--lip), var(--soft);background:var(--gloss), repeating-linear-gradient(115deg, transparent 0 20px, #ffffff17 20px 30px), var(--fill);border:3px solid #fff;border-radius:20px}.map-card{--fill:linear-gradient(130deg, #8a7bff, #5b4fe0);--lip:#3d33a8}.class-card{--fill:linear-gradient(130deg, #43d39a, #1fa874);--lip:#137a52}.mode-icon{color:#5b4fe0;background:#fff;border:0;box-shadow:0 3px #241c3a40}.mode-text strong{text-shadow:0 2px #241c3a59}.mode-text small{opacity:.9}.pip,.class-pill{color:#fff;background:#ffffff38;border:0}.pip.active,.class-pill.active{color:#3d33a8;background:#fff;box-shadow:0 2px #241c3a40}.class-pill.active{color:#137a52}button.pip:hover,button.class-pill:hover{background:#ffffff57}.camp-tile{box-shadow:0 5px 0 var(--lip,#c9cfe0), var(--soft);background:#fff;border:0;border-radius:16px;padding:13px 4px 10px}.camp-tile:hover{box-shadow:0 8px 0 var(--lip,#c9cfe0), var(--soft)}.camp-tile:active{box-shadow:0 2px 0 var(--lip,#c9cfe0), var(--soft)}.tile-icon{color:#fff;background:var(--gloss), var(--disc,#6c8cf5);width:46px;height:46px;box-shadow:0 3px 0 var(--lip,#c9cfe0), inset 0 -3px 0 #0000001f;border:0}.camp-tile:first-child{--disc:linear-gradient(160deg, #ffb35c, #f08a24);--lip:#d06f12}.camp-tile:nth-child(2){--disc:linear-gradient(160deg, #4fd8c6, #1fa79a);--lip:#13807a}.camp-tile:nth-child(3){--disc:linear-gradient(160deg, #ff8fbd, #e2558f);--lip:#b83a6f}.camp-tile:nth-child(4){--disc:linear-gradient(160deg, #ffd65c, #e0a400);--lip:#b98400}.camp-tile:nth-child(5){--disc:linear-gradient(160deg, #6edb7c, #2f9e44);--lip:#217a33}.camp-tile:nth-child(6){--disc:linear-gradient(160deg, #7f9bff, #3456a8);--lip:#263f80}.camp-tile:nth-child(n) .tile-icon{background:var(--gloss), var(--disc);color:#fff}.camp-tile.locked .tile-icon{filter:saturate(.7)}.tile-label{color:#2b2f45}.tile-status{color:#6b7088;opacity:1}.roadmap{box-shadow:0 6px 0 #d8b24a, var(--soft);background:#fff;border:3px solid #fff;border-radius:20px}.roadmap-head{color:#fff;background:repeating-linear-gradient(115deg,#0000 0 16px,#ffffff2e 16px 24px),linear-gradient(90deg,#ffc93c,#f6a23f);border-bottom:0}.roadmap-head strong{text-shadow:0 2px #9a5a008c}.roadmap li{background:#f3f5fb;border:0;box-shadow:inset 0 -2px #e3e7f1}.road-badge{background:#fff;border:0;box-shadow:0 2px #d6dbe8}.road-done{background:#e9f9ee;box-shadow:inset 0 -2px #c7ecd3}.road-done .road-badge{color:#fff;background:linear-gradient(160deg,#6edb7c,#2f9e44);box-shadow:0 2px #217a33}.road-done .road-state{background:#2f9e44}.road-next{background:#fff5dc;box-shadow:inset 0 -2px #f3dfa8}.road-next .road-badge{color:#fff;background:linear-gradient(160deg,#ffd65c,#f6a23f);box-shadow:0 2px #c77d10}.road-next .road-state{background:#f6a23f}.menu-backdrop{background:linear-gradient(90deg,#241c3a61 0%,#241c3a1f 38%,#0000 58%),linear-gradient(#241c3a24,#0000 20% 82%,#241c3a3d)}@media (min-width:1900px){.menu{grid-template-columns:minmax(0,1fr) 380px;padding:34px 46px 26px}.menu-left{width:660px}}@media (max-width:1100px){.menu{grid-template-columns:1fr}.roadmap{display:none}}@media (max-width:760px),(max-height:640px){.menu{gap:10px;padding:14px 16px 12px;overflow-y:auto}.menu-backdrop{background:color-mix(in srgb, var(--ink) 38%, transparent)}.stat-pill small,.chip-button span{display:none}.chip-button{padding:0 10px}.logo{-webkit-text-stroke-width:7px;font-size:48px}.start-card{height:98px;padding-right:100px}.start-text strong{font-size:32px}.start-icon{width:54px;height:54px}.start-hero{width:86px}.mechanic-sprite{transform:scale(1.2)}.mode-row{grid-template-columns:1fr}.camp-grid{grid-template-columns:repeat(3,1fr)}.menu-footer{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width:460px){.player-name em,.stat-pill:last-child{display:none}}.pause-layer{--ink:var(--art-outline);--paper:var(--art-white);--font-display:"ZCOOL KuaiLe", "Baloo 2 Variable", "Microsoft YaHei UI", sans-serif;--font-num:"Baloo 2 Variable", "Arial Black", sans-serif;--pause-bg:#f6f7fb;--pause-col:#eceff6;--pause-line:#d9dde8;z-index:5;color:var(--ink);background:#241c3a52;place-items:center;padding:clamp(12px,2.2vh,26px) 24px;animation:.18s ease-out both pause-in;display:grid;position:absolute;inset:0}@keyframes pause-in{0%{opacity:0}}.pause-layer svg{flex:none;width:20px;height:20px;display:block}.pause-panel{background:var(--pause-bg);border:3px solid #fff;border-radius:22px;flex-direction:column;gap:12px;width:min(100%,1400px);height:100%;max-height:1400px;padding:14px;animation:.22s cubic-bezier(.2,1.4,.4,1) both pause-pop;display:flex;overflow:hidden;box-shadow:0 0 0 2px #241c3a40,0 18px 50px #241c3a59}@keyframes pause-pop{0%{transform:scale(.96)translateY(10px)}}.pause-head{color:var(--paper);background:repeating-linear-gradient(115deg,#0000 0 22px,#ffffff1f 22px 34px),linear-gradient(100deg,#3a7fe0,#43a7ec 45%,#5cc48a);border-radius:18px;flex:none;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.pause-portrait{border:3px solid var(--paper);width:96px;height:96px;box-shadow:0 0 0 3px var(--ink);background:radial-gradient(circle at 50% 75%, var(--art-yellow), var(--art-heroOrange));border-radius:50%;place-items:end center;display:grid;overflow:hidden}.pause-portrait .mechanic-sprite{transform-origin:44% 100%;margin-bottom:-4px;transform:scale(1.15)}.pause-who{flex-direction:column;gap:4px;min-width:0;display:flex}.pause-tags{align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.pause-tags b{background:var(--art-red);border:2px solid var(--ink);border-radius:999px;padding:2px 9px}.pause-who strong{font:400 32px/1.1 var(--font-display);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink)}.pause-who strong em{font:800 14px/1 var(--font-num);background:var(--art-heroOrange);border:2px solid var(--ink);-webkit-text-stroke:0;text-shadow:none;vertical-align:middle;border-radius:999px;margin-left:6px;padding:3px 9px;font-style:normal}.pause-bar{grid-template-columns:auto minmax(120px,340px) auto;align-items:center;gap:10px;font-size:12px;font-weight:800;display:grid}.pause-bar .bar{border:2px solid var(--ink);background:color-mix(in srgb, var(--ink) 55%, transparent);border-radius:999px;height:12px;overflow:hidden}.pause-bar .bar i{background:linear-gradient(90deg, var(--art-crystalLight), var(--art-blue));height:100%;display:block}.pause-bar small{font:800 12px var(--font-num)}.pause-tiles{gap:8px;margin:0;padding:0;list-style:none;display:flex}.pause-tiles li{min-width:104px;color:var(--ink);background:#fff;border-radius:14px;justify-items:center;gap:2px;padding:10px 12px 8px;display:grid;box-shadow:0 3px #241c3a38}.pause-tiles li svg{opacity:.55;width:16px;height:16px}.pause-tiles b{font:800 32px/1 var(--font-num);font-variant-numeric:tabular-nums}.pause-tiles small{opacity:.6;font-size:11px;font-weight:800}.pause-columns{flex:1;grid-template-columns:1fr 1fr 1fr;gap:12px;min-height:0;display:grid}.pause-col{background:var(--pause-col);border-radius:16px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.col-scroll{flex-direction:column;flex:1;min-height:0;padding-bottom:12px;display:flex;overflow-y:auto}.pause-col h3{font:400 22px/1.1 var(--font-display);color:#fff;text-shadow:0 2px #241c3a59;background:repeating-linear-gradient(115deg, transparent 0 16px, #ffffff29 16px 24px), var(--col,var(--art-blue));flex:none;justify-content:space-between;align-items:baseline;margin:0;padding:9px 14px;display:flex}.pause-col h3 small{text-shadow:none;opacity:.95;font:800 11px/1 Microsoft YaHei UI,sans-serif}.col-skills{--col:linear-gradient(90deg, #3b86e6, #55aef0)}.col-cards{--col:linear-gradient(90deg, #f7932f, #ffb44a)}.col-stats{--col:linear-gradient(90deg, #8b5cf0, #c084f5)}.skill-card{background:#fff;border-left:4px solid #f06a9a;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:10px 12px 0;padding:12px;display:grid}.skill-icon{border:2.5px solid var(--ink);background:var(--art-pink);width:40px;height:40px;color:var(--paper);border-radius:50%;place-items:center;display:grid}.skill-card strong{font-size:14px;display:block}.skill-card small{opacity:.65;font-size:11px;font-weight:700}.skill-lock{opacity:.45}.col-note{opacity:.65;margin:auto 12px 12px;padding-top:10px;font-size:11px;font-weight:700;line-height:1.7}.card-slots{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px;margin:12px;display:grid}.card-slots span{aspect-ratio:1;border:2px dashed var(--pause-line);background:#fff;border-radius:12px}.card-slots span:first-child{border-style:solid;border-color:var(--art-heroOrange);background:color-mix(in srgb, var(--art-yellow) 25%, var(--paper))}.col-stats h4{letter-spacing:.08em;opacity:.55;margin:12px 14px 4px;font-size:11px}.col-stats dl{background:#fff;border-radius:12px;grid-template-columns:1fr auto;margin:0 12px;display:grid;overflow:hidden}.col-stats dt,.col-stats dd{border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);margin:0;padding:7px 10px;font-size:13px;font-weight:800}.col-stats dd{text-align:right;font-family:var(--font-num);color:var(--art-grassDark)}.col-stats dl.muted dd{color:color-mix(in srgb, var(--ink) 40%, transparent)}.col-stats dl>:nth-last-child(-n+2){border-bottom:0}.pause-keys{opacity:.8;flex-wrap:wrap;flex:none;gap:6px 16px;margin:0;padding:0 6px;font-size:12px;font-weight:700;display:flex}.pause-keys kbd{margin-right:3px}.pause-actions{flex:none;align-items:center;gap:10px;padding:2px 4px 4px;display:flex}.pause-btn{background:#fff;border:0;border-radius:999px;align-items:center;gap:7px;height:50px;padding:0 22px;font-size:15px;font-weight:800;transition:transform .1s,box-shadow .1s;display:inline-flex;box-shadow:0 4px #241c3a40}.pause-btn:hover{transform:translateY(-2px);box-shadow:0 6px #241c3a40}.pause-btn:active{transform:translateY(3px);box-shadow:0 1px #241c3a40}.pause-btn.danger{color:#fff;background:linear-gradient(#ff6b5e,#f04438)}.pause-btn.primary{height:58px;font:400 26px/1 var(--font-display);color:#fff;text-shadow:0 2px #0d5a2399;background:linear-gradient(#4fd36a,#22b14c);margin-left:auto;padding:0 48px}.pause-btn.primary svg{width:24px;height:24px}.pause-layer .dialog-layer{z-index:6}@media (max-width:980px){.pause-panel{height:auto;overflow:auto}.pause-head{grid-template-columns:auto 1fr}.pause-tiles{grid-column:1/-1}.pause-tiles li{flex:1;min-width:0}.pause-columns{grid-template-columns:1fr}}@media (max-width:560px){.pause-layer{padding:10px}.pause-actions{flex-wrap:wrap}.pause-btn.primary{justify-content:center;width:100%;margin-left:0}}
