:root{--bg:#061422;--bg-soft:#0d2338;--ink:#eaf3fc;--ink-soft:#b6cbe0;--paper:#122740;--paper-2:#1b3453;--paper-3:#0c1c2e;--muted:#93aec9;--line:#93bee829;--gold:#ffc93c;--gold-dark:#ffd97a;--pink:#ff9fb5;--red:#ff6a5c;--green:#3fd98a;--blue:#6fb2ff;--btn-ink:#241500;--glass:#0f2237e6;--glass-2:#0f2237b8;--glass-line:#8cbce84d;--glass-blur:10px;--bevel:inset 0 1px 0 #ffffff17, inset 0 -1px 0 #00000052;--sheen:linear-gradient(180deg, #ffffff17, #fff0 58%);--grid:repeating-linear-gradient(0deg, #8cc3f00b 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, #8cc3f009 0 1px, transparent 1px 24px);--tick:color-mix(in srgb, var(--gold) 60%, transparent);--s1:.25rem;--s2:.4rem;--s3:.6rem;--s4:.85rem;--s5:1.2rem;--s6:1.8rem;--r1:8px;--r2:12px;--r3:18px;--r4:24px;--rp:999px;--font:"Trebuchet MS", "Segoe UI", system-ui, -apple-system, sans-serif;--t-xs:.72rem;--t-sm:.82rem;--t-md:.94rem;--t-lg:1.12rem;--t-xl:1.5rem;--e1:0 2px 6px #00060e66;--e2:0 8px 22px #00060e80;--e3:0 18px 46px #00060e9e;--shadow:var(--e2);--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--fast:.14s;--med:.24s;--slow:.4s;--tap:44px;--reel-row:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=phonk]{--bg:#060a14;--bg-soft:#0d1524;--ink:#dce7ff;--ink-soft:#9db4dd;--paper:#0d1524;--paper-2:#142033;--paper-3:#0a1120;--muted:#8298bd;--line:#8cc8ff24;--gold:#ffb02e;--gold-dark:#22e5ff;--pink:#ff2d95;--red:#ff2d95;--green:#35f0a0;--blue:#22e5ff;--glass:#0d1524eb;--glass-2:#0d1524cc;--glass-line:#78beff57;--edge:#78beff4d;--edge-strong:#22e5ff8c;--scanlines:repeating-linear-gradient(0deg, #8cc8ff09 0 1px, transparent 1px 3px);--grid:var(--scanlines);--tick:color-mix(in srgb, var(--blue) 55%, transparent);--bevel:inset 0 1px 0 #78beff1f;--sheen:linear-gradient(180deg, #78beff12, #78beff00 60%);--btn-ink:#180d00;--e1:0 2px 8px #00000080;--e2:0 10px 26px #0000008c, 0 0 0 1px #22e5ff14;--e3:0 18px 44px #000000a6, 0 0 0 1px #22e5ff1f}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0;line-height:1.15}p{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.muted{color:var(--muted)}.small{font-size:var(--t-sm)}.section-head{margin:var(--s4) 0 var(--s2);font-size:var(--t-md)}.stack{gap:var(--s3);display:grid}.ico{vertical-align:-.16em;flex:none;display:inline-block}.btn .ico,.chip .ico,.panel-head .ico,.modal-title .ico{margin-right:.1em}.btn-icon .ico,.track-btn .ico{vertical-align:middle;margin:0}.star-run{color:var(--gold-dark);gap:1px;display:inline-flex}.gem{vertical-align:-.2em;filter:drop-shadow(0 1px 1.5px #00060e8c);flex:none;display:inline-block}.gem-run{vertical-align:-.2em;align-items:center;gap:1px;display:inline-flex}.gem.is-bumped{animation:gem-bump .42s var(--ease-pop)}@keyframes gem-bump{0%{transform:none}38%{transform:scale(1.5)rotate(-14deg)}to{transform:none}}.btn .gem,.chip .gem,.powerup-cost .gem{margin:0 .1em}.hud-stars{font-size:var(--t-md);color:var(--gold-dark);letter-spacing:.02em}.hud-stars .star-value{font-variant-numeric:tabular-nums}.star-meter{flex:none;place-items:center;width:27px;height:27px;display:inline-grid;position:relative}.star-meter-ring{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-90deg)}.star-meter-track{fill:none;stroke:var(--line);stroke-width:2.6px}.star-meter-fill{fill:none;stroke:var(--gold);stroke-width:2.6px;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.star-meter .gem{vertical-align:0}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:2.35rem;font:inherit;font-weight:700;font-size:var(--t-md);color:var(--ink);background:var(--paper-2);border:2px solid var(--glass-line);border-radius:var(--rp);background-image:var(--sheen);box-shadow:var(--e1), var(--bevel);cursor:pointer;white-space:nowrap;transition:transform var(--fast) var(--ease), background var(--fast) linear, box-shadow var(--fast) var(--ease);padding:.45em 1em;display:inline-flex}.btn:hover:not(:disabled){box-shadow:var(--e2), var(--bevel);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:var(--bevel);transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.btn-primary{background:var(--gold);color:var(--btn-ink);border-color:var(--glass-line)}.btn-primary:hover:not(:disabled){background:#ffdc7d}.btn-ghost{background:0 0}.btn-block{width:100%}.btn-small{min-height:2rem;font-size:var(--t-sm);padding:.35em .8em}.btn-icon{min-width:var(--tap);min-height:var(--tap);border-radius:50%;padding:0}.btn.is-active{background:var(--gold);color:var(--btn-ink)}.chip{align-items:center;gap:var(--s1);font:inherit;font-weight:700;font-size:var(--t-sm);color:var(--ink);background:var(--paper-2);background-image:var(--sheen);border:2px solid var(--glass-line);border-radius:var(--rp);box-shadow:var(--bevel);white-space:nowrap;padding:.3em .75em;display:inline-flex}button.chip{cursor:pointer;min-height:2rem}button.chip:hover{background:var(--paper-3)}button.chip:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.card{background:var(--paper);border:2px solid var(--glass-line);border-radius:var(--r3);padding:var(--s4);box-shadow:var(--e1)}.divider{background:var(--line);height:1px;margin:var(--s3) 0}.hud-cluster,#panel,.panel-card,.modal,.title-card,#tooltip,.start-banner,.track-bar,.battle-hud{background-image:var(--grid)}.panel-card{position:relative}.panel-card:before,.panel-card:after{content:"";border:2px solid var(--tick);pointer-events:none;width:12px;height:12px;position:absolute}.panel-card:before{border-top-left-radius:inherit;border-bottom:0;border-right:0;top:-2px;left:-2px}.panel-card:after{border-bottom-right-radius:inherit;border-top:0;border-left:0;bottom:-2px;right:-2px}.panel-head,.modal-title,.section-head{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft)}.panel-head,.section-head{font-size:var(--t-sm);font-weight:800}.stat-tile,.momentum-track,.reel-window,.pips i{box-shadow:inset 0 1px 3px #0006,inset 0 -1px #ffffff0d}#stage:after{content:"";pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#0008126b 100%);position:absolute;top:0;bottom:0;left:0;right:0}#app{height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#app[hidden]{display:none}#stage{background:var(--bg);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#map-canvas,#globe-container{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}#map-canvas{touch-action:none;cursor:grab;display:block}#map-canvas:active{cursor:grabbing}#globe-container[hidden],#map-canvas[hidden]{display:none}.globe-canvas{touch-action:none;width:100%;height:100%;display:block}#hud{z-index:30}#panel{z-index:25}#banner-root{z-index:28}#player-root{z-index:26}#tooltip{z-index:40}#modal-root{z-index:70}#toast-root{z-index:90}#hud{top:var(--s3);left:var(--s3);right:var(--s3);justify-content:space-between;align-items:flex-start;gap:var(--s3);pointer-events:none;display:flex;position:absolute}#hud>*{pointer-events:auto}.hud-cluster{align-items:center;gap:var(--s2);padding:var(--s2);background:var(--glass);border:2px solid var(--glass-line);border-radius:var(--rp);box-shadow:var(--e2);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));min-width:0;display:flex}.brand{font-size:var(--t-lg);letter-spacing:-.02em;white-space:nowrap;padding:0 var(--s2)}.stat-pills,.toolbar{align-items:center;gap:var(--s1);display:flex}.toolbar .btn-icon{box-shadow:none;background:0 0;border-color:#0000}.toolbar .btn-icon:hover{background:var(--paper-2)}.toolbar .btn-icon.is-active{background:var(--gold);color:var(--btn-ink)}.toolbar-sep{width:1px;margin:var(--s1) var(--s1);background:var(--line);align-self:stretch}#panel{top:5.2rem;right:var(--s3);bottom:var(--s3);background:var(--glass);border:2px solid var(--glass-line);border-radius:var(--r4);width:min(360px,34vw);box-shadow:var(--e3);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:transform var(--med) var(--ease-out);flex-direction:column;display:flex;position:absolute;overflow:hidden}#app.no-panel #panel,#app.no-panel #hud{display:none}#app.no-panel #banner-root{top:var(--s5)}#app.in-battle #panel{transform:translateX(calc(100% + var(--s5)));pointer-events:none}#app.in-battle #tooltip{display:none}.deck-handle{align-items:center;gap:var(--s3);width:100%;min-height:2.6rem;padding:var(--s2) var(--s4);font:inherit;font-weight:700;font-size:var(--t-sm);color:var(--ink);background:var(--paper-2);border:0;border-bottom:1px solid var(--line);cursor:pointer;flex:none;display:flex}.deck-handle:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.deck-summary{text-align:left;align-items:center;gap:var(--s2);flex:1;display:flex}.deck-chevron{transition:transform var(--med) var(--ease);display:inline-flex}.deck-body{overscroll-behavior:contain;align-content:start;gap:var(--s3);min-height:0;padding:var(--s3);contain:layout paint;flex:1;display:grid;overflow-y:auto}#app.deck-collapsed #panel{height:auto;top:auto}#app.deck-collapsed .deck-body{display:none}#app.deck-collapsed .deck-chevron{transform:rotate(180deg)}.panel-card{background:var(--paper);border:2px solid var(--glass-line);border-radius:var(--r3);padding:var(--s3) var(--s4);box-shadow:var(--e1)}.panel-card.is-quiet{background:var(--glass-2);box-shadow:none}.panel-head{align-items:center;gap:var(--s2);margin:0 0 var(--s2);font-size:var(--t-md);letter-spacing:.01em;display:flex}.panel-head .grow{flex:1}.panel-actions{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.panel-actions .btn{flex:1}.stat-row{justify-content:space-between;gap:var(--s3);font-size:var(--t-sm);padding:.2rem 0;display:flex}.stat-row span:last-child{font-weight:800}.stat-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.stat-tile{padding:var(--s2);text-align:center;background:var(--paper-3);border-radius:var(--r2);gap:2px;display:grid}.stat-tile b{font-size:var(--t-lg);color:var(--gold-dark);line-height:1}.stat-tile span{font-size:var(--t-xs);color:var(--muted)}.disclosure{border-top:1px solid var(--line);margin-top:var(--s3)}.disclosure>summary{cursor:pointer;padding:var(--s2) 0 0;font-size:var(--t-sm);color:var(--muted);align-items:center;gap:var(--s1);font-weight:700;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure[open]>summary .ico{transform:rotate(180deg)}.disclosure>summary .ico{transition:transform var(--fast) var(--ease)}.legend{margin:var(--s2) 0 0;gap:var(--s1);font-size:var(--t-xs);color:var(--muted);padding:0;list-style:none;display:grid}.legend li{align-items:center;gap:var(--s2);display:flex}.legend i{border:2px solid var(--glass-line);border-radius:4px;flex:none;width:13px;height:13px}.legend i.legend-coast{border-radius:50%}.dial{align-items:center;gap:var(--s4);display:flex}.dial-ring{flex:none;width:88px;height:88px;position:relative}.dial-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.dial-track{fill:none;stroke:var(--line);stroke-width:8px}.dial-tick{stroke:var(--line);stroke-width:1.8px}.dial-tick.is-major{stroke:var(--dial-colour,var(--gold-dark));stroke-width:2.6px;opacity:.8}.dial-value{fill:none;stroke:var(--dial-colour,var(--gold-dark));stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset var(--slow) var(--ease-out), stroke var(--med) linear}.dial-num{letter-spacing:-.03em;color:var(--dial-colour,var(--gold-dark));grid-auto-flow:column;place-content:center;align-items:baseline;gap:1px;font-size:1.4rem;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.dial-num small{font-size:.52em;font-weight:700}.dial-copy{gap:2px;min-width:0;display:grid}.dial-cap{font-size:var(--t-sm);color:var(--muted)}.dial-route{font-size:var(--t-sm);align-items:center;gap:var(--s1);display:flex}.odds-breakdown{margin:var(--s2) 0 0;font-size:var(--t-sm);padding:0;list-style:none}.odds-breakdown li{justify-content:space-between;gap:var(--s3);border-bottom:1px solid var(--line);padding:.15rem 0;display:flex}.odds-breakdown li:last-child{border-bottom:0}.odds-breakdown .up{color:var(--green);font-weight:700}.odds-breakdown .down{color:var(--red);font-weight:700}.odds-readout{align-items:baseline;gap:var(--s2);margin:var(--s2) 0;display:flex}.odds-big{color:var(--gold-dark);font-size:2.1rem;font-weight:800}.odds-cap{color:var(--muted);font-size:var(--t-sm)}.pips{gap:3px;display:flex}.pips i{background:var(--line);border-radius:3px;width:100%;height:6px}.pips i.on{background:var(--gold-dark)}#banner-root{justify-items:center;gap:var(--s2);pointer-events:none;padding:0 var(--s3);display:grid;position:absolute;top:5.2rem;left:0;right:0}.start-banner{pointer-events:auto;align-items:center;gap:var(--s5);background:var(--glass);border:2px solid var(--glass-line);border-radius:var(--rp);box-shadow:var(--e2);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));padding:var(--s2) var(--s4);flex-wrap:wrap;justify-content:center;display:flex}.start-copy{display:grid}.start-copy span{font-size:var(--t-sm)}.start-actions{gap:var(--s2);display:flex}.battle-hud{pointer-events:auto;width:min(560px, calc(100vw - 2 * var(--s3)));gap:var(--s2);padding:var(--s3) var(--s4);background:var(--glass);border:2px solid var(--glass-line);border-radius:var(--r3);box-shadow:var(--e2);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));opacity:0;transition:opacity var(--med) var(--ease), transform var(--med) var(--ease-out);display:grid;transform:translateY(-12px)}.battle-hud.is-in{opacity:1;transform:none}.battle-banner{justify-content:center;align-items:center;gap:var(--s3);font-weight:800;font-size:var(--t-md);line-height:1.1;display:flex}.battle-side{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.battle-side.attacker{color:var(--gold-dark);text-align:right}.battle-side.defender{color:var(--red);text-align:left}.battle-vs{color:var(--muted);flex:none;place-items:center;display:grid}.battle-plan{gap:var(--s1);flex-wrap:wrap;justify-content:center;display:flex}.battle-badge{border-radius:var(--rp);border:2px solid var(--glass-line);background:var(--paper-2);font-size:var(--t-xs);white-space:nowrap;align-items:center;gap:.28em;padding:.16em .6em;font-weight:700;display:inline-flex}.battle-badge.is-plan{background:var(--gold);color:var(--btn-ink)}.transit-hud .momentum-track{background:color-mix(in srgb, var(--blue) 22%, transparent)}.transit-hud .momentum-fill{background:var(--blue);transition:width .1s linear}.momentum{gap:var(--s1);display:grid}.momentum-track{border:2px solid var(--glass-line);border-radius:var(--rp);background:color-mix(in srgb, var(--red) 34%, transparent);height:16px;position:relative;overflow:hidden}.momentum-fill{background:var(--gold);width:50%;height:100%;transition:width .18s linear}.momentum-start{background:var(--glass-line);width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.momentum-marker{background:var(--ink);width:4px;height:calc(100% + 6px);transition:left .18s linear;position:absolute;top:-3px;transform:translate(-2px)}.momentum-labels{font-size:var(--t-xs);color:var(--muted);justify-content:space-between;font-weight:700;display:flex}.battle-foot{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.battle-odds{font-size:var(--t-sm);color:var(--muted)}.battle-odds strong{color:var(--ink)}#player-root{pointer-events:none;justify-items:center;display:grid;position:absolute;top:5.2rem;left:0;right:0}.track-bar{pointer-events:auto;align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);background:var(--glass);border:2px solid var(--glass-line);border-radius:var(--rp);box-shadow:var(--e1);font-size:var(--t-sm);max-width:min(520px, calc(100vw - 2 * var(--s3)));display:flex}.track-bar[hidden]{display:none}.track-btn{width:2rem;height:2rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.track-btn:hover{background:var(--paper-2)}.track-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.track-eq{flex:none;align-items:flex-end;gap:2px;height:14px;display:flex}.track-eq i{background:var(--gold-dark);transform-origin:bottom;width:3px;height:100%;animation:eq 6s var(--ease) infinite;border-radius:2px}.track-eq i:nth-child(2){animation-delay:-2s}.track-eq i:nth-child(3){animation-delay:-4s}.track-bar.is-paused .track-eq i{animation-play-state:paused}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}#tooltip{pointer-events:none;background:var(--glass);border:2px solid var(--glass-line);border-radius:var(--r2);min-width:190px;padding:var(--s2) var(--s3);font-size:var(--t-sm);box-shadow:var(--e2);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));gap:2px;display:grid;position:fixed;top:0;left:0}#tooltip[hidden]{display:none}#tooltip strong{font-size:var(--t-md)}.tip-row{justify-content:space-between;gap:var(--s3);color:var(--muted);display:flex}.tip-row span:last-child{color:var(--ink);font-weight:700}#modal-root{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.modal-backdrop{padding:var(--s4);pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--med) var(--ease);background:#06101c9e;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.modal-backdrop.is-closing{opacity:0;transition:opacity var(--fast) linear}.modal{overscroll-behavior:contain;background:var(--paper);border:2px solid var(--glass-line);border-top:3px solid var(--tick);border-radius:var(--r4);width:min(560px,100%);max-height:min(88dvh,780px);box-shadow:var(--e3);padding:var(--s5);opacity:0;transition:transform var(--med) var(--ease-out), opacity var(--med) linear;overflow:auto;transform:translateY(14px)scale(.97)}.modal.is-open{opacity:1;transform:none}.modal-title{margin:0 0 var(--s3);font-size:var(--t-xl);align-items:center;gap:var(--s2);display:flex}.modal-actions{gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;justify-content:flex-end;display:flex}.build-stamp{margin-top:var(--s3);opacity:.6}.settings{gap:var(--s3);display:grid}.slider-row{align-items:center;gap:var(--s3);grid-template-columns:9rem 1fr;font-weight:700;display:grid}.slider-row input{width:100%;accent-color:var(--gold-dark)}.check-row{align-items:center;gap:var(--s2);min-height:var(--tap);font-weight:700;display:flex}.check-row input{width:20px;height:20px;accent-color:var(--gold-dark)}.settings-danger{margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--line)}.phonk-row{gap:var(--s2);display:grid}.phonk-toggle,:root[data-theme=phonk] .phonk-toggle{color:#06101f;text-shadow:none;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(90deg,#22e5ff,#7b5cff 55%,#ff2d95);border-color:#06101f}:root[data-theme=phonk] .phonk-toggle{border-color:#ffffff80}.reel{width:100%;position:relative}.reel-window{height:calc(var(--reel-row) * 3);border:2px solid var(--glass-line);border-radius:var(--r2);background:var(--paper-3);overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000);mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.reel-strip{will-change:transform}.reel-row{height:var(--reel-row);align-items:center;gap:var(--s3);padding:0 var(--s3);border-bottom:1px solid var(--line);display:flex}.reel-row.is-won{background:color-mix(in srgb, var(--gold) 32%, transparent)}.reel-edge{left:var(--s2);right:var(--s2);background:var(--red);opacity:.55;z-index:2;border-radius:2px;height:3px;position:absolute}.reel-edge.top{top:var(--reel-row)}.reel-edge.bottom{top:calc(var(--reel-row) * 2)}.reel.is-locked .reel-edge{opacity:1}.reel-flag{object-fit:cover;border:2px solid var(--glass-line);background:var(--muted);border-radius:4px;flex:none;width:40px;height:30px}.reel-flag.is-blank{display:inline-block}.reel-name{font-weight:800;font-size:var(--t-md)}.reel-country{align-items:center;gap:var(--s3);width:100%;display:flex}.reel-country .reel-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.reel-weight{flex:none;line-height:0}.reel-plan{align-items:center;gap:var(--s3);width:100%;display:flex}.reel-plan-icon{color:var(--gold-dark);flex:none;place-items:center;display:grid}.reel-plan-text{flex:1;min-width:0;display:grid}.reel-blurb{font-size:var(--t-xs);color:var(--muted)}.reel-mod{flex:none;font-weight:800}.reel-plan.is-good .reel-mod{color:var(--green)}.reel-plan.is-bad .reel-mod,.reel-plan.is-bad .reel-plan-icon{color:var(--red)}.vs{gap:var(--s4);display:grid}.vs-board{align-items:center;gap:var(--s3);grid-template-columns:1fr auto 1.35fr;display:grid}.vs-side{justify-items:center;gap:var(--s1);padding:var(--s3);border:2px solid var(--glass-line);border-radius:var(--r2);background:var(--paper-2);display:grid}.vs-theirs{background:0 0;border:0;padding:0}.vs-flag{object-fit:cover;border:2px solid var(--glass-line);background:var(--muted);border-radius:6px;width:72px;height:54px}.vs-label{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.vs-name{text-align:center;font-weight:800}.vs-bolt{color:var(--red);place-items:center;display:grid}.is-set .vs-bolt{animation:vs-slam .42s var(--ease-out)}.vs-verdict{text-align:center;color:var(--muted);margin:0}.vs-verdict strong{color:var(--ink)}.vs-plan{gap:var(--s3)}@keyframes vs-slam{0%{opacity:.2;transform:scale(2.4)rotate(-14deg)}60%{opacity:1;transform:scale(.86)rotate(3deg)}to{transform:none}}.briefing-approach{margin:0 0 var(--s2)}.purse{align-items:baseline;gap:var(--s3);background:var(--paper-2);border:2px solid var(--glass-line);border-radius:var(--rp);padding:var(--s2) var(--s4);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.purse-stars{font-weight:800;font-size:var(--t-lg);color:var(--gold-dark);align-items:center;gap:.2em;display:inline-flex}.purse-note{color:var(--muted);font-size:var(--t-xs)}.powerup-grid{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.powerup{text-align:left;color:var(--ink);padding:var(--s3);border:2px solid var(--glass-line);border-radius:var(--r2);background:var(--paper-2);cursor:pointer;box-shadow:var(--e1);transition:transform var(--fast) var(--ease), background var(--fast) linear;gap:2px;display:grid}.powerup:hover:not(:disabled){transform:translateY(-2px)}.powerup:disabled{opacity:.45;cursor:not-allowed}.powerup.is-owned{background:var(--green);color:#04210f;opacity:1}.powerup-icon{color:var(--gold-dark);line-height:0}.powerup.is-owned .powerup-icon,.powerup.is-owned .powerup-blurb{color:inherit}.powerup-name{font-weight:800}.powerup-blurb{font-size:var(--t-xs);color:var(--muted)}.powerup-cost{font-weight:700;font-size:var(--t-sm);margin-top:var(--s1)}.homeland{gap:var(--s4);display:grid}.homeland-head{align-items:center;gap:var(--s4);display:flex}.homeland-flag{object-fit:cover;border:2px solid var(--glass-line);border-radius:var(--r1);background:var(--muted);width:88px;height:66px;box-shadow:var(--e1);flex:none}.homeland-flag.is-blank{display:inline-block}.homeland-title{gap:2px;min-width:0;display:grid}.homeland-label{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.homeland-name{font-size:var(--t-xl);line-height:1.1}.homeland .stat-tile b{justify-content:center;align-items:center;min-height:1.4em;display:flex}.homeland-modal .modal{width:min(420px,100%)}.result-body{text-align:center;gap:var(--s2);display:grid}.result-banner{justify-content:center;align-items:center;gap:var(--s2);font-size:1.8rem;font-weight:800;display:flex}.result-banner.win{color:var(--gold-dark)}.result-banner.lose,.result-banner.rout{color:var(--red)}.result-loss{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent);border-radius:var(--r2);padding:var(--s2) var(--s3);font-weight:700}.result-stars{font-size:var(--t-xl);color:var(--gold-dark);font-weight:800}.result-meta{color:var(--muted);font-size:var(--t-sm)}#title-screen{z-index:60;padding:var(--s4);background:radial-gradient(circle at 20% 15%, #6fb2ff2e 0%, transparent 55%), radial-gradient(circle at 80% 85%, #ffc93c24 0%, transparent 55%), repeating-linear-gradient(0deg, #8cc3f00d 0 1px, transparent 1px 56px), repeating-linear-gradient(90deg, #8cc3f00a 0 1px, transparent 1px 56px), var(--bg);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#title-screen[hidden]{display:none}.title-card{background:var(--paper);border:2px solid var(--glass-line);border-top:3px solid var(--tick);border-radius:var(--r4);width:min(560px,100%);box-shadow:var(--e3);text-align:center;max-height:92dvh;padding:clamp(1.2rem,4vw,2.2rem);overflow:auto}.title-logo{margin:0 0 var(--s3);color:var(--ink);font-size:clamp(2rem,7vw,3.1rem)}.small-logo{font-size:clamp(1.4rem,5vw,1.9rem)}.title-tag{color:var(--muted);margin:0 0 var(--s5);font-size:var(--t-md)}.title-actions{gap:var(--s2);margin-bottom:var(--s4);display:grid}.title-actions .btn{min-height:3rem}.title-actions small{opacity:.75;font-weight:600;font-size:var(--t-xs);display:block}.title-foot{margin-bottom:0}.mode-grid{gap:var(--s3);margin:var(--s4) 0;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.mode-card{gap:var(--s1);text-align:left;color:var(--ink);padding:var(--s4);border:2px solid var(--glass-line);border-radius:var(--r3);background:var(--paper-2);box-shadow:var(--e1);cursor:pointer;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);display:grid}.mode-card:hover{box-shadow:var(--e2);transform:translateY(-3px)}.mode-icon{color:var(--gold-dark);line-height:0}.mode-name{font-weight:800;font-size:var(--t-lg)}.mode-tagline{color:var(--gold-dark);font-weight:700;font-size:var(--t-sm)}.mode-blurb{color:var(--muted);font-size:var(--t-sm);line-height:1.35}.wordmark{justify-items:center;gap:.1em;line-height:1;display:inline-grid}.wm-owner{letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);font-size:.34em;font-weight:700}.wm-main{align-items:center;gap:.34em;display:flex}.wm-mark{flex:none;width:1.06em;height:1.06em;overflow:visible}.wm-ring,.wm-lat,.wm-lon{fill:none;stroke:var(--gold-dark);stroke-width:2.4px;opacity:.9}.wm-lat,.wm-lon{stroke-width:1.8px;opacity:.45}.wm-tick{stroke:var(--red);stroke-width:3.2px;stroke-linecap:round}.wm-core{fill:var(--red)}.wm-text{letter-spacing:-.015em;font-style:normal;font-weight:800}.wm-text b{color:var(--ink);font-weight:800}.wm-text i{color:var(--red);font-style:normal;font-weight:800}.wordmark.is-compact{align-items:center;gap:.4em;display:flex}.wordmark.is-compact .wm-owner{letter-spacing:.1em;font-size:.62em}#toast-root{bottom:var(--s5);gap:var(--s2);pointer-events:none;padding:0 var(--s3);justify-items:center;display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--paper-2);color:var(--ink);border:2px solid var(--glass-line);border-radius:var(--rp);font-weight:700;font-size:var(--t-sm);box-shadow:var(--e2);opacity:0;transition:opacity var(--med) var(--ease), transform var(--med) var(--ease-out);padding:.5em 1.1em;transform:translateY(10px)}.toast.is-in{opacity:1;transform:none}.toast-good{border-color:color-mix(in srgb, var(--green) 70%, transparent)}.toast-warn{border-color:color-mix(in srgb, var(--red) 70%, transparent)}.toast .ico{vertical-align:-.2em}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root[data-theme=phonk] .btn{box-shadow:0 2px #22e5ff38}:root[data-theme=phonk] .btn:hover:not(:disabled){border-color:var(--edge-strong);background:#1b2942}:root[data-theme=phonk] .btn-primary,:root[data-theme=phonk] .btn.is-active,:root[data-theme=phonk] .toolbar .btn-icon.is-active{background:var(--gold);color:#180d00;border-color:#ffd894;box-shadow:0 0 16px #ffb02e66}:root[data-theme=phonk] .panel-head,:root[data-theme=phonk] .modal-title{color:var(--blue)}:root[data-theme=phonk] .brand{text-shadow:0 0 12px #22e5ff66}:root[data-theme=phonk] .title-logo .wm-text{text-shadow:0 0 24px #22e5ff73}:root[data-theme=phonk] .wm-ring,:root[data-theme=phonk] .wm-lat,:root[data-theme=phonk] .wm-lon{stroke:var(--blue)}:root[data-theme=phonk] .wm-tick{stroke:var(--gold)}:root[data-theme=phonk] .wm-core{fill:var(--gold)}:root[data-theme=phonk] .wm-text i{color:var(--blue)}:root[data-theme=phonk] .stat-tile b,:root[data-theme=phonk] .stat-row span:last-child{color:var(--gold)}:root[data-theme=phonk] .powerup.is-owned{background:var(--green);color:#04210f;border-color:#9dffd2}:root[data-theme=phonk] .toast{border-color:var(--edge-strong)}:root[data-theme=phonk] #title-screen{background:radial-gradient(circle at 18% 12%, #22e5ff29 0%, transparent 55%), radial-gradient(circle at 82% 82%, #ff2d9524 0%, transparent 55%), repeating-linear-gradient(0deg, #78beff0d 0 1px, transparent 1px 64px), repeating-linear-gradient(90deg, #78beff0a 0 1px, transparent 1px 64px), var(--bg)}@media (max-width:900px){:root{--reel-row:56px}#hud{align-items:stretch;gap:var(--s2);flex-direction:column}.hud-cluster{border-radius:var(--r3);justify-content:space-between}.brand{display:none}.toolbar{flex:1;justify-content:flex-end}#panel{top:auto;left:var(--s3);right:var(--s3);bottom:var(--s3);border-radius:var(--r4);width:auto;max-height:min(52dvh,440px)}#app.in-battle #panel{transform:translateY(calc(100% + var(--s5)))}#banner-root,#player-root{top:8.4rem}#toast-root{top:8.4rem;bottom:auto}.start-banner{gap:var(--s2);border-radius:var(--r3);text-align:center;flex-direction:column}.vs-board{gap:var(--s2);grid-template-columns:1fr}.vs-bolt{transform:rotate(90deg)}.battle-hud{padding:var(--s2) var(--s3);gap:var(--s1)}.battle-banner{font-size:var(--t-sm);gap:var(--s2)}.stat-grid{grid-template-columns:repeat(3,1fr)}.modal{padding:var(--s4)}}@media (max-width:560px){.brand,.toolbar-sep{display:none}.slider-row{gap:var(--s1);grid-template-columns:1fr}.dial-ring{width:76px;height:76px}.modal-actions .btn{flex:1}}@media (max-height:560px) and (orientation:landscape){#hud{flex-direction:row}.brand{display:none}#panel{top:4.4rem;bottom:var(--s3);left:auto;right:var(--s3);width:min(320px,46vw);max-height:none}#app.in-battle #panel{transform:translateX(calc(100% + var(--s5)))}#banner-root,#player-root,#toast-root{top:4.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
