:root{--bg:#0e1020;--panel:#171b34;--panel-2:#20254a;--line:#2b3162;--text:#eef0ff;--muted:#98a0cf;--gold:#ffd23f;--teal:#4ecdc4;--danger:#ff6b6b}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0}body{-webkit-user-select:none;user-select:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}#app{max-width:520px;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;margin:0 auto;display:flex}#hud{background:var(--panel);border-bottom:1px solid var(--line);padding:10px 14px 6px}.hud-top{justify-content:space-between;align-items:center;display:flex}.coins{letter-spacing:-.5px;align-items:baseline;gap:8px;font-size:30px;font-weight:800;display:flex}.coin-dot{background:var(--gold);width:18px;height:18px;box-shadow:0 0 10px var(--gold);border-radius:50%;align-self:center}.coins small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:600}.icon-btn{background:var(--panel-2);border-radius:12px;width:48px;height:48px;font-size:22px}.level{color:var(--muted);justify-content:space-between;margin-top:2px;font-size:13px;display:flex}.bar{background:var(--panel-2);border-radius:4px;height:8px;margin:4px 0 8px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--teal), var(--gold));border-radius:4px;width:0;height:100%;transition:width .3s;display:block}.legend{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.legend::-webkit-scrollbar{display:none}.chip{background:var(--panel-2);opacity:.55;border-radius:999px;flex:none;align-items:center;gap:6px;padding:3px 9px 3px 3px;font-size:13px;font-weight:700;display:flex}.chip.have{opacity:1}.chip .n{color:#000c;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.chip em{color:var(--muted);font-style:normal;font-weight:600}#stage{background:#0a0c18;flex:1 1 0;min-height:0;position:relative}#cv{touch-action:none;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#panel{background:var(--panel);border-top:1px solid var(--line);flex-direction:column;display:flex}.panel-body{height:clamp(150px,25dvh,210px);padding:10px 12px 8px;overflow:hidden}.pane{height:100%;overflow-y:auto}.pane[hidden]{display:none}.row{gap:8px;display:flex}.actions{grid-template-columns:repeat(3,1fr);gap:8px;height:100%;display:grid}.act{background:var(--panel-2);border:1px solid #3a4290;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:0;padding:6px 4px;transition:transform 80ms;display:flex}.act>svg{flex:none;width:44px;height:44px}.merge-icon{flex:none;justify-content:center;align-items:center;height:44px;display:flex}.merge-icon svg{width:84px;height:44px}.act b{font-size:14px;line-height:1.1}.act small{color:var(--gold);min-height:16px;font-size:13px;font-weight:800;line-height:16px}.act:not(:disabled):active{transform:scale(.96)}.act:disabled{opacity:.45;border-color:var(--line)}.tabbar{border-top:1px solid var(--line);background:#0f1226;display:flex}.tabbar button{min-height:56px;color:var(--muted);background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:700;display:flex;position:relative}.tabbar button svg{width:22px;height:22px}.tabbar button.on{color:var(--teal)}.tabbar button.on:before{content:"";background:var(--teal);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.badge{background:var(--gold);width:9px;height:9px;box-shadow:0 0 6px var(--gold);border-radius:50%;position:absolute;top:9px;left:calc(50% + 22px)}.badge[hidden]{display:none}.cta{background:linear-gradient(90deg, var(--teal), var(--gold));color:#101224;border-radius:16px;min-height:54px;font-size:16px;font-weight:800;animation:1.4s infinite pulse;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 6px 24px #00000080}@keyframes pulse{50%{transform:scale(1.025)}}.cta[hidden]{display:none}.up{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.up .info{flex:1;min-width:0}.up .info b{font-size:15px;display:block}.up .info span{color:var(--muted);font-size:12px}.up button{background:var(--panel-2);border:1px solid var(--line);min-width:92px;min-height:48px;color:var(--gold);border-radius:12px;font-weight:800}.up button:disabled{opacity:.45}#prestige-box{color:var(--muted);margin-top:12px;font-size:13px}#prestige-box button{width:100%;min-height:48px;color:var(--text);background:#3b2a66;border:1px solid #6a4fb3;border-radius:12px;margin-top:6px;font-weight:800}#toasts{left:0;right:0;top:calc(env(safe-area-inset-top) + 130px);pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed}.toast{border:1px solid var(--line);background:#1e2450f2;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;animation:2.4s forwards fade}.toast.good{border-color:var(--teal)}.toast.bad{border-color:var(--danger)}@keyframes fade{0%{opacity:0;transform:translateY(-6px)}10%,80%{opacity:1;transform:none}to{opacity:0}}#modal{z-index:10;background:#050610b8;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#modal[hidden]{display:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(420px,100%);padding:18px}.card h2{margin:0 0 8px;font-size:20px}#modal-body{color:var(--muted);font-size:14px;line-height:1.45}#modal-body strong{color:var(--text)}#modal-actions{flex-wrap:wrap;margin-top:14px}#modal-actions button{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;flex:120px;min-height:48px;font-weight:800}#modal-actions button.primary{background:linear-gradient(90deg, var(--teal), var(--gold));color:#101224;border:0}#modal-actions button.danger{color:var(--danger)}.toggle{border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;align-items:center;padding:10px 0;font-weight:700;display:flex}.toggle button{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;min-width:80px;min-height:44px;font-weight:800}.toggle button.on{background:var(--teal);color:#101224}@media (prefers-reduced-motion:reduce){.cta{animation:none}.toast{animation-duration:10ms;animation-fill-mode:none}}.col-cards{grid-template-columns:repeat(3,1fr);gap:8px;height:100%;display:grid}.col-card{background:var(--panel-2);border:1px solid #3a4290;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;padding:6px 4px;transition:transform 80ms;display:flex;position:relative}.col-card:active{transform:scale(.96)}.col-card>svg{flex:none;width:56px;height:36px}.col-card b{font-size:14px;line-height:1.1}.col-card small{color:var(--gold);text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:16px;font-size:13px;font-weight:800;line-height:16px;overflow:hidden}.card-dot{background:var(--gold);width:10px;height:10px;box-shadow:0 0 6px var(--gold);border-radius:50%;position:absolute;top:8px;right:10px}.card-dot[hidden],#col-badge[hidden]{display:none}.col-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.sheet-x:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tabbar button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}#toasts{z-index:12}#sheet{z-index:9;background:#050610b8;justify-content:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#sheet[hidden]{display:none}.sheet-card{background:var(--bg);width:min(520px,100%);height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.sheet-head{border-bottom:0;justify-content:space-between;align-items:center;padding:8px 8px 0 16px;display:flex}.sheet-head h2{margin:0;font-size:22px}.sheet-x{background:var(--panel-2);border-radius:12px;width:48px;height:48px;font-size:28px;line-height:1}.sheet-sub{color:var(--muted);min-height:18px;margin:2px 16px 8px;font-size:13px}.sheet-body{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;gap:8px;min-height:0;padding:0 12px 20px;display:flex;overflow-y:auto}.cx-row,.ach-row,.stat-row{background:var(--panel);border:1px solid var(--line);border-radius:16px}.cx-row{align-items:center;gap:14px;min-height:84px;padding:12px;display:flex}.cx-row.locked{opacity:.8;border-style:dashed}.cx-ball{width:56px;height:56px;color:var(--muted);border-radius:50%;flex:0 0 56px;place-items:center;font-size:26px;font-weight:800;display:grid}.cx-row.locked .cx-ball{background:#1a1e40;border:2px dashed #3a4290}.cx-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cx-top{align-items:center;gap:8px;display:flex}.cx-top b{font-size:17px}.cx-line{color:var(--text);font-size:13px}.cx-blurb{color:var(--muted);font-size:12px;font-style:italic}.cx-trait{color:var(--muted);font-size:12px}.new-chip{background:var(--gold);color:#101224;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800}.new-chip[hidden]{display:none}.ach-row{opacity:.85;align-items:center;gap:12px;min-height:76px;padding:12px;display:flex}.ach-row.done{opacity:1;border-color:#6a5a1f}.ach-medal{background:var(--panel-2);color:#4b5190;border:2px solid var(--line);border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.ach-row.done .ach-medal{background:var(--gold);color:#101224;border-color:#fff3b0}.ach-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ach-info .cx-line{color:var(--muted)}.ach-bar{background:var(--panel-2);border-radius:3px;height:6px;overflow:hidden}.ach-bar[hidden]{display:none}.ach-bar i{background:linear-gradient(90deg, var(--teal), var(--gold));border-radius:3px;height:100%;display:block}.ach-status{color:var(--muted);font-size:12px;font-weight:700}.ach-row.done .ach-status{color:var(--gold)}.stat-row{min-height:52px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;font-size:14px;display:flex}.stat-row span{flex:1}.stat-row b{color:var(--text);font-size:16px}.stat-dot{border-radius:50%;width:14px;height:14px}.stat-dot[hidden]{display:none}.combo{pointer-events:none;z-index:2;background:#0c0e22b8;border:1px solid #ffd23f73;border-radius:14px;grid-template-columns:auto auto auto;justify-content:center;align-items:baseline;column-gap:8px;padding:4px 14px 6px;display:grid;position:absolute;top:6px;left:50%;transform:translate(-50%)}.combo[hidden]{display:none}.combo-n{color:var(--gold);text-align:right;font-variant-numeric:tabular-nums;font-size:24px;font-weight:900;line-height:1}.combo-l{letter-spacing:1.5px;color:var(--muted);font-size:11px;font-weight:800}.combo-x{color:var(--teal);font-size:14px;font-weight:800}.combo-bar{background:#ffffff1f;border-radius:2px;grid-column:1/-1;height:4px;margin-top:3px;display:block;overflow:hidden}.combo-bar u{background:linear-gradient(90deg, var(--teal), var(--gold));width:0;height:100%;text-decoration:none;transition:width 60ms linear;display:block}.combo.broken{border-color:#ff6b6b99}.combo.broken .combo-n,.combo.broken .combo-x{color:var(--danger)}.combo.pop{animation:.18s ease-out combo-pop}@keyframes combo-pop{0%{transform:translate(-50%)scale(1.18)}to{transform:translate(-50%)scale(1)}}button.frenzy{z-index:2;background:conic-gradient(var(--gold) var(--p,0%), #ffffff24 0);color:#101224;letter-spacing:.3px;opacity:.8;pointer-events:none;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:13px;font-weight:900;transition:width .15s,height .15s;display:grid;position:absolute;top:40%;right:8px}button.frenzy:before{content:"";background:#12162b;border-radius:50%;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.frenzy-label{color:var(--text);position:relative}button.frenzy.ready{opacity:1;pointer-events:auto;background:conic-gradient(var(--gold), #ff8a3d, var(--gold));width:76px;height:76px;animation:.9s ease-in-out infinite frenzy-ready;box-shadow:0 0 22px #ffd23fbf}button.frenzy.ready:before{background:linear-gradient(160deg,#ffd23f,#ff8a3d);top:4px;bottom:4px;left:4px;right:4px}button.frenzy.ready .frenzy-label{color:#101224;font-size:13px}button.frenzy.active{opacity:1;background:conic-gradient(#ff8a3d var(--p,0%), #ffffff24 0);width:56px;height:56px;box-shadow:0 0 18px #ff8a3dcc}button.frenzy.active .frenzy-label{color:#ffd23f;font-size:16px}@keyframes frenzy-ready{50%{transform:scale(1.08)}}#stage.frenzy-on{box-shadow:inset 0 0 28px #ff8a3d73}#toasts{top:calc(env(safe-area-inset-top) + 190px)}@media (prefers-reduced-motion:reduce){.combo.pop,button.frenzy.ready{animation:none}}body.reduce-fx .combo.pop,body.reduce-fx button.frenzy.ready{animation:none}body.reduce-fx button.frenzy{transition:none}.col-cards{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.col-card{text-align:left;grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr);align-content:center;justify-items:start;column-gap:8px;padding:4px 10px;display:grid}.col-card>svg{grid-row:1/span 2;place-self:center;width:48px;height:32px}.col-card b{grid-column:2;align-self:end}.col-card small{grid-column:2;align-self:start;min-width:0}.merge-card{min-width:0;min-height:0;display:flex;position:relative}.merge-card .act{flex:auto;min-width:0}.lucky-chip{z-index:1;background:0 0;place-items:start end;width:48px;height:48px;padding:5px 5px 0 0;display:grid;position:absolute;top:0;right:0}.lucky-chip svg{width:25px;height:25px}.lucky-chip rect{fill:#171b34;stroke:#7d86c9;stroke-width:1.8px}.lucky-chip circle{fill:#98a0cf}.lucky-chip.on rect{fill:#3b2a66;stroke:#b36bff}.lucky-chip.on circle{fill:var(--gold)}.lucky-chip.on svg{filter:drop-shadow(0 0 5px #b36bffe6)}.lucky-chip.on:after{content:"×2";color:var(--gold);font-size:11px;font-weight:900;position:absolute;top:11px;right:34px}.lucky-chip:focus-visible{outline:2px solid var(--teal);outline-offset:-6px;border-radius:12px}.merge-card.lucky .act:not(:disabled){border-color:#b36bff;box-shadow:0 0 12px #b36bff73}.overclock{z-index:2;background:conic-gradient(#8a93d6 var(--p,0%), #ffffff24 0);width:44px;height:44px;color:var(--muted);letter-spacing:.2px;opacity:.8;pointer-events:none;border-radius:50%;place-items:center;padding:0;font-size:11px;font-weight:900;transition:width .15s,height .15s;display:grid;position:absolute;top:40%;left:8px}.overclock:before{content:"";background:#12162b;border-radius:50%;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.oc-label{white-space:pre-line;text-align:center;font-variant-numeric:tabular-nums;line-height:1.05;position:relative}.overclock.ready{opacity:1;pointer-events:auto;background:conic-gradient(#ff3d57,#ff8a3d,#ff3d57);width:76px;height:76px;animation:.8s ease-in-out infinite oc-ready;box-shadow:0 0 22px #ff3d57bf}.overclock.ready:before{background:linear-gradient(160deg,#ff5a4d,#b3122f);top:4px;bottom:4px;left:4px;right:4px}.overclock.ready .oc-label{color:#fff;font-size:12px}.overclock.active{opacity:1;background:conic-gradient(#ff3d57 var(--p,0%), #ffffff24 0);width:56px;height:56px;box-shadow:0 0 20px #ff3d57d9}.overclock.active .oc-label{color:#ffb199;font-size:16px}.overclock.debt{opacity:1;background:conic-gradient(#4da3ff var(--p,0%), #ffffff24 0);width:56px;height:56px;box-shadow:0 0 14px #4da3ff80}.overclock.debt .oc-label{color:#9ecbff;font-size:13px}@keyframes oc-ready{50%{transform:scale(1.08)}}#stage.oc-active{box-shadow:inset 0 0 30px #ff3d5780}#stage.oc-debt{box-shadow:inset 0 0 24px #4da3ff4d}#stage.frenzy.oc-active{box-shadow:inset 0 0 28px #ff8a3d73,inset 0 0 40px #ff3d5773}#stage.frenzy.oc-debt{box-shadow:inset 0 0 28px #ff8a3d73,inset 0 0 24px #4da3ff4d}.daily-bar{z-index:3;pointer-events:none;background:linear-gradient(#0a0c18f0,#0a0c1899);border-bottom:1px solid #4ecdc473;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;column-gap:10px;height:46px;padding-left:12px;display:grid;position:absolute;top:0;left:0;right:0}.daily-bar[hidden]{display:none}.daily-tag{letter-spacing:1.5px;color:var(--teal);font-size:11px;font-weight:900}.daily-time{font-variant-numeric:tabular-nums;min-width:3.4ch;font-size:22px;font-weight:900}.daily-time.low{color:var(--danger)}.daily-score{color:var(--gold);font-variant-numeric:tabular-nums;justify-self:end;font-size:20px;font-weight:900}.daily-end{pointer-events:auto;width:56px;height:46px;color:var(--muted);background:0 0;font-size:13px;font-weight:800}.daily-prog{background:#ffffff1f;height:3px;position:absolute;bottom:0;left:0;right:0}.daily-prog u{background:linear-gradient(90deg, var(--teal), var(--gold));width:0;height:100%;text-decoration:none;display:block}#stage.daily .combo{top:54px}.dl-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:6px;padding:14px;display:flex}.dl-card h3{margin:0;font-size:17px}.dl-line{color:var(--muted);font-size:13px;line-height:1.4}.dl-line b{color:var(--text)}.dl-line.have{color:var(--gold);font-weight:700}.dl-chips{flex-wrap:wrap;gap:6px;display:flex}.dl-chip{background:var(--panel-2);border:1px solid #3a4290;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.dl-chip.mod{color:#d9c2ff;border-color:#6a4fb3}.dl-chip.zone{color:var(--gold);border-color:#6a5a1f}.dl-actions{gap:8px;display:flex}.dl-btn{background:var(--panel-2);border:1px solid #3a4290;border-radius:14px;flex:1;min-height:52px;font-size:16px;font-weight:800}.dl-btn.primary{background:linear-gradient(90deg, var(--teal), var(--gold));color:#101224;border:0}.dl-btn:disabled{opacity:.45}.dl-result{text-align:center;border-color:#6a5a1f;align-items:center}.dl-kicker{letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);font-size:12px;font-weight:800}.dl-score{color:var(--gold);font-variant-numeric:tabular-nums;font-size:44px;font-weight:900;line-height:1.1}.dl-badge{background:var(--gold);color:#101224;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800}.dl-code{max-width:100%;color:var(--muted);word-break:break-all;-webkit-user-select:text;user-select:text;font:700 12px ui-monospace,Consolas,monospace}.dl-result .dl-actions{align-self:stretch;margin-top:4px}.dl-hist{flex-direction:column;display:flex}.dl-day{border-bottom:1px solid var(--line);min-height:36px;color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.dl-day:last-child{border-bottom:0}.dl-day span{flex:1}.dl-day i{font-size:12px;font-style:normal}.dl-day b{color:var(--text);text-align:right;min-width:5ch}.dl-day.today span,.dl-day.today b{color:var(--gold)}@media (prefers-reduced-motion:reduce){.overclock.ready{animation:none}}body.reduce-fx .overclock.ready{animation:none}body.reduce-fx .overclock{transition:none}#stage{background:var(--stage,#0a0c18)}#level-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:8px;overflow:hidden}#goal-text{flex:none}.tr-branches{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tr-br{background:var(--panel-2);border:1px solid var(--line);border-top:3px solid var(--br,var(--teal));text-align:left;border-radius:14px;flex-direction:column;justify-content:center;gap:4px;min-height:52px;padding:6px 10px;display:flex;position:relative}.tr-br b{font-size:14px;line-height:1.1}.tr-br small{color:var(--muted);font-size:12px;font-weight:700;line-height:1}.tr-br .card-dot{top:6px;right:8px}.tr-bar{background:#ffffff1f;border-radius:3px;height:5px;overflow:hidden}.tr-bar i{background:var(--br,var(--teal));border-radius:3px;width:0;height:100%;display:block}.tr-actions{gap:8px;margin-top:8px;display:flex}.tr-open,.tr-echo{background:var(--panel-2);border:1px solid #3a4290;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:48px;display:flex;position:relative}.tr-open{flex:1 1 0}.tr-echo{flex:0 0 34%}.tr-open b,.tr-echo b{font-size:14px;line-height:1.1}.tr-open small,.tr-echo small{color:var(--gold);font-size:12px;font-weight:800;line-height:14px}.tr-open .card-dot{top:6px;right:10px}.tr-br:active,.tr-open:active,.tr-echo:active{transform:scale(.97)}.tr-br:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tr-open:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tr-echo:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tr-tab:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tr-buy:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.wd-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}#tree-sheet{z-index:9;background:#050610b8;justify-content:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#tree-sheet[hidden]{display:none}.tr-tabs{gap:6px;padding:0 12px 8px;display:flex}.tr-tab{background:var(--panel-2);border:1px solid var(--line);min-height:48px;color:var(--muted);border-radius:12px;flex:1;font-weight:800}.tr-tab.on{color:#101224;background:linear-gradient(90deg, var(--teal), var(--gold));border:0}.tr-note{background:var(--panel);border:1px dashed var(--line);color:var(--muted);border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.4}.tr-respec{background:var(--panel);border:1px solid var(--line);border-radius:16px;align-items:center;gap:10px;padding:10px 12px;display:flex}.tr-branch{flex-direction:column;gap:8px;padding-top:6px;display:flex}.tr-bhead{border-bottom:2px solid var(--br,var(--teal));align-items:baseline;gap:8px;padding:4px 4px 6px;display:flex}.tr-bhead b{color:var(--br,var(--teal));font-size:20px}.tr-tag{color:var(--muted);flex:1;font-size:13px}.tr-prog{color:var(--text);font-size:13px;font-weight:800}.tr-node{background:var(--panel);border:1px solid var(--line);border-radius:16px;align-items:center;gap:10px;min-height:76px;padding:10px 12px;display:flex}.tr-node.st-locked,.tr-node.st-blocked{opacity:.6;border-style:dashed}.tr-node.st-affordable{border-color:var(--gold);box-shadow:0 0 0 1px #ffd23f40}.tr-node.st-maxed{border-color:var(--br,var(--teal))}.tr-node.dormant{border-color:var(--danger)}.tr-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tr-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tr-top b{font-size:16px}.tr-lv{color:var(--muted);font-size:12px;font-weight:800}.tr-now{color:var(--text);font-size:13px;line-height:1.3}.tr-next{color:var(--muted);font-size:12px;line-height:1.3}.tr-buy{background:var(--panel-2);border:1px solid var(--line);min-width:84px;min-height:48px;color:var(--gold);border-radius:12px;flex:none;padding:0 10px;font-weight:800}.tr-buy:disabled{opacity:.5}.tr-buy.armed{background:var(--danger);color:#101224;opacity:1;border:0}.st-affordable .tr-buy{background:linear-gradient(90deg, var(--teal), var(--gold));color:#101224;opacity:1;border:0}.st-maxed .tr-buy{color:var(--muted)}.tr-gate{border:2px solid var(--br,var(--gold));background:#ffffff08;border-radius:18px;padding:8px}.tr-gate-h{letter-spacing:1.5px;color:var(--br,var(--gold));padding:0 4px 6px;font-size:12px;font-weight:900}.tr-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tr-node.key{flex-direction:column;align-items:stretch;min-height:150px}.tr-node.key .tr-info{flex:auto}.tr-node.key .tr-buy{width:100%}.tr-node.key.chosen{border-color:var(--gold);box-shadow:0 0 12px #ffd23f73}.tr-node.key.st-blocked{opacity:.45}.wd-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wd-card{background:var(--panel);border:2px solid var(--line);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;min-height:120px;padding:10px;display:flex}.wd-card b{font-size:16px}.wd-card.sel{border-color:var(--gold);box-shadow:0 0 12px #ffd23f59}.wd-card.locked{opacity:.55;border-style:dashed}.wd-card:disabled{cursor:default}.wd-sw{gap:4px;display:flex}.wd-sw i{border:1px solid #ffffff40;border-radius:50%;width:18px;height:18px}.wd-tweak{color:var(--muted);flex:1;font-size:12px;line-height:1.3}.wd-status{color:var(--gold);font-size:12px;font-weight:800}#modal-body .wd-grid{margin-top:10px}#modal-body .wd-card{min-height:96px}#modal-body .wd-tweak{display:none}@media (prefers-reduced-motion:reduce){.tr-br:active,.tr-open:active,.tr-echo:active{transform:none}}#buy-platform b{white-space:nowrap}.cx-ball .tr-cue{pointer-events:none;width:100%;height:100%;display:block;overflow:visible}.cx-trait{color:var(--text)}.pk-ico{vertical-align:middle;width:24px;height:13px}.sheet-body>*{flex-shrink:0}@media (min-width:640px){body{background:radial-gradient(1100px 700px at 50% 15%,#1b2150 0%,#0a0c18 72%)}}@media (min-width:640px) and (min-height:720px){#app{height:calc(100dvh - 32px);box-shadow:0 0 0 1px var(--line), 0 24px 90px #000000a6;border-radius:22px;margin-top:16px;margin-bottom:16px;overflow:hidden}}@media (min-width:900px) and (min-height:560px){#app{grid-template:"stage hud""stage panel"minmax(0,1fr)/minmax(0,1fr) 420px;max-width:1060px;display:grid}#hud{border-left:1px solid var(--line);grid-area:hud}#stage{grid-area:stage}#panel{border-left:1px solid var(--line);grid-area:panel;min-height:0}.panel-body{flex:1 1 0;height:auto;min-height:0;overflow-y:auto}.pane,.actions{height:auto}.act{min-height:150px}.tabbar button{min-height:60px}}.keys-hint{display:none}@media (min-width:900px) and (min-height:560px) and (hover:hover) and (pointer:fine){.keys-hint{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:12px;font-size:13px;line-height:2;display:block}.keys-hint kbd{font:inherit;color:var(--text);border:1px solid var(--line);background:var(--panel-2);border-radius:6px;padding:1px 7px;font-weight:800}}
