button{font:inherit;border:none;background:none;color:inherit;cursor:pointer}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--acc);color:var(--accink);border-radius:var(--r-btn);font-family:var(--font-display);font-weight:700;font-size:17px;box-shadow:var(--shadow-acc);transition:filter .15s,transform .08s,box-shadow .08s}.btn-primary:hover{filter:brightness(1.04)}.btn-primary:active{transform:translateY(4px);box-shadow:var(--shadow-acc-press)}.btn-primary svg{width:15px;height:15px}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--chip);color:var(--ink);border-radius:var(--r-btn);font-family:var(--font-display);font-weight:600;font-size:15px;transition:background .15s,transform .08s}.btn-secondary:hover{background:var(--chiph)}.btn-secondary:active{transform:scale(.97)}.btn-danger{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--dgrbg);color:var(--dgrink);border-radius:var(--r-btn);font-weight:900;transition:background .15s,transform .08s}.btn-danger:hover{background:color-mix(in srgb,var(--dgr) 22%,transparent)}.btn-danger:active{transform:scale(.97)}.round-btn{width:44px;height:44px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--panel2);color:var(--ink);transition:background .15s,transform .08s}.round-btn:hover{background:var(--chiph)}.round-btn:active{transform:scale(.94)}.round-btn.big{width:60px;height:60px;background:var(--panel);box-shadow:var(--shadow)}.round-btn.is-on{background:var(--acc);color:var(--accink);box-shadow:var(--shadow-small)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.round-btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}#app{position:relative;width:100%;height:100%;overflow:hidden}canvas{display:block}.scene-canvas{position:absolute;top:0;left:0;z-index:0}.scene-canvas{transition:opacity .45s ease-out}.scene-canvas.is-loading{opacity:0}svg{display:block}[hidden]{display:none!important}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hex{clip-path:var(--hex);flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--accink);background:conic-gradient(from -60deg,var(--hex-a) 0 120deg,var(--hex-b) 0 240deg,var(--hex-c) 0)}.hud{position:absolute;inset:0;pointer-events:none}.hud>*{pointer-events:auto}.card{background:var(--panel);border-radius:var(--r-card);box-shadow:var(--shadow)}.t-section{font-family:var(--font-ui);font-size:10.5px;letter-spacing:.14em;color:var(--mut);font-weight:900;text-transform:uppercase}.t-ink{color:var(--ink)}.t-ink2{color:var(--ink2)}.t-mut{color:var(--mut)}.t-acc{color:var(--acc-edge)}.t-warm{color:var(--warm)}.t-dgr{color:var(--dgrink)}.t-bold{font-weight:800}.st{color:var(--star);display:inline-flex}.st.off{color:var(--starOff)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--hint-bg);color:var(--hint-ink);font-family:var(--font-ui);font-weight:800;font-size:12px;white-space:nowrap;padding:6px 12px;border-radius:999px;box-shadow:var(--shadow-small);opacity:0;pointer-events:none;transition:opacity .15s;transition-delay:0s;z-index:50}[data-tip]:hover:after{opacity:1;transition-delay:.6s}[data-tip-down]:after{left:50%;top:calc(100% + 8px);transform:translate(-50%)}.chipbtn{display:flex;align-items:center;justify-content:center;background:var(--chip);border-radius:999px;color:var(--ink2);transition:background .15s,color .15s,transform .08s}.chipbtn:hover{background:var(--chiph);color:var(--ink)}.chipbtn:active{transform:scale(.95)}.chipbtn.is-on{background:var(--sel);color:var(--selink)}.chipbtn:disabled{color:var(--dis);pointer-events:none}.kbd{font-family:var(--font-ui);font-weight:900;font-size:10px;letter-spacing:.04em;background:#0000001f;border-radius:8px;padding:3px 6px}.chipbtn:focus-visible,.tool:focus-visible,.seg:focus-visible,.act-btn:focus-visible,.mat-chip:focus-visible,.menu-continue:focus-visible,.menu-map:focus-visible,.menu-sandbox:focus-visible,.map-next:focus-visible,.hb-main:focus-visible,.hb-x:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--panel2);border-radius:999px;padding:5px 12px;font-weight:900;font-size:12px;color:var(--ink)}.pill .st,.pill .star{color:var(--star)}.pill-status{display:inline-block;font-family:var(--font-ui);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.pill-status.ok{color:var(--ok)}.pill-status.bad{color:var(--dgrink)}.badge-ok{background:var(--ok);color:var(--okink);border-radius:999px;padding:4px 9px;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.seg-wrap{display:flex;background:var(--panel);border-radius:999px;padding:4px;gap:2px}.seg{padding:8px 14px;border-radius:999px;font-weight:900;font-size:13px;color:var(--ink);transition:background .15s,color .15s}.seg:hover{background:var(--chiph)}.seg.is-on{background:var(--sel);color:var(--selink)}.hud-stack{position:absolute;inset:0;padding:20px 0 18px;display:flex;flex-direction:column;gap:10px;pointer-events:none;touch-action:none}.hud-stack .card,.hud-stack button{pointer-events:auto}.hud-mid{flex:1;min-height:0;margin:0 20px;display:flex;align-items:stretch;gap:12px}.hud-left{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.left-dock{flex:1;min-height:0;display:flex;align-items:center;gap:12px}.left-dock>.card{max-height:100%;overflow-y:auto;scrollbar-width:none;touch-action:pan-y}.left-dock>.card::-webkit-scrollbar{display:none}.top-strip{flex-shrink:0;margin:0 20px;display:flex;gap:10px;align-items:flex-start}.top-left{display:flex;flex-direction:column;gap:10px;min-width:0}.proj-card{display:flex;align-items:center;gap:12px;padding:8px 20px 8px 8px;border-radius:999px;max-width:430px}.proj-back{width:44px;height:44px;flex:none}.lv-badge{width:44px;height:44px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--accink);font-family:var(--font-display);font-weight:700;font-size:18px}.proj-col{display:flex;flex-direction:column;min-width:0}.proj-col .t-section{font-size:10px}.proj-name{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.05;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-card{display:flex;gap:8px;align-items:stretch}.gauge{padding:10px 16px 8px;border-radius:24px;width:230px}.gauge--mass{width:190px}.meter-col{display:flex;flex-direction:column;gap:6px}.meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.meter-head .t-section{letter-spacing:.1em}.meter-val{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.meter-val .lim{color:var(--mut);font-weight:800}.gauge[data-state=good] .meter-val{color:var(--gauge-good)}.gauge[data-state=warn] .meter-val{color:var(--gauge-warn)}.gauge[data-state=over] .meter-val,.meter-val.over{color:var(--gauge-over)!important}.meter-track{position:relative;height:12px;border-radius:999px;background:var(--track)}.meter-fill{position:absolute;left:0;top:0;bottom:0;width:0%;border-radius:999px;background:var(--gauge-good);transition:width .2s,background .2s}.gauge[data-state=warn] .meter-fill{background:var(--gauge-warn)}.gauge[data-state=over] .meter-fill{background:var(--gauge-over)}.meter-tick{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink);opacity:.35;display:none}.meter-marks{--mark-star-size: 9px;--goal-mark-width: calc(3 * var(--mark-star-size) + 2px);--end-mark-width: calc(var(--end-stars, 0) * var(--mark-star-size) + 4px);position:relative;height:11px;color:var(--star);display:none}.meter-marks span{position:absolute;top:0;display:flex;gap:0}.meter-marks .mm-3{left:clamp(var(--goal-mark-width),var(--goal-position),calc(100% - var(--end-mark-width)));transform:translate(-100%);padding-right:2px}.meter-marks .mm-end{right:0}.gauge.has-goal .meter-tick,.gauge.has-goal .meter-marks{display:block}.meter-marks .star{width:var(--mark-star-size);height:var(--mark-star-size)}.top-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-shrink:0}.act-btn{height:60px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--panel);color:var(--ink);border-radius:999px;box-shadow:var(--shadow);font-weight:900;font-size:13px;padding:0 18px;flex-shrink:0;transition:background .15s,transform .08s}.act-btn.round{width:60px;padding:0}.act-btn:hover{background:var(--panel-hi)}.act-btn:active{transform:scale(.95)}.act-btn:disabled{color:var(--dis);pointer-events:none}.act-clear{color:var(--dgrink)}.act-stress.is-on{background:var(--sel);color:var(--selink)}.stress-swatch{width:26px;height:10px;border-radius:5px;flex:none;background:linear-gradient(90deg,var(--st-comp),var(--st-zero),var(--st-tens))}.mini-meters,.info-toggle,.deck-chip,.sim-more{display:none}.hud .card,.hud .testbtn,.hud .act-btn{transition:opacity .12s}.hud.is-quiet .card,.hud.is-quiet .testbtn,.hud.is-quiet .act-btn{opacity:.16}.goal-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%}.chip-host{display:contents}.goal-chip,.state-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;font-weight:900;font-size:12px;box-shadow:var(--shadow-small);white-space:nowrap}.pulse-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--acc-edge);animation:pulse 1.6s infinite}.hud.is-sim .pulse-dot{background:var(--ok)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.pulse-dot,.fail-banner{animation:none}}.state-lbl{font-weight:900;color:var(--ink)}.counts-lbl{font-weight:800;color:var(--mut);font-variant-numeric:tabular-nums}.hint-bubble{display:flex;gap:2px;align-items:center;width:300px;max-width:100%;min-height:38px;padding:3px 5px 3px 12px;border-radius:999px;box-shadow:var(--shadow-small);font-weight:800;font-size:12px;line-height:1.4}.hb-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--ink);font:inherit;text-align:left}.hb-ic{color:var(--acc-edge);flex:none;display:flex}.hb-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-more{color:var(--mut);flex:none;display:flex;transition:transform .15s}.hint-bubble.is-expanded .hb-more{transform:rotate(90deg)}.hint-bubble.is-expanded{border-radius:22px;align-items:flex-start;padding:9px 5px 9px 12px}.hint-bubble.is-expanded .hb-main{align-items:flex-start}.hint-bubble.is-expanded .hb-txt{white-space:normal;text-wrap:pretty}.hb-x{width:30px;height:30px;flex:none;border-radius:999px;color:var(--mut);display:flex;align-items:center;justify-content:center}.hb-x:hover{background:var(--chip);color:var(--ink)}.tool-rail{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:7px;border-radius:30px}.tool{position:relative;width:48px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink2);transition:background .15s,color .15s}.tool:hover{background:var(--chip);color:var(--ink)}.tool.is-on{background:var(--acc);color:var(--accink);box-shadow:var(--shadow-small)}.tool-key{position:absolute;right:5px;bottom:4px;font-size:8.5px;font-weight:900;opacity:.55;line-height:1}.bottom-bar{position:relative;flex-shrink:0;display:flex;align-items:flex-end;justify-content:center;gap:14px;padding:0 20px;pointer-events:none}.bottom-bar>*{pointer-events:auto}.bottom-bar>.deck,.bottom-bar>.sim-tray{margin-left:auto}.testbtn{--g1: var(--hex-a);--g2: var(--hex-b);--g3: var(--hex-c);width:126px;height:142px;flex-shrink:0;position:relative;isolation:isolate;margin-left:auto;color:var(--accink);filter:drop-shadow(0 14px 18px var(--acc-glow));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .1s,filter .15s}.testbtn:before{content:"";position:absolute;inset:0;z-index:-1;clip-path:var(--hex);background:conic-gradient(from -60deg,var(--g1) 0 120deg,var(--g2) 0 240deg,var(--g3) 0)}.testbtn:hover{filter:drop-shadow(0 16px 22px var(--acc-glow)) brightness(1.04)}.testbtn:active{transform:scale(.95)}.testbtn:focus-visible{outline:none;filter:drop-shadow(2px 0 0 var(--ink)) drop-shadow(-2px 0 0 var(--ink)) drop-shadow(0 2px 0 var(--ink)) drop-shadow(0 -2px 0 var(--ink))}.testbtn .tb-ic{display:flex}.testbtn .tb-ic svg{width:28px;height:28px}.testbtn .tb-cap{font-family:var(--font-display);font-weight:700;font-size:19px}.testbtn .tb-key{font-weight:900;font-size:10px;letter-spacing:.06em;opacity:.7}.testbtn.is-idle{opacity:.5;cursor:default}.testbtn.is-idle:active{transform:none}.hud.is-sim .testbtn{margin-left:0}.stopbtn{--g1: color-mix(in srgb, var(--dgr) 70%, #fff);--g2: var(--dgr-edge);--g3: var(--dgr);width:84px;height:95px;flex-shrink:0;position:relative;isolation:isolate;margin-left:auto;color:#fff;filter:drop-shadow(0 10px 14px color-mix(in srgb,var(--dgr) 40%,transparent));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:transform .1s,filter .15s}.stopbtn:before{content:"";position:absolute;inset:0;z-index:-1;clip-path:var(--hex);background:conic-gradient(from -60deg,var(--g1) 0 120deg,var(--g2) 0 240deg,var(--g3) 0)}.stopbtn:hover{filter:drop-shadow(0 12px 18px color-mix(in srgb,var(--dgr) 50%,transparent)) brightness(1.05)}.stopbtn:active{transform:scale(.95)}.stopbtn:focus-visible{outline:none;filter:drop-shadow(2px 0 0 var(--ink)) drop-shadow(-2px 0 0 var(--ink)) drop-shadow(0 2px 0 var(--ink)) drop-shadow(0 -2px 0 var(--ink))}.stopbtn .tb-ic{display:flex}.stopbtn .tb-ic svg{width:18px;height:18px}.stopbtn .tb-cap{font-family:var(--font-display);font-weight:700;font-size:14px}.stopbtn .tb-key{font-weight:900;font-size:9px;letter-spacing:.06em;opacity:.8}.results,.stress-legend{padding:12px 16px;border-radius:22px}.stress-legend{box-shadow:var(--shadow-small)}.mes-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;font-size:13px}.mes-row span{color:var(--ink2);font-weight:800}.mes-row b{font-weight:900;font-variant-numeric:tabular-nums}.results{--ws: var(--ok)}.results.ws-near{--ws: var(--gauge-warn)}.results.ws-plastic{--ws: var(--warm)}.results.ws-failed,.results.ws-mechanism{--ws: var(--dgr)}.ws-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:13px}.ws-row>span{color:var(--ink2);font-weight:800}.ws-pill{padding:2px 9px;border-radius:999px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--ws) 18%,var(--panel));color:var(--ws);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ws) 55%,transparent)}.results.ws-plastic .ws-pill{animation:ws-breathe 1.8s ease-in-out infinite}@keyframes ws-breathe{50%{background:color-mix(in srgb,var(--ws) 34%,var(--panel))}}@media(prefers-reduced-motion:reduce){.results.ws-plastic .ws-pill{animation:none}}.ws-util{color:var(--ws)}.ws-gauge{position:relative;height:8px;margin-top:7px;border-radius:999px;background:var(--track);overflow:hidden}.ws-gauge i{position:absolute;top:0;bottom:0;left:0}.ws-z-el{background:color-mix(in srgb,var(--ok) 22%,transparent)}.ws-z-pl{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--warm) 38%,transparent) 0 4px,color-mix(in srgb,var(--warm) 14%,transparent) 4px 8px)}.ws-fill{background:var(--ws);opacity:.85;border-radius:999px;transition:width .15s linear}.ws-tick{width:2px;margin-left:-1px;background:var(--ink);opacity:.55}.ws-scale{display:flex;justify-content:space-between;gap:6px;margin-top:3px;font-size:10px;font-weight:800;color:var(--mut);white-space:nowrap}.ws-l-pl{color:var(--warm)}.ws-note{margin-top:7px;font-size:11px;line-height:1.35;font-weight:700;color:var(--ink2)}.results.ws-plastic .ws-note,.results.ws-failed .ws-note{color:var(--ink)}.legend-wrap{position:relative;margin-top:10px}.stress-legend .legend-wrap{margin-top:0}.legend{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--st-comp),var(--st-zero) 50%,var(--st-tens))}.legend-scale{display:flex;justify-content:space-between;margin-top:5px;font-size:11px;font-weight:900}.legend-scale .lg-comp{color:var(--st-comp)}.legend-scale .lg-zero{color:var(--mut)}.legend-scale .lg-tens{color:var(--st-tens)}.legend-note{margin-top:6px;font-size:11px;font-weight:800;color:var(--mut);line-height:1.35}.stress-legend.has-note .legend-note{color:var(--dgrink)}.toast{position:absolute;left:50%;bottom:170px;transform:translate(-50%);background:var(--hint-bg);color:var(--hint-ink);padding:10px 18px;border-radius:999px;box-shadow:var(--shadow-small);font-weight:800;font-size:14px;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none!important;z-index:25}.toast.show{opacity:1}.fail-banner{align-self:center;flex-shrink:0;pointer-events:auto;background:var(--dgr);color:#fff;padding:9px 22px;border-radius:999px;box-shadow:var(--shadow-dgr);font-family:var(--font-display);font-weight:700;font-size:15px;display:none;animation:pulse 1.6s infinite}.fail-banner.show{display:block}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--canvas);overflow:hidden}.map-host{position:absolute;inset:0;z-index:0}.map-canvas{position:absolute;inset:0;width:100%;height:100%}.screen.menu-screen{justify-content:flex-start;align-items:stretch}.menu-vignette{position:absolute;inset:0;z-index:0;background:var(--vignette);pointer-events:none}.menu-col{position:relative;z-index:1;margin-left:48px;width:400px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;justify-content:center;gap:14px;padding:40px 0;max-height:100%;overflow-y:auto;scrollbar-width:none}.menu-col::-webkit-scrollbar{display:none}.menu-brand{display:flex;align-items:center;gap:16px;padding-left:4px}.hex-logo{width:68px;height:78px}.mb-words{display:flex;flex-direction:column;gap:4px}.mb-logo{font-family:var(--font-display);font-weight:700;font-size:76px;line-height:.9;letter-spacing:.01em;color:var(--on-scene);text-shadow:var(--on-scene-shadow)}.mb-tag{font-weight:900;font-size:12px;letter-spacing:.18em;color:var(--on-scene);text-shadow:0 2px 8px rgba(10,30,40,.5)}.menu-card{background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow-panel);padding:18px;display:flex;flex-direction:column;gap:12px}.career{display:flex;align-items:center;gap:12px}.hex-rank{width:48px;height:54px;background:var(--ok);color:var(--okink);font-size:20px}.career-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.career-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px}.career-name{min-width:0;font-family:var(--font-display);font-weight:700;font-size:19px}.career-next{display:flex;gap:4px;min-width:0;max-width:100%;font-weight:900;font-size:12px;color:var(--mut);white-space:nowrap}.career-count{display:inline-flex;flex:none;align-items:center;gap:2px}.career-count .star{color:var(--star)}.career-to{min-width:0;overflow:hidden;text-overflow:ellipsis}.career-stats{display:flex;flex-direction:column;align-items:flex-end;flex:none}.cs-stars{display:flex;align-items:center;gap:4px;font-weight:900;font-size:16px}.cs-stars .star{color:var(--star)}.cs-xp{font-weight:800;font-size:11px;color:var(--mut)}.bar{height:10px;border-radius:999px;background:var(--track);overflow:hidden}.bar-fill{height:100%;background:var(--ok);border-radius:999px}.menu-continue{display:flex;align-items:center;gap:14px;text-align:left;background:var(--acc);color:var(--accink);border-radius:var(--r-card);padding:14px 14px 14px 22px;box-shadow:var(--shadow-acc);transition:transform .08s,box-shadow .08s,filter .15s}.menu-continue:hover{filter:brightness(1.03)}.menu-continue:active{transform:translateY(4px);box-shadow:var(--shadow-acc-press)}.mc-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.mc-tag{font-weight:900;font-size:11px;letter-spacing:.14em;opacity:.7}.mc-title{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1}.mc-sub{font-weight:800;font-size:13px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-play{width:56px;height:56px;flex:none;border-radius:999px;background:var(--accink);color:var(--acc);display:flex;align-items:center;justify-content:center}.mc-play svg{width:20px;height:20px}.menu-map{display:flex;flex-direction:column;gap:10px;text-align:left;background:var(--panel2);border-radius:var(--r-card);padding:14px 14px 14px 22px;color:var(--ink);transition:filter .15s;container:mapcard / inline-size}.menu-map:hover{filter:brightness(.98)}.mm-head{display:flex;align-items:center;gap:12px}.mm-col{flex:1;display:flex;flex-direction:column;gap:2px}.mm-title{font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1}.mm-sub{font-weight:800;font-size:13px;color:var(--mut)}.mm-chev{width:44px;height:44px;border-radius:999px;background:var(--panel);display:flex;align-items:center;justify-content:center}.mm-worlds{display:flex;gap:8px;padding-right:8px}.mm-world{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.mm-world .bar{height:8px}.mm-world.is-soon{opacity:.55}.mm-wlbl{font-weight:900;font-size:11px;line-height:1.2;color:var(--mut)}@container mapcard (max-width: 340px){.mm-worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}}.menu-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-social-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;padding:12px 10px;font:600 17px/1.2 var(--font-display);border-radius:24px;background:var(--panel2);color:var(--ink)}.menu-social-icon{display:flex;flex-shrink:0}.menu-social-icon svg{width:22px;height:22px}@media(max-width:380px){.menu-social-button{flex-direction:column;gap:4px;padding:8px;font-size:15px}.menu-social-icon svg{width:18px;height:18px}}.menu-row{display:flex;gap:10px}.menu-sandbox{--ms-h: 54px;flex:1;min-width:0;height:var(--ms-h);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;overflow:hidden;background:var(--panel2);border-radius:999px;padding:0 22px;color:var(--ink);text-align:left;container:sandbox / inline-size}.menu-sandbox:hover{background:var(--chiph)}.ms-name{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.1;white-space:nowrap}.ms-sub{max-width:100%;font-weight:800;font-size:12px;line-height:1.2;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@container sandbox (max-width: 100px){.ms-name{font-size:15px}.ms-sub{display:none}}.menu-row .round-btn{width:54px;height:54px}.menu-ver{font-weight:800;font-size:12px;color:var(--on-scene);opacity:.85;padding-left:6px;text-shadow:0 1px 6px rgba(10,30,40,.5)}.map-screen .map-tl{position:absolute;left:20px;top:20px;display:flex;gap:10px;align-items:center;z-index:2;max-width:calc(100% - 200px)}.map-tabs{height:60px;display:flex;align-items:center;gap:4px;padding:6px;background:var(--panel);border-radius:999px;box-shadow:var(--shadow);min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.map-tab{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;white-space:nowrap;color:var(--mut)}.map-tab.is-on{background:var(--sel);color:var(--selink)}.map-tab.is-soon{opacity:.6}.map-tab.is-jump{cursor:pointer}.map-tab.is-jump:not(.is-on):hover{color:var(--ink)}.mt-lbl{font-family:var(--font-display);font-weight:700;font-size:15px}.mt-cnt{font-weight:900;font-size:12px;opacity:.75}.map-screen .cloud-map-campaign{min-height:60px;max-width:100%;padding:12px 20px;background:var(--panel);border-radius:999px;box-shadow:var(--shadow);font-weight:700;line-height:1.25}.map-screen .map-tr{position:absolute;right:20px;top:20px;display:flex;gap:10px;z-index:2}.map-stars{height:60px;padding:0 18px;font-size:16px;background:var(--panel);box-shadow:var(--shadow)}.map-stars .star{width:18px;height:18px}.map-screen .map-side{position:absolute;right:20px;top:92px;display:flex;flex-direction:column;gap:8px;z-index:2}.map-side .round-btn{width:48px;height:48px;background:var(--panel);box-shadow:var(--shadow-small)}.map-side .round-btn.is-on{background:var(--acc);color:var(--accink)}.map-legend{position:absolute;left:20px;bottom:20px;z-index:2;padding:14px 18px;border-radius:26px;display:flex;flex-direction:column;gap:10px;font-weight:800;font-size:13px}.ml-keys{display:flex;align-items:center;gap:10px}.kbd-grid{display:grid;grid-template-columns:repeat(3,24px);gap:3px}.kbd-grid .kbd{height:24px;display:flex;align-items:center;justify-content:center;background:var(--panel2);border-radius:8px;font-size:11px;padding:0}.ml-drive{display:flex;flex-direction:column}.ml-sub{color:var(--mut)}.ml-row{display:flex;align-items:center;gap:8px}.ml-dot{width:14px;height:14px;border-radius:999px;flex:none}.ml-dot.is-cur{background:var(--acc);box-shadow:inset 0 0 0 2px var(--panel);outline:1px solid var(--acc-edge)}.ml-dot.is-done{background:var(--panel);box-shadow:inset 0 0 0 2px var(--ok)}.ml-dot.is-locked{background:var(--panel2);box-shadow:inset 0 0 0 2px var(--dis)}@media(max-width:1100px){.map-screen:has(.map-card:not([hidden])) .map-legend{display:none}}.map-next{position:absolute;right:20px;bottom:20px;z-index:2;display:flex;align-items:center;gap:14px;text-align:left;background:var(--acc);color:var(--accink);border-radius:999px;box-shadow:var(--shadow-acc);padding:12px 12px 12px 22px;transition:transform .08s,box-shadow .08s}.map-next:active{transform:translateY(3px);box-shadow:var(--shadow-acc-press)}.mn-col{display:flex;flex-direction:column}.mn-tag{font-weight:900;font-size:10px;letter-spacing:.14em;opacity:.7}.mn-name{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.1}.mn-go{width:44px;height:44px;border-radius:999px;background:var(--accink);color:var(--acc);display:flex;align-items:center;justify-content:center}.map-card{position:absolute;left:50%;transform:translate(-50%);bottom:24px;z-index:3;width:460px;max-width:calc(100% - 40px);padding:20px;border-radius:var(--r-panel);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:12px}.mc-head{display:flex;align-items:center;gap:14px}.hex-level{width:58px;height:66px;font-size:24px}.hex-level.is-done{background:var(--ok);color:var(--okink)}.hex-level.is-locked{background:var(--panel2);color:var(--mut)}.hex-level.is-current,.hex-level.is-open{background:var(--acc);color:var(--accink)}.mc-head .mc-col{flex:1;min-width:0;gap:2px}.map-card .mc-tag{font-weight:900;font-size:11px;letter-spacing:.12em;color:var(--mut);opacity:1}.mc-name{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.05}.map-card .mc-sub{font-weight:800;font-size:13px;color:var(--mut);opacity:1}.mc-close{align-self:flex-start;width:36px;height:36px}.mc-desc{font-weight:800;font-size:14px;line-height:1.4;text-wrap:pretty}.mc-locked{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--panel2);border-radius:999px;padding:13px 18px;font-weight:800;font-size:14px;color:var(--mut);text-align:center}.mc-actions{display:flex;align-items:center;gap:10px}.mc-stars{display:flex;gap:2px;flex:none}.mc-drive{height:48px;padding:0 16px;white-space:nowrap}.mc-build{flex:1;height:48px;font-size:19px;white-space:nowrap}.map-loading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:var(--canvas);font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--ink);transition:opacity .45s ease-out}.map-loading.is-done{opacity:0;pointer-events:none}.drive-pad{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:0 max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dp-steer,.dp-pedals{display:flex;align-items:flex-end;gap:10px;pointer-events:auto;touch-action:none}.dp-btn{width:66px;height:66px;padding:0;border:0;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow-small);touch-action:none;-webkit-tap-highlight-color:transparent;transition:transform .06s,background-color .06s,box-shadow .06s}.dp-btn svg{width:26px;height:26px;flex:none}.dp-txt{font-weight:900;font-size:9px;line-height:1;letter-spacing:.08em;text-transform:uppercase}.dp-gas{height:84px;border-radius:34px;background:var(--acc);color:var(--accink);box-shadow:var(--shadow-acc)}.dp-btn.is-down{transform:translateY(2px) scale(.96);background:var(--chiph)}.dp-gas.is-down{background:var(--acch);box-shadow:var(--shadow-acc-press)}.map-screen.has-pad{--pad-h: calc(110px + env(safe-area-inset-bottom)) }.map-screen.has-pad .map-next,.map-screen.has-pad .map-card{bottom:var(--pad-h)}.map-screen.has-pad .map-legend{bottom:calc(var(--pad-h) + 4px)}.map-screen.has-pad .ml-keys,.map-screen.is-list .drive-pad{display:none}@media(max-height:520px)and (min-width:600px){.map-screen.has-pad .map-next{left:50%;right:auto;bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100% - 360px);transform:translate(-50%)}.map-screen.has-pad .map-next:active{transform:translate(-50%) translateY(3px)}}.map-view-toggle{height:60px;padding:6px;box-shadow:var(--shadow);flex:none}.map-view-toggle .seg{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 14px}.map-view-toggle .seg svg{width:18px;height:18px;flex:none}.map-screen .map-tr{align-items:center}.map-screen .map-tl{max-width:calc(100% - var(--tr-w, 420px) - 50px)}.map-screen.is-list .map-host,.map-screen.is-list .map-loading,.map-screen.is-list .map-side,.map-screen.is-list .map-legend,.map-screen.is-list .map-next,.map-screen.is-list .map-card{display:none!important}.map-list{display:none;position:absolute;inset:0;z-index:1;overflow-y:auto;touch-action:pan-y;padding:100px max(20px,env(safe-area-inset-right)) 28px max(20px,env(safe-area-inset-left))}.map-screen.is-list .map-list{display:block}@media(max-width:560px){.map-screen .map-list{padding-top:124px}.map-screen.is-list .map-tabs{display:none}}.map-screen .map-tr{z-index:5}.map-list-world{max-width:1180px;margin:0 auto 22px}.map-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 6px 10px}.map-list-head h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--ink)}.map-list-count{font-weight:900;font-size:14px;color:var(--mut);font-variant-numeric:tabular-nums}.map-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:max-content;gap:10px}.map-tile{display:flex;align-items:center;gap:12px;min-height:72px;padding:10px 14px 10px 10px;text-align:left;border-radius:var(--r-card);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-small);transition:background .15s,transform .08s}.map-tile:hover:not([aria-disabled]){background:var(--panel-hi)}.map-tile:active:not([aria-disabled]){transform:scale(.98)}.map-tile:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.map-tile .hex-level{width:46px;height:52px;font-size:19px}.map-tile.is-current{box-shadow:inset 0 0 0 3px var(--acc),var(--shadow-small)}.map-tile[aria-disabled]{cursor:default;background:var(--panel2)}.map-tile[aria-disabled] .map-tile-name{color:var(--mut)}.map-tile-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.map-tile-name{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-tile-sub{font-weight:800;font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-tile-meta{display:flex;align-items:center;gap:6px;min-width:0}.map-tile-stars,.map-tile-lock{display:flex;flex:none;color:var(--mut)}.map-tile-lock svg{width:14px;height:14px}@media(max-height:520px),(max-width:760px){.map-view-toggle{height:48px;padding:2px}.map-view-toggle .seg{min-height:44px;min-width:44px;padding:0 10px;justify-content:center}.map-view-toggle .seg span{display:none}.map-screen .map-tl{max-width:calc(100% - var(--tr-w, 250px) - 34px)}.map-list{padding-top:72px}.map-list-head h2{font-size:18px}.map-list-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.map-tile{min-height:60px;padding:8px 12px 8px 8px;gap:10px}.map-tile .hex-level{width:40px;height:46px;font-size:17px}.map-tile-name{font-size:15px}}.hex-spin{width:46px;height:52px;animation:gem-spin 1.6s cubic-bezier(.6,0,.4,1) infinite}@keyframes gem-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@media(prefers-reduced-motion:reduce){.hex-spin,.scene-loading .sl-gem{animation:pulse 1.6s infinite}}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.goal-tile{background:var(--panel2);border-radius:16px;padding:8px 12px;display:flex;flex-direction:column;gap:1px;text-align:left;min-width:0}.gt-k{font-weight:800;font-size:11px;color:var(--mut)}.gt-v{font-weight:900;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-tile.is-bad .gt-v{color:var(--dgrink)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--tint);z-index:20;padding:20px}.overlay.is-sheet{background:none;align-items:flex-end;padding-bottom:116px;pointer-events:none}.overlay.is-sheet>*{pointer-events:auto}.end-card{width:min(480px,100%);padding:28px;text-align:center;border-radius:var(--r-dialog);background:var(--panel);box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;align-items:center;gap:14px;animation:dlg-in .38s cubic-bezier(.34,1.4,.64,1)}@keyframes dlg-in{0%{transform:translateY(14px) scale(.92);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.end-card{animation:none}}.end-title{font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1.05}.end-level{font-weight:800;font-size:14px}.end-reason{color:var(--ink2);font-size:14px;font-weight:800;line-height:1.45}.end-actions{display:flex;gap:10px;width:100%}.end-actions button{min-height:52px;padding:0 20px}.end-actions .btn-primary{flex:1}.end-actions.vertical{flex-direction:column}.end-actions.vertical button{width:100%;flex:none}.stars{display:flex;justify-content:center;align-items:center;gap:10px;line-height:1}.stars i{font-style:normal;display:inline-flex;color:var(--star);filter:drop-shadow(0 4px 0 var(--star-edge));animation:star-pop .4s cubic-bezier(.34,1.8,.64,1) backwards}.stars i.off{color:var(--starOff);filter:drop-shadow(0 4px 0 color-mix(in srgb,var(--starOff) 70%,#000))}.stars i.big{transform:translateY(-6px)}.stars i:nth-child(1){animation-delay:.15s}.stars i:nth-child(2){animation-delay:.32s}.stars i:nth-child(3){animation-delay:.5s}@keyframes star-pop{0%{scale:0}70%{scale:1.3}to{scale:1}}@media(prefers-reduced-motion:reduce){.stars i{animation:none}}.win-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.win-card{max-height:100%;overflow-y:auto;touch-action:pan-y}.win-card>*{flex-shrink:0}.win-head,.win-main{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;min-width:0}.win-card .win-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.win-card .win-stats .goal-tile{padding:6px 9px;border-radius:12px}.win-card .win-stats .gt-k{font-size:10.5px;line-height:1.15;overflow-wrap:anywhere}.win-card .win-stats .gt-v{font-size:13px}@media(max-width:480px){.win-card .win-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:640px)and (min-width:600px){.win-card.is-split{width:min(800px,100%);display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,1.5fr);column-gap:24px;row-gap:12px;align-items:center;padding:18px 22px}.win-card.is-split>.win-head{grid-column:1;grid-row:1 / span 2;gap:8px}.win-card.is-split>.win-main{grid-column:2;grid-row:1}.win-card.is-split>.result-community-actions{grid-column:2;grid-row:2;margin-top:0}.win-card.is-split .end-title{font-size:26px}.win-card.is-split .stars i svg{width:34px;height:34px}.win-card.is-split .stars i.big svg{width:42px;height:42px}.win-card.is-split .win-hint{font-size:12.5px;line-height:1.4}.win-card.is-split .end-actions button{min-height:48px}}.win-hint{font-size:13px;color:var(--mut)}.hint-stars{display:inline-flex;vertical-align:-1px;color:var(--star)}.end-next svg{width:14px;height:14px;flex:none}.win-card .end-actions button{white-space:nowrap;padding:0 14px}@media(max-width:480px){.end-actions .kbd{display:none}}.fail-card{width:min(500px,100%);padding:22px;gap:12px;align-items:stretch;text-align:left}.fail-head{display:flex;align-items:center;gap:14px}.fail-bang{width:52px;height:52px;flex:none;border-radius:999px;background:var(--dgr);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:26px}.fail-card.is-validation .fail-bang{background:var(--panel2);color:var(--ink)}.fail-col{display:flex;flex-direction:column;gap:2px;min-width:0}.fail-col .end-title{font-size:24px}.fail-col .end-reason{color:var(--mut);font-size:14px}.fail-hint{display:flex;gap:8px;align-items:flex-start;background:var(--panel2);border-radius:18px;padding:12px 14px;font-weight:800;font-size:14px;line-height:1.4}.fh-ic{color:var(--acc-edge);flex:none}.confirm-card{width:min(380px,100%)}.pause-card{width:min(340px,100%);padding:24px;gap:6px}.pause-card .end-title{font-size:26px;padding-bottom:6px}.pause-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pause-head .end-title{padding-bottom:0}.pause-card .pause-feedback{min-height:44px;padding:0 14px 0 10px;gap:6px;font-size:14px;flex:none}.pause-card .end-actions button{min-height:50px;font-size:17px}.pause-card .btn-secondary svg{width:17px;height:17px}.settings-card{width:min(440px,100%);padding:26px;gap:14px;align-items:stretch;text-align:left;max-height:100%;overflow-y:auto;touch-action:pan-y}.dlg-head{display:flex;justify-content:space-between;align-items:center}.dlg-title{font-family:var(--font-display);font-weight:700;font-size:28px}.dlg-close{width:44px;height:44px}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2);border-radius:22px;padding:10px 10px 10px 16px}.set-col{display:flex;flex-direction:column;min-width:0}.set-k{font-weight:900;font-size:15px}.set-sub{font-weight:800;font-size:12px;color:var(--mut)}.set-row .seg-wrap{flex:none}.set-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.set-acts button{min-height:46px;padding:6px 14px;font-size:13px;line-height:1.2;font-weight:900;font-family:var(--font-ui)}.set-acts .set-reset{grid-column:1 / -1}.set-reset.is-armed{background:var(--dgr);color:#fff}.brief-card{width:min(520px,100%);padding:28px;gap:18px;align-items:stretch;text-align:left}.brief-head{display:flex;align-items:center;gap:16px}.brief-head .hex-level{width:72px;height:82px;font-size:30px;background:var(--acc)}.brief-col{display:flex;flex-direction:column;gap:2px;min-width:0}.brief-tag{font-weight:900;font-size:11px;letter-spacing:.14em;color:var(--mut)}.brief-name{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1}.brief-sub{font-weight:800;font-size:14px;color:var(--mut)}.brief-desc{font-weight:800;font-size:16px;line-height:1.45;text-wrap:pretty}.thresholds{display:flex;gap:8px}.thr{flex:1;min-width:0;border:2px solid var(--track);border-radius:18px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.thr-stars{display:flex;color:var(--star)}.thr-v{font-weight:900;font-size:12px}.brief-build{font-size:20px}.brief-help{font-weight:800;font-size:12px;color:var(--mut);text-align:center}.scene-loading{position:absolute;inset:0;z-index:0;pointer-events:none;display:flex;align-items:center;justify-content:center;background:var(--canvas);transition:opacity .45s ease-out}.scene-loading.is-done{opacity:0}.scene-loading .sl-card{display:flex;flex-direction:column;align-items:center;gap:14px}.scene-loading .sl-gem{width:46px;height:52px;clip-path:var(--hex);background:conic-gradient(from -60deg,var(--hex-a) 0 120deg,var(--hex-b) 0 240deg,var(--hex-c) 0);animation:gem-spin 1.6s cubic-bezier(.6,0,.4,1) infinite}.scene-loading .sl-txt{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--ink)}.tool-context{flex-shrink:0;width:200px;padding:14px;border-radius:24px;display:flex;flex-direction:column;gap:8px}.tool-context:empty{display:none!important}.ctx-title{font-size:10.5px;letter-spacing:.14em;color:var(--mut);font-weight:900;text-transform:uppercase}.ctx-btn{height:32px;border-radius:999px;background:var(--chip);color:var(--ink);font-size:13px;font-weight:800;transition:background .15s}.ctx-btn:hover{background:var(--chiph)}.ctx-btn.is-on{background:var(--sel);color:var(--selink)}.ctx-hint{font-size:12px;font-weight:700;color:var(--mut)}.ctx-force{font-size:16px;font-weight:900;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums}.ctx-steps{display:flex;gap:4px}.ctx-steps button{flex:1;height:30px;border-radius:999px;background:var(--chip);font-size:12px;font-weight:900}.ctx-steps button:hover{background:var(--chiph)}.tgl-row{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.tgl-lbl{font-size:13px;font-weight:800;color:var(--ink2)}.tgl{position:relative;width:36px;height:20px;border-radius:999px;background:var(--track);flex-shrink:0;transition:background .15s}.tgl.is-on{background:var(--ok)}.tgl-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--knob);box-shadow:0 1px 3px #0000004d;transition:left .15s}.tgl.is-on .tgl-knob{left:18px}.deck{display:flex;align-items:flex-end;gap:10px;padding:12px;border-radius:40px;flex-wrap:wrap;justify-content:center;min-width:0}.mat-cards{display:flex;gap:8px;align-items:flex-end}.mat-chip{position:relative;width:74px;height:90px;flex:none;border-radius:28px;background:var(--panel);border:3px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:var(--shadow-small);color:var(--ink);transition:transform .12s,border-color .12s,box-shadow .12s}.mat-chip:hover{transform:translateY(-3px)}.mat-chip.is-on{border-color:var(--acc);transform:translateY(-8px);box-shadow:0 12px 24px var(--acc-glow)}.mat-chip.is-locked{opacity:.5;box-shadow:none}.mat-chip.is-locked:hover{transform:none}.mat-sw{width:38px;height:26px;border-radius:999px;background:var(--sw);box-shadow:inset 0 -5px 0 var(--sw-shade)}.mat-name{font-family:var(--font-display);font-weight:700;font-size:15px;line-height:1}.mat-sub{font-weight:900;font-size:9px;color:var(--mut);white-space:nowrap}.mat-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%}.deck-right{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 6px 4px;min-width:170px;max-width:340px}.deck-right .sec-sel,.deck-right .deck-note{grid-column:1}.sec-sel{display:flex;gap:6px}.sec-sel button{width:40px;height:40px;border-radius:999px;background:var(--panel);box-shadow:var(--shadow-small);font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--ink)}.sec-sel button:hover{background:var(--panel-hi)}.sec-sel button.is-on{background:var(--sel);color:var(--selink)}.deck-note{display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.35;color:var(--ink2)}.deck-note .dn-main{font-weight:900;font-variant-numeric:tabular-nums}.deck-note .dn-note{font-weight:800;color:var(--mut)}.deck-palette-toggle{min-height:44px;padding:6px 12px;border:0;border-radius:var(--r-btn);background:var(--chip);color:var(--ink);font-family:var(--font-ui);font-weight:800;font-size:12px;cursor:pointer;grid-column:2;grid-row:1 / 3;align-self:center}.deck-palette-toggle:hover{background:var(--panel-hi)}.sim-tray{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:26px;flex-wrap:wrap;justify-content:center;min-width:0;box-shadow:var(--shadow-panel)}.sld-row{display:flex;align-items:center;gap:7px}.sld-lbl{font-size:10.5px;font-weight:900;letter-spacing:.12em;color:var(--mut);text-transform:uppercase}.sld-row input[type=range]{width:96px}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:20px}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:var(--track)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px var(--panel),0 2px 6px #00000040}input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--track)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid var(--panel);border-radius:50%;background:var(--acc)}input[type=range]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sld-val{font-size:12px;font-weight:900;color:var(--ink2);min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.sim-reset{height:40px;width:40px}.sim-case{display:flex;flex-direction:column;gap:1px;padding:0 4px 0 2px}.sim-case .sc-lbl{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--mut)}.sim-case .sc-val{font-size:13px;font-weight:900;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.sim-case .sc-val.bad{color:var(--dgrink)}.sim-case .sc-val.ok{color:var(--ok)}.drawers{width:220px;flex-shrink:0;align-self:flex-start;max-height:100%;display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:none;touch-action:pan-y}.drawers::-webkit-scrollbar{display:none}.drawers .results,.drawers .stress-legend{width:auto;flex-shrink:0}.drawer-side{display:flex;flex-direction:column;gap:8px;flex-shrink:0;min-height:0}.drawer-rail{display:none}.drawer-ic{width:44px;height:44px;border-radius:999px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink2);transition:background .15s,color .15s}.drawer-ic:hover{background:var(--chip);color:var(--ink)}.drawer-ic.is-on{background:var(--acc);color:var(--accink)}.drawer{flex-shrink:0;border-radius:22px;overflow:hidden}.drawer-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-size:11px;letter-spacing:.14em;color:var(--ink2);font-weight:900;text-transform:uppercase}.drawer-head:hover{color:var(--ink)}.drawer-head .chev{color:var(--acc-edge);display:flex;transition:transform .15s}.drawer-head .chev svg,.sc-wtoggle .chev svg{width:14px;height:14px}.drawer:not(.closed)>.drawer-head .chev,.chev.is-open{transform:rotate(90deg)}.drawer-body{padding:2px 16px 14px;display:flex;flex-direction:column;gap:8px}.drawer.closed .drawer-body{display:none}.drawer-body .btn-secondary,.drawer-body .btn-danger{height:34px;font-size:13px}.seg-wrap.seg-mini{width:100%;background:var(--panel2)}.seg-wrap.seg-mini .seg{flex:1;padding:6px 4px;font-size:11px;text-align:center}.sel-row{display:flex;flex-direction:column;gap:4px}.sel-lbl{font-size:10.5px;font-weight:900;letter-spacing:.12em;color:var(--mut);text-transform:uppercase}.sel-input{width:100%;height:34px;padding:0 10px;border-radius:14px;border:none;background:var(--chip);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.sel-input:hover{background:var(--chiph)}.sel-input option{background:var(--panel);color:var(--ink)}.env-body{display:flex;flex-direction:column;gap:8px}.env-body.off{display:none}.env-note{font-size:12px;font-weight:700;color:var(--mut)}.sld-row.is-off{display:none}.sc-wtoggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.sc-wtoggle .chev{color:var(--acc-edge);display:flex;transition:transform .15s}@media(max-height:520px),(max-width:760px){.sc-wtoggle{min-height:44px}}.lc-tabs{margin-bottom:2px}.tool-context.has-cases{overflow:hidden}.lc-panel{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:none;touch-action:pan-y}.lc-panel::-webkit-scrollbar{display:none}.lc-addbar{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.lc-list{display:flex;flex-direction:column;gap:4px}.lc-row{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border-radius:14px;background:var(--chip);color:var(--ink2);font-size:13px;font-weight:800;text-align:left;transition:background .15s}.lc-row:hover{background:var(--chiph)}.lc-row.is-on{background:var(--accbg);color:var(--ink);box-shadow:inset 0 0 0 2px var(--acc)}.lc-pick{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;row-gap:0;background:none;color:inherit;font:inherit;text-align:left}.lc-pick .lc-name{flex:1 0 100%}.lc-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;box-shadow:inset 0 0 0 2px var(--mut)}.lc-row.is-on .lc-dot{background:var(--acc-edge);box-shadow:none}.lc-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-val{font-size:11px;font-weight:900;color:var(--mut2);white-space:nowrap;font-variant-numeric:tabular-nums}.lc-del{width:26px;height:26px;flex-shrink:0;border-radius:999px;font-size:12px}.lc-del:hover{background:var(--dgrbg);color:var(--dgrink)}.lc-edit{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:14px;background:var(--chip)}.lc-field{display:flex;align-items:center;justify-content:space-between;gap:6px}.lc-flbl{font-size:10.5px;font-weight:900;letter-spacing:.12em;color:var(--mut);text-transform:uppercase}.lc-fval{font-size:13px;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}.lc-steps{display:flex;gap:4px}.lc-steps button{flex:1;height:28px;border-radius:999px;background:var(--panel);color:var(--ink2);font-size:12px;font-weight:900}.lc-steps button:hover{background:var(--panel-hi)}.lc-add{display:flex;gap:4px}.lc-add button{flex:1;height:30px;border-radius:999px;background:var(--chip);color:var(--ink);font-size:12px;font-weight:800}.lc-add button:hover{background:var(--chiph)}.lc-note{font-size:11.5px;font-weight:700;line-height:1.45;color:var(--mut)}.lc-warn{font-size:11.5px;font-weight:800;line-height:1.45;padding:6px 8px;border-radius:12px;background:var(--dgrbg);color:var(--dgrink)}.sc-mode{height:34px;font-size:13px;border-radius:999px}.sc-mode.is-on{background:var(--sel);color:var(--selink)}.sc-stat{font-size:11.5px;font-weight:700;color:var(--mut)}.sc-edit,.sc-water{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:14px;background:var(--chip)}.sc-name{font-size:13px;font-weight:900;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-acts{display:flex;gap:4px}.sc-acts .chipbtn{flex:1;min-width:34px;height:32px;background:var(--panel)}.sc-acts .sc-del:hover{background:var(--dgrbg);color:var(--dgrink)}.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;max-height:208px;overflow-y:auto;scrollbar-width:none;touch-action:pan-y}.sc-grid::-webkit-scrollbar{display:none}.sc-tile{aspect-ratio:1;padding:2px;border-radius:14px;background:var(--chip);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .15s,box-shadow .15s}.sc-tile:hover{background:var(--chiph)}.sc-tile.is-on{background:var(--accbg);box-shadow:inset 0 0 0 2px var(--acc)}.sc-tile img{width:100%;height:100%;object-fit:contain}.sc-fallback{font-size:11px;color:var(--mut2)}.zoom-cluster{pointer-events:auto;align-self:flex-end;display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px}.zoom-cluster .chipbtn{width:32px;height:32px}.zoom-val{font-size:12px;font-weight:900;color:var(--ink2);min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.cam-cluster{display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;align-self:flex-end}.cam-cluster .chipbtn{width:38px;height:38px}.bar-toolbar{position:absolute;display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:999px;background:var(--panel);box-shadow:var(--shadow);transform:translate(-50%,-130%)}.bar-toolbar .bt-info{font-size:12px;font-weight:900;color:var(--ink2);white-space:nowrap;padding:0 6px;font-variant-numeric:tabular-nums}.bar-toolbar .chipbtn{width:32px;height:32px}.bar-toolbar .bt-del:hover{background:var(--dgrbg);color:var(--dgrink)}.bar-toolbar .chipbtn svg{width:17px;height:17px}.bar-toolbar .bt-locked{color:var(--mut);padding-left:0}.loupe{position:absolute;z-index:16;pointer-events:none;width:140px;height:140px;border-radius:28px;background:radial-gradient(circle at center,transparent 0 59.5px,var(--panel) 60.5px);box-shadow:var(--shadow)}.loupe:before{content:"";position:absolute;inset:10px;border-radius:50%;box-shadow:inset 0 0 0 2.5px var(--acc-edge)}.loupe:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);background:linear-gradient(var(--ink),var(--ink)) center / 2px 100% no-repeat,linear-gradient(var(--ink),var(--ink)) center / 100% 2px no-repeat;opacity:.55}.draw-end{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 16px 0 12px;align-self:flex-end;border-radius:999px;color:var(--ink);font-weight:900;font-size:13.5px;white-space:nowrap}.draw-end svg{color:var(--dgrink)}.thumb-actions{display:none}.mes-head{display:flex;align-items:center;gap:8px;width:100%;text-align:left;color:inherit;font:inherit;cursor:default}.mes-sum,.mes-caret,.mes-title-short{display:none}.view-zoom{display:none;align-items:center;gap:6px}.view-zoom .tgl-lbl{flex:1}.view-zoom .chipbtn{width:44px;height:44px;flex:none}.view-zoom .tgl-lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-zoom .tgl-lbl{flex:1;font-size:0;height:24px;background:var(--ink2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21'/%3E%3C/svg%3E") left center / 24px 24px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21'/%3E%3C/svg%3E") left center / 24px 24px no-repeat}.pause-grid{display:flex;flex-direction:column;gap:10px}.pause-item{display:flex;align-items:center;justify-content:center;gap:8px}.pause-item svg{width:17px;height:17px;flex:none}input.set-range{width:150px;height:44px;flex:none}.set-range:disabled{opacity:.45}.load-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.load-lbl{position:absolute;pointer-events:none;transform:translate(-50%,-50%);padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:900;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--warm);background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:var(--shadow-small)}.load-lbl.is-ramp{font-style:italic}.load-lbl.is-draw,.load-lbl.is-node-move{transform:translate(-50%,calc(-100% - 14px));color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 2px var(--acc),var(--shadow-small)}.load-lbl.is-draw.is-bad,.load-lbl.is-node-move.is-bad{color:var(--dgrink);box-shadow:inset 0 0 0 2px var(--dgr),var(--shadow-small)}.load-lbl.is-node-move{transform:translate(-50%,20px)}.load-lbl.is-culprit{transform:translate(-50%,calc(-100% - 22px));color:var(--dgrink);background:var(--dgr);box-shadow:var(--shadow-small)}.load-lbl.is-culprit.is-yield{color:var(--ink);background:var(--warmbg);box-shadow:inset 0 0 0 2px var(--warm),var(--shadow-small)}.load-lbl.is-route{color:var(--warm)}.load-lbl.is-warn{color:var(--dgrink);background:var(--dgrbg)}.load-lbl.is-mechanism{color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 2px var(--warm),var(--shadow-small)}.load-lbl.is-zone{color:var(--dgrink);background:var(--panel);box-shadow:inset 0 0 0 1.5px var(--dgr),var(--shadow-small)}.box-select{position:absolute;z-index:15;pointer-events:none;border-radius:4px;border:2px solid var(--acc-edge);background:color-mix(in srgb,var(--acc) 14%,transparent)}.box-select.crossing{border-style:dashed;border-color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.dlg-input{width:100%;height:46px;padding:0 16px;border:none;border-radius:999px;background:var(--chip);color:var(--ink);font:inherit;font-size:15px;outline:none;transition:box-shadow .15s,background .15s}.dlg-input::placeholder{color:var(--mut)}.dlg-input:focus{box-shadow:inset 0 0 0 2px var(--acc-edge);background:var(--panel-hi)}.slot-list{width:100%;display:flex;flex-direction:column;gap:6px;max-height:44vh;overflow-y:auto;text-align:left;touch-action:pan-y}.slot-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:18px;background:var(--chip)}.slot-info{flex:1;min-width:0}.slot-name{font-size:14px;font-weight:900;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-date{font-size:11px;font-weight:700;color:var(--mut);margin-top:1px}.slot-row .btn-secondary{height:36px;padding:0 14px;font-size:13px;background:var(--panel)}.slot-row .slot-del{width:36px;height:36px;flex-shrink:0}.slot-row .slot-del:hover{background:var(--dgrbg);color:var(--dgrink)}.rotate-hint{position:absolute;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:24px;background:var(--tint)}.rotate-card{width:min(320px,88vw);padding:24px 22px;border-radius:var(--r-dialog);text-align:center;box-shadow:var(--shadow-dialog)}.rotate-ic{display:flex;justify-content:center;color:var(--acc-edge);margin-bottom:12px}.rotate-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink)}.rotate-desc{margin-top:8px;font-size:14px;font-weight:700;line-height:1.5;color:var(--ink2)}.rotate-skip{width:100%;height:46px;margin-top:18px}@media(orientation:portrait)and (max-width:620px)and (pointer:coarse){.hud:not(.rotate-ok) .rotate-hint{display:flex}}@media(min-width:1200px)and (min-height:521px){.top-left{flex-direction:row;align-items:stretch}.proj-card{width:clamp(270px,25vw,315px);max-width:none;flex:none}.gauge--budget{width:220px}.gauge--mass{width:185px}}@media(max-height:520px),(max-width:760px){.hud-stack{padding:10px 0 12px;gap:6px}.top-strip,.hud-mid{margin-left:max(12px,env(safe-area-inset-left));margin-right:max(12px,env(safe-area-inset-right))}.top-strip,.top-left,.hud-left{gap:6px}.left-dock{gap:8px}.top-left{flex-direction:row;align-items:stretch;min-width:0}.proj-card{padding:4px 10px 4px 4px;gap:8px;min-width:0}.proj-back{width:44px;height:44px}.lv-badge{display:none}.proj-name{font-size:15px;max-width:150px}.goal-card{gap:6px}.gauge{width:132px;padding:6px 10px;border-radius:20px;display:flex;align-items:center}.gauge--mass{width:118px}.gauge .meter-col{gap:4px;width:100%}.gauge .meter-head .t-section,.gauge .meter-marks,.meter-val .unit{display:none}.meter-val{font-size:11.5px}.meter-track{height:8px}.top-actions{gap:6px}.act-btn{height:44px;padding:0 12px}.act-btn.round{width:44px}.act-stress .as-lbl{display:none}.act-stress{width:44px;padding:0}.mini-meters{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;flex-shrink:0}.mini-track{height:5px;background:var(--track);border-radius:999px;overflow:hidden}.mini-fill{height:100%;width:0%;background:var(--gauge-good);transition:width .15s,background .15s}.mini-fill--mass{background:var(--mut2)}.mini-fill.over{background:var(--gauge-over)}.info-toggle{display:flex;width:44px;height:44px;flex:none}.hud:not(.info-open) .proj-col,.hud:not(.info-open) .goal-card{display:none}.hud.info-open .mini-meters,.goal-chips,.hint-bubble{display:none}.deck-chip{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:999px;color:var(--ink);font-size:13.5px;font-weight:900;white-space:nowrap;align-self:flex-end}.deck-chip .dc-sec{font-size:11px;color:var(--mut)}.deck-chip .dc-caret{display:flex;color:var(--acc-edge);transition:transform .15s}.deck-chip.is-on{background:var(--sel);color:var(--selink)}.deck-chip.is-on .dc-sec,.deck-chip.is-on .dc-caret{color:var(--selink)}.deck-chip.is-on .dc-caret{transform:rotate(180deg)}.deck{display:none;padding:8px;gap:8px;border-radius:28px}.bottom-bar.deck-open{flex-wrap:wrap}.bottom-bar.deck-open:before{content:"";order:-1;flex-basis:100%;height:0;margin-top:-8px}.deck.is-open{display:flex;order:-2;flex:0 1 auto;max-width:100%;margin-left:0;margin-right:auto;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.mat-chip{width:60px;height:48px;border-radius:18px;gap:3px;border-width:2px}.mat-chip.is-on{transform:none}.mat-sw{width:26px;height:12px;box-shadow:inset 0 -3px 0 var(--sw-shade)}.mat-name{font-size:12.5px}.mat-sub{display:none}.deck-right{display:flex;flex-direction:row;align-items:center;min-width:0;max-width:none;padding:0;flex-shrink:0}.deck-right .deck-note{display:none}.deck-palette-toggle{white-space:nowrap}.sec-sel button{width:44px;height:44px}.deck-note .dn-note{display:none}.tool-context{display:none;width:180px;padding:10px 12px}.tool-context.is-open{display:flex}.tool-context.is-support>.ctx-title,.tool-context.is-support>.ctx-hint{display:none}.tool.is-on.has-opts:before{content:"";position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.55}.tool-key{display:none}.sim-more{display:flex;width:44px;height:44px}.ws-scale,.ws-note{display:none}.sim-tray:not(.is-open) .sim-extra{display:none}.sim-tray{padding:6px 12px;gap:8px;border-radius:22px}.tool-rail{padding:5px;border-radius:24px;display:grid;grid-template-columns:44px 44px;gap:2px}.tool{width:44px;height:44px}.bottom-bar{gap:8px;padding:0 max(14px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.testbtn{width:60px;height:68px;gap:0}.testbtn .tb-ic svg{width:18px;height:18px}.testbtn .tb-cap{font-size:11px}.testbtn .tb-key{display:none}.stopbtn{width:48px;height:54px;gap:0}.stopbtn .tb-ic svg{width:13px;height:13px}.stopbtn .tb-cap{font-size:10px}.stopbtn .tb-key{display:none}.drawers{width:auto;align-self:stretch;height:100%;max-height:100%;flex-direction:row-reverse;align-items:center;justify-content:flex-start;gap:6px;overflow:visible}.drawer-side{height:100%;justify-content:center;align-items:flex-end;gap:6px}.drawer-rail{display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;gap:2px;padding:5px;border-radius:26px;max-height:100%}.drawers .results,.drawers .stress-legend{width:196px}.results,.stress-legend{padding:8px 12px}.legend-note{display:none}.stress-legend.has-note .legend-note{display:block}.legend-wrap{margin-top:6px}.mes-row{font-size:11.5px;margin-top:4px}.drawers .drawer{display:none;width:180px;max-height:100%;overflow-y:auto;scrollbar-width:none;touch-action:pan-y}.drawers .drawer::-webkit-scrollbar{display:none}.drawers .drawer.is-flyout{display:flex;flex-direction:column}.drawers .drawer.is-flyout .drawer-body{display:flex}.drawers .drawer.is-flyout .drawer-head{pointer-events:none}.drawers .drawer.is-flyout .chev{display:none}.drawer-head{min-height:44px}.drawer-body .btn-secondary,.drawer-body .btn-danger,.ctx-btn,.ctx-steps button{height:44px}.bar-toolbar .chipbtn{width:44px;height:44px}.load-lbl{font-size:10px;padding:1px 6px}.zoom-cluster .chipbtn{width:44px;height:44px}.sim-reset{height:44px;width:44px}.end-actions button{min-width:44px;min-height:46px}.sld-row input[type=range]{height:24px;width:100px}.overlay{padding:10px}.end-card{max-height:100%;overflow-y:auto;touch-action:pan-y;padding:18px 20px;gap:10px}.end-title{font-size:26px}.stars i svg{width:34px;height:34px}.stars i.big svg{width:42px;height:42px}.dlg-input{height:46px;font-size:16px}.toast{bottom:92px;font-size:12px}.fail-banner{font-size:13px;padding:7px 16px}.overlay.is-sheet{padding-bottom:80px}.fail-card{padding:14px 16px}.fail-bang{width:40px;height:40px;font-size:20px}.fail-col .end-title{font-size:19px}.fail-hint{font-size:12.5px;padding:8px 12px}.brief-card,.settings-card{padding:18px 20px;gap:12px}.brief-head .hex-level{width:54px;height:62px;font-size:22px}.brief-name{font-size:24px}.brief-desc{font-size:13.5px}.brief-help{display:none}.goal-tile{padding:6px 10px}.gt-v{font-size:12.5px}.cam-cluster{padding:3px}.cam-cluster .chipbtn{width:44px;height:44px}[data-tip]:after{display:none}.slot-row .btn-secondary,.slot-row .slot-del{height:44px}.slot-row .slot-del{width:44px}.lc-row{padding:0 4px 0 8px;min-height:44px}.lc-pick{align-self:stretch;min-height:44px}.lc-edit .lc-note{display:none}.lc-del{width:44px;height:44px}.lc-steps button{height:44px}.lc-add button{height:44px;font-size:11px}.tool-context.has-cases{padding:8px 12px;gap:6px}.tool-context.has-cases>.ctx-title{display:none}.lc-addbar{border-top:1px solid var(--line);padding-top:6px}.seg-wrap.seg-mini .seg{min-height:44px}.sc-mode{height:44px}.sc-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));max-height:160px}.sc-acts .chipbtn{min-width:44px;height:44px}.sel-input{height:44px;font-size:16px}.seg{min-height:44px;display:flex;align-items:center}.act-clear{display:none}.thumb-actions{display:flex;gap:6px;align-self:flex-end}.hud:not(.rail-full) .tool[data-tool=copy]{display:none}.cam-cluster.is-home{display:none}.view-zoom{display:flex}.mes-head{min-height:44px;cursor:pointer}.mes-head .t-section{flex:none}.results:not(.is-open) .mes-title{display:none}.results:not(.is-open) .mes-title-short{display:block}.mes-sum{display:block;margin-left:auto;font-size:12px;font-weight:900;color:var(--ws);white-space:nowrap}.mes-caret{display:flex;color:var(--acc-edge);transform:rotate(180deg);transition:transform .15s}.results.is-open .mes-caret{transform:none}.results.is-open .mes-sum{display:none}.results:not(.is-open)>:not(.mes-head):not(.legend-wrap){display:none}.results:not(.is-open) .legend-wrap{margin-top:2px}.results:not(.is-open) .legend-scale{display:none}.sld-row input[type=range]{height:44px}input[type=range]::-webkit-slider-thumb{width:26px;height:26px;margin-top:-9px}input[type=range]::-moz-range-thumb{width:22px;height:22px}.pause-card{width:min(640px,100%);padding:16px 18px;gap:8px}.pause-card .end-title{font-size:22px;padding-bottom:2px}.pause-card .end-actions button{min-height:48px;font-size:15px}.pause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pause-item{padding:0 10px}.pause-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-range{width:120px}.menu-col{margin-left:max(16px,env(safe-area-inset-left));width:min(400px,calc(100vw - 32px));padding:16px 0;gap:10px;justify-content:flex-start}.hex-logo{width:44px;height:50px}.mb-logo{font-size:46px}.mb-tag{font-size:10px}.menu-card{padding:14px;gap:10px;border-radius:30px}.mc-title{font-size:22px}.mc-play{width:48px;height:48px}.mm-title{font-size:18px}.menu-row .round-btn{width:48px;height:48px}.menu-sandbox{--ms-h: 48px;padding:0 18px}.map-screen .map-tl{left:max(12px,env(safe-area-inset-left));top:12px;max-width:calc(100% - var(--tr-w, 250px) - 34px)}.map-screen .map-tr{right:max(12px,env(safe-area-inset-right));top:12px}.map-screen .map-side{right:max(12px,env(safe-area-inset-right));top:70px}.round-btn.big{width:48px;height:48px}.map-tabs{height:48px;padding:4px}.map-screen .cloud-map-campaign{min-height:48px;padding:8px 16px;font-size:13px}.map-tab:not(.is-on){display:none}.map-tab{padding:6px 12px}.mt-lbl{font-size:13px}.map-stars{height:48px;padding:0 12px;font-size:14px}.map-side .round-btn{width:44px;height:44px}.map-legend{display:none}.map-next{right:max(12px,env(safe-area-inset-right));bottom:12px;padding:6px 6px 6px 16px}.mn-name{font-size:15px}.map-card{bottom:10px;padding:14px;gap:8px;width:min(520px,calc(100% - 24px))}.mc-name{font-size:20px}.hex-level{width:46px;height:52px;font-size:19px}.mc-desc{display:none}.mc-build,.mc-drive{height:46px}}@media(max-height:420px){.map-screen.has-pad .map-side{flex-direction:row}}@media(max-width:600px){.map-screen .map-tl{max-width:calc(100% - 92px)}.map-screen .map-tl>.map-back{margin-right:calc(100% - 48px)}}.screen>.cloud-corner-link{position:absolute;z-index:2;margin:0;right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.screen>.cloud-corner-link a{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--panel);color:var(--ink2);box-shadow:var(--shadow-small);font-weight:800;font-size:12.5px;text-decoration:none}.screen>.cloud-corner-link a:hover{color:var(--ink);background:var(--panel-hi)}.screen>.cloud-corner-link a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}@media(max-height:820px)and (min-width:600px){.menu-col{width:min(800px,calc(100vw - 96px));padding:24px 0;gap:12px}.menu-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;grid-template-areas:"career social" "cont learn" "map row"}.menu-card>.career{grid-area:career}.menu-card>.menu-continue{grid-area:cont}.menu-card>.menu-social{grid-area:social}.menu-card>.menu-map{grid-area:map}.menu-card>.menu-learn-row{grid-area:learn;margin-bottom:0}.menu-card>.menu-row{grid-area:row;align-self:end}}@media(max-height:520px)and (min-width:600px){.menu-col{width:min(620px,calc(100vw - 32px));padding:10px 0;gap:6px}.menu-card{gap:10px}.career-head{flex-wrap:wrap;row-gap:0}.career-next{font-size:11px}.career{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px}.career .hex-rank{grid-row:1 / span 2;width:40px;height:46px;font-size:17px}.career-stats{flex-direction:row;align-items:baseline;gap:10px}.career-name{max-width:100%;font-size:15px;line-height:1.1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.cs-stars{font-size:13px}.menu-brand .hex-logo{width:34px;height:39px}.menu-brand .mb-logo{font-size:34px}.mm-worlds{display:none}.menu-col{padding:8px 0;justify-content:center}.menu-card{padding:12px;gap:8px}}@media(max-height:520px)and (min-width:600px)and (max-width:760px){.menu-col{width:calc(100vw - 160px)}.screen>.cloud-corner-link a{max-width:112px;padding:4px 14px;border-radius:18px;white-space:normal;text-align:center;line-height:1.15}.menu-social-button,.menu-learn-row button{flex-direction:column;gap:4px;padding:8px;font-size:15px}.menu-social-icon svg,.menu-learn-row svg{width:18px;height:18px}.menu-continue{padding:10px 10px 10px 16px;gap:10px}.menu-continue .mc-title{font-size:19px}.menu-continue .mc-play{width:42px;height:42px}}@media(max-height:430px){.tool-rail{grid-template-columns:repeat(3,44px);padding:2px}.tool-context.is-support{display:none;grid-template-columns:repeat(2,1fr);gap:2px;padding:2px}.tool-context.is-support.is-open{display:grid}.tool-context.is-support .ctx-btn{font-size:11px}.hud-stack{padding:max(8px,env(safe-area-inset-top)) 0 max(10px,env(safe-area-inset-bottom));gap:5px}.top-strip{align-items:stretch}.toast{bottom:80px}.map-card .goal-grid{display:none}}@media(max-height:430px)and (pointer:coarse){.zoom-cluster{display:none}}@media(max-width:560px){.top-strip,.top-left{flex-wrap:wrap}.top-actions{margin-left:0}.left-dock{flex-direction:column;align-items:flex-start}.tool-context{width:100%;max-width:178px}.drawers .drawer,.drawers .results,.drawers .stress-legend{width:154px}.goal-card{flex-wrap:wrap}.pause-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.campaign-overlay{overflow:hidden}.campaign-card{gap:12px;position:relative;z-index:1}.campaign-rank{display:flex;align-items:baseline;gap:8px;background:var(--acc);color:var(--accink);border-radius:999px;padding:6px 18px}.campaign-rank .cr-k{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.campaign-rank .cr-v{font-family:var(--font-display);font-weight:700;font-size:24px}.campaign-card .end-actions{flex-wrap:wrap}.campaign-card .end-actions .btn-primary{flex:1 1 100%;order:-1}.campaign-card .end-actions .btn-secondary{flex:1}.confetti{position:absolute;inset:0;pointer-events:none;z-index:0}.confetti .cf{position:absolute;top:-24px;width:10px;height:18px;border-radius:3px;opacity:.9;animation:cf-fall linear infinite}.confetti .cf0{background:var(--acc)}.confetti .cf1{background:var(--ok)}.confetti .cf2{background:var(--st-tens)}.confetti .cf3{background:var(--st-comp)}@keyframes cf-fall{0%{transform:translateY(0) rotate(0)}to{transform:translateY(110vh) rotate(540deg)}}@media(prefers-reduced-motion:reduce){.confetti{display:none}}@media(max-height:520px),(max-width:760px){.campaign-card{gap:8px;padding:16px 18px}.campaign-card .end-title{font-size:22px}.campaign-rank .cr-v{font-size:19px}.campaign-card .stars{display:none}.campaign-card .win-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.credit-unit{display:inline-flex;align-items:center;justify-content:center;width:.9em;height:1em;vertical-align:-.12em;color:inherit}.credit-unit svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.credit-unit .credit-wave{stroke-width:2.8}.credit-fallback{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}@media(hover:none)and (pointer:coarse){[data-tip]:after{display:none}.tool-key,.testbtn .tb-key,.stopbtn .tb-key,.kbd,.kbd-grid{display:none}.seg,.drawer-head,.hb-main{min-height:44px}.hb-x,.sec-sel button,.cam-cluster .chipbtn,.zoom-cluster .chipbtn,.bar-toolbar .chipbtn,.sim-reset{width:44px;height:44px}.mes-head{min-height:44px}.sld-row input[type=range]{height:44px}input[type=range]::-webkit-slider-thumb{width:26px;height:26px;margin-top:-9px}.drawer-body .btn-secondary,.drawer-body .btn-danger,.ctx-btn,.ctx-steps button{min-height:44px}}@media(min-width:761px)and (max-width:900px)and (min-height:521px){.act-stress .as-lbl{display:none}.gauge{width:180px}.proj-card{max-width:380px}.top-actions{gap:8px}.top-actions .act-btn.round{width:52px;height:52px}}@media(max-width:560px){.zoom-cluster{display:none}.bottom-bar{flex-wrap:wrap;row-gap:8px}.bottom-bar>.sim-tray{order:-1;flex:1 1 100%;margin-left:0}.sim-tray .sld-row{flex:1 1 auto}.sim-tray .sld-row input[type=range]{flex:1;min-width:60px;width:auto}.pause-item span{white-space:normal;text-overflow:clip;text-align:left;line-height:1.15}.mm-wlbl{white-space:normal;text-overflow:clip;line-height:1.2}}@media(max-width:380px){.deck-chip .dc-caret{display:none}}.map-tile-name,.map-tile-sub{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.screen.learning-screen{display:block;overflow-y:auto;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.learning-coach [hidden]{display:none!important}.learning-content{width:min(100%,780px);margin:auto;display:flex;flex-direction:column;gap:24px}.learning-head{display:flex;gap:16px;align-items:center}.learning-head h1{font-family:var(--font-display);font-size:32px;margin:0}.learning-intro{background:var(--panel);padding:24px;border-radius:32px;box-shadow:var(--shadow-small)}.learning-intro p{margin:0 0 16px;line-height:1.5}.learning-progress{color:var(--ok);font-weight:900}.learning-resume{min-height:52px;padding:10px 24px;width:100%}.learning-skip{min-height:44px;padding:8px 24px;width:100%;margin-top:16px}.learning-lessons{list-style:none;margin:0;padding:0;display:grid;gap:12px}.learning-lesson-button{width:100%;min-height:84px;padding:16px;gap:16px;justify-content:flex-start;border-radius:22px;text-align:left}.learning-number{background:var(--panel);min-width:44px;min-height:44px;border-radius:16px;display:flex;justify-content:center;align-items:center;font-size:20px}.learning-number.is-done{color:var(--ok);font-size:13px}.learning-lesson-text{display:flex;flex-direction:column;gap:5px;flex:1}.learning-lesson-text strong{font-size:19px}.learning-lesson-text>span{color:var(--mut);font-family:var(--font-ui);font-size:14px}.learning-footer{display:grid;gap:16px}.learning-footer button{min-height:48px}.learning-footer p{margin:0;font-size:13px;color:var(--mut)}.menu-learn-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.menu-learn-row>:only-child{grid-column:1 / -1}.menu-learn-row button{min-height:60px;padding:12px 10px;font:600 17px/1.2 var(--font-display);border-radius:24px;background:var(--panel2)}.menu-learn-row svg{width:22px;height:22px;flex-shrink:0}@media(max-width:380px){.menu-learn-row button{flex-direction:column;gap:4px;padding:8px;font-size:15px}.menu-learn-row svg{width:18px;height:18px}}.learning-lab-link svg{width:20px;height:20px;flex-shrink:0}.learning-lab-link{width:100%;padding:10px 16px}.lab-chapter{display:grid;gap:12px}.lab-chapter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 8px}.lab-chapter-text{display:grid;gap:4px}.lab-chapter-kicker{color:var(--mut);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.lab-chapter-head h2{font-family:var(--font-display);font-size:24px;margin:0;line-height:1.2}.lab-chapter-head p{margin:0;color:var(--mut);font-size:14px;line-height:1.4}.lab-chapter-count{color:var(--ok);font-weight:900;white-space:nowrap}.brief-card:has(.learning-practice){max-height:100%;overflow-y:auto;touch-action:pan-y}.hud:has(~.brief-overlay .learning-practice) .toast{opacity:0}.learning-practice{background:var(--panel2);border-radius:18px;padding:14px;display:grid;gap:12px}.learning-practice p{margin:0;font-size:14px;line-height:1.45}.learning-practice button{min-height:44px;padding:8px 16px;background:var(--panel)}.learning-coach{width:292px;flex-shrink:0;align-self:flex-start;max-height:100%;overflow-y:auto;pointer-events:auto;touch-action:pan-y;padding:16px;border-radius:24px;display:flex;flex-direction:column;gap:12px}.learning-coach>*{flex-shrink:0}.learning-coach-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;position:sticky;top:0;background:var(--panel);z-index:1}.learning-coach-heading{display:grid;gap:8px}.learning-task-short,.learning-hint-full{display:none}.learning-step{color:var(--mut);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.learning-task-title{font-family:var(--font-display);font-size:22px;margin:0;line-height:1.2}.learning-task-body,.learning-hint-body p{margin:0;font-size:14px;line-height:1.5}.learning-feedback{margin:0;font-size:12px;line-height:1.5;color:var(--mut)}.learning-feedback.is-ready{color:var(--ok);font-weight:900}.learning-feedback.is-failed{color:var(--dgrink)}.learning-coach-tools{display:flex;flex-direction:column;gap:8px}.learning-coach:not(.is-bar)>.learning-coach-tools{position:sticky;bottom:-16px;z-index:1;background:var(--panel);padding:8px 0 16px;margin:-8px 0 -16px}.learning-parts{margin:0;padding-left:18px;display:grid;gap:8px;font-size:13px;line-height:1.45}.learning-targets{display:flex;flex-wrap:wrap;gap:8px}.learning-control-link{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:8px 12px;font-size:13px}.learning-control-link svg{width:20px;height:20px;flex-shrink:0}.learning-control-number,.learning-control-marker{display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--acc);color:var(--accink);font-weight:900;width:22px;height:22px;flex-shrink:0}.learning-control-highlight{outline:3px solid var(--acc-edge);outline-offset:3px}.learning-button-markers{position:absolute;inset:0;z-index:18;pointer-events:none}.learning-control-marker{position:absolute;top:0;left:0;border:2px solid var(--panel);box-shadow:var(--shadow-small)}.learning-issues{border-radius:16px;padding:12px;background:var(--panel2);font-size:13px;line-height:1.45}.learning-issues ul{margin:8px 0 0;padding-left:16px;display:grid;gap:8px}.hud-learning .sec-sel button{min-width:44px;min-height:44px}.learning-coach-tools button{min-height:44px;padding:8px 12px}.learning-coach button:disabled{opacity:.55;cursor:default}.learning-hint-body{padding:12px;background:var(--panel2);border-radius:16px;display:grid;gap:10px}.learning-hint-note{font-size:12px!important;color:var(--mut)}.learning-reset{color:var(--mut);font-size:12px;text-decoration:underline;min-height:44px;padding:8px;flex-shrink:0}.learning-reset:focus-visible{outline:2px solid var(--ink);border-radius:16px}.learning-guide{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.learning-guide line{stroke:var(--acc);stroke-width:3;stroke-dasharray:9 7}.learning-guide circle{fill:var(--accbg);stroke:var(--acc);stroke-width:3}.learning-guide .learning-missing-bar{stroke:var(--acc);stroke-width:8;stroke-dasharray:12 8}.hud-learning .drawers,.hud-learning .tool-context,.hud-learning .hint-bubble{display:none!important}.hud-learning .tool-rail .tool:nth-child(3){display:none}@media(max-height:520px),(max-width:760px){.learning-coach{width:220px;padding:10px;gap:8px;border-radius:20px}.learning-task-title{font-size:17px}.learning-parts,.learning-issues{font-size:12px}.learning-task-body,.learning-hint-body p{font-size:12px;line-height:1.4}.learning-task-body{display:none}.learning-task-short{display:block;margin:0;font-size:12px;line-height:1.4}.learning-hint-full{display:block}.learning-feedback:not(.is-ready):not(.is-failed){display:none}.learning-coach-head{min-height:44px}.learning-screen{padding:16px}.learning-content{gap:16px}.learning-head h1{font-size:24px}.lab-chapter-head h2{font-size:20px}.learning-intro{padding:18px}}.learning-expand{display:none}.learning-coach.is-bar{width:auto;flex:1 1 auto;min-width:0;align-self:flex-start;max-height:56vh;overflow-y:auto;padding:5px 6px 5px 14px;border-radius:26px;gap:2px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto 44px;align-items:center;position:relative}.learning-coach.is-bar>.learning-coach-head{grid-column:1;grid-row:1;position:static;min-height:0;background:none}.learning-coach.is-bar .learning-coach-heading{display:flex;align-items:baseline;gap:8px;min-width:0}.learning-coach.is-bar .learning-step{font-size:10px;flex:none}.learning-coach.is-bar .learning-task-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learning-coach.is-bar>.learning-task-short{grid-column:1;grid-row:2;font-size:11.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learning-coach.is-bar>.learning-targets{grid-column:2;grid-row:1 / span 2;flex-wrap:nowrap;gap:4px}.learning-coach.is-bar .learning-control-link{min-width:44px;justify-content:center;padding:6px 8px;gap:4px}.learning-coach.is-bar .learning-control-link>span:not(.learning-control-number){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.learning-coach.is-bar>.learning-coach-tools{grid-column:3;grid-row:1 / span 2;flex-direction:row}.learning-coach.is-bar .learning-coach-tools button{min-height:44px;padding:6px 14px;white-space:nowrap}.learning-coach.is-bar>.learning-expand{display:flex;grid-column:4;grid-row:1 / span 2;width:44px;height:44px;transform:rotate(180deg);transition:transform .15s}.learning-coach.is-bar.is-expanded>.learning-expand{transform:none}.learning-coach.is-bar.is-expanded{max-height:min(52dvh,calc(100dvh - 230px));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.learning-coach.is-bar:not(.is-expanded)>.learning-parts,.learning-coach.is-bar:not(.is-expanded)>.learning-feedback,.learning-coach.is-bar:not(.is-expanded)>.learning-issues,.learning-coach.is-bar:not(.is-expanded)>.learning-hint-body,.learning-coach.is-bar:not(.is-expanded)>.learning-reset,.learning-coach.is-bar:not(.is-expanded) .learning-hint-toggle{display:none!important}.learning-coach.is-bar>.learning-task-body{display:none}.learning-coach.is-bar.is-expanded>.learning-parts,.learning-coach.is-bar.is-expanded>.learning-feedback,.learning-coach.is-bar.is-expanded>.learning-issues,.learning-coach.is-bar.is-expanded>.learning-hint-body,.learning-coach.is-bar.is-expanded>.learning-reset{grid-column:1 / -1;margin-top:6px}.learning-coach.is-bar.is-expanded{padding-bottom:10px}.learning-coach.is-bar.is-expanded>.learning-coach-head{grid-column:1 / 4}.learning-coach.is-bar.is-expanded>.learning-task-short{grid-column:1 / -1;display:block;-webkit-line-clamp:unset}.learning-coach.is-bar.is-expanded>.learning-targets{grid-column:1 / -1;grid-row:auto;flex-wrap:wrap;margin-top:6px}.learning-coach.is-bar.is-expanded>.learning-coach-tools{grid-column:1 / -1;grid-row:auto;flex-wrap:wrap;margin-top:4px}.learning-coach.is-bar.is-expanded>.learning-expand{grid-column:4;grid-row:1}.learning-coach.is-bar.is-expanded .learning-control-link>span:not(.learning-control-number){position:static;width:auto;height:auto;overflow:visible;clip-path:none}.hud-learning .top-strip{align-items:flex-start}.learning-coach.is-bar .learning-leave{position:absolute;top:7px;right:6px;width:44px;height:44px}.hud-learning .top-strip>.top-left{flex-shrink:0}@media(max-width:720px){.learning-coach.is-bar:not(.is-expanded)>.learning-targets{display:none!important}.learning-coach.is-bar.is-expanded>.learning-targets{grid-column:1 / -1;grid-row:auto;flex-wrap:wrap;margin-top:6px}}.learning-figure{margin:0 -8px;padding:8px 4px 10px;background:var(--panel2);border-radius:var(--r-tile);display:grid;gap:6px}.learning-figure figcaption{margin:0 6px;font-size:12px;line-height:1.45;color:var(--mut2)}.learning-figure-svg{display:block;width:100%;height:auto;max-height:190px;overflow:visible;--lf-c: var(--ink)}.learning-figure-svg text{font-family:var(--font-ui);fill:var(--ink)}.learning-figure-svg .lf-ink{--lf-c: var(--ink)}.learning-figure-svg .lf-mut,.learning-figure-svg .lf-zero,.learning-figure-svg .lf-web{--lf-c: var(--mut)}.learning-figure-svg .lf-comp{--lf-c: var(--st-comp)}.learning-figure-svg .lf-tens{--lf-c: var(--st-tens)}.learning-figure-svg .lf-load{--lf-c: var(--warm)}.learning-figure-svg .lf-bad{--lf-c: var(--dgr)}.learning-figure-svg .lf-good{--lf-c: var(--ok)}.learning-figure-svg .lf-acc{--lf-c: var(--acc)}.learning-figure-svg :is(.lf-m,.lf-mm,.lf-web,.lf-a,.lf-a-thin,.lf-key,.lf-lead,.lf-gl,.lf-gh,.lf-stop,.lf-dim,.lf-hair,.lf-rule,.lf-div,.lf-defl,.lf-buckle,.lf-axis,.lf-ghost,.lf-deck,.lf-veh,.lf-hl,.lf-hl-under){fill:none;stroke:var(--lf-c);stroke-linecap:round;stroke-linejoin:round}.learning-figure-svg .lf-m{stroke-width:3}.learning-figure-svg .lf-hl{stroke-width:3.5}.learning-figure-svg .lf-hl-under{stroke-width:7;--lf-c: var(--scene-guide-outline)}.learning-figure-svg .lf-mm{stroke-width:2.2}.learning-figure-svg .lf-web{stroke-width:1.8}.learning-figure-svg .lf-zero{stroke-width:1.6;stroke-dasharray:3.5 3}.learning-figure-svg .lf-a{stroke-width:2}.learning-figure-svg .lf-a-thin{stroke-width:1.5}.learning-figure-svg .lf-key{stroke-width:3}.learning-figure-svg .lf-head{fill:var(--lf-c);stroke:none}.learning-figure-svg .lf-lead{stroke-width:1;--lf-c: var(--mut)}.learning-figure-svg .lf-gl{stroke-width:1.4}.learning-figure-svg .lf-gh{stroke-width:1;--lf-c: var(--mut)}.learning-figure-svg .lf-stop{stroke-width:2.6}.learning-figure-svg .lf-dim,.learning-figure-svg .lf-hair{stroke-width:1}.learning-figure-svg .lf-ext{stroke-dasharray:2 2.5;--lf-c: var(--mut)}.learning-figure-svg .lf-rule{stroke-width:1;stroke:var(--edge)}.learning-figure-svg .lf-div{stroke-width:1;stroke-dasharray:1 4;--lf-c: var(--mut)}.learning-figure-svg .lf-defl{stroke-width:2;stroke-dasharray:5 4}.learning-figure-svg .lf-buckle{stroke-width:2;stroke-dasharray:5 4;--lf-c: var(--ink2)}.learning-figure-svg .lf-axis{stroke-width:1.2;stroke-dasharray:4 3;--lf-c: var(--ink)}.learning-figure-svg .lf-ghost{stroke-width:2.4;stroke-dasharray:5 4}.learning-figure-svg .lf-ghost-joint{fill:none;stroke:var(--lf-c);stroke-width:1.4}.learning-figure-svg .lf-deck{stroke-width:7;--lf-c: var(--mut);opacity:.35}.learning-figure-svg .lf-veh{stroke-width:1.4;stroke-dasharray:4 3;--lf-c: var(--mut2)}.learning-figure-svg .lf-joint{fill:var(--panel);stroke:var(--ink);stroke-width:1.6}.learning-figure-svg .lf-sup{fill:var(--panel);stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}.learning-figure-svg .lf-pier{fill:var(--dis);stroke:var(--ink);stroke-width:1.4}.learning-figure-svg .lf-wheel,.learning-figure-svg .lf-dot,.learning-figure-svg .lf-rebar{fill:var(--ink)}.learning-figure-svg .lf-bar{fill:var(--lf-c)}.learning-figure-svg .lf-steel{fill:var(--ink2)}.learning-figure-svg .lf-timber{fill:var(--mut2);stroke:var(--ink);stroke-width:1}.learning-figure-svg .lf-concrete{fill:var(--dis);stroke:var(--ink);stroke-width:1}.learning-figure-svg .lf-t{font-size:12px;font-weight:800}.learning-figure-svg .lf-s{font-size:11px;font-weight:700;fill:var(--mut2)}.learning-figure-svg .lf-h{font-size:11px;font-weight:800;fill:var(--mut2)}.learning-figure-svg .lf-n{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.learning-figure-svg .lf-f{font-size:13px;font-weight:900}.learning-figure-svg .lf-b{font-size:11.5px;font-weight:800}.learning-figure-svg .lf-t-bad{fill:var(--dgrink)}.learning-figure-svg .lf-t-good{fill:var(--ok)}.learning-quiz{display:grid;gap:8px}.learning-quiz-question{margin:0;font-size:14px;font-weight:800;line-height:1.45}.learning-quiz-options{display:grid;gap:8px}.learning-quiz-option{justify-content:flex-start;text-align:left;min-height:44px;padding:8px 14px;gap:10px;border:2px solid transparent;border-radius:var(--r-tile);font-family:var(--font-ui);font-size:14px;font-weight:700;line-height:1.35}.learning-quiz-option>span:first-child{flex:1}.learning-quiz-mark{flex:none;display:flex}.learning-quiz-mark:empty{display:none}.learning-quiz-option svg{width:18px;height:18px;flex-shrink:0}.learning-quiz-option.is-wrong{background:var(--dgrbg);border-color:var(--dgrbd);color:var(--dgrink)}.learning-quiz-option.is-right{background:var(--okbg);border-color:var(--ok)}.learning-quiz-option.is-right svg{color:var(--ok)}.learning-quiz.is-answered .learning-quiz-option{cursor:default}.learning-quiz.is-answered .learning-quiz-option:not(.is-right){color:var(--mut)}.learning-quiz-status{margin:0;font-size:12px;line-height:1.45;color:var(--mut)}.learning-quiz-status,.learning-quiz-explain{scroll-margin:12px}.learning-quiz-status.is-wrong{color:var(--dgrink);font-weight:800}.learning-quiz-status.is-right{color:var(--ok);font-weight:900}.learning-quiz-explain{margin:0;padding:10px 12px;border-radius:var(--r-chip);background:var(--okbg);font-size:13px;line-height:1.5}.learning-coach.is-bar:not(.is-expanded)>.learning-figure,.learning-coach.is-bar:not(.is-expanded)>.learning-quiz{display:none!important}.learning-coach.is-bar.is-expanded>.learning-figure,.learning-coach.is-bar.is-expanded>.learning-quiz{grid-column:1 / -1;margin:6px 0 0}.learning-coach.is-bar .learning-figure{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px}.learning-coach.is-bar .learning-figure-svg{flex:0 0 auto;width:auto;height:104px;max-width:55%}.learning-coach.is-bar .learning-figure figcaption{flex:1 1 160px}.learning-coach.is-bar .learning-quiz-question,.learning-coach.is-bar .learning-quiz-option{font-size:13px}.learning-coach.is-bar .learning-quiz-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.fb-dialog{margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:0;border-radius:28px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow-dialog)}.fb-dialog[open]{display:flex;flex-direction:column;gap:16px}.fb-dialog:focus{outline:none}.fb-dialog::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent)}.fb-main,.fb-side{display:flex;flex-direction:column;gap:12px}.fb-title{margin:0;font:700 24px/1.15 var(--font-display)}.fb-cats{display:flex;flex-wrap:wrap;gap:8px}.fb-cat{min-height:44px;padding:0 16px;border-radius:999px;background:var(--chip);color:var(--ink2);font:700 14px/1 var(--font-ui)}.fb-cat[aria-pressed=true]{background:var(--ink);color:var(--panel)}.fb-cat:focus-visible,.fb-attach input:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.fb-field{display:flex;flex-direction:column;gap:6px}.fb-label{font-size:13px;font-weight:800;color:var(--ink2)}.fb-field textarea,.fb-field input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--dis);border-radius:14px;background:var(--panel);color:var(--ink);font:600 15px/1.4 var(--font-ui);resize:vertical}.fb-field textarea{min-height:104px}.fb-field textarea:focus-visible,.fb-field input:focus-visible{outline:3px solid var(--acc);outline-offset:1px}.fb-attach{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:700;color:var(--ink2)}.fb-attach input{width:22px;height:22px;accent-color:var(--acc)}.fb-thumb{width:100%;max-height:120px;object-fit:cover;border-radius:14px;background:var(--chip)}.fb-thumb.is-off{opacity:.35}.fb-note{margin:0;font-size:12px;font-weight:600;line-height:1.45;color:var(--mut)}.fb-policy{color:var(--ink);font-weight:800}.fb-status{margin:0;font-size:14px;font-weight:800;color:var(--ink)}.fb-status:empty{display:none}.fb-status.is-error{color:var(--dgrink)}.fb-actions{display:flex;gap:12px}.fb-actions button{flex:1;min-height:52px;padding:10px 16px;font-size:17px}@media(max-height:520px)and (min-width:600px){.fb-dialog{width:min(820px,calc(100vw - 32px));padding:16px 20px;border-radius:24px}.fb-dialog[open]{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:18px}.fb-main,.fb-side{gap:8px}.fb-title{font-size:20px}.fb-cats{gap:6px}.fb-cat{padding:0 11px;font-size:13px}.fb-field textarea{min-height:96px}.fb-field input{min-height:44px}.fb-attach{min-height:44px;font-size:13px}.fb-thumb{max-height:64px}.fb-note{font-size:11.5px}.fb-actions button{min-height:48px}}@media(max-width:420px){.fb-dialog{padding:20px 18px}.fb-actions{flex-direction:column-reverse}}.fb-lead{margin:0;color:var(--ink2);font-size:15px;line-height:1.4}.stuck-ask{margin-left:auto;align-self:center;flex:none;padding:4px 0 4px 8px;border:0;background:none;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.stuck-ask:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-radius:8px}.screen.heritage-screen{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.heritage-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.heritage-titles{display:flex;flex-direction:column;gap:2px;min-width:0;margin-right:auto}.heritage-titles h1{margin:0;font-family:var(--font-display);font-size:30px;line-height:1.05}.heritage-vol{font-weight:800;font-size:13px;color:var(--mut)}.heritage-stars{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:var(--r-btn);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-small);font-weight:900;font-variant-numeric:tabular-nums}.heritage-stars svg{color:var(--star)}.heritage-view-toggle{height:56px;padding:6px;box-shadow:var(--shadow-small);flex:none}.heritage-view-toggle .seg{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px}.heritage-view-toggle .seg svg{width:18px;height:18px;flex:none}.heritage-intro{margin:0;color:var(--mut);font-weight:700;font-size:14px;line-height:1.4}.heritage-gate{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0;padding:10px 16px;border-radius:var(--r-btn);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-small);font-weight:800;font-size:14px}.heritage-gate svg,.heritage-lock svg{flex:none;color:var(--mut)}.heritage-body{position:relative;flex:1;min-height:0;display:flex;gap:16px}.heritage-stage{position:relative;flex:1;min-width:0;border-radius:var(--r-panel);overflow:hidden;background:var(--panel2);box-shadow:inset 0 0 0 1px var(--line)}.heritage-globe{position:absolute;inset:0}.heritage-globe-canvas{display:block;touch-action:none;cursor:grab;outline:none}.heritage-globe-canvas:active{cursor:grabbing}.heritage-globe-canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--acc)}.heritage-pins{position:absolute;inset:0;pointer-events:none}.heritage-pin{position:absolute;left:0;top:0;margin:-22px 0 0 -22px;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;pointer-events:auto}.heritage-pin[hidden]{display:none}.heritage-pin .hex-level{width:34px;height:39px;font-size:15px;transition:transform .15s}.heritage-pin:hover .hex-level,.heritage-pin:focus-visible .hex-level{transform:scale(1.12)}.heritage-pin.is-selected .hex-level{transform:scale(1.22)}.heritage-pin-year{padding:1px 7px;border-radius:999px;background:var(--panel);box-shadow:var(--shadow-small);font-weight:900;font-size:11px;font-variant-numeric:tabular-nums}.heritage-pin.is-cluster .hex-level{outline:2px dashed var(--accink);outline-offset:-6px}.heritage-zoom{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:8px}.heritage-zoom .round-btn{width:48px;height:48px;background:var(--panel);box-shadow:var(--shadow-small)}.heritage-hint{position:absolute;left:16px;bottom:12px;margin:0;font-weight:800;font-size:12px;color:var(--mut);pointer-events:none}.heritage-list{display:none;flex:1;min-width:0;overflow:auto;padding:2px}.heritage-screen.is-list .heritage-list{display:grid}.heritage-screen.is-list .heritage-stage{display:none}.heritage-card{position:relative;display:flex;flex-direction:column;gap:12px;width:min(420px,40%);flex:none;padding:22px;overflow:auto;border-radius:var(--r-panel);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-panel)}.heritage-card[hidden]{display:none}.heritage-close{position:absolute;right:12px;top:12px;width:44px;height:44px}.heritage-card-head{display:flex;align-items:center;gap:14px;padding-right:48px}.heritage-card-head .hex-level{width:58px;height:66px;font-size:24px;flex:none}.heritage-card-col{display:flex;flex-direction:column;gap:2px;min-width:0}.heritage-card-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.05}.heritage-card-stars{display:flex;gap:2px}.heritage-task{margin:0;padding:10px 14px;border-radius:var(--r-tile);background:var(--accbg);color:var(--ink);font-weight:800;font-size:14px;line-height:1.4}.heritage-card-act{display:flex;margin-top:auto;position:sticky;bottom:-22px;margin-bottom:-22px;padding:10px 0 22px;background:var(--panel)}.heritage-build{flex:1;min-height:52px;font-size:18px}.heritage-lock{display:flex;align-items:center;gap:8px;margin:0;font-weight:800;font-size:14px;color:var(--mut)}.heritage-nearby{display:flex;flex-direction:column;gap:8px}.heritage-near{min-height:48px;text-align:left}.heritage-tab{flex-shrink:0;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:0;border-radius:999px;background:none;font:inherit;color:var(--ink2);white-space:nowrap;cursor:pointer}.heritage-tab:hover{background:var(--chiph)}.heritage-tab:focus-visible{outline:3px solid var(--acc);outline-offset:-3px}.heritage-tab-icon{display:inline-flex;color:var(--acc-edge)}.heritage-tab-icon svg{width:18px;height:18px}.heritage-tab .mt-cnt{display:inline-flex;align-items:center;gap:3px}.heritage-tab .mt-cnt svg{width:13px;height:13px}.heritage-tab.is-locked .mt-lbl{color:var(--mut)}.heritage-list-world{max-width:1180px;margin:0 auto 22px}.heritage-list-tools{display:flex;align-items:center;gap:10px}.heritage-list-globe{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px}.heritage-list-globe svg{width:18px;height:18px;flex:none}.map-list-head:has(.heritage-list-tools){align-items:center}.heritage-underlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.heritage-underlay line{stroke:var(--ink2);stroke-opacity:.42;stroke-width:2.5;stroke-dasharray:8 6;stroke-linecap:round}.heritage-underlay circle{fill:var(--panel);fill-opacity:.7;stroke:var(--ink2);stroke-opacity:.5;stroke-width:1.5}:root[data-theme=dark] .heritage-underlay line{stroke-opacity:.62;stroke-width:3}.heritage-silhouette{display:block;width:100%;height:120px;padding:6px 0}.heritage-silhouette line{stroke:var(--ink2);stroke-linecap:round}.heritage-silhouette .sup{fill:var(--acc)}.heritage-facts{display:flex;flex-direction:column;gap:6px}.heritage-chips{display:flex;flex-wrap:wrap;gap:6px}.heritage-chip{padding:4px 10px;border-radius:var(--r-chip);background:var(--chip);color:var(--ink);font-weight:800;font-size:12.5px}.heritage-h{margin:6px 0 0;font-weight:900;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.heritage-p{margin:0;font-weight:700;font-size:14.5px;line-height:1.45;text-wrap:pretty}.heritage-who{margin:0;font-weight:800;font-size:13px;color:var(--mut)}.brief-card .heritage-facts{padding:12px 14px;border-radius:var(--r-tile);background:var(--panel2)}.brief-card .heritage-chip{background:var(--panel)}.brief-card .heritage-p{font-size:14px}.heritage-more summary{display:flex;align-items:center;gap:6px;min-height:28px;cursor:pointer;list-style:none}.heritage-more summary::-webkit-details-marker{display:none}.heritage-more summary:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.heritage-more[open] summary:before{transform:rotate(45deg)}.heritage-more .heritage-p{margin-top:4px}@media(max-height:520px),(max-width:760px){.heritage-tab{display:none}.screen.heritage-screen{gap:8px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.heritage-titles h1{font-size:22px}.heritage-vol,.heritage-intro,.heritage-hint{display:none}.heritage-view-toggle{height:52px}.heritage-view-toggle .seg span{display:none}.heritage-gate{font-size:12.5px;padding:8px 12px}.heritage-body{gap:0}.heritage-card{position:absolute;z-index:2;right:0;top:0;bottom:0;width:min(380px,62%);padding:16px;gap:9px}.heritage-card-head .hex-level{width:46px;height:52px;font-size:19px}.heritage-card-name{font-size:21px}.heritage-p{font-size:13px}.heritage-task{font-size:13px;padding:8px 12px}.heritage-card-act{bottom:-16px;margin-bottom:-16px;padding:8px 0 16px}.brief-card .heritage-facts{padding:6px 10px;gap:4px}.heritage-silhouette{height:84px;padding:2px 0}.brief-card .heritage-silhouette{height:64px}.brief-card .heritage-more summary{min-height:44px}.brief-card .heritage-p{font-size:12.5px}.brief-card:has(.heritage-facts){max-height:100%;overflow-y:auto}.brief-card .heritage-chip{font-size:11.5px;padding:3px 8px}}@media(max-width:760px)and (orientation:portrait){.heritage-card{left:0;right:0;top:auto;width:auto;max-height:64%}}.heritage-list-tome{grid-column:1 / -1;margin:6px 4px 0;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--ink)}.heritage-list-tome:first-child{margin-top:0}.screen.workshop-screen{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:22px;gap:14px;overflow:auto;background:var(--canvas);color:var(--ink)}.workshop-screen h1,.workshop-screen h2,.workshop-screen h3{font-family:var(--font-display);margin:0}.workshop-screen h1{font-size:28px}.workshop-screen h2{font-size:21px}.workshop-screen h3{font-size:17px}.workshop-head,.workshop-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.workshop-head h1{flex:1}.workshop-head{flex:0 0 auto}.workshop-screen button,.workshop-screen select,.workshop-screen input:not([type=checkbox]){min-height:44px}.workshop-screen button{padding:10px 16px;font-size:14px}.workshop-screen button:disabled{opacity:.5;cursor:not-allowed}.workshop-screen button svg{vertical-align:middle;margin-right:6px}.workshop-screen p{margin:0;line-height:1.5}.workshop-muted{color:var(--mut);font-size:13px}.workshop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.workshop-card,.workshop-api-card{border-radius:var(--r-card);background:var(--panel);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:12px}.workshop-plan{height:120px;background:var(--panel2);border-radius:16px;width:100%}.workshop-editor{flex:1;min-height:0;display:grid;grid-template-columns:360px 1fr;gap:14px}.workshop-inspector{min-height:0;overflow:auto;padding:14px;border-radius:var(--r-card);background:var(--panel);box-shadow:var(--shadow)}.workshop-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}.workshop-tabs button{flex:1 1 120px;padding:8px;background:var(--panel2);border:0;border-radius:16px;color:var(--ink);font:inherit;font-size:13px;font-weight:800}.workshop-tabs button[aria-selected=true]{background:var(--sel);color:var(--selink)}.workshop-fields{display:flex;flex-direction:column;gap:12px}.workshop-item{background:var(--panel2);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:9px;border:2px solid transparent}.workshop-item.is-selected{border-color:var(--acc)}.workshop-row{display:flex;gap:10px}.workshop-row>*{flex:1;min-width:0}.workshop-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--mut);font-weight:800}.workshop-field input,.workshop-field textarea,.workshop-field select{width:100%;box-sizing:border-box;border:1px solid var(--dis);border-radius:12px;background:var(--panel);color:var(--ink);padding:9px 10px;font:inherit;font-size:14px}.workshop-field textarea{min-height:90px;resize:vertical}.workshop-check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:800}.workshop-check input{width:22px;height:22px;accent-color:var(--ok)}.workshop-preview-shell{position:relative;min-width:0;min-height:220px;border-radius:var(--r-card);overflow:hidden;background:var(--panel2)}.workshop-preview-host{position:absolute;inset:0}.workshop-preview-host canvas{display:block;touch-action:none}.workshop-preview-toolbar{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:6px;pointer-events:none;z-index:4}.workshop-preview-toolbar button{pointer-events:auto}.workshop-preview-toolbar button[aria-pressed=true]{background:var(--sel);color:var(--selink)}.workshop-preview-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.workshop-preview-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-size:11px;font-weight:800;color:var(--accink);background:var(--acc);border:1px solid var(--panel);padding:4px 8px;border-radius:12px}.workshop-preview-label.is-support{background:var(--panel);color:var(--ink);border-color:var(--dis)}.workshop-preview-scale{position:absolute;top:20px;right:18px;display:flex;align-items:center;gap:8px;color:var(--ink);background:var(--panel);padding:6px 10px;border-radius:12px;font-size:11px;font-weight:800;pointer-events:none;z-index:2}.workshop-preview-scale>span:first-child{display:block;height:7px;border:solid var(--ink);border-width:0 2px 2px}.workshop-preview-labels[hidden],.workshop-preview-scale[hidden]{display:none}.workshop-spatial-input{position:absolute;top:0;right:0;bottom:0;touch-action:none;z-index:1}.workshop-preview-pane-name{position:absolute;top:68px;padding:5px 10px;border-radius:12px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:800;pointer-events:none;z-index:2}.workshop-preview-divider{position:absolute;top:0;bottom:0;width:44px;transform:translate(-50%);display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;z-index:3}.workshop-preview-divider:before{content:"";position:absolute;top:0;bottom:0;width:3px;background:var(--panel);box-shadow:0 0 0 1px var(--dis)}.workshop-preview-divider>span{position:relative;width:22px;height:56px;border:1px solid var(--dis);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.workshop-preview-divider>span:before,.workshop-preview-divider>span:after{content:"";position:absolute;top:18px;bottom:18px;width:2px;background:var(--mut);border-radius:2px;left:7px}.workshop-preview-divider>span:after{left:12px}.workshop-preview-divider:focus-visible>span{outline:3px solid var(--acc);outline-offset:3px}.workshop-spatial-input[hidden],.workshop-preview-divider[hidden],.workshop-preview-pane-name[hidden]{display:none}.workshop-preview-label.is-support{pointer-events:auto;cursor:pointer}.workshop-preview-label.is-support:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.workshop-support-gizmo{position:absolute;top:0;bottom:0;pointer-events:none;overflow:hidden;z-index:2}.workshop-support-gizmo>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.workshop-support-gizmo line{stroke-width:3;stroke-linecap:round}.workshop-support-gizmo line[data-axis=x]{stroke:var(--dgr)}.workshop-support-gizmo line[data-axis=y]{stroke:var(--ok)}.workshop-gizmo-origin{fill:var(--acc);stroke:var(--ink);stroke-width:2}.workshop-screen .workshop-axis-handle{position:absolute;transform:translate(-50%,-50%);min-width:44px;width:44px;height:44px;min-height:44px;padding:0;border:2px solid var(--dgr);border-radius:50%;background:var(--panel);color:var(--ink);font:800 15px var(--font-display);touch-action:none;pointer-events:auto;cursor:ew-resize;box-shadow:var(--shadow)}.workshop-screen .workshop-axis-handle[data-axis=y]{border-color:var(--ok);cursor:ns-resize}.workshop-axis-handle:focus-visible{outline:3px solid var(--acc);outline-offset:3px}.workshop-support-gizmo.is-dragging .workshop-axis-handle:focus{background:var(--acc);color:var(--accink)}.workshop-gizmo-readout{position:absolute;transform:translate(-50%);padding:4px 8px;border-radius:12px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap}.workshop-support-gizmo[hidden],.workshop-axis-handle[hidden]{display:none}.workshop-preview-hint{position:absolute;bottom:12px;left:12px;right:12px;pointer-events:none;border-radius:14px;background:var(--panel);color:var(--ink);padding:8px 12px;font-size:12px;z-index:4}.workshop-status{min-height:28px;padding:8px 14px;background:var(--panel);border-radius:16px;color:var(--mut);font-size:13px;font-weight:800}.workshop-status:empty{min-height:0;padding:0;background:none}.workshop-status.error{color:var(--dgrink)}.workshop-status.success{color:var(--ok)}.workshop-proof{padding:12px;border-radius:16px;background:var(--panel2);color:var(--ok);font-size:13px}.workshop-danger{color:var(--dgrink)!important}.workshop-chat{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(780px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:22px;border:1px solid var(--dis);border-radius:var(--r-card);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);overflow:auto}.workshop-chat::backdrop{background:var(--tint);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.workshop-chat h2,.workshop-chat h3{font-family:var(--font-display);margin:0}.workshop-chat p{line-height:1.5}.workshop-chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.workshop-chat-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:16px 0}.workshop-chat-key,.workshop-chat-key-state{grid-column:1 / -1}.workshop-chat-key-state,.workshop-chat-account{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.workshop-chat-key-state p,.workshop-chat-account p{flex:1 1 220px;margin:0}.workshop-chat-key .workshop-actions{margin-top:8px}.workshop-chat-auth{padding:12px;margin-top:10px;background:var(--panel2);border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.workshop-chat-auth .workshop-actions,.workshop-chat-auth p{grid-column:1 / -1}.workshop-chat-settings select{width:100%;text-overflow:ellipsis}.workshop-chat input,.workshop-chat select,.workshop-chat button,.workshop-chat a{min-height:44px}.workshop-chat button,.workshop-chat a{padding:10px 16px;font-size:14px}.workshop-chat a{display:inline-flex;align-items:center;box-sizing:border-box;text-decoration:none}.workshop-chat-transcript{max-height:35dvh;overflow:auto;display:flex;flex-direction:column;gap:10px;margin:16px 0}.workshop-chat-transcript p{margin:0;padding:10px 14px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere}.workshop-chat-user{align-self:flex-end;background:var(--panel2);max-width:90%}.workshop-chat-answer{background:var(--canvas)}.workshop-chat-operation{font-size:12px;color:var(--ok)}.workshop-chat .error{color:var(--dgrink)}.workshop-chat-result{padding:14px;background:var(--panel2);border-radius:16px;display:flex;flex-wrap:wrap;gap:10px}.workshop-chat-result h3,.workshop-chat-result p{flex:1 1 100%}.workshop-chat-compose textarea{min-height:90px;max-height:180px;resize:vertical}.workshop-chat-compose .workshop-actions{margin-top:12px}.workshop-chat-status{font-size:13px;min-height:20px}.workshop-chat [hidden]{display:none}@media(max-width:620px),(max-height:520px){.workshop-chat{padding:12px}.workshop-chat-settings{gap:8px}.workshop-chat-transcript{max-height:28dvh}}.ws-more{display:none}@media(max-height:520px),(max-width:760px){.ws-more{display:inline-flex;align-items:center;justify-content:center;min-width:44px}.ws-more svg{margin-right:0!important}.workshop-lib:not(.is-more) .ws-secondary,.workshop-lib:not(.is-more)>.workshop-muted:first-of-type{display:none}.workshop-lib.is-more .ws-more{background:var(--sel);color:var(--selink)}.screen.workshop-screen{padding:8px;gap:8px}.workshop-head h1{font-size:20px}.workshop-head{gap:4px}.workshop-screen button{padding:8px 12px}.workshop-editor{grid-template-columns:310px 1fr;gap:8px;min-height:220px}.workshop-inspector{padding:10px}.workshop-preview-hint{font-size:11px}.workshop-status{padding:5px 10px}}@media(max-width:620px){.workshop-editor{display:flex;flex-direction:column-reverse;min-height:520px}.workshop-preview-shell{flex:0 0 220px}.workshop-inspector{max-height:none;overflow:visible}}.cloud-screen{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px;padding:16px;overflow:auto;background:var(--canvas);color:var(--ink)}.cloud-head,.cloud-tabs,.cloud-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cloud-head h1{font-size:clamp(22px,3vw,32px);margin:0}.cloud-card{background:var(--panel);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}.cloud-card h2,.cloud-card h3,.cloud-card p{margin:0}.cloud-card button,.cloud-head button,.cloud-dialog button,.cloud-tabs button{min-height:44px}.cloud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.cloud-card input,.cloud-dialog input,.cloud-dialog textarea,.cloud-select{color:var(--ink);background:var(--panel);border:1px solid var(--edge);padding:12px;border-radius:12px;font:inherit;max-width:100%;box-sizing:border-box;min-height:44px}.cloud-link{color:var(--ok);font-weight:800;display:inline-flex;align-items:center;min-height:44px}.cloud-check{min-height:44px;display:flex;align-items:flex-start;gap:10px;line-height:1.45}.cloud-check input{width:20px;height:20px;min-height:20px;flex:none;accent-color:var(--ok)}.cloud-status{min-height:24px;white-space:pre-wrap}.cloud-status.error{color:var(--dgrink)}.cloud-policy{max-width:850px;align-self:center;line-height:1.65}.cloud-policy h2{margin-top:12px}.cloud-dialog{margin:auto;background:var(--panel);color:var(--ink);border:0;border-radius:24px;padding:24px;width:min(680px,90vw);max-height:88dvh;overflow:auto}.cloud-dialog::backdrop{background:var(--ink);opacity:.55}.cloud-dialog form{display:flex;flex-direction:column;gap:14px}.cloud-dialog textarea{min-height:90px}.cloud-card pre,.cloud-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--chip);padding:14px;border-radius:12px}.cloud-table-wrap{overflow:auto}.cloud-table{width:100%;border-collapse:collapse;text-align:left;background:var(--panel);border-radius:16px}.cloud-table th,.cloud-table td{padding:14px;border-bottom:1px solid var(--edge);white-space:nowrap}.cloud-table th{font-size:12px;text-transform:uppercase}.cloud-screen>.cloud-card{max-width:900px}.cloud-screen .workshop-chat-auth{display:flex;flex-direction:column;gap:12px}.cloud-tabs [aria-pressed=true]{background:var(--ink);color:var(--panel)}.workshop-chat-progress{display:flex;gap:10px;align-items:center;padding:12px;background:var(--chip);border-radius:14px;flex-wrap:wrap}.workshop-chat-progress[hidden]{display:none}.ai-spinner{width:18px;height:18px;border:3px solid var(--edge);border-top-color:var(--ok);border-radius:50%;animation:ai-spin 1s linear infinite;flex:none}.ai-progress-details{font-size:12px;color:var(--ink2)}@keyframes ai-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ai-spinner{animation:none}}@media(max-height:520px){.cloud-screen{padding:10px;gap:10px}.cloud-card,.cloud-dialog{padding:16px}}.cloud-screen [hidden],.cloud-dialog [hidden],.workshop-chat-auth [hidden]{display:none!important}.workshop-chat-auth>.cloud-tabs,.workshop-chat-auth>.cloud-check,.workshop-chat-auth>.cloud-link{grid-column:1 / -1}.cloud-menu-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}.cloud-menu-links a{color:var(--ink2);font-size:12px;font-weight:800;min-height:44px;display:flex;align-items:center}.map-tl{flex-wrap:wrap}.cloud-origin pre{white-space:pre-wrap;overflow-wrap:anywhere}.end-card>.cloud-actions{margin-top:16px}.end-card>.cloud-actions button{min-height:44px;font-size:12px}.end-card>.cloud-actions .cloud-status{width:100%;font-size:12px}.cloud-screen{padding:24px clamp(16px,3vw,40px);gap:20px}.cloud-head{gap:12px}.cloud-head h1{font-family:var(--font-display);line-height:1.2;margin-right:auto}.cloud-screen .btn-primary,.cloud-screen .btn-secondary,.cloud-dialog .btn-primary,.cloud-dialog .btn-secondary{min-height:48px;padding:12px 20px;line-height:1.25}.cloud-back svg{width:20px;height:20px}.cloud-card{border-radius:var(--r-panel);box-shadow:var(--shadow-panel);gap:16px}.cloud-card h2,.cloud-card h3,.cloud-dialog h2{font-family:var(--font-display)}.cloud-account{align-items:center}.cloud-account-content{display:flex;flex-direction:column;gap:20px;flex:none;width:min(680px,100%);margin-block:auto}.cloud-account-content>.cloud-status:empty{display:none}.cloud-delete-open{justify-content:flex-start;gap:12px;width:100%;min-height:52px;padding:8px 16px 8px 8px;font:600 17px/1.25 var(--font-display);color:var(--dgrink)}.cloud-delete-dialog{width:min(520px,92vw)}.cloud-delete-dialog[open]{display:flex;flex-direction:column;gap:16px}.cloud-delete-dialog h2{margin:0;font-size:24px}.cloud-delete-dialog p{margin:0}.cloud-delete-dialog .cloud-delete-status:empty{display:none}.cloud-delete-dialog .cloud-delete-status{color:var(--dgrink);font-weight:800}.cloud-delete-foot{justify-content:flex-end;flex-wrap:wrap;gap:12px}.cloud-delete-icon{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;background:var(--dgrbg);color:var(--dgrink);border-radius:12px}.cloud-delete-icon svg{width:20px;height:20px}.cloud-delete-description{font-size:14px;line-height:1.6;color:var(--ink2)}.cloud-delete-note{font-size:12px;line-height:1.5;color:var(--mut)}.cloud-delete-actions .workshop-field{gap:8px}.cloud-delete-actions input{min-height:48px}.cloud-delete-dialog .cloud-delete-submit{min-height:48px;padding:12px 20px;font:600 16px/1.25 var(--font-display)}.cloud-account .workshop-chat-auth>.cloud-link{display:none!important}.cloud-account-profile,.cloud-account-side{display:flex;flex-direction:column;gap:12px;min-width:0}.cloud-account-side .cloud-link{align-self:flex-start}.career-ladder{display:flex;flex-direction:column;gap:8px;min-width:0}.career-ladder h2,.career-dialog h2{margin:0}.career-ladder-list{display:flex;flex-direction:column-reverse;gap:3px;margin:0;padding:0;list-style:none}.career-rung{display:flex;align-items:center;gap:10px;min-width:0;padding:3px 12px 3px 6px;background:var(--chip);border-radius:var(--r-chip)}.career-rung-hex,.career-track-hex{background:var(--panel);color:var(--mut)}.career-rung-hex{width:30px;height:34px;font-size:14px}.career-rung.is-done .career-rung-hex,.career-track-hex.is-done{background:var(--ok);color:var(--okink)}.career-rung.is-current{background:var(--accbg);box-shadow:inset 0 0 0 2px var(--acc-edge)}.career-rung.is-current .career-rung-hex,.career-track-hex.is-current{background:var(--acc);color:var(--accink)}.career-rung-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.career-rung-name{font:700 15px/1.2 var(--font-display)}.career-rung.is-locked .career-rung-name{color:var(--mut)}.career-rung-need,.career-rung-progress{font-size:12px;line-height:1.3;color:var(--ink2)}.career-rung-progress{font-weight:800}.career-rung .bar{height:6px;margin-top:3px}.career-rung-state{flex:none;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.career-rung.is-done .career-rung-state{color:var(--ok)}.career-star{display:inline-flex;margin-inline:1px;vertical-align:-1px;color:var(--star)}.career-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.career-track{display:none;flex-direction:column;gap:4px;width:100%;padding:6px 10px;color:var(--ink);background:var(--chip);border:0;border-radius:var(--r-chip);font:inherit;text-align:left;cursor:pointer}.career-track:hover{background:var(--chiph)}.career-track:focus-visible{outline:2px solid var(--acc-edge);outline-offset:2px}.career-track-hexes{display:flex;align-items:center;justify-content:space-between;gap:3px}.career-track-hex{width:22px;height:25px;font-size:11px}.career-track-hex.is-current{width:26px;height:30px;font-size:13px}.career-track-text{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.career-track-name{font:700 14px/1.2 var(--font-display)}.career-track-next{font-size:11px;font-weight:800;color:var(--mut)}.career-dialog{width:min(520px,92vw)}.career-dialog[open]{display:flex;flex-direction:column;gap:12px}.career-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.career-dialog h2{font-size:22px}@media(min-width:640px)and (min-height:641px){.cloud-card.cloud-account-grid{grid-template-rows:auto 1fr}.cloud-account-grid>.cloud-account-side{grid-column:1;grid-row:2}.cloud-account-grid>.career-ladder{grid-column:2;grid-row:1 / span 2}}@media(max-width:639px),(max-height:640px){.career-ladder>h2,.career-ladder>.career-ladder-list{display:none}.career-track{display:flex}}@media(max-width:639px)and (min-height:641px){.career-ladder.is-solo>h2{display:block}.career-ladder.is-solo>.career-ladder-list{display:flex}.career-ladder.is-solo>.career-track{display:none}}@media(max-height:640px)and (min-width:640px){.cloud-card.cloud-account-grid{grid-template-rows:auto 1fr}.cloud-account-grid>.cloud-account-profile{grid-row:1 / span 2}.cloud-account-grid>.career-ladder{grid-column:2;grid-row:2}}@media(max-height:560px)and (min-width:640px){.cloud-account-side:has(>:nth-child(3)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-account-side:has(>:nth-child(3))>:nth-child(n+3){grid-column:1 / -1}}@media(min-width:640px){.cloud-account-content{width:min(880px,100%)}.cloud-card.cloud-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;align-items:start}.cloud-screen .workshop-chat-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;align-items:end}.cloud-screen .workshop-chat-auth>:not(.workshop-field){grid-column:1 / -1}}@media(max-height:560px){.cloud-account .cloud-card{padding:14px 18px;gap:10px}.cloud-account .cloud-account-profile,.cloud-account .cloud-account-side{gap:8px}.cloud-delete-open{min-height:48px;font-size:16px}.cloud-account .workshop-chat-auth>.workshop-muted:empty{display:none}.cloud-account .workshop-chat-auth{padding:0;margin-top:0;background:none;gap:8px 16px}.cloud-account .workshop-chat-auth .workshop-actions{flex-wrap:nowrap;gap:8px}.cloud-account .workshop-chat-auth .workshop-actions .btn-secondary:not(.google-signin){padding:10px 12px;font-size:13px}}@media(max-height:380px){.cloud-screen.cloud-account{padding-block:8px}.cloud-account .cloud-account-content{gap:10px}}@media(max-height:560px)and (min-width:640px){.cloud-account .workshop-chat-auth[data-mode=signup]{grid-template-columns:repeat(4,minmax(0,1fr))}.cloud-account .workshop-chat-auth[data-mode=signup]>p.workshop-muted:nth-of-type(1){grid-column:1 / 3;align-self:center}.cloud-account .workshop-chat-auth[data-mode=signup]>.cloud-check{grid-column:3 / -1;align-items:center}}@media(max-width:480px){.cloud-delete-foot>*{flex:1}}.cloud-policy{padding:clamp(20px,4vw,40px);font-size:15px;font-weight:600}.cloud-policy h2{font-size:22px;margin-top:12px;line-height:1.3}.cloud-policy p,.cloud-card p,.cloud-dialog p{overflow-wrap:anywhere}.cloud-card input:focus-visible,.cloud-select:focus-visible,.cloud-dialog input:focus-visible,.cloud-dialog textarea:focus-visible{outline:3px solid var(--ok);outline-offset:2px}.cloud-screen button:disabled,.cloud-dialog button:disabled{opacity:.55;cursor:default}.cloud-tabs{gap:6px}.cloud-tabs .btn-secondary[aria-pressed=true]{background:var(--ink);color:var(--panel)}.leaderboard-intro,.leaderboard-scope{margin:0;line-height:1.5}.leaderboard-scope{font-weight:800;color:var(--ink2)}.leaderboard-scope:empty,.cloud-screen>.cloud-status:empty{display:none}.leaderboard-method{background:var(--panel);border-radius:20px;padding:0 18px}.leaderboard-method>summary{min-height:48px;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:800}.leaderboard-method>summary:after{content:"+";margin-left:auto;color:var(--mut)}.leaderboard-method[open]>summary:after{content:"−"}.leaderboard-method>summary:focus-visible{outline:3px solid var(--ok);outline-offset:2px;border-radius:12px}.leaderboard-best-hint{line-height:1.6;margin:0 0 16px;color:var(--ink2)}.leaderboard-factors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:18px}.leaderboard-factors>div{padding:14px;background:var(--chip);border-radius:14px}.leaderboard-factors p{font-size:13px;line-height:1.5;margin:8px 0 0}.leaderboard-table .leaderboard-points{color:var(--ok);font-weight:900;font-variant-numeric:tabular-nums}.leaderboard-table td.leaderboard-points{font-size:20px}.leaderboard-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;min-width:120px}@media(max-width:1000px){.leaderboard-factors{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.leaderboard-factors{grid-template-columns:1fr}}.end-card>.result-community-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px;margin-top:4px;padding-top:18px;border-top:1px solid var(--line)}.end-card>.result-community-actions button{min-height:52px;min-width:0;padding:12px 16px;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.result-community-actions .result-record,.result-community-actions .cloud-status{grid-column:1 / -1}.result-community-actions .result-record[data-state=saved]{background:var(--okbg);color:var(--ok);cursor:default}.result-community-actions .result-record[data-state=saving]{cursor:progress}.result-community-actions .cloud-status{margin:0;text-align:left;line-height:1.5;color:var(--ink2)}.result-community-actions .cloud-status:empty{display:none}.result-action-icon{display:flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.result-action-icon svg{width:20px;height:20px}.result-spinner{width:18px;height:18px;border:2px solid var(--edge);border-top-color:var(--ok);border-radius:50%;animation:ai-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.result-spinner{animation:none}}@media(max-height:520px),(max-width:760px){.end-card>.result-community-actions{padding-top:12px}.end-card>.result-community-actions button{min-height:48px;padding:10px 14px;font-size:14px}}.workshop-chat-auth .google-signin{min-height:48px;padding:6px 20px 6px 6px;gap:12px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.25;text-align:left}.workshop-chat-auth .google-signin:hover{background:var(--panel-hi)}.google-signin-mark{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--edge);box-sizing:border-box}.google-signin-mark svg{display:block;width:20px;height:20px;margin:0}.workshop-chat-auth .google-signin:disabled{opacity:1;background:transparent;box-shadow:none;outline:2px dashed var(--dis);outline-offset:-2px;color:var(--mut);cursor:not-allowed;transform:none}.workshop-chat-auth .google-signin:disabled .google-signin-mark{opacity:.6}@media(max-height:560px){.cloud-account .workshop-chat-auth .google-signin:not(:disabled){background:var(--chip)}.cloud-account .workshop-chat-auth .google-signin:not(:disabled):hover{background:var(--chiph)}}.cloud-nickname-dialog{width:min(480px,92vw)}.cloud-nickname-form{display:flex;flex-direction:column;gap:14px}.cloud-nickname-dialog h2{margin:0;font-size:24px}.cloud-nickname-dialog p{margin:0}.cloud-nickname-intro{font-size:14px;line-height:1.55;color:var(--ink2)}.cloud-nickname-dialog .workshop-field{gap:8px}.cloud-nickname-dialog input{width:100%;min-height:48px;font-size:16px}.cloud-nickname-dialog input[aria-invalid=true]{border-color:var(--dgr)}.cloud-nickname-error{color:var(--dgrink);font-weight:800}.cloud-nickname-error:empty{display:none}.cloud-nickname-privacy{font-size:12px;line-height:1.5;color:var(--mut)}.cloud-nickname-privacy .cloud-link{font-weight:700;color:var(--mut2);text-decoration:underline;text-underline-offset:2px}.cloud-nickname-privacy .cloud-link:hover{color:var(--ink)}.cloud-nickname-foot{justify-content:flex-end;gap:12px}.cloud-nickname-dialog .cloud-nickname-save{min-height:48px;padding:12px 20px;font:700 16px/1.25 var(--font-display)}@media(max-height:520px){.cloud-nickname-form{gap:8px}.cloud-nickname-dialog h2{font-size:20px}.cloud-nickname-intro{font-size:13px;line-height:1.4}.cloud-nickname-dialog input,.cloud-nickname-dialog .cloud-nickname-save,.cloud-nickname-foot .btn-secondary{min-height:44px}.cloud-nickname-dialog .cloud-nickname-save{padding-block:8px}}@media(max-height:520px)and (min-width:600px){.cloud-nickname-dialog{width:min(760px,94vw)}.cloud-nickname-dialog .cloud-nickname-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title field" "intro field" "intro error" "privacy foot";gap:8px 24px;align-items:start}.cloud-nickname-form>h2{grid-area:title}.cloud-nickname-intro{grid-area:intro}.cloud-nickname-form>.workshop-field{grid-area:field}.cloud-nickname-error{grid-area:error}.cloud-nickname-privacy{grid-area:privacy;align-self:end}.cloud-nickname-foot{grid-area:foot;align-self:end}}@media(max-height:520px),(max-width:600px){.cloud-screen{padding:16px;gap:16px}.cloud-back.big{width:48px;height:48px}.cloud-head h1{font-size:24px}.cloud-head .btn-secondary{padding:12px 16px}}.level-review{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:19;display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);min-height:52px;padding:4px 8px;background:var(--panel);color:var(--ink);border-radius:var(--r-card);box-shadow:var(--shadow-small);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.review-drag{cursor:grab}.level-review.is-dragging,.level-review.is-dragging .review-drag{cursor:grabbing}.review-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;flex-shrink:0;font-weight:900;white-space:nowrap}.review-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.review-controls{display:flex;align-items:center;gap:6px;min-width:0}.review-select{font:inherit;color:var(--ink);background:var(--panel2);border:0;border-radius:999px;min-height:44px;min-width:44px;width:265px;padding:0 14px;cursor:pointer;touch-action:auto}.review-select option{background:var(--panel);color:var(--ink)}.review-previous svg{transform:rotate(180deg)}.review-unlock{min-height:44px;padding:0 14px;white-space:nowrap;font-size:13px}.review-unlock.is-unlocked{background:var(--okbg);color:var(--ok)}.review-controls button:disabled{cursor:default}.review-controls .round-btn:disabled{opacity:.4}.level-review button:focus-visible,.review-select:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.review-archive{display:flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:0 12px;font-size:12px}.review-archive[hidden]{display:none}.review-benchmark{min-height:44px;padding:0 12px;white-space:nowrap;font-size:12px}.review-benchmark[hidden],.review-benchmark-short{display:none}@media(max-width:1000px),(max-height:520px){.level-review{gap:4px}.review-toggle{padding:0 6px;font-size:11px;gap:4px}.review-select{width:220px;font-size:12px;padding:0 10px}.review-controls{gap:4px}.review-unlock.is-unlocked{display:none}.review-unlock{font-size:11px;padding:0 8px}.review-benchmark-label,.review-archive span{display:none}.review-benchmark,.review-archive{width:44px;padding:0;justify-content:center}.review-benchmark-short{display:inline-flex;align-items:center;gap:2px}}@media(max-width:580px){.review-select{width:100%}.review-toggle{width:44px;justify-content:center}.review-toggle span,.review-unlock,.review-benchmark-label{display:none}.review-benchmark{width:44px;padding:0}.review-benchmark-short{display:inline-flex;align-items:center;gap:2px}}@media(max-width:360px){.review-previous,.review-next{display:none}}.menu-account{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:2;min-height:48px;padding:12px 24px;border-radius:var(--r-btn);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-panel);font-weight:900}@media(max-width:600px){.menu-screen .menu-col{padding-top:calc(max(16px,env(safe-area-inset-top)) + 64px)}}.tm-consent{margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:0;border-radius:28px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow-dialog)}.tm-consent[open]{display:flex;flex-direction:column;gap:18px}.tm-consent:focus{outline:none}.tm-consent::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent)}.tm-text{display:flex;flex-direction:column;gap:10px}.tm-title{margin:0;font:700 24px/1.15 var(--font-display)}.tm-intro{margin:0;font-size:14px;font-weight:700;line-height:1.5;color:var(--ink2)}.tm-list{margin:0;padding-left:20px;font-size:13.5px;font-weight:600;line-height:1.5;color:var(--ink2)}.tm-note{margin:0;font-size:12.5px;font-weight:600;line-height:1.5;color:var(--mut)}.tm-policy{color:var(--ink);font-weight:800}.tm-side{display:flex;flex-direction:column;gap:16px}.tm-field{display:flex;flex-direction:column;gap:6px}.tm-label{font-size:13px;font-weight:800;color:var(--ink2)}.tm-field input{min-height:48px;padding:10px 14px;border:1px solid var(--dis);border-radius:14px;background:var(--panel);color:var(--ink);font:700 16px/1.2 var(--font-ui)}.tm-field input:focus-visible{outline:3px solid var(--acc);outline-offset:1px}.tm-hint{font-size:12px;font-weight:600;color:var(--mut)}.tm-actions{display:flex;gap:12px}.tm-actions button{flex:1;min-height:52px;padding:10px 16px;font-size:17px}@media(max-height:520px)and (min-width:600px){.tm-consent{width:min(780px,calc(100vw - 32px));padding:16px 20px;border-radius:24px}.tm-consent[open]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:20px}.tm-text{gap:6px}.tm-title{font-size:20px}.tm-intro,.tm-list{font-size:12.5px;line-height:1.4}.tm-note{font-size:11.5px;line-height:1.4}.tm-side{gap:12px}.tm-actions{flex-direction:column-reverse;gap:8px}.tm-actions button{min-height:48px}}@media(max-width:420px){.tm-consent{padding:20px 18px}.tm-actions{flex-direction:column-reverse}}.adm-screen>*{width:100%;max-width:1240px;margin-inline:auto}.adm-screen .cloud-head{justify-content:flex-start}.adm-controls{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.adm-seg .seg{min-height:40px}.adm-status:empty{display:none}.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.adm-kpi{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:20px;background:var(--panel);box-shadow:var(--shadow-small)}.adm-kpi-label{font-size:12px;font-weight:800;color:var(--mut)}.adm-kpi-value{font:700 26px/1.1 var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums}.adm-tabs{gap:8px}.adm-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--chip);color:var(--ink2);font:800 14px/1 var(--font-ui)}.adm-tab[aria-pressed=true]{background:var(--ink);color:var(--panel)}.adm-count{min-width:22px;padding:3px 7px;border-radius:999px;background:var(--panel);color:var(--ink2);font-size:12px;text-align:center}.adm-tab:focus-visible,.adm-link:focus-visible,.adm-report:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.adm-empty{padding:24px;border-radius:20px;background:var(--panel);color:var(--ink2)}.adm-table th{color:var(--mut)}.adm-table th.num{text-align:right}.adm-table td{font-size:14px;font-weight:600;color:var(--ink)}.adm-table .num{text-align:right;font-variant-numeric:tabular-nums}.adm-table .num svg{vertical-align:-1px;color:var(--star)}.adm-table .adm-wrap{min-width:220px;max-width:420px;white-space:normal}.adm-link{min-height:40px;padding:0;background:none;color:var(--ink);font:800 14px/1.2 var(--font-ui);text-decoration:underline;text-underline-offset:3px}.adm-pass{min-width:190px}.adm-bar{display:inline-block;width:80px;height:8px;margin-right:10px;border-radius:4px;background:var(--track);vertical-align:middle;overflow:hidden}.adm-bar-fill{display:block;height:100%;border-radius:4px;background:var(--ok)}.adm-bar-label{font-variant-numeric:tabular-nums}.adm-reports{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}.adm-report{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:20px;background:var(--panel);box-shadow:var(--shadow-small);color:var(--ink);text-align:left}.adm-report.is-handled{opacity:.6}.adm-report-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.adm-chip{padding:4px 10px;border-radius:999px;background:var(--chip);color:var(--ink2);font:800 12px/1.2 var(--font-ui)}.adm-chip.cat-bug{background:var(--dgrbg);color:var(--dgrink)}.adm-chip.cat-hard,.adm-chip.cat-unclear{background:var(--warmbg);color:var(--ink)}.adm-chip.cat-idea,.adm-chip.is-done{background:var(--okbg);color:var(--okink)}.adm-report-when{margin-left:auto;font-size:12px;font-weight:700;color:var(--mut)}.adm-report-msg{margin:0;font-size:15px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.adm-report-msg.is-full{display:block;white-space:pre-wrap}.adm-report-meta{margin:0;font-size:12px;font-weight:700;color:var(--mut)}.adm-detail{display:flex;flex-direction:column;gap:14px}.adm-back{align-self:flex-start;gap:6px;min-height:44px;padding:0 16px 0 10px;font-size:15px}.adm-back svg{width:18px;height:18px}.adm-player h2{font:700 24px/1.15 var(--font-display)}.adm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;margin:0}.adm-facts dt{font-size:12px;font-weight:800;color:var(--mut)}.adm-facts dd{margin:0;font-size:15px;font-weight:700}.adm-id{font:600 12px/1.2 var(--font-mono);color:var(--mut)}.adm-timeline{display:flex;flex-direction:column;gap:8px}.adm-session{margin:8px 0 0;font:700 17px/1.2 var(--font-display);color:var(--ink)}.adm-events{margin:0;padding:6px 16px;list-style:none;border-radius:20px;background:var(--panel)}.adm-event{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--edge);font-size:14px}.adm-event:last-child{border-bottom:0}.adm-event-time{min-width:44px;font:600 12px/1.2 var(--font-mono);color:var(--mut)}.adm-event-label{font-weight:800;color:var(--ink)}.adm-event-text{flex:1 1 220px;min-width:0;font-weight:600;color:var(--ink2);overflow-wrap:anywhere}.adm-event.is-ok .adm-event-label{color:var(--okink)}.adm-event.is-bad .adm-event-label,.adm-event.ev-error .adm-event-label{color:var(--dgrink)}.adm-open,.adm-actions button{min-height:40px;padding:0 14px;font-size:14px}.adm-shot{width:100%;max-height:60vh;object-fit:contain;border-radius:16px;background:var(--chip)}.adm-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:760px),(max-height:520px){.adm-kpis{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}.adm-kpi{padding:10px 12px}.adm-kpi-value{font-size:20px}.adm-controls{margin-left:0}}.collections-screen{padding:16px max(20px,env(safe-area-inset-right)) 28px max(20px,env(safe-area-inset-left))}.collections-screen .cloud-head{max-width:1180px;width:100%;margin:0 auto}.collections-stars{display:inline-flex;align-items:center;gap:6px;margin-left:auto;min-height:44px;padding:0 16px;border-radius:var(--r-btn);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-small);font-weight:900;font-variant-numeric:tabular-nums}.collections-stars svg{color:var(--star)}.collections-intro,.collections-sub{max-width:1180px;width:100%;margin:0 auto;color:var(--mut);font-weight:700}.collections-intro{font-size:15px;line-height:1.4}.collections-sub{padding:0 6px 10px;font-size:13px}.collections-set{width:100%}.collections-set .map-list-head{padding-bottom:4px}.collections-set .map-list-count{display:inline-flex;align-items:center;gap:5px}.collections-set .map-list-count svg{color:var(--star)}@media(max-height:520px),(max-width:760px){.collections-screen{padding-top:max(10px,env(safe-area-inset-top));gap:10px}.collections-intro{font-size:13px}}
