.legacy-terminal-feedback{z-index:120;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.legacy-terminal-feedback__stage{aspect-ratio:16/9;filter:drop-shadow(0 14px 20px #03191f6b);background:url(/assets/game-ui/board-switch-tab.webp) 50%/contain no-repeat;width:min(520px,100vw - 24px);animation:1.3s both legacy-terminal-feedback-lifetime;position:relative}.legacy-terminal-feedback__display{color:#f4ead4;grid-template-rows:auto minmax(34px,1fr) auto;gap:3px;min-width:0;display:grid;position:absolute;inset:27% 19% 21% 26%;overflow:hidden}.legacy-terminal-feedback__eyebrow{color:#abcfc5;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(.48rem,1.5vw,.68rem);font-weight:900}.legacy-terminal-feedback__salvo{min-height:34px;position:relative}.legacy-terminal-feedback__projectile,.legacy-terminal-feedback__target{place-items:center;font-weight:950;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.legacy-terminal-feedback__projectile{aspect-ratio:1;color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;border-radius:8px;width:clamp(24px,8vw,38px);animation:.36s cubic-bezier(.2,.76,.16,1) both legacy-terminal-projectile;left:3px;box-shadow:0 3px #092f3a}.legacy-terminal-feedback__target{aspect-ratio:1;color:#f4ead4;background:#064955;border:2px solid #abcfc5;border-radius:9px;width:clamp(34px,11vw,52px);font-size:clamp(.56rem,1.8vw,.76rem);animation:.3s ease-out .25s both legacy-terminal-impact;right:3px}.legacy-terminal-feedback__result{color:#fff;opacity:0;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:5px;min-width:0;animation:.18s ease-out .31s forwards legacy-terminal-result-in;display:grid;transform:translateY(4px)}.legacy-terminal-feedback--hit .legacy-terminal-feedback__target,.legacy-terminal-feedback--hit .legacy-terminal-feedback__result strong{color:#8bf0c5}.legacy-terminal-feedback--miss.legacy-terminal-feedback--occupied .legacy-terminal-feedback__result strong{color:#f7bf4b}.legacy-terminal-feedback__result strong{white-space:nowrap;font-size:clamp(.58rem,1.8vw,.8rem);font-weight:950}.legacy-terminal-feedback__result small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(.48rem,1.45vw,.64rem);font-weight:750;overflow:hidden}@keyframes legacy-terminal-projectile{0%{transform:translateY(-50%)scale(.84)}to{left:calc(100% - clamp(31px,9.5vw,45px));transform:translateY(-50%)scale(.62)}}@keyframes legacy-terminal-impact{0%{filter:brightness();transform:translateY(-50%)scale(1)}45%{filter:brightness(1.45);transform:translateY(-50%)scale(1.16)}to{filter:brightness();transform:translateY(-50%)scale(1)}}@keyframes legacy-terminal-result-in{to{opacity:1;transform:translateY(0)}}@keyframes legacy-terminal-feedback-lifetime{0%,82%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.legacy-terminal-feedback__stage,.legacy-terminal-feedback__projectile,.legacy-terminal-feedback__target,.legacy-terminal-feedback__result{animation:none}.legacy-terminal-feedback__projectile{display:none}.legacy-terminal-feedback__result{opacity:1;transform:none}}:root{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--sky:#063f4b;--sky-light:#55b8ed;--blue:#0e6fb5;--blue-deep:#075aa7;--blue-dark:#064b8b;--blue-soft:#1c83c8;--ink:#fff;--muted:#ffffffbd;--line:#ffffff38;--line-strong:#ffffff6b;--tile:#f8fcff;--tile-ink:#0962b3;--mint:#68e3ad;--yellow:#ffd45a;--coral:#ff747d;--shadow:0 14px 36px #0442772e;background:#063f4b;font-family:ui-rounded,SF Pro Rounded,Nunito Sans,Noto Sans CJK TC,Noto Sans CJK SC,Noto Sans JP,Noto Sans KR,PingFang TC,PingFang SC,Hiragino Sans,Yu Gothic UI,Malgun Gothic,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--sky);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--sky);margin:0}#root{background:var(--sky);min-height:100vh}button,input,select{font:inherit}button{color:inherit;overflow-wrap:normal;white-space:nowrap;word-break:keep-all}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button,select{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}.app-shell{min-height:100vh;padding:14px clamp(12px,3vw,36px) 44px}.topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1100px,100%);min-height:52px;margin:0 auto 20px;display:flex}.brand{color:#fff;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:1.02rem;font-weight:950}.topbar-meta{color:#fff;justify-content:flex-end;align-items:center;gap:9px;min-width:0;font-size:.76rem;font-weight:750;display:flex}.language-select{color:#fff;background:var(--blue);border-radius:999px;width:auto;max-width:132px;min-height:34px;padding:5px 28px 5px 11px;font-size:.72rem;font-weight:800}.status-dot{background:#ffffff73;border-radius:50%;flex:none;width:8px;height:8px}.status-dot--ready{background:var(--mint)}.status-dot--unavailable{background:var(--coral)}.connection-pill{border:1px solid var(--line);max-width:150px;color:var(--muted);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;background:#075aa75c;border-radius:999px;padding:5px 9px;font-size:.66rem;font-weight:850;overflow:hidden}.connection-pill--connected{color:#d9ffed;border-color:#68e3ad75}.connection-pill--reconnecting,.connection-pill--connecting{color:#fff3c4;border-color:#ffd45a8c}.eyebrow{color:#fff;letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px;font-size:.7rem;font-weight:900}:root[data-locale=zh-Hant] .eyebrow,:root[data-locale=zh-Hans] .eyebrow,:root[data-locale=ja] .eyebrow,:root[data-locale=ko] .eyebrow,:root[data-locale=zh-Hant] .rules-preview dd,:root[data-locale=zh-Hans] .rules-preview dd,:root[data-locale=ja] .rules-preview dd,:root[data-locale=ko] .rules-preview dd{letter-spacing:.05em;text-transform:none}h1,h2,h3{margin:0}h2{letter-spacing:-.045em;font-size:clamp(1.6rem,4vw,2.55rem);line-height:1.04}h3{font-size:.82rem;font-weight:900}.lobby{grid-template-columns:minmax(0,1fr) minmax(340px,410px);align-items:center;gap:clamp(30px,7vw,90px);width:min(1100px,100%);min-height:calc(100vh - 118px);margin:0 auto;display:grid}.lobby-copy{max-width:640px}.lobby-copy h1{letter-spacing:-.07em;max-width:650px;font-size:clamp(3.25rem,7vw,6.4rem);line-height:.9}:root[data-locale=zh-Hant] .lobby-copy h1,:root[data-locale=zh-Hans] .lobby-copy h1,:root[data-locale=ja] .lobby-copy h1,:root[data-locale=ko] .lobby-copy h1{letter-spacing:-.04em;line-height:1}.lede{color:#fff;max-width:600px;margin:22px 0 0;font-size:clamp(.98rem,1.6vw,1.1rem);line-height:1.65}.rules-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:520px;margin:30px 0 0;display:grid}.rules-preview div{background:var(--blue);text-align:center;border-radius:16px;min-width:0;padding:14px}.rules-preview dt{font-size:1.55rem;font-weight:950}.rules-preview dd{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:2px 0 0;font-size:.62rem;font-weight:850}.lobby-card,.waiting-room,.result-screen{background:var(--blue-deep);box-shadow:var(--shadow)}.lobby-card{border-radius:24px;padding:26px}.lobby-card h2{margin-bottom:7px}.lobby-card>p{color:var(--muted);margin:0 0 20px;font-size:.82rem}label{color:var(--muted);gap:7px;font-size:.72rem;font-weight:800;display:grid}input,select{border:1px solid var(--line);color:#fff;background:var(--blue-dark);border-radius:11px;width:100%;min-height:44px;padding:9px 11px}input::placeholder{color:#ffffff73}.divider{color:#ffffff85;text-transform:uppercase;align-items:center;gap:10px;margin:18px 0;font-size:.66rem;font-weight:800;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.error-message{background:#ff747d52;border-radius:10px;padding:10px 12px;color:#fff!important;margin:14px 0 0!important}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;min-height:44px;padding:10px 14px;font-size:.78rem;font-weight:900;transition:transform .15s,background-color .15s,opacity .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.43;cursor:not-allowed}.button--wide{width:100%}.button--primary{color:#fff;background:var(--blue-dark)}.button--secondary{border-color:var(--line-strong);color:#fff;background:var(--blue-soft)}.button--ghost{border-color:var(--line);color:var(--muted);background:0 0}.button--warning{color:#4d3700;background:var(--yellow)}.button--danger{color:#fff;background:var(--coral)}.quick-search{text-align:center;background:#ffffff17;border-radius:15px;justify-items:center;gap:7px;padding:14px;display:grid}.quick-search strong{font-size:.9rem}.quick-search span{color:var(--muted);margin-bottom:5px;font-size:.7rem}.waiting-room{text-align:center;border-radius:28px;width:min(580px,100%);margin:12vh auto 0;padding:clamp(28px,6vw,48px)}.waiting-room h1{color:#fff;overflow-wrap:normal;font-variant-numeric:tabular-nums;letter-spacing:clamp(.02em,.6vw,.06em);white-space:nowrap;word-break:normal;max-width:100%;margin:6px 0 15px;font-size:clamp(2rem,8.5vw,4.75rem)}.waiting-room>p:not(.eyebrow){color:var(--muted)}.sonar-loader{border:1px solid var(--line);border-radius:50%;width:82px;height:82px;margin:30px auto 0;position:relative}.sonar-loader i{border:1px solid #fff;border-radius:50%;animation:2.2s ease-out infinite sonar;position:absolute;inset:50%}.sonar-loader i:nth-child(2){animation-delay:.65s}.sonar-loader i:nth-child(3){animation-delay:1.3s}.sonar-loader--compact{width:38px;height:38px;margin:0 0 3px}@keyframes sonar{0%{opacity:.9;inset:50%}to{opacity:0;inset:0}}.match-layout{grid-template-columns:minmax(440px,1fr) minmax(330px,.78fr);align-items:start;gap:14px;width:min(1100px,100%);margin:0 auto;display:grid}.game-phase-header,.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.game-phase-header{padding:0 2px 6px}.panel-heading{min-height:58px;margin-bottom:12px}.timer{border:1px solid var(--line-strong);color:#fff;background:var(--blue);font-variant-numeric:tabular-nums;text-align:center;border-radius:13px;min-width:82px;padding:9px 12px;font-size:1.08rem;font-weight:950}.board-panel,.control-panel{background:var(--blue-deep);min-width:0;box-shadow:var(--shadow);border-radius:24px}.board-panel{padding:14px}.control-panel{max-height:calc(100vh - 102px);padding:15px;overflow:auto}.game-board-wrap{--board-inset-x:3.02%;--board-inset-y:3.02%;aspect-ratio:1;background:#075d68;border-radius:18px;width:100%;position:relative;overflow:hidden}.game-canvas{position:absolute;inset:0}.game-canvas canvas{display:block;width:100%!important;height:100%!important}.board-hit-grid{inset:var(--board-inset-y) var(--board-inset-x);grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);display:grid;position:absolute}.board-hit-cell{cursor:crosshair;background:0 0;border:0;min-width:0;min-height:0;padding:0}.board-hit-cell--draggable{cursor:grab;touch-action:none}.board-hit-cell--drop-target{border:3px solid var(--yellow);background:#ffd45a3d;border-radius:8px}.board-hit-cell--valid{background:#16b98f1a;border:2px solid #a8ffe2a6;border-radius:8px}.board-hit-cell:disabled{cursor:default}.board-hit-cell:focus-visible{outline-offset:-4px;border-radius:8px}.hint-area-overlays{z-index:4;inset:var(--board-inset-y) var(--board-inset-x);pointer-events:none;position:absolute}.hint-area-overlay{box-sizing:border-box;opacity:.58;pointer-events:none;background:0 0;border:2px solid #70efc57a;border-radius:7px;transition:border-color .16s,box-shadow .16s,opacity .16s;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.hint-area-overlay--active{opacity:1;border-color:#70efc5f5;box-shadow:inset 0 0 0 1px #fff3,0 0 12px #70efc55c}.helper-text{min-height:18px;color:var(--muted);margin:9px 3px 0;font-size:.72rem;line-height:1.35}.construction-table{grid-template-columns:1fr;gap:10px;width:min(760px,100%)}.construction-table .game-phase-header{align-items:center;min-height:42px;padding-bottom:0}.construction-table .game-phase-header .eyebrow{margin:0}.construction-table .game-phase-header h2{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.construction-stats,.opponent-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.construction-stats>div,.opponent-strip>div{background:var(--blue);text-align:center;border-radius:15px;justify-items:center;gap:2px;min-width:0;padding:10px 8px;display:grid}.construction-stats strong{font-variant-numeric:tabular-nums;font-size:1.12rem;font-weight:950}.construction-stats span,.opponent-strip span{max-width:100%;color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.59rem;font-weight:800;overflow:hidden}.stat-danger strong{color:#ffd6d9}.construction-table .board-panel{justify-self:center;width:min(520px,100%);padding:13px}.construction-table .control-panel{justify-self:center;width:min(680px,100%);max-height:none;overflow:visible}.tray-heading{justify-content:space-between;align-items:baseline;gap:14px;margin:0 2px 10px;display:flex}.tray-heading span{max-width:65%;color:var(--muted);text-align:right;font-size:.64rem;line-height:1.3}.tile-pool{border:2px solid #0000;border-radius:12px;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;min-height:58px;padding:4px;transition:border-color .15s,background-color .15s;display:grid}.tile-pool--drop-target{border-color:var(--yellow);background:#ffd45a24}.letter-tile{aspect-ratio:.9;min-width:0;color:var(--tile-ink);background:var(--tile);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:10px;position:relative;box-shadow:0 3px #044b8b70}.letter-tile strong{font-size:clamp(.9rem,2.2vw,1.25rem);font-weight:950;display:block}.letter-tile span{color:#d08300;font-size:.56rem;font-weight:950;position:absolute;bottom:3px;right:5px}.letter-tile--selected{border-color:var(--sky-light)}.letter-tile--active{border-color:var(--yellow);box-shadow:0 3px #c59000,0 0 0 2px #ffd45a52}.letter-tile:disabled{opacity:.64}.match-layout--dragging,.match-layout--dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.tile-drag-ghost{z-index:1000;border:3px solid var(--yellow);width:50px;height:54px;color:var(--tile-ink);background:var(--tile);pointer-events:none;border-radius:11px;place-items:center;font-size:1.2rem;display:grid;position:fixed;transform:translate(-50%,-62%)rotate(2deg)scale(1.05);box-shadow:0 12px 28px #043d6d61}.validation-panel{color:#fff;background:#ffd45a26;border-radius:11px;gap:4px;margin-top:12px;padding:10px 12px;display:grid}.validation-panel--valid{background:#68e3ad2e}.validation-panel strong{font-size:.76rem}.validation-panel span,.validation-panel ul{color:var(--muted);margin:0;font-size:.65rem;line-height:1.4}.validation-panel ul{padding-left:17px}.game-primary-action{letter-spacing:.035em;min-height:56px;margin-top:10px;font-size:.96rem}.button-grid{grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 0;display:grid}.construction-tools{grid-template-columns:repeat(3,1fr)}.construction-tools .button{min-height:38px;padding:7px 9px;font-size:.68rem}.demo-note{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;margin:12px 2px 0;font-size:.65rem;display:flex}.demo-note strong{color:#fff}.opponent-status{color:var(--muted);text-align:center;margin:12px 0 0;font-size:.68rem}.match-layout--battle{grid-template-columns:minmax(440px,1fr) minmax(370px,.86fr)}.battle-board-panel{overflow:hidden}.battle-heading-actions{align-items:center;gap:7px;display:flex}.sound-toggle{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#ffffff14;border-radius:999px;padding:6px 10px;font-size:.62rem;font-weight:850}.sound-toggle[aria-pressed=true]{color:#d9ffed;border-color:#68e3ad7a}.battle-stage{border-radius:18px;position:relative;overflow:hidden}.battle-stage .game-board-wrap{border-radius:0}.incoming-action-effect{z-index:6;inset:var(--board-inset-y) var(--board-inset-x);pointer-events:none;border-radius:13px;position:absolute;overflow:hidden}.incoming-action-effect:before{z-index:1;content:"";border-radius:inherit;background:radial-gradient(circle,#0000 40%,#022b5240 100%);border:1px solid #c3efff6b;position:absolute;inset:0;box-shadow:inset 0 0 42px #04305b47}.incoming-action-effect__banner{z-index:5;color:#fff;text-align:center;background:#043d70e6;border:1px solid #ffffff80;border-radius:999px;justify-items:center;gap:2px;width:max-content;max-width:88%;padding:7px 16px;animation:.28s ease-out both incoming-banner;display:grid;position:absolute;top:2.5%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #02213f6b}.incoming-action-effect__banner span,.incoming-action-effect__banner small{color:#cdeeff;letter-spacing:.07em;text-transform:uppercase;font-size:clamp(.48rem,1.6vw,.62rem);font-weight:850;line-height:1.1}.incoming-action-effect__banner strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(.68rem,2.3vw,.92rem);line-height:1.15;overflow:hidden}.incoming-action-effect__cells{z-index:3;position:absolute;inset:0}.incoming-action-effect__cell{place-items:center;width:10%;height:10%;display:grid;position:absolute}.incoming-action-effect__cell i{border-radius:25%;width:76%;height:76%;position:absolute}.incoming-action-effect__cell--scan i,.incoming-action-effect__cell--hint i{animation:.82s ease-in-out infinite alternate incoming-scan-cell;animation-delay:var(--effect-delay,0s);background:#55b8ed3d;border:2px solid #c8f0ffb8;box-shadow:0 0 10px #84d0ff85}.incoming-action-effect__cell--scan.incoming-action-effect__cell--occupied i{background:#ffd45ae0;border-color:#ffe78e;box-shadow:0 0 18px #ffd45abd}.incoming-action-effect__cell--scan.incoming-action-effect__cell--empty i{background:#55b8edb8;border-color:#a8e2ff;box-shadow:0 0 14px #55b8ed7a}.incoming-action-effect__cell--hint i{background:#ffce4640;border-color:#ffe082eb;box-shadow:0 0 12px #ffdd7494}.incoming-action-effect__scan-beam{z-index:2;background:linear-gradient(#0000,#a7e5ff61);border-bottom:2px solid #c6efffeb;height:13%;animation:1.25s linear infinite incoming-scan-beam;position:absolute;top:-15%;left:0;right:0;box-shadow:0 10px 24px #55b8ed4d}.incoming-action-effect__cell--guess strong{z-index:2;aspect-ratio:1;color:#fff;width:64%;animation:1.25s cubic-bezier(.2,.85,.25,1) both incoming-letter-strike;animation-delay:var(--effect-delay,0s);background:#efa928;border:2px solid #fff3bd;border-radius:30%;place-items:center;font-size:clamp(.62rem,2.6vw,1.05rem);display:grid;position:relative;box-shadow:0 5px 12px #2e1b016b,inset 0 1px #ffffff73}.incoming-action-effect__cell--guess i{z-index:1;opacity:0;animation:1.5s ease-out both incoming-impact;animation-delay:calc(var(--effect-delay,0s) + .43s);border:3px solid #ffd969e0;border-radius:50%}.incoming-action-effect__cell--hit i{background:#de485f61;border-color:#ffb2bdf5;box-shadow:0 0 18px #ff7188d6}.incoming-action-effect__cell--miss i{background:#479bd84d;border-color:#b8e4ffeb;box-shadow:0 0 14px #84d0ffa8}.incoming-action-effect__cell--unknown i{border-color:#ffdd76eb;box-shadow:0 0 14px #ffca409e}@keyframes incoming-banner{0%{opacity:0;transform:translate(-50%,-8px)scale(.94)}}@keyframes incoming-letter-strike{0%{opacity:0;transform:translateY(-240%)scale(.72)rotate(-12deg)}38%{opacity:1}58%{transform:translateY(0)scale(1.12)rotate(2deg)}72%,to{transform:translateY(0)scale(1)rotate(0)}}@keyframes incoming-impact{0%{opacity:0;transform:scale(.2)}22%{opacity:1}to{opacity:0;transform:scale(2.2)}}@keyframes incoming-scan-cell{0%{opacity:.42;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes incoming-scan-beam{to{transform:translateY(880%)}}.battle-feedback{z-index:8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#0435628a;place-items:center;padding:20px;animation:.24s ease-out both battle-feedback-in;display:grid;position:absolute;inset:0;overflow:hidden}.battle-guess-float-layer{z-index:9;pointer-events:none;position:absolute;inset:0}.battle-guess-float{color:#fff;text-align:center;text-shadow:0 1px 2px #002348b3;border:1px solid #ffffff9e;border-radius:999px;width:max-content;max-width:110px;padding:4px 7px;font-size:clamp(.55rem,1.6vw,.72rem);font-weight:950;line-height:1;animation:1.9s cubic-bezier(.2,.85,.3,1) both battle-guess-float;display:block;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #001e4173}.battle-guess-float--hit{background:#08a976;animation-name:battle-guess-hit-float}.battle-guess-float--occupied{background:#d98a1b}.battle-guess-float--empty{background:#426a86}@keyframes battle-guess-float{0%{opacity:0;transform:translate(-50%,5%)scale(.72)}16%{opacity:1;transform:translate(-50%,-78%)scale(1.06)}78%{opacity:1;transform:translate(-50%,-110%)scale(1)}to{opacity:0;transform:translate(-50%,-132%)scale(.94)}}@keyframes battle-guess-hit-float{0%{opacity:0;transform:translate(-50%,5%)scale(.55)rotate(-8deg)}18%{opacity:1;transform:translate(-50%,-82%)scale(1.22)rotate(3deg)}74%{opacity:1;transform:translate(-50%,-117%)scale(1)}to{opacity:0;transform:translate(-50%,-140%)scale(.92)}}.battle-feedback__content{z-index:2;color:#fff;text-align:center;background:#054c8beb;border:1px solid #fff6;border-radius:20px;justify-items:center;gap:6px;width:min(340px,88%);padding:20px;animation:.34s cubic-bezier(.2,.9,.25,1.2) both battle-feedback-card;display:grid;position:relative;box-shadow:0 20px 60px #02203d7a}.battle-feedback__content>span{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:900}.battle-feedback__content>strong{letter-spacing:-.045em;font-size:clamp(1.65rem,5vw,2.6rem);line-height:1}.battle-feedback--hit .battle-feedback__content{color:#effff8;background:#0b8569f0}.battle-feedback--miss .battle-feedback__content,.battle-feedback--error .battle-feedback__content{background:#a6414ef0}.battle-feedback__effect,.battle-feedback__effect i{position:absolute;inset:0}.battle-feedback__effect i{border:3px solid #a8efffd6;border-radius:50%;width:60px;height:60px;margin:auto;animation:1.05s ease-out infinite battle-sonar}.battle-feedback__effect i:nth-child(2){animation-delay:.24s}.battle-feedback__effect i:nth-child(3){animation-delay:.48s}.battle-feedback--hit .battle-feedback__effect{background:linear-gradient(45deg,#0000 48%,#a8ffe261 50%,#0000 52%),linear-gradient(-45deg,#0000 48%,#a8ffe261 50%,#0000 52%);animation:.62s ease-out both battle-hit-flash}.battle-feedback--miss .battle-feedback__effect i,.battle-feedback--error .battle-feedback__effect i{border-color:#ffb7bcbd}@keyframes battle-feedback-in{0%{opacity:0}}@keyframes battle-feedback-card{0%{opacity:0;transform:translateY(12px)scale(.9)}}@keyframes battle-sonar{0%{opacity:.85;transform:scale(.4)}to{opacity:0;transform:scale(8)}}@keyframes battle-hit-flash{0%{opacity:0;transform:scale(.7)rotate(8deg)}35%{opacity:1}to{opacity:0;transform:scale(1.15)rotate(0)}}.battle-board-footer{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.opponent-strip{margin-bottom:12px}.opponent-strip strong{color:#fff;font-size:.8rem}.hand{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:510px;padding:2px;display:grid;overflow:auto}.card{aspect-ratio:3/4;min-height:0;color:var(--tile-ink);text-align:left;background:var(--tile);cursor:pointer;border:2px solid #0000;border-radius:15px;grid-template-rows:auto auto auto 1fr;align-content:start;gap:6px;padding:7px 7px 24px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 5px #044b8b42}.card:hover{transform:translateY(-2px)}.card>img{aspect-ratio:16/9;object-fit:cover;background:#c9ecff;border-radius:10px;width:100%;height:auto;display:block}.card>span{color:#4f8abe;letter-spacing:.07em;font-size:.54rem;font-weight:950}.card strong{font-size:.82rem;line-height:1.1}.card small{color:#5a83a7;font-size:.58rem;line-height:1.35}.card__cost{color:#513d00;background:#ffd45a;border:1px solid #044b8b3d;border-radius:999px;padding:2px 4px;font-size:.48rem;font-weight:950;line-height:1;position:absolute;bottom:5px;right:5px}.card--unaffordable{filter:saturate(.58);opacity:.7}.card--unaffordable:not(.card--active){border-color:#ffffff57}.card[draggable=true]{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.card--detector{border-bottom-color:#39b8ee}.card--hint{border-bottom-color:#9d8aff}.card--guesser{border-bottom-color:var(--yellow)}.card--basic{border-bottom-color:var(--mint)}.card--active{border-color:var(--yellow);transform:translateY(-2px);box-shadow:0 5px #b98509,0 0 0 2px #ffd45a40}.battle-step-heading{align-items:center;gap:9px;margin:12px 2px 9px;display:flex}.battle-step-heading>span{width:25px;height:25px;color:var(--blue-dark);background:#d5f1ff;border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:950;display:grid}.battle-step-heading>div{gap:1px;min-width:0;display:grid}.battle-step-heading strong{font-size:.74rem}.battle-step-heading small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.battle-step-heading--aim,.battle-step-heading--fire{margin-top:14px}.selected-action-guide{border:1px solid var(--line);background:#ffffff14;border-radius:15px;grid-template-columns:104px minmax(0,1fr);gap:11px;margin-top:12px;padding:8px;display:grid}.selected-action-guide>img{object-fit:cover;background:#c9ecff;border-radius:10px;width:104px;height:78px}.selected-action-guide>div{align-content:center;gap:3px;min-width:0;display:grid}.selected-action-guide span{color:#bce9ff;letter-spacing:.07em;text-transform:uppercase;font-size:.54rem;font-weight:900}.selected-action-guide strong{font-size:.84rem}.selected-action-guide p{color:var(--muted);margin:0;font-size:.61rem;line-height:1.38}.selected-action-guide small{color:#d5f1ff;font-size:.56rem;font-weight:850}.battle-action-dock{border:1px solid var(--line);background:#ffffff14;border-radius:15px;grid-template-columns:minmax(0,1fr) auto minmax(148px,auto);align-items:center;gap:7px;margin-top:12px;padding:8px;display:grid}.battle-action-dock>div{gap:2px;min-width:0;display:grid}.battle-action-dock strong,.battle-action-dock small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.battle-action-dock strong{font-size:.76rem}.battle-action-dock small{color:var(--muted);font-size:.58rem}.battle-line-direction{grid-column:1/-1;align-items:center;gap:6px;margin-top:2px;display:flex}.battle-line-direction>span{color:#bce9ff;letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:.52rem;font-weight:900}.battle-line-direction__segments{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:0;display:grid}.battle-line-direction__segments button{border:1px solid var(--line);min-height:24px;color:var(--muted);background:var(--blue-dark);cursor:pointer;border-radius:7px;padding:3px 6px;font-size:.55rem;font-weight:850}.battle-line-direction__segments button[aria-pressed=true]{border-color:var(--yellow);color:#4d3700;background:var(--yellow)}.battle-configure-button,.battle-action-dock .battle-fire-button{min-height:42px;padding:8px 11px;font-size:.68rem}.card-prompt-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#032a4e9e;place-items:center;padding:16px;animation:.18s ease-out both battle-feedback-in;display:grid;position:fixed;inset:0}.card-prompt{color:#fff;background:var(--blue-deep);border:1px solid #ffffff57;border-radius:23px;gap:14px;width:min(560px,100%);max-height:min(760px,100dvh - 32px);padding:16px;animation:.22s cubic-bezier(.2,.9,.25,1.08) both battle-feedback-card;display:grid;position:relative;overflow:auto;box-shadow:0 28px 80px #02234285}.card-prompt__close{z-index:2;color:#fff;cursor:pointer;background:#054985d6;border:1px solid #ffffff57;border-radius:50%;width:32px;height:32px;padding:0;font-size:1.2rem;line-height:1;position:absolute;top:9px;right:9px}.card-prompt .selected-action-guide{margin:0;padding-right:38px}.card-prompt__field{border:1px solid var(--line);color:#fff;background:#ffffff12;border-radius:14px;gap:8px;padding:11px;display:grid}.card-prompt__field>span{color:#d5f1ff;font-size:.66rem;font-weight:900}.card-prompt__hint{color:var(--muted);font-size:.58rem;line-height:1.35}.guess-letter-slots{color:#fff;background:var(--blue-dark);letter-spacing:.16em;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:7px 10px;font-size:1.1rem;font-weight:950;display:flex}.guess-letter-slots small{color:var(--muted);letter-spacing:0;font-size:.58rem;font-weight:800}.guess-letter-picker{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;display:grid}.guess-letter{aspect-ratio:.9;min-width:0;color:var(--tile-ink);background:var(--tile);cursor:pointer;border:2px solid #0000;border-radius:9px;padding:0;font-size:.9rem;font-weight:950;box-shadow:0 3px #044b8b61}.guess-letter--selected{border-color:var(--yellow);color:#493600;background:var(--yellow);box-shadow:0 3px #a77b06}.guess-letter--revealed,.guess-letter:disabled{cursor:not-allowed;opacity:.3;filter:grayscale()}.guess-letter--wrong-at-target{background:#8b98a3;border-color:#fff3;text-decoration:line-through;text-decoration-thickness:2px}.guess-letter--selected:disabled{opacity:.75;filter:none}.prompt-segments{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.prompt-segments--four{grid-template-columns:repeat(4,1fr)}.prompt-segments button,.boundary-stepper button{border:1px solid var(--line);min-height:40px;color:var(--muted);background:var(--blue-dark);cursor:pointer;border-radius:10px;padding:7px;font-size:.67rem;font-weight:850}.prompt-segments button[aria-pressed=true]{border-color:var(--yellow);color:#4d3700;background:var(--yellow)}.boundary-stepper{grid-template-columns:44px 1fr 44px;align-items:center;gap:7px;display:grid}.boundary-stepper strong{text-align:center;font-size:1.2rem}.card-prompt__aim{min-height:52px}.target-list{min-height:28px;color:var(--muted);flex-wrap:wrap;flex:1;gap:6px;padding-top:8px;font-size:.66rem;display:flex}.target-list span{background:#ffffff1c;border-radius:999px;padding:5px 8px}.target-count{color:#d5f1ff;flex:none;margin-top:8px;padding:5px 8px;font-size:.62rem;font-weight:850}.battle-readiness{color:#fff1c3;background:#ffd45a21;border-radius:10px;min-height:31px;margin:5px 0 0;padding:8px 10px}.battle-readiness--ready{color:#d9ffed;background:#68e3ad24}.action-config{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.action-config label:only-child{grid-column:1/-1}.battle-fire-button{justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding-inline:18px;font-size:.9rem;display:flex}.battle-fire-button i{font-size:1.2rem;font-style:normal}.button-grid--battle{grid-template-columns:repeat(3,1fr);margin-top:8px}.intel-panel,.action-log{border-top:1px solid var(--line);margin-top:12px;padding:12px 1px 0}.intel-panel>strong,.action-log>strong{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.64rem}.intel-results{gap:6px;margin-top:8px;display:grid}.intel-result{color:#fff;background:#ffffff14;border-radius:11px;grid-template-columns:8px minmax(0,1fr);gap:8px;min-width:0;padding:9px;display:grid}.intel-result__signal{background:#8ddcff;border-radius:50%;width:7px;height:7px;margin-top:3px;box-shadow:0 0 0 4px #8ddcff21}.intel-result--hit .intel-result__signal{background:var(--mint);box-shadow:0 0 0 4px #68e3ad21}.intel-result--miss .intel-result__signal{background:var(--coral);box-shadow:0 0 0 4px #ff747d21}.intel-result strong{font-size:.7rem;display:block}.intel-result p,.empty-intel{color:var(--muted);margin:2px 0 0;font-size:.62rem;line-height:1.42}.intel-result--compact{text-align:left;background:#ffffff1f;width:100%;margin-top:5px}.empty-intel{margin-top:8px}.action-log>div{color:var(--muted);grid-template-columns:30px 1fr;gap:7px;padding-top:7px;font-size:.66rem;display:grid}.action-log span{color:#fff;font-weight:900}.action-log p{gap:6px;min-width:0;margin:0;display:flex}.action-log b{color:#fff;font-weight:850}.result-screen{text-align:center;border-radius:28px;width:min(1000px,100%);margin:4vh auto 0;padding:clamp(22px,4vw,40px)}.result-screen>h2{font-size:clamp(3rem,9vw,6.2rem)}.result-screen>p:not(.eyebrow){color:var(--muted);text-transform:capitalize}.result-boards{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0;display:grid}.result-boards>div{min-width:0}.result-boards h3{margin:0 0 8px 3px}@media (width<=900px){.lobby{grid-template-columns:1fr;align-content:center;gap:34px;padding:5vh 0}.lobby-copy{text-align:center;margin:auto}.lede,.rules-preview{margin-inline:auto}.lobby-card{width:min(480px,100%);margin:auto}.match-layout{grid-template-columns:1fr;width:min(720px,100%)}.control-panel{max-height:none;overflow:visible}.hand{grid-template-columns:repeat(2,1fr);max-height:none}}@media (width<=600px){.app-shell{padding:8px 8px 24px}.topbar{min-height:44px;margin-bottom:10px}.brand{font-size:.88rem}.topbar-meta{gap:6px}.topbar-meta>span:not(.connection-pill):not(.status-dot){display:none}.connection-pill{max-width:92px;padding-inline:7px}.language-select{max-width:88px;min-height:32px;padding-left:8px;font-size:.66rem}.lobby{gap:26px;min-height:auto;padding:5vh 2px 2vh}.lobby-copy h1{font-size:clamp(2.75rem,16vw,4.2rem)}.lede{margin-top:16px;font-size:.9rem}.rules-preview{gap:5px;margin-top:22px}.rules-preview div{border-radius:12px;padding:10px 5px}.rules-preview dt{font-size:1.28rem}.rules-preview dd{font-size:.54rem}.lobby-card,.waiting-room{border-radius:20px;padding:20px}.game-phase-header{align-items:center;padding-inline:3px}.game-phase-header h2,.panel-heading h2{font-size:clamp(1.45rem,7vw,1.85rem)}.timer{min-width:70px;padding:8px 9px;font-size:.92rem}.construction-stats{gap:5px}.construction-stats>div,.opponent-strip>div{border-radius:12px;padding:8px 4px}.construction-stats strong{font-size:.96rem}.construction-stats span{font-size:.51rem}.board-panel,.construction-table .board-panel,.control-panel{border-radius:18px;padding:8px}.game-board-wrap{border-radius:13px}.helper-text{margin:7px 2px 0;font-size:.66rem}.tray-heading{margin-bottom:8px}.tray-heading span{display:none}.tile-pool{overscroll-behavior-inline:contain;scrollbar-color:#ffffff6b transparent;scrollbar-width:thin;scroll-snap-type:inline proximity;grid-template-rows:repeat(2,48px);grid-template-columns:none;grid-auto-columns:42px;grid-auto-flow:column;gap:5px;padding:2px 1px 6px;overflow-x:auto}.letter-tile{aspect-ratio:auto;scroll-snap-align:start;width:42px;height:48px}.letter-tile strong{font-size:1rem}.game-primary-action{z-index:5;min-height:54px;position:sticky;bottom:8px}.construction-tools{grid-template-columns:repeat(2,1fr)}.demo-note{flex-direction:column;align-items:flex-start;gap:3px}.panel-heading{min-height:50px}.app-shell--battle{height:100dvh;padding-bottom:8px;overflow:hidden}.app-shell--battle .topbar{margin-bottom:6px}.match-layout--battle{grid-template-rows:minmax(0,1fr) auto;gap:6px;width:100%;height:calc(100dvh - 66px);overflow:hidden}.battle-board-panel{grid-template-rows:auto minmax(0,1fr) auto auto;min-height:0;padding:6px;display:grid}.battle-board-panel .panel-heading{min-height:38px;margin-bottom:4px}.battle-board-panel .panel-heading h2{font-size:1.2rem}.battle-board-panel .eyebrow{margin-bottom:3px;font-size:.55rem}.battle-board-panel .timer{min-width:62px;padding:6px 8px;font-size:.8rem}.battle-stage{place-items:center;min-height:0;display:grid}.battle-stage .game-board-wrap{width:min(100%,100dvh - 330px);max-height:100%}.battle-board-footer{min-height:24px}.battle-board-footer .target-list{min-height:24px;padding-top:3px}.battle-board-footer .target-count{margin-top:3px}.battle-readiness{min-height:26px;margin-top:3px;padding:6px 8px;font-size:.58rem}.battle-controls{max-height:none;padding:6px;overflow:visible}.battle-controls .opponent-strip,.battle-controls>.battle-step-heading{display:none}.hand{justify-content:center;align-items:flex-end;gap:3px;min-height:72px;max-height:none;padding:3px 1px;display:flex;overflow:visible}.card{aspect-ratio:3/4;border-radius:9px;flex:1 1 0;grid-template-rows:auto 1fr;gap:2px;width:auto;min-width:0;max-width:64px;min-height:0;padding:3px;box-shadow:0 3px #044b8b42}.card>img{border-radius:5px;height:auto}.card>span,.card small{display:none}.card strong{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.42rem,1.75vw,.54rem);line-height:1.05;display:-webkit-box;overflow:hidden}.card--active{z-index:2;transform:translateY(-5px);box-shadow:0 3px #b98509,0 0 0 1px #ffd45a47}.battle-action-dock{border-radius:10px;grid-template-columns:minmax(0,1fr) auto minmax(116px,auto);gap:4px;margin-top:3px;padding:4px}.battle-action-dock--simple{grid-template-columns:minmax(0,1fr) minmax(116px,auto)}.battle-action-dock strong{font-size:.62rem}.battle-action-dock small{font-size:.5rem}.battle-configure-button,.battle-action-dock .battle-fire-button{border-radius:8px;min-height:34px;padding:5px 7px;font-size:.56rem}.battle-action-dock .battle-fire-button i{display:none}.battle-controls .button-grid--battle{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px}.battle-controls .button-grid--battle .button{border-radius:8px;min-height:30px;padding:4px 6px;font-size:.53rem}.battle-controls .intel-panel,.battle-controls .action-log{display:none}.battle-heading-actions{flex-direction:column-reverse;align-items:flex-end;gap:4px}.sound-toggle{min-height:27px;padding:3px 8px;font-size:.56rem}.battle-feedback__content{padding:15px}.selected-action-guide{grid-template-columns:90px minmax(0,1fr)}.selected-action-guide>img{width:90px;height:68px}.battle-step-heading small{white-space:normal}.card-prompt-backdrop{align-items:end;padding:8px}.card-prompt{border-radius:20px;gap:9px;max-height:calc(100dvh - 16px);padding:11px}.card-prompt .selected-action-guide{grid-template-columns:84px minmax(0,1fr);padding:7px 36px 7px 7px}.card-prompt .selected-action-guide>img{width:84px;height:63px}.card-prompt__field{gap:6px;padding:8px}.guess-letter-picker{gap:4px}.guess-letter{border-radius:7px;font-size:.78rem}.action-config{grid-template-columns:1fr}.action-config label:only-child{grid-column:auto}.result-screen{border-radius:20px;padding:18px 9px}.result-boards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell--lobby .lobby-logo{transform-origin:50% 58%;will-change:transform;animation:7.2s ease-in-out -1.8s infinite motion-lobby-crest-float}.app-shell--lobby .lobby-fleet{transform-origin:50% 58%;will-change:transform;animation:8.4s ease-in-out -3.2s infinite motion-fleet-bob}.sprite-action--quick.sprite-action--searching:not(:disabled):after{animation-duration:4.1s}.app-shell--waiting .waiting-actions--copied .button--primary{animation:motion-copy-success .65s var(--motion-ease-settle) both}.app-shell--waiting .waiting-room:has(.manual-copy) .sonar-loader{display:none}@keyframes motion-lobby-crest-float{0%,to{transform:translate(0,0)rotate(-.25deg)}48%{transform:translateY(-3px)rotate(.35deg)}}@keyframes motion-fleet-bob{0%,to{transform:translate(0,0)rotate(-.32deg)}52%{transform:translate(2px,-4px)rotate(.38deg)}}@keyframes motion-copy-success{0%{transform:translateY(2px)scale(.97)}58%{transform:translateY(-1px)scale(1.025)}to{transform:translate(0,0)scale(1)}}.app-shell--construction .board-hit-cell[data-board-state=PLACED],.app-shell--construction .board-hit-cell[data-board-state=VALID],.app-shell--construction .board-hit-cell[data-board-state=SELECTED]{position:relative}.app-shell--construction .board-hit-cell[data-board-state=PLACED]:after,.app-shell--construction .board-hit-cell[data-board-state=VALID]:after,.app-shell--construction .board-hit-cell[data-board-state=SELECTED]:after{content:"";opacity:0;animation:motion-board-tile-seat .46s var(--motion-ease-settle) both;pointer-events:none;border:2px solid #f7bf4bb8;border-radius:7px;position:absolute;inset:14%;transform:scale(.76)}.app-shell--construction .board-hit-cell[data-board-state=VALID]:after{border-color:#a8ffe2c2}.app-shell--construction .board-hit-grid .board-hit-cell:nth-child(5n+2):after{animation-delay:28ms}.app-shell--construction .board-hit-grid .board-hit-cell:nth-child(5n+3):after{animation-delay:56ms}.app-shell--construction .board-hit-grid .board-hit-cell:nth-child(5n+4):after{animation-delay:84ms}.app-shell--construction .board-hit-grid .board-hit-cell:nth-child(5n):after{animation-delay:.112s}@keyframes motion-board-tile-seat{0%{opacity:0;transform:scale(.72)}48%{opacity:.86;transform:scale(1.06)}to{opacity:.46;transform:scale(1)}}@keyframes timer-warning-pulse{50%{box-shadow:0 0 0 4px #ff747d2e}}@keyframes timer-critical-pulse{50%{transform:scale(1.025);box-shadow:0 0 0 6px #ff747d3d}}@keyframes timer-final-pulse{to{transform:scale(1.045);box-shadow:0 0 0 8px #ff747d47}}@keyframes board-thumbnail-alert{to{transform:scale(1.035);box-shadow:0 0 0 3px #ffd45a3d,0 8px 22px #0118337a}}@media (prefers-reduced-motion:reduce){.app-shell--lobby .lobby-logo,.app-shell--lobby .lobby-fleet,.app-shell--waiting .waiting-actions--copied .button--primary,.app-shell--construction .board-hit-cell[data-board-state=PLACED]:after,.app-shell--construction .board-hit-cell[data-board-state=VALID]:after,.app-shell--construction .board-hit-cell[data-board-state=SELECTED]:after{animation:none!important;transform:none!important}}.brand{width:clamp(132px,13vw,172px);height:54px;padding:0}.brand img{object-fit:contain;width:100%;height:100%;display:block}.app-shell--lobby{background:#063f4b;height:100dvh;min-height:700px;padding:12px clamp(18px,3vw,44px) 20px;animation:none;overflow:hidden}.app-shell--lobby .topbar{width:min(1240px,100%);min-height:58px;margin-bottom:4px}.app-shell--lobby .topbar-meta{color:#f4ead4}.app-shell--lobby .language-select,.app-shell--lobby .sound-toggle{color:#f4ead4;background:#075d68;border:1px solid #f4ead442;box-shadow:0 3px #032f38}.app-shell--lobby .lobby{grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);align-items:center;gap:clamp(18px,3vw,48px);width:min(1240px,100%);height:calc(100dvh - 94px);min-height:0}.app-shell--lobby .lobby-copy{text-align:center;align-content:center;justify-items:center;min-width:0;max-width:700px;display:grid}.lobby-logo{filter:drop-shadow(0 12px #02222933);width:min(560px,88%);height:auto;display:block}.lobby-tagline{z-index:2;color:#092f3a;letter-spacing:.1em;text-transform:uppercase;background:#f7bf4b;border:2px solid #092f3a;border-radius:6px;margin:-7px 0 0;padding:7px 16px 6px;font-size:.72rem;font-weight:950;line-height:1;transform:rotate(-1deg);box-shadow:0 5px #092f3a}.lobby-fleet{filter:drop-shadow(0 18px #0222292e);width:min(625px,95%);height:auto;margin:clamp(-54px,-4vw,-30px) 0 -38px;display:block}.app-shell--lobby .lede{color:#d7e7dd;max-width:610px;margin:0;font-size:clamp(.78rem,1.15vw,.92rem);font-weight:650;line-height:1.55}.app-shell--lobby .rules-preview{justify-content:center;gap:0;width:min(500px,90%);max-width:none;margin:17px 0 0;display:flex}.app-shell--lobby .rules-preview div{box-shadow:none;background:0 0;border-left:1px solid #f4ead438;border-radius:0;flex:1 1 0;padding:0 12px}.app-shell--lobby .rules-preview div:first-child{border-left:0}.app-shell--lobby .rules-preview dt{color:#f7bf4b;font-size:1.25rem;line-height:1}.app-shell--lobby .rules-preview dd{color:#abcfc5;margin-top:5px;font-size:.54rem}.app-shell--lobby .lobby-card{width:min(460px,100%);box-shadow:none;background:0 0;border:0;border-radius:0;justify-self:end;gap:8px;padding:0;animation-delay:90ms;display:grid}.lobby-card__heading{margin:0 0 8px clamp(52px,9vw,106px)}.lobby-card__heading .eyebrow{color:#f7bf4b;margin-bottom:5px}.app-shell--lobby .lobby-card h2{color:#f4ead4;letter-spacing:-.04em;font-size:clamp(1.65rem,3vw,2.45rem)}.lobby-session{color:#abcfc5;align-items:center;gap:7px;margin:8px 0 0;font-size:.7rem;font-weight:800;display:flex}.lobby-session__divider{color:#abcfc59e}.sprite-action{--sprite-copy-left:38%;color:#f4ead4;width:100%;height:116px;box-shadow:none;cursor:pointer;isolation:isolate;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.sprite-action img{z-index:-1;object-fit:contain;object-position:center;pointer-events:none;width:100%;height:100%;transition:filter .16s;position:absolute;inset:0}.sprite-action__copy{inset:23px 28px 22px var(--sprite-copy-left);text-align:left;align-content:center;justify-items:start;gap:3px;min-width:0;display:grid;position:absolute}.sprite-action__copy strong{letter-spacing:.015em;max-width:100%;font-size:clamp(.92rem,1.7vw,1.15rem);font-weight:950}.sprite-action__copy small{color:#f4ead4b8;max-width:100%;font-size:.6rem;font-weight:800}.sprite-action--private{--sprite-copy-left:42%;color:#092f3a}.sprite-action--private .sprite-action__copy small{color:#092f3aad}.sprite-action:disabled{cursor:wait;filter:saturate(.55);opacity:.62}@keyframes sprite-sonar{to{filter:brightness(1.15)saturate(1.08)}}@media (hover:hover) and (pointer:fine){.sprite-action:hover:not(:disabled){transform:translateY(-3px)rotate(-.25deg)}.sprite-action:hover:not(:disabled) img{filter:brightness(1.08)saturate(1.05)}}.sprite-action:active:not(:disabled){transform:translateY(3px)scale(.992)}.app-shell--lobby .join-room-form{color:#092f3a;height:104px;box-shadow:none;isolation:isolate;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:5px;margin:2px 0 0;padding:24px 7% 22px 28%;position:relative;overflow:hidden}.join-room-form__sprite{z-index:-1;object-fit:contain;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.join-room-form__copy{display:none}.join-room-form__copy span{font-size:.69rem;font-weight:950;line-height:1.1}.join-room-form__copy small{color:#56716f;font-size:.52rem;font-weight:800}.app-shell--lobby .join-room-form label{min-width:0}.app-shell--lobby .join-room-form input{color:#092f3a;letter-spacing:.08em;text-align:center;text-transform:uppercase;background:#fffaf09e;border:1px solid #092f3a3d;border-radius:9px;width:100%;min-height:44px;padding:7px 9px;font-size:.82rem;font-weight:950}.app-shell--lobby .join-room-form input::placeholder{color:#8c806c}.join-room-form__submit{color:#f4ead4;min-width:70px;min-height:44px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 4px;font-size:.68rem;font-weight:950}.join-room-form__submit:disabled{color:#f4ead47a;cursor:not-allowed;background:0 0}.app-shell--lobby .error-message{margin:8px 10px 0}@media (width<=820px){.app-shell--lobby{height:auto;min-height:100dvh;padding:8px 10px 18px;overflow-y:auto}.app-shell--lobby .topbar{min-height:48px;margin-bottom:0}.app-shell--lobby .topbar .brand{width:110px;height:42px}.app-shell--lobby .topbar-meta{gap:5px}.app-shell--lobby .topbar-audio .sound-toggle{width:32px;min-width:32px;min-height:32px}.app-shell--lobby .language-select{max-width:104px;min-height:32px}.app-shell--lobby .lobby{grid-template-columns:minmax(0,1fr);gap:0;height:auto;display:grid}.app-shell--lobby .lobby-copy{width:100%;min-height:0}.lobby-logo{width:min(340px,88vw);margin-top:-6px}.lobby-tagline{margin-top:-8px;padding:6px 11px 5px;font-size:.58rem}.lobby-fleet{width:min(305px,82vw);margin:-34px 0 -14px}.app-shell--lobby .lede,.app-shell--lobby .rules-preview{display:none}.app-shell--lobby .lobby-card{justify-self:center;gap:1px;width:min(370px,100%)}.lobby-card__heading{justify-content:space-between;align-items:end;gap:10px;margin:5px 23px 4px;display:flex}.lobby-card__heading .eyebrow{display:none}.app-shell--lobby .lobby-card h2{font-size:1.28rem}.lobby-session{text-align:right;margin:0 0 2px;font-size:.55rem}.sprite-action{height:94px}.sprite-action img{width:100%;height:100%;inset:0}.sprite-action--private{height:100px}.sprite-action__copy{inset:15px 24px 14px var(--sprite-copy-left)}.sprite-action__copy strong{font-size:.88rem}.sprite-action__copy small{font-size:.51rem}.app-shell--lobby .join-room-form{grid-template-columns:minmax(0,1fr) 68px;gap:3px;height:90px;margin:-1px 0 6px;padding:18px 7% 17px 29%}.join-room-form__copy{display:none}.app-shell--lobby .join-room-form input,.join-room-form__submit{min-height:39px}}@media (width<=380px),(height<=720px){.lobby-logo{width:min(285px,82vw)}.lobby-fleet{width:min(265px,78vw);margin-top:-34px;margin-bottom:-32px}.sprite-action{height:84px}.sprite-action--private{height:90px}.app-shell--lobby .join-room-form{height:84px;padding-block:15px}}.app-shell{background:linear-gradient(145deg,#53b4e8 0%,#2c8ac8 42%,#1479b9 76%,#0c6da9 100%) 0 0/145% 145%;animation:18s ease-in-out infinite alternate ambient-sky}@keyframes ambient-sky{0%{background-position:0 20%}to{background-position:100% 80%}}.brand,.sound-toggle,.card-prompt__close,.guess-letter,.prompt-segments button,.boundary-stepper button,.letter-tile,.card,.mobile-intel-toggle,.button{will-change:transform;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s,border-color .16s,background-color .16s,filter .16s,opacity .16s}.button{box-shadow:0 4px #04437861}.button--primary{background:linear-gradient(145deg,#149ce5,#0867b5);box-shadow:0 5px #074f8d,0 10px 24px #02447933}.button--secondary{background:#0f6dac;box-shadow:0 4px #0441737a}.button--warning{box-shadow:0 5px #b77e00,0 9px 20px #4d37002e}.button--danger{box-shadow:0 4px #bc4451}.button--ghost{box-shadow:none}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled),.brand:hover,.sound-toggle:hover,.letter-tile:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.card:hover:not(:disabled){filter:saturate(1.08);transform:translateY(-5px)rotate(-.4deg)}}.button:active:not(:disabled),.brand:active,.sound-toggle:active,.letter-tile:active:not(:disabled),.card:active:not(:disabled),.guess-letter:active:not(:disabled),.prompt-segments button:active:not(:disabled),.boundary-stepper button:active:not(:disabled),.mobile-intel-toggle:active{transform:translateY(2px)scale(.985);box-shadow:0 1px #04437859}.topbar{z-index:20;position:relative}.topbar-audio{align-items:center;gap:5px;display:flex}.topbar-audio .sound-toggle{place-items:center;width:34px;min-width:34px;min-height:34px;padding:5px;display:inline-grid;overflow:hidden}.topbar-audio .sound-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.music-toggle[aria-pressed=true]{color:#fff5ca;border-color:#ffd45a9e}.lobby-copy,.lobby-card,.waiting-room,.match-layout,.result-screen{animation:.44s cubic-bezier(.2,.82,.2,1) both scene-enter}.lobby-card,.waiting-room,.result-screen,.board-panel,.control-panel{border:1px solid #ffffff1f;box-shadow:0 18px 48px #033e6d3d,inset 0 1px #ffffff14}.lobby-card{animation-delay:80ms}.rules-preview>div{transition:transform .18s,background-color .18s;box-shadow:inset 0 1px #ffffff14}@media (hover:hover) and (pointer:fine){.rules-preview>div:hover{background:#0876bf;transform:translateY(-2px)}}.join-room-form{gap:10px;display:grid}.waiting-room{background:linear-gradient(155deg,#0967b3,#07529a);overflow:hidden}.waiting-actions{grid-template-columns:1fr 1fr;gap:8px;width:min(420px,100%);margin:22px auto 0;display:grid}.waiting-actions .button--ghost{grid-column:1/-1}.manual-copy{text-align:left;width:min(420px,100%);margin:12px auto 0}.manual-copy input{letter-spacing:.08em;text-align:center;font-size:1rem;font-weight:950}@keyframes scene-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}}.construction-table .board-panel{isolation:isolate;position:relative}.construction-table--auto-plan .game-board-wrap{animation:.76s cubic-bezier(.2,.8,.2,1) both formation-ready}.formation-celebration{z-index:8;color:#fff;text-align:center;pointer-events:none;background:#046b5beb;border:1px solid #ffffff94;border-radius:999px;min-width:172px;padding:10px 18px;font-size:.82rem;animation:1.1s cubic-bezier(.2,.82,.2,1) both formation-toast;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 40px #01344257}.formation-seal{z-index:7;color:#d9ffed;pointer-events:none;background:#045c50e6;border:1px solid #ffffff6b;border-radius:999px;max-width:calc(100% - 44px);padding:7px 11px;font-size:.62rem;font-weight:900;animation:.36s cubic-bezier(.2,.9,.2,1.12) both seal-in;position:absolute;top:22px;right:22px;box-shadow:0 8px 22px #02324e47}.board-panel--locked .game-board-wrap{box-shadow:0 0 0 3px #68e3ad8c,0 0 32px #68e3ad33}@keyframes formation-ready{0%{filter:saturate(.85);transform:scale(.985)}42%{filter:saturate(1.3)brightness(1.12);transform:scale(1.012)}}@keyframes formation-toast{0%{opacity:0;transform:translate(-50%,-42%)scale(.8)}20%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-58%)scale(.96)}}@keyframes seal-in{0%{opacity:0;transform:translateY(-8px)scale(.9)}}.letter-tile span{color:#9b5500}.card>span{color:#286e9e}.card small{color:#456d91}.card--drawn{z-index:3;animation:1.25s cubic-bezier(.2,.86,.2,1) both card-draw}@keyframes card-draw{0%{opacity:0;filter:brightness(1.35);transform:translateY(-22px)rotate(4deg)scale(.82)}34%{opacity:1;transform:translateY(-6px)rotate(-1deg)scale(1.07)}72%{box-shadow:0 5px #b98509,0 0 0 5px #ffd45a52}to{filter:none}}.mobile-intel-toggle{display:none}.intel-drawer-backdrop{align-items:end}.intel-drawer{color:#fff;background:#075aa7;border:1px solid #ffffff57;border-radius:24px 24px 16px 16px;width:min(560px,100%);max-height:min(72dvh,680px);padding:16px;animation:.26s cubic-bezier(.2,.86,.2,1) both drawer-up;position:relative;overflow:auto;box-shadow:0 28px 80px #02234285}.intel-drawer__heading{justify-content:space-between;align-items:flex-start;gap:16px;padding-right:38px;display:flex}.intel-drawer__heading h3{font-size:1.08rem}.intel-drawer .card-prompt__close{top:12px;right:12px}.action-log--drawer{display:block}.confirm-backdrop{place-items:center}.confirm-dialog{color:#fff;background:#075aa7;border:1px solid #ffffff52;border-radius:22px;width:min(390px,100%);padding:22px;animation:.22s cubic-bezier(.2,.9,.25,1.08) both battle-feedback-card;box-shadow:0 28px 80px #02234285}.confirm-dialog h3{font-size:1.45rem}.confirm-dialog>p:not(.eyebrow){color:var(--muted);margin:9px 0 0;font-size:.78rem;line-height:1.5}.confirm-dialog__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}@keyframes drawer-up{0%{opacity:0;transform:translateY(28px)}}.result-screen{background:linear-gradient(155deg,#0969b7,#07529a 72%);width:min(960px,100%);padding:clamp(20px,3vw,30px);overflow:hidden}.result-screen--defeat{box-shadow:0 20px 54px #5a182d38,inset 0 2px #ff747d7a}.result-screen--victory{animation:.44s cubic-bezier(.2,.82,.2,1) both scene-enter,2.4s ease-in-out .45s infinite alternate result-glow}.result-spotlight{justify-items:center;gap:4px;display:grid}.result-spotlight>p:not(.eyebrow){color:var(--muted);text-transform:capitalize;margin:2px 0 0}.result-summary{grid-template-columns:repeat(3,1fr);gap:8px;width:min(520px,100%);margin:22px auto 0;display:grid}.result-summary>div{background:#ffffff12;border:1px solid #ffffff21;border-radius:14px;gap:2px;padding:11px 8px;display:grid}.result-summary strong{font-variant-numeric:tabular-nums;font-size:1.22rem}.result-summary span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-weight:850}.result-boards{width:min(760px,100%);margin:18px auto}.result-screen>.button{min-width:min(320px,100%)}.result-primary-action{margin-top:14px}@keyframes result-glow{0%{box-shadow:0 18px 48px #033e6d3d,inset 0 1px #ffffff14}to{box-shadow:0 22px 58px #ffd45a38,inset 0 1px #ffffff1f}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=900px){.result-screen{margin-top:1vh}}@media (width<=600px){.topbar{gap:8px;min-height:48px}.topbar-meta{gap:4px}.topbar-meta>.connection-pill{display:none}.topbar-audio{gap:3px}.topbar-audio .sound-toggle{border-radius:10px;max-width:58px;min-height:38px;padding:5px 6px;font-size:.5rem}.language-select{min-height:38px}.app-shell--battle{height:auto;min-height:100dvh;overflow:visible}.match-layout--battle{grid-template-rows:auto auto;align-content:start;height:auto;min-height:0;overflow:visible}.battle-board-panel{grid-template-rows:auto auto auto auto}.battle-stage .game-board-wrap{width:min(100%,100dvh - 326px);min-width:min(100%,260px)}.battle-controls{gap:4px;display:grid}.hand{min-height:78px}.card{border-radius:10px;min-width:44px;max-width:68px}.card strong{font-size:clamp(.5rem,1.9vw,.62rem);line-height:1.08}.battle-action-dock{min-height:46px}.battle-configure-button,.battle-action-dock .battle-fire-button,.battle-controls .button-grid--battle .button{min-height:44px}.mobile-intel-toggle{border:1px solid var(--line);color:#fff;text-align:left;background:#ffffff14;border-radius:10px;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:6px 9px;display:grid}.mobile-intel-toggle>span:nth-child(2){gap:1px;min-width:0;display:grid}.mobile-intel-toggle strong,.mobile-intel-toggle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-intel-toggle strong{font-size:.62rem}.mobile-intel-toggle small{color:var(--muted);font-size:.5rem}.mobile-intel-toggle b{color:#d5f1ff;text-align:center;background:#ffffff17;border-radius:999px;min-width:24px;padding:4px 6px;font-size:.58rem}.intel-result__signal--active{background:var(--mint);box-shadow:0 0 0 4px #68e3ad21}.card-prompt__close{width:40px;height:40px}.guess-letter{min-height:36px}.formation-seal{font-size:.56rem;top:16px;right:16px}.result-screen{margin-top:0}.result-screen>h2,.result-spotlight h2{font-size:clamp(2.7rem,14vw,4rem)}.result-summary{margin-top:16px}.result-boards{gap:18px;margin:20px 0}}@media (height<=660px) and (width<=600px){.battle-stage .game-board-wrap{width:min(100%,100dvh - 292px);min-width:min(100%,260px)}.app-shell--battle{overflow-y:auto}}@media (prefers-reduced-motion:reduce){.incoming-action-effect__cell--scan i,.incoming-action-effect__cell--hint i,.incoming-action-effect__cell--guess strong,.incoming-action-effect__cell--guess i,.formation-celebration,.formation-seal,.card--drawn{opacity:1!important;animation:none!important;transform:none!important}.formation-celebration{transform:translate(-50%,-50%)!important}.incoming-action-effect__cell--scan i,.incoming-action-effect__cell--hint i,.incoming-action-effect__cell--guess i{opacity:1!important}.incoming-action-effect__scan-beam{top:44%;animation:none!important}}.app-shell--battle{height:100dvh;min-height:568px;padding:8px clamp(8px,2vw,24px);overflow:hidden}.app-shell--battle .topbar{min-height:44px;margin-bottom:6px}.match-layout--battle{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-content:stretch;align-items:stretch;gap:6px;width:min(960px,100%);height:calc(100dvh - 66px);overflow:hidden}.battle-board-panel{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;padding:7px 9px;display:grid;overflow:hidden}.battle-board-panel .panel-heading{align-items:center;min-height:42px;margin-bottom:3px}.battle-board-panel .panel-heading>div:first-child{min-width:0}.battle-board-panel .panel-heading h2{margin:0;font-size:clamp(1.05rem,2.1vw,1.4rem);line-height:1.05}.battle-board-panel .eyebrow{margin-bottom:2px;font-size:.52rem}.battle-compact-stats{color:var(--muted);flex-wrap:wrap;gap:3px 8px;margin-top:3px;font-size:.52rem;font-weight:800;display:flex}.battle-compact-stats span:first-child{color:#d9ffed}.battle-compact-stats .focus-meter{color:#fff3bd;background:#ffd45a29;border-radius:999px;padding:2px 5px}.battle-heading-actions{flex-direction:row;flex:none;align-items:center;gap:5px}.history-button{border:1px solid var(--line-strong);color:#fff;cursor:pointer;background:#ffffff14;border-radius:11px;justify-content:center;align-items:center;width:34px;min-width:34px;min-height:34px;padding:6px;font-size:.58rem;font-weight:900;display:inline-flex;position:relative}.history-button>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px;height:18px}.history-button b{border:2px solid var(--blue-deep);min-width:19px;min-height:19px;color:var(--blue-dark);background:var(--yellow);border-radius:999px;place-items:center;padding:1px 4px;font-size:.5rem;display:grid;position:absolute;top:-6px;right:-6px}.timer{justify-content:center;align-items:center;gap:5px;min-width:72px;min-height:34px;padding:6px 9px;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.timer__urgent-mark{color:#8e1726;background:#fff;border-radius:50%;place-items:center;min-width:16px;height:16px;font-size:.72rem;line-height:1;display:inline-grid}.timer--warning,.timer--critical,.timer--final,.timer--expired{color:#fff;background:#b8263a;border-color:#ffb3bab8;box-shadow:0 0 0 2px #ff747d1f}.timer--warning{animation:1.35s ease-in-out infinite timer-warning-pulse}.timer--critical{background:#a91931;animation:.78s ease-in-out infinite timer-critical-pulse}.timer--final{background:#8e1028;animation:.42s ease-in-out infinite alternate timer-final-pulse}.timer--expired{box-shadow:none;background:#7b1325}.battle-instruction{text-align:center;place-items:center;min-height:26px;margin:2px 0 4px;padding:5px 8px;font-size:.58rem;line-height:1.25;display:grid}.battle-stage{place-items:center;min-height:0;display:grid;position:relative;overflow:visible}.battle-board-shell{width:min(100%,max(260px,100dvh - 420px),520px);padding-bottom:13px;position:relative}.battle-board-shell .game-board-wrap{width:100%}.board-view-thumbnail{z-index:16;color:#fff;cursor:pointer;background:#042b52eb;border:1px solid #ffffff7a;border-radius:10px;gap:4px;width:64px;padding:5px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid;position:absolute;top:3px;right:-72px;box-shadow:0 7px 18px #01183361}.board-view-thumbnail:hover,.board-view-thumbnail:focus-visible{border-color:#ffd45a;transform:translateY(-2px)scale(1.03);box-shadow:0 0 0 2px #ffd45a3d,0 9px 20px #01183370}.board-view-thumbnail>strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.44rem;font-weight:950;line-height:1.1;overflow:hidden}.board-view-thumbnail__grid{aspect-ratio:1;background:#063f4b;border:1px solid #ffffff47;border-radius:4px;grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;padding:2px;display:grid}.board-view-thumbnail__grid i{background:#167786;border-radius:1px;min-width:0}.board-view-thumbnail__grid i[data-state=CONFIRMED_EMPTY],.board-view-thumbnail__grid i[data-state=DEFENSE_MISS]{background:#697783}.board-view-thumbnail__grid i[data-state=CONFIRMED_OCCUPIED],.board-view-thumbnail__grid i[data-state=REVEALED]{background:#ffcf4a}.board-view-thumbnail__grid i[data-state=PLACED],.board-view-thumbnail__grid i[data-state=VALID]{background:#087f68}.board-view-thumbnail__grid i[data-state=DEFENSE_HIT]{background:#d95367}.board-view-thumbnail__grid i[data-state=SELECTED],.board-view-thumbnail__grid i[data-state=TARGETED],.board-view-thumbnail__grid i[data-state=PREVIEW]{background:#ffd45a}.board-view-thumbnail--attention{border-color:#ffcf4a;animation:.75s ease-in-out infinite alternate board-thumbnail-alert}@media (width<=760px){.board-view-thumbnail{width:54px;padding:4px;right:-62px}}.opponent-profile-trigger{z-index:90;color:#f4ead4;max-width:min(240px,100vw - 24px);min-height:40px;font:inherit;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;background:#063f4bf0;border:1px solid #4e8487;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:.72rem;font-weight:800;display:inline-flex;position:fixed;bottom:clamp(12px,2vw,26px);right:clamp(12px,2vw,28px);overflow:hidden;box-shadow:0 4px #092f3a,0 10px 25px #01141b59}.opponent-profile-trigger:hover,.opponent-profile-trigger:focus-visible{background:#0c5963;border-color:#f7c85b;transform:translateY(-1px)}.opponent-profile-trigger:focus-visible{outline-offset:3px;outline:3px solid #fff7e3}.opponent-profile-trigger>span{color:#f7c85b;font-size:1.15rem;line-height:0}.opponent-profile-drawer{width:min(480px,100vw - 28px)}.opponent-profile__status,.opponent-profile__identity,.opponent-profile__stats,.opponent-profile__details,.opponent-profile__history{margin-top:12px}.opponent-profile__status{color:#c3ded6}.opponent-profile__identity{background:#053e4975;border:1px solid #70a7a48c;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.opponent-profile__identity>span{color:#102f37;background:#f7c85b;border:1px solid #e0b95f;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.opponent-profile__identity>div{gap:2px;min-width:0;display:grid}.opponent-profile__identity strong{color:#fff7e3;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.opponent-profile__identity small{color:#b8d6cf;font-size:.68rem}.opponent-profile__stats,.opponent-profile__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:0;display:grid}.opponent-profile__stats>div,.opponent-profile__details>div{background:#053e495c;border:1px solid #70a7a46e;border-radius:10px;min-width:0;padding:10px}.opponent-profile__stats dt,.opponent-profile__details dt{color:#b8d6cf;letter-spacing:.04em;text-transform:uppercase;font-size:.59rem;font-weight:800}.opponent-profile__stats dd,.opponent-profile__details dd{color:#fff7e3;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.92rem;font-weight:850;overflow:hidden}.opponent-profile__history{gap:8px;display:grid}.opponent-profile__history>strong{color:#fff7e3}.opponent-profile__history ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.opponent-profile__history li{color:#d7e7e2;border:1px solid #70a7a45c;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 10px;font-size:.68rem;display:grid}.opponent-profile__history li>strong{color:#f7c85b}.opponent-profile__history code{color:#9dc5c1;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:.58rem;overflow:hidden}@media (width<=520px){.opponent-profile-trigger{font-size:.66rem;bottom:10px}.opponent-profile__details{grid-template-columns:1fr}}@media (width<=820px){.opponent-profile-trigger{display:none}}.topbar-actions{z-index:20;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:relative}.account-menu{z-index:40;position:relative}.account-menu__trigger{cursor:pointer;background:#063f4a;border:1px solid #8ed9d0;border-radius:999px;place-items:center;width:44px;height:44px;padding:0;display:grid;box-shadow:0 3px #042d36}.account-menu__trigger:focus-visible{outline-offset:3px;outline:3px solid #ffe18b}.account-menu__avatar{color:#fff9e8;letter-spacing:.02em;background:#0a6571;border:2px solid;border-radius:999px;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:900;display:grid}.account-menu__avatar--tone-0{color:#6fe7bd}.account-menu__avatar--tone-1{color:#ffd978}.account-menu__avatar--tone-2{color:#8fc9ff}.account-menu__avatar--tone-3{color:#f6a6bf}.account-menu__avatar--tone-4{color:#c4b0ff}.account-menu__avatar--tone-5{color:#ffbd83}.competitive-lobby-status{gap:12px;margin:14px 0;display:grid}@media (width<=760px){.topbar-actions{gap:6px}.account-menu__trigger{width:40px;height:40px}.account-menu__avatar{width:31px;height:31px;font-size:.68rem}}.end-turn-fab{z-index:14;color:#ffd45a;cursor:pointer;background:#073a69;border:2px solid #ffef9deb;border-radius:50%;place-items:center;width:48px;height:48px;transition:transform .16s,color .16s,background-color .16s,opacity .16s;display:grid;position:absolute;bottom:-1px;right:-10px;box-shadow:0 7px #02224657,0 0 0 4px #ffd45a26}.end-turn-fab svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:24px;height:24px}.end-turn-fab:hover:not(:disabled),.end-turn-fab:focus-visible:not(:disabled){color:#073a69;background:#ffd45a;transform:translateY(-2px)}.end-turn-fab:disabled{cursor:not-allowed;opacity:.35}.surrender-button{color:#ffffffb8;cursor:pointer;background:#ffffff12;border:1px solid #ffffff42;border-radius:11px;place-items:center;width:34px;min-width:34px;height:34px;transition:color .16s,border-color .16s,background-color .16s;display:inline-grid}.surrender-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:18px;height:18px}.surrender-button:hover:not(:disabled),.surrender-button:focus-visible:not(:disabled){color:#ffd45a;background:#ffd45a24;border-color:#ffd45a9e}.surrender-button:disabled{cursor:not-allowed;opacity:.45}.battle-stage .game-board-wrap{border-radius:15px;width:min(100%,max(260px,100dvh - 420px),520px);max-height:100%}.battle-board-footer{align-items:center;min-height:23px}.battle-board-footer .target-list{scrollbar-width:none;flex-wrap:nowrap;align-items:center;min-height:22px;padding-top:2px;overflow-x:auto}.battle-board-footer .target-list span{flex:none;padding:3px 6px;font-size:.54rem}.battle-board-footer .target-count{margin-top:2px;padding:3px 5px;font-size:.52rem}.battle-controls{grid-template-rows:auto auto auto;gap:4px;max-height:none;padding:6px 8px 7px;display:grid;overflow:hidden}.battle-utility-row,.battle-controls .button-grid--battle{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0}.battle-legacy-utility{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.battle-controls .button-grid--battle .button{border-radius:8px;min-height:30px;padding:4px 7px;font-size:.54rem}.battle-action-dock{border-radius:11px;grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:5px;min-height:58px;margin:0;padding:5px 6px}.battle-action-dock--simple{grid-template-columns:minmax(0,1fr) repeat(2,auto)}.battle-action-dock--inspecting{background:#ffd45a1a;border-color:#ffd45a7a;grid-template-columns:minmax(0,1fr)}.battle-action-dock--tile-intel{background:#03305bdb;border-color:#70efc561;min-height:64px}.battle-action-dock--tile-intel:not(:has(.battle-fire-button)){grid-template-columns:minmax(0,1fr)}.tile-intel{grid-template-rows:auto minmax(22px,auto);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3px 8px;min-width:0;max-height:76px;display:grid;overflow:hidden}.tile-intel__header{grid-column:1/-1;align-items:center;gap:6px;min-width:0;display:flex}.tile-intel__header strong{color:#fff;white-space:nowrap;font-size:.66rem}.tile-intel__header>span{min-width:0;color:var(--mint);text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:900;overflow:hidden}.tile-intel__close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff47;border-radius:7px;place-items:center;width:22px;min-width:22px;height:22px;margin-left:auto;padding:0;font-size:.74rem;display:grid}.tile-intel__attempts{scrollbar-width:none;align-items:center;gap:3px;min-width:0;display:flex;overflow-x:auto}.tile-intel__attempts>small{color:#9fdcff;letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:.46rem;font-weight:900}.tile-intel__attempt{color:#fff;background:#ffffff14;border:1px solid #ffffff3d;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:2px;min-width:24px;height:22px;padding:2px 4px;font-size:.52rem;display:inline-flex}.tile-intel__attempt i{font-style:normal}.tile-intel__attempt--hit{color:#baffea;background:#70efc524;border-color:#70efc5a6}.tile-intel__attempt--miss{color:#c7d0d7}.tile-intel__empty{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;overflow:hidden}.tile-intel__hints{scroll-snap-type:x proximity;scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.tile-intel__hints article{border-left:2px solid var(--mint);scroll-snap-align:start;background:#70efc517;border-radius:5px;flex:0 0 min(188px,66vw);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;min-width:min(188px,66vw);padding:3px 5px;display:grid}.tile-intel__hints strong{color:#bce9ff;white-space:nowrap;font-size:.45rem}.tile-intel__hints p{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.5rem;line-height:1.15;display:-webkit-box;overflow:hidden}.battle-action-dock__copy{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:1px 7px;min-width:0;display:grid}.battle-action-dock__copy>span{color:#bce9ff;letter-spacing:.06em;text-transform:uppercase;font-size:.48rem;font-weight:950}.battle-action-dock__copy>strong{min-width:0;font-size:.66rem}.battle-action-dock__copy>p{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;margin:0;font-size:.56rem;line-height:1.25;display:-webkit-box;overflow:hidden}.battle-action-dock__copy>small{grid-column:1/-1;font-size:.48rem}.battle-action-dock__copy>.battle-line-direction{grid-column:1/-1}.battle-word-guess-checklist{color:#cdeeff;flex-wrap:wrap;grid-column:1/-1;gap:2px 6px;font-size:.47rem;font-weight:800;line-height:1.2;display:flex}.battle-word-guess-checklist span{background:#0c44735c;border:1px solid #a1deff52;border-radius:999px;padding:2px 4px}.battle-clear-button,.battle-configure-button,.battle-action-dock .battle-fire-button{border-radius:8px;min-height:42px;padding:5px 8px;font-size:.57rem}.battle-action-dock .battle-fire-button{width:48px;min-width:48px;padding:5px}.battle-action-dock .battle-fire-button span{white-space:nowrap;font-size:0;overflow:hidden}.battle-action-dock .battle-fire-button span:before{content:"✓";font-size:1.1rem;line-height:1}.battle-action-dock .battle-fire-button i{display:none}.hand{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-color:#ffffff57 transparent;scrollbar-width:thin;justify-content:center;align-items:flex-end;gap:0;min-width:0;min-height:124px;max-height:none;padding:3px 1px 1px;display:flex;overflow:visible}.hand .card{aspect-ratio:3/4;scroll-snap-align:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:10px;flex:0 78px;gap:2px;width:78px;min-width:44px;max-width:78px;margin-left:-14px;padding:4px 4px 18px;transform:rotate(-2deg)}.hand .card:first-child{margin-left:0;transform:rotate(-5deg)}.hand .card:nth-child(3n){transform:rotate(3deg)}.hand .card:nth-child(4n){transform:rotate(-1deg)}.hand .card:hover:not(:disabled){z-index:7;transform:translateY(-8px)rotate(0)}.hand .card.card--active{z-index:10;transform:translateY(-24px)scale(1.07)rotate(0);box-shadow:0 8px #b98509,0 0 0 2px #ffd45a59,0 14px 24px #0119395c}.hand .card>img{border-radius:6px}.hand .card>span:not(.sr-only){color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:0;line-height:1;display:grid}.hand .card>span:not(.sr-only):before{font-size:.62rem}.hand .card--detector>span:not(.sr-only){background:#51b9b2}.hand .card--detector>span:not(.sr-only):before{content:"⌁"}.hand .card--hint>span:not(.sr-only){background:#9c79db}.hand .card--hint>span:not(.sr-only):before{content:"?"}.hand .card--guesser>span:not(.sr-only){background:#ea8d70}.hand .card--guesser>span:not(.sr-only):before{content:"✦"}.hand .card strong{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.46rem,.9vw,.58rem);line-height:1.05;display:-webkit-box;overflow:hidden}.hand .card small{display:none}.hand .card>.sr-only{display:block!important}.mana-bar{color:#fff6c9;background:#03305bb8;border:1px solid #ffd45a85;border-radius:999px;align-items:center;min-height:28px;margin:2px 1px 0;padding:3px 7px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #00163359}.mana-bar__segments{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;display:grid;position:absolute;inset:3px 7px}.mana-bar__segment{background:#091f3bc2;border-radius:999px;transition:background-color .22s,box-shadow .22s,transform .22s}.mana-bar__segment--filled{background:#ffd45a;box-shadow:0 0 8px #ffd45a9e}.mana-bar__value{z-index:1;color:#183d57;text-align:center;text-shadow:0 1px #ffffff6b;width:100%;font-size:.62rem;font-weight:950;line-height:1;position:relative}@media (prefers-reduced-motion:reduce){.mana-bar__segment{transition:none}}.detector-resolution-effect{z-index:7;inset:var(--board-inset-y) var(--board-inset-x);pointer-events:none;background:#04315c1a;border:1px solid #c6efff9e;border-radius:13px;position:absolute;overflow:hidden;box-shadow:inset 0 0 34px #03294e42}.detector-resolution-effect__cells{position:absolute;inset:0}.detector-resolution-effect__cell{opacity:0;width:10%;height:10%;animation:detector-cell-scan .82s ease-out var(--effect-delay) both;background:#55b8ed38;border:1px solid #c8f0ff7a;border-radius:5px;position:absolute}.detector-resolution-effect__cell--occupied{background:#ffd45ae0;border-color:#ffe78e;box-shadow:0 0 18px #ffd45abd}.detector-resolution-effect__cell--empty{background:#55b8edb8;border-color:#a8e2ff;box-shadow:0 0 14px #55b8ed7a}.detector-resolution-effect__beam{z-index:2;filter:blur(1px);background:linear-gradient(#0000,#a7e5ffc2,#0000);height:18%;animation:1.15s ease-in-out both detector-board-sweep;position:absolute;top:-18%;left:0;right:0}@keyframes detector-board-sweep{to{top:100%}}@keyframes detector-cell-scan{0%{opacity:0;transform:scale(.72)}38%,72%{opacity:1;transform:scale(1.04)}to{opacity:.42;transform:scale(1)}}.history-drawer-backdrop{place-items:stretch end;padding:0}.history-drawer{color:#fff;background:var(--blue-deep);border-left:1px solid #ffffff47;grid-template-rows:auto auto minmax(0,1fr);gap:12px;width:min(410px,100%);height:100%;padding:18px;animation:.22s ease-out both history-drawer-in;display:grid;overflow:hidden;box-shadow:-22px 0 70px #0223427a}.history-drawer--hint-area{grid-template-rows:auto minmax(0,1fr)}.history-drawer--hint-area .history-saved-hints{overflow-y:auto}.history-drawer__heading{justify-content:space-between;align-items:flex-start;gap:12px;min-height:46px;display:flex}.history-drawer__heading h3,.history-drawer__heading p{margin:0}.history-section{border:1px solid var(--line);background:#ffffff12;border-radius:14px;align-content:start;gap:7px;min-height:0;padding:10px;display:grid}.history-section>strong{color:#d5f1ff;letter-spacing:.05em;text-transform:uppercase;font-size:.62rem}.history-hint-area__range{color:#bce9ff;font-size:.62rem;font-weight:850}.action-log--drawer{display:grid;overflow-y:auto}.battle-controls .action-log--drawer{display:grid}.action-log--drawer article,.history-hint{border-bottom:1px solid #ffffff1a;gap:3px;padding:7px 2px;display:grid}.action-log--drawer article>span,.history-hint>span{color:#bce9ff;font-size:.51rem;font-weight:900}.action-log--drawer article p,.history-hint p{color:#fff;margin:0;font-size:.63rem;line-height:1.35}.action-log--drawer article small,.history-hint small{color:var(--muted);font-size:.53rem}.history-public-hits{flex-wrap:wrap;gap:4px;display:flex}.history-public-hits span{color:#d9ffed;background:#68e3ad24;border-radius:999px;padding:3px 6px;font-size:.51rem}@keyframes history-drawer-in{0%{opacity:0;transform:translate(28px)}}@media (width<=600px){.app-shell--battle{height:100dvh;min-height:568px;padding:6px 7px;overflow:hidden}.app-shell--battle .topbar{min-height:44px;margin-bottom:4px}.match-layout--battle{grid-template-rows:minmax(0,1fr) auto;gap:4px;height:calc(100dvh - 60px);min-height:0;overflow:hidden}.battle-board-panel{grid-template-rows:auto auto minmax(0,1fr) auto;padding:6px}.battle-board-panel .panel-heading{min-height:44px}.battle-compact-stats{max-width:220px;font-size:.48rem}.history-button{max-width:38px;min-height:38px;padding:4px 6px;font-size:.5rem}.history-button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.battle-board-panel .timer{min-width:66px;min-height:38px;padding:5px 7px;font-size:.72rem}.timer__urgent-mark{width:14px;min-width:14px;height:14px;font-size:.62rem}.battle-instruction{min-height:28px;margin:1px 0 3px;padding:4px 6px;font-size:.54rem}.battle-stage .game-board-wrap{width:min(100%,max(260px,100dvh - 520px));min-width:min(100%,260px)}.battle-board-shell{grid-template-rows:auto auto;justify-items:center;gap:4px;width:min(100%,max(260px,100dvh - 520px));display:grid}.battle-board-shell .game-board-wrap{grid-row:2}.board-view-thumbnail{background:#042b52f5;grid-row:1;justify-self:end;width:52px;position:relative;top:auto;right:auto}.battle-controls{gap:3px;padding:5px 6px 6px}.battle-controls .button-grid--battle .button{min-height:38px;font-size:.51rem}.battle-action-dock,.battle-action-dock--simple{grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:3px;min-height:52px;padding:4px}.battle-action-dock--simple{grid-template-columns:minmax(0,1fr) repeat(2,auto)}.battle-action-dock--inspecting{grid-template-columns:minmax(0,1fr)}.battle-action-dock__copy>p{font-size:.53rem}.battle-action-dock__copy>small{display:none}.battle-line-direction{gap:4px;margin-top:0}.battle-line-direction>span{font-size:.45rem}.battle-line-direction__segments button{min-height:21px;padding:2px 5px;font-size:.48rem}.battle-clear-button,.battle-configure-button,.battle-action-dock .battle-fire-button{min-height:40px;padding:4px 6px;font-size:.52rem}.battle-action-dock .battle-fire-button{width:44px;min-width:44px}.hand{justify-content:center;min-height:104px}.hand .card{flex-basis:64px;grid-template-rows:auto 1fr;width:64px;max-width:64px;margin-left:-10px;padding:3px 3px 16px}.hand .card:first-child{margin-left:0}.hand .card small{display:none}.hand .card strong{font-size:clamp(.45rem,1.75vw,.56rem)}.hand:has(.card:nth-child(8)){justify-content:flex-start;padding-left:22px;overflow-x:auto}.history-drawer-backdrop{place-items:end stretch}.history-drawer{border-top:1px solid #ffffff47;border-left:0;border-radius:20px 20px 0 0;width:100%;height:min(72dvh,610px);padding:14px;animation-name:history-sheet-in}@keyframes history-sheet-in{0%{opacity:0;transform:translateY(28px)}}}@media (width<=359px),(height<=680px){.app-shell--battle{height:auto;min-height:568px;overflow:auto}.match-layout--battle{height:auto;min-height:650px;overflow:visible}.battle-stage .game-board-wrap{width:min(100%,260px);min-width:min(100%,260px)}.battle-board-shell{width:min(100%,260px)}.end-turn-fab{bottom:1px;right:4px}.battle-controls{overflow:visible}}.battle-controls{grid-template-rows:auto auto auto}.battle-info-panel,.battle-info-panel.battle-action-dock--simple,.battle-info-panel.battle-action-dock--inspecting,.battle-info-panel.battle-action-dock--tile-intel{grid-template-columns:minmax(0,1fr);min-height:62px;padding:6px 8px}.battle-command-row{grid-template-columns:minmax(0,1fr) clamp(118px,17vw,150px);align-items:stretch;gap:8px;min-width:0;min-height:124px;display:grid}.hand-zone{grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:3px;min-width:0;display:grid;position:relative;overflow:visible}.battle-command-row .hand{justify-content:flex-start;min-width:0;padding-left:5px;padding-right:0}.hand-deck{color:#fff;background:radial-gradient(circle at 50% 42%,#ffd45a57 0 2px,#0000 3px),repeating-linear-gradient(135deg,#ffffff14 0 4px,#0000 4px 8px),#0b5a9c;border:2px solid #ffffffc2;border-radius:8px;align-self:end;width:38px;height:52px;margin-bottom:8px;position:relative;transform:rotate(3deg);box-shadow:3px 3px #062f5d,6px 6px #05264db8,0 8px 18px #01173152}.hand-deck:before,.hand-deck:after{content:"";border:1px solid #ffffff75;border-radius:5px;position:absolute;inset:4px}.hand-deck:after{border-color:#ffd45a94;inset:8px}.hand-deck>i{z-index:-1;border-radius:inherit;background:#084a86;border:1px solid #ffffff52;position:absolute;inset:0}.hand-deck>i:first-child{transform:translate(3px,-4px)rotate(2deg)}.hand-deck>i:nth-child(2){transform:translate(-2px,-7px)rotate(-3deg)}.hand-deck>b{z-index:1;color:#ffe582;text-shadow:0 2px #022549b8;place-items:center;font-size:.82rem;font-weight:1000;display:grid;position:absolute;inset:0}.hand-zone--drawing .hand-deck{animation:.48s ease-out 2 alternate deck-deal}.hand .card--drawn{animation:card-draw-from-deck 1.45s cubic-bezier(.18, .82, .2, 1) var(--card-draw-delay,0s) both}@keyframes deck-deal{to{filter:brightness(1.2);transform:translateY(-7px)rotate(-3deg)scale(1.04)}}@keyframes card-draw-from-deck{0%{z-index:20;opacity:0;filter:brightness(1.35);transform:translate(70px,13px)rotate(15deg)scale(.58)}24%{z-index:20;opacity:1}62%{z-index:20;transform:translate(4px,-18px)rotate(-2deg)scale(1.08);box-shadow:0 6px #b98509,0 0 0 5px #ffd45a61,0 16px 24px #0119396b}to{z-index:6;opacity:1;filter:none;transform:translate(0)rotate(0)scale(1)}}.battle-action-area{background:linear-gradient(#073967c7,#032a50d1);border:1px solid #aae0ff38;border-radius:12px;flex-direction:column;gap:5px;min-width:0;padding:6px;display:flex;box-shadow:inset 0 1px #ffffff12}.battle-action-area .button{border-radius:8px;width:100%;min-height:34px;padding:5px 7px;font-size:.57rem;line-height:1.12}.battle-action-area .battle-fire-button{min-height:42px;font-weight:950}.battle-action-area__utility{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.battle-action-area__utility:has(>:only-child){grid-template-columns:minmax(0,1fr)}.battle-end-turn-button{color:#ffe582;background:#ffd45a1a;border-color:#ffd45a8f;margin-top:auto}.battle-end-turn-button:hover:not(:disabled),.battle-end-turn-button:focus-visible:not(:disabled){color:#073a69;background:#ffd45a;border-color:#ffd45a}.battle-end-turn-button:disabled{opacity:.4}.mana-bar{color:#fff6c9;min-height:28px;box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:1px 2px 0;padding:0;display:grid;overflow:visible}.mana-bar__track{background:#03305bc2;border:1px solid #ffd45a85;border-radius:999px;align-items:stretch;min-width:0;height:24px;padding:4px 6px;display:flex;overflow:hidden;box-shadow:inset 0 0 10px #0016336b,0 2px 8px #011b382e}.mana-bar__segments{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;width:100%;display:grid;position:static;inset:auto}.mana-bar__value{z-index:auto;color:#ffe582;text-align:right;text-shadow:0 1px 6px #ffd45a38;width:auto;min-width:46px;font-size:.68rem;position:static}.tile-intel__hints button{color:#cffff0;min-height:24px;font:inherit;cursor:pointer;white-space:nowrap;background:#70efc51a;border:1px solid #70efc56b;border-radius:999px;flex:none;padding:3px 8px;font-size:.5rem;font-weight:900}.tile-intel__hints button:hover,.tile-intel__hints button:focus-visible{border-color:var(--mint);color:#073a69;background:var(--mint)}.tile-intel{overflow:visible}.tile-intel__hints{align-items:start;gap:8px;min-width:0;display:flex;overflow:visible}.tile-intel__hint-group{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;min-width:0;display:grid}.tile-intel__hint-group>small{color:#9fdcff;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.45rem;font-weight:950}.tile-intel__hint-list{scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.tile-intel__hint{flex:none;position:relative}.tile-intel__hint-bubble{z-index:40;color:#fff;pointer-events:none;background:#073a69;border:1px solid #70efc5ad;border-radius:9px;gap:3px;width:min(240px,66vw);padding:7px 8px;animation:.12s ease-out both tile-intel-bubble-in;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 8px 20px #01183375}.tile-intel__hint-bubble strong{color:#baffea;font-size:.5rem}.tile-intel__hint-bubble p{color:#fff;max-height:46px;margin:0;font-size:.54rem;line-height:1.25;overflow-y:auto}@keyframes tile-intel-bubble-in{0%{opacity:0;transform:translateY(-3px)scale(.98)}}.tile-intel__hint-detail{grid-column:1/-1;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.tile-intel__hint-detail button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff3d;border-radius:7px;min-height:24px;padding:3px 7px;font-size:.5rem;font-weight:900}.tile-intel__hint-detail strong{color:#baffea;white-space:nowrap;font-size:.5rem}.tile-intel__hint-detail p{color:#fff;max-height:34px;margin:0;font-size:.54rem;line-height:1.25;overflow-y:auto}@media (width<=600px){.battle-info-panel,.battle-info-panel.battle-action-dock--simple,.battle-info-panel.battle-action-dock--inspecting,.battle-info-panel.battle-action-dock--tile-intel{min-height:56px;padding:5px 6px}.battle-command-row{grid-template-columns:minmax(0,1fr) 112px;gap:5px;min-height:104px}.hand-zone{grid-template-columns:minmax(0,1fr) 34px;gap:1px}.hand-deck{border-radius:7px;width:31px;height:44px;margin-bottom:7px;box-shadow:2px 2px #062f5d,4px 4px #05264db8}.hand-deck>b{font-size:.68rem}.battle-command-row .hand{justify-content:flex-start;min-height:104px;padding-left:2px}.battle-action-area{border-radius:10px;gap:3px;padding:4px}.battle-action-area .button{min-height:30px;padding:4px;font-size:.5rem}.battle-action-area .battle-fire-button{min-height:36px}.battle-action-area__utility{gap:3px}.mana-bar{gap:7px}.mana-bar__value{min-width:42px;font-size:.62rem}.tile-intel__hints{gap:5px}.tile-intel__hint-group{gap:3px}.tile-intel__hint-group>small{font-size:.4rem}.tile-intel__hint-bubble{width:min(210px,72vw)}}@media (prefers-reduced-motion:reduce){.hand .card,.hand .card.card--active,.hand .card:hover:not(:disabled){transition:none!important;transform:none!important}.hand-zone--drawing .hand-deck,.hand .card--drawn{opacity:1!important;animation:none!important;transform:none!important}.tile-intel__hint-bubble,.board-view-thumbnail--attention{animation:none!important}.timer--urgent,.detector-resolution-effect__beam,.detector-resolution-effect__cell,.history-drawer{animation:none!important;transform:none!important}.detector-resolution-effect__beam{top:44%}.detector-resolution-effect__cell{opacity:.55}}.app-shell.app-shell--lobby{background:#063f4b;animation:none}.app-shell.app-shell--construction,.app-shell.app-shell--battle,.app-shell.app-shell--completed,.app-shell.app-shell--waiting{color:#f4ead4;background:#063f4b;animation:none}.app-shell--construction .topbar,.app-shell--battle .topbar,.app-shell--completed .topbar,.app-shell--waiting .topbar{width:min(1180px,100%)}.app-shell--construction .language-select,.app-shell--construction .sound-toggle,.app-shell--battle .language-select,.app-shell--battle .sound-toggle,.app-shell--completed .language-select,.app-shell--completed .sound-toggle,.app-shell--waiting .language-select,.app-shell--waiting .sound-toggle{color:#f4ead4;background:#075d68;border-color:#f4ead440;box-shadow:0 3px #032f38}.app-shell--construction .match-layout.construction-table{grid-template:"phase phase"54px"board stats"88px"board controls"minmax(0,1fr)/minmax(510px,1.24fr) minmax(370px,.9fr);align-items:stretch;gap:8px clamp(12px,2vw,24px);width:min(1180px,100%);height:calc(100dvh - 66px);min-height:650px;margin:0 auto;display:grid}.app-shell--construction .game-phase-header{background:0 0;border:0;grid-area:phase;align-items:center;min-height:0;padding:0 8px}.app-shell--construction .game-phase-header h2{width:auto;height:auto;padding:initial;clip:auto;white-space:normal;color:#f4ead4;letter-spacing:-.04em;border:0;font-size:clamp(1.45rem,2.6vw,2.15rem);position:static;overflow:visible}.app-shell--construction .game-phase-header .eyebrow{color:#f7bf4b;margin-bottom:2px}.app-shell--construction .timer{color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;box-shadow:0 4px #092f3a}.app-shell--construction .construction-stats{background:url(/assets/game-ui/planning-instruments.webp) 50%/100% no-repeat;grid-area:stats;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;height:88px;margin:0;padding:14px 18px 13px}.app-shell--construction .construction-stats>div{color:#f4ead4;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;align-content:center;padding:0 4px 0 23%}.app-shell--construction .construction-stats strong{color:#f4ead4;font-size:clamp(.92rem,1.5vw,1.18rem);line-height:1}.app-shell--construction .construction-stats span{color:#f4ead4b8;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.5rem;line-height:1.1;overflow:hidden}.app-shell--construction .construction-table>.board-panel{aspect-ratio:1;width:min(100%,620px);box-shadow:none;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;grid-area:board;place-self:center;place-items:center;padding:54px 52px 60px;display:grid;overflow:visible}.app-shell--construction .construction-table>.board-panel .game-board-wrap{border-radius:12px;width:100%;max-width:none;box-shadow:0 8px #032f3857}.app-shell--construction .construction-table>.board-panel>.helper-text{z-index:3;color:#abcfc5;text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.57rem;line-height:1.25;position:absolute;bottom:5.8%;left:17%;right:13%;overflow:hidden}.app-shell--construction .construction-table>.control-panel{min-height:0;box-shadow:none;scrollbar-width:thin;background:0 0;border:0;border-radius:0;grid-area:controls;align-content:start;gap:6px;padding:0;overflow:auto}.app-shell--construction .tray-heading{align-items:end;min-height:30px;margin:0 20px -1px}.app-shell--construction .tray-heading span{color:#abcfc5;text-overflow:ellipsis;white-space:nowrap;max-width:65%;font-size:.48rem;overflow:hidden}.app-shell--construction .tile-pool{--rack-grid-inline-start:13.7%;--rack-grid-inline-end:13.9%;--rack-grid-block-start:26.74%;--rack-grid-block-end:37.92%;--rack-column-gap:1.44cqw;--rack-row-gap:1.83cqw;--rack-tile-inset:clamp(1px, .35cqw, 3px);aspect-ratio:2022/778;width:100%;min-height:0;box-shadow:none;background:#063f4b;border:0;border-radius:0;padding:0;display:block;position:relative;overflow:hidden;container-type:inline-size}.app-shell--construction .tile-pool__grid{z-index:1;inset:var(--rack-grid-block-start) var(--rack-grid-inline-end) var(--rack-grid-block-end) var(--rack-grid-inline-start);column-gap:var(--rack-column-gap);row-gap:var(--rack-row-gap);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));display:grid;position:absolute}.app-shell--construction .letter-tile{width:calc(100% - (var(--rack-tile-inset) * 2));min-width:0;max-width:none;min-height:0;height:calc(100% - (var(--rack-tile-inset) * 2));aspect-ratio:1;color:#092f3a;background:#f4ead4;border:clamp(1px,.28cqw,2px) solid #092f3a;border-radius:clamp(4px,.7cqw,7px);place-self:center;place-items:center;padding:0;display:grid;box-shadow:0 clamp(1px,.35cqw,3px) #092f3a}.app-shell--construction .letter-tile-slot{min-width:0;min-height:0}.app-shell--construction .letter-tile--active,.app-shell--construction .letter-tile--selected{color:#092f3a;background:#f7bf4b;border-color:#092f3a}.app-shell--construction .game-primary-action{aspect-ratio:569/174;color:#092f3a;width:100%;min-height:0;box-shadow:none;letter-spacing:.025em;text-shadow:0 1px #ffffff47;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:10px 10% 10px 29%;font-size:clamp(1.12rem,3.8vw,2rem);font-weight:950;line-height:1;position:relative}.app-shell--construction .validation-panel{color:#092f3a;background:#f4ead4;border:2px solid #092f3a;border-radius:10px;gap:2px;min-height:60px;padding:8px 12px;box-shadow:0 3px #092f3a}.app-shell--construction .validation-panel strong{color:#092f3a;font-size:.7rem}.app-shell--construction .validation-panel span,.app-shell--construction .validation-panel li{color:#526967;font-size:.52rem;line-height:1.25}.app-shell--construction .validation-panel--valid{background:#d9f2df}.app-shell--construction .construction-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.app-shell--construction .construction-tools .button{color:#f4ead4;background:#075d68;border:1px solid #f4ead43d;border-radius:8px;min-height:34px;padding:5px 6px;font-size:.55rem;box-shadow:0 2px #032f38}.app-shell--construction .demo-note{color:#abcfc5;border-top-color:#f4ead429;gap:4px 10px;padding:6px 8px 0;font-size:.48rem}.app-shell--construction .demo-note strong{color:#f7bf4b;font-size:.52rem}.app-shell--construction .formation-seal,.app-shell--construction .formation-celebration{color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;box-shadow:0 4px #092f3a}.app-shell--construction .board-panel--locked .game-board-wrap{box-shadow:0 0 0 3px #f7bf4b,0 8px #032f3857}.app-shell.app-shell--battle{padding:7px clamp(8px,2vw,22px) 9px}.app-shell--battle .match-layout--battle{grid-template-rows:minmax(0,1fr) 233px;gap:7px;width:min(1120px,100%);height:calc(100dvh - 67px)}.app-shell--battle .battle-board-panel{min-height:0;box-shadow:none;background:url(/assets/game-ui/battle-board-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr) auto;padding:22px 34px 20px;overflow:visible}@media (width>=721px){.app-shell--battle .battle-board-panel .panel-heading>div:first-child{flex:0 42%;max-inline-size:42%}.app-shell--battle .battle-board-panel .panel-heading h2{text-wrap:balance;max-inline-size:100%}}.app-shell--battle .battle-board-panel .eyebrow{color:#f7bf4b;margin-bottom:2px}.app-shell--battle .battle-compact-stats{color:#abcfc5}.app-shell--battle .battle-heading-actions .timer{color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;box-shadow:0 3px #092f3a}.app-shell--battle .history-button,.app-shell--battle .surrender-button{color:#f4ead4;background:#075d68;border:2px solid #092f3a;box-shadow:0 3px #092f3a}.app-shell--battle .battle-instruction{color:#092f3a;text-overflow:ellipsis;white-space:nowrap;background:#f4ead4;border:1px solid #092f3a;border-radius:7px;min-height:30px;margin:2px 7% 4px;padding:7px 12px;font-size:.62rem;overflow:hidden}.app-shell--battle .battle-stage{min-height:0}.app-shell--battle .battle-board-shell{width:min(100%,500px)}.app-shell--battle .battle-stage .game-board-wrap{border-radius:12px;width:min(100%,470px);box-shadow:0 8px #032f3861}.app-shell--battle .battle-board-footer{color:#abcfc5;min-height:28px;margin:0 8px}.app-shell--battle .battle-controls{height:233px;min-height:0;box-shadow:none;background:url(/assets/game-ui/battle-command-console.webp) 50%/contain no-repeat;border:0;border-radius:0;grid-template-rows:58px minmax(0,1fr) 24px;gap:4px;padding:20px 27px 15px;overflow:visible}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{color:#f4ead4;min-height:54px;box-shadow:none;background:#063f4ba3;border:0;border-radius:7px;padding:7px 12px}.app-shell--battle .battle-action-dock__copy>strong{font-size:.74rem}.app-shell--battle .battle-action-dock__copy>p,.app-shell--battle .battle-action-dock__copy>small{color:#c5dcd4}.app-shell--battle .battle-action-dock__copy>p{font-size:.62rem}.app-shell--battle .battle-command-row{grid-template-columns:minmax(0,1fr) 158px;gap:9px;min-height:0}.app-shell--battle .hand-zone{grid-template-columns:minmax(0,1fr) 42px}.app-shell--battle .battle-command-row .hand{justify-content:flex-start;align-items:end;gap:4px;min-height:105px;padding:2px 3px 5px}.app-shell--battle .hand .card{border:2px solid #092f3a;flex:0 82px;width:82px;max-width:82px;box-shadow:0 4px #092f3a}.app-shell--battle .hand .card--active{box-shadow:0 4px #092f3a,0 0 0 3px #f7bf4b}.app-shell--battle .hand-deck{background:#063f4b;border-color:#092f3a;box-shadow:2px 2px #092f3a,4px 4px #032f38b8}.app-shell--battle .battle-action-area{background:#f4ead4e0;border:0;border-radius:9px;padding:6px;box-shadow:0 3px #092f3a}.app-shell--battle .battle-action-area .button{color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;box-shadow:0 3px #092f3a}.app-shell--battle .battle-action-area .button:disabled{color:#6e7974;background:#c8c5b3}.app-shell--battle .mana-bar{margin:0 4px}.app-shell--battle .mana-bar__track{background:#063f4b;border-color:#092f3a}.app-shell--battle .mana-bar__track i{background:#f7bf4b}.app-shell--battle .card-prompt,.app-shell--battle .history-drawer,.app-shell--battle .intel-drawer,.app-shell--battle .confirm-dialog{color:#092f3a;background:#f4ead4;border:3px solid #092f3a;box-shadow:0 9px #092f3a}.app-shell--battle .card-prompt h3,.app-shell--battle .history-drawer h3,.app-shell--battle .intel-drawer h3,.app-shell--battle .confirm-dialog h3,.app-shell--battle .card-prompt p,.app-shell--battle .history-drawer p,.app-shell--battle .intel-drawer p,.app-shell--battle .confirm-dialog p{color:#092f3a}@media (width>=721px) and (width<=980px){.app-shell.app-shell--construction{height:auto;min-height:100dvh;padding:8px 14px 18px;overflow-y:auto}.app-shell--construction .match-layout.construction-table{grid-template:"phase"50px"stats"80px"board""controls"/minmax(0,1fr);gap:8px;width:min(720px,100%);height:auto;min-height:0}.app-shell--construction .construction-table>.board-panel{width:min(100%,540px)}.app-shell--construction .construction-table>.control-panel{width:100%;overflow:visible}.app-shell--construction .tile-pool{width:min(100%,720px);margin-inline:auto}}@media (width<=820px){.app-shell.app-shell--construction{height:auto;min-height:100dvh;padding:6px 8px 12px;overflow-y:auto}.app-shell--construction .topbar{min-height:43px;margin-bottom:2px}.app-shell--construction .match-layout.construction-table{grid-template:"phase"44px"stats"70px"board""controls"/minmax(0,1fr);gap:5px;width:100%;height:auto;min-height:0;display:grid}.app-shell--construction .game-phase-header{min-height:44px;padding:0 4px}.app-shell--construction .game-phase-header h2{text-overflow:ellipsis;white-space:nowrap;max-width:238px;font-size:1.15rem;overflow:hidden}.app-shell--construction .game-phase-header .eyebrow{display:none}.app-shell--construction .timer{min-width:68px;min-height:36px;padding:5px 8px;font-size:.76rem}.app-shell--construction .construction-stats{height:70px;padding:11px 10px 10px}.app-shell--construction .construction-stats>div{padding-left:25%}.app-shell--construction .construction-stats strong{font-size:.82rem}.app-shell--construction .construction-stats span{font-size:.42rem}.app-shell--construction .construction-table>.board-panel{width:min(100%,352px);padding:31px 30px 35px}.app-shell--construction .construction-table>.board-panel>.helper-text{font-size:.45rem;bottom:5.6%;left:18%;right:14%}.app-shell--construction .construction-table>.control-panel{gap:4px;overflow:visible}.app-shell--construction .tray-heading{display:none}.app-shell--construction .tile-pool{--rack-grid-inline-start:19.33%;--rack-grid-inline-end:20.17%;--rack-grid-block-start:16.78%;--rack-grid-block-end:15.69%;--rack-column-gap:3.46cqw;--rack-row-gap:2.63cqw;--rack-tile-inset:clamp(1px, .48cqw, 3px);aspect-ratio:1562/1007;background-image:none;min-height:0;padding:0}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr))}.app-shell--construction .letter-tile{width:calc(100% - (var(--rack-tile-inset) * 2));height:calc(100% - (var(--rack-tile-inset) * 2))}.app-shell--construction .letter-tile strong{font-size:clamp(.72rem,4.1cqw,1.05rem)}.app-shell--construction .game-primary-action{min-height:0;padding-left:30%;font-size:clamp(1.05rem,5.2vw,1.35rem);position:sticky;bottom:5px}.app-shell--construction .validation-panel{min-height:54px;padding:6px 9px}.app-shell--construction .validation-panel li:nth-child(n+3){display:none}.app-shell--construction .construction-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell--construction .construction-tools .button{min-height:32px;font-size:.48rem}.app-shell--construction .demo-note{display:none}.app-shell.app-shell--battle{height:100dvh;min-height:620px;padding:5px 6px 7px;overflow:hidden}.app-shell--battle .topbar{min-height:42px;margin-bottom:3px}.app-shell--battle .match-layout--battle{grid-template-rows:minmax(0,1fr) 218px;gap:4px;width:100%;height:calc(100dvh - 62px);min-height:0;overflow:hidden}.app-shell--battle .battle-board-panel{min-height:0;padding:15px 17px 13px}.app-shell--battle .battle-board-panel .panel-heading{min-height:46px;margin:0 3px 1px}.app-shell--battle .battle-board-panel .panel-heading h2{text-overflow:ellipsis;white-space:normal;max-width:225px;font-size:.94rem;line-height:1.02;overflow:hidden}.app-shell--battle .battle-board-panel .eyebrow{font-size:.45rem}.app-shell--battle .battle-compact-stats{font-size:.43rem}.app-shell--battle .battle-heading-actions{gap:3px}.app-shell--battle .history-button,.app-shell--battle .surrender-button{width:32px;min-width:32px;min-height:32px}.app-shell--battle .battle-heading-actions .timer{min-width:62px;min-height:34px;padding:4px 6px;font-size:.7rem}.app-shell--battle .battle-instruction{min-height:24px;margin:1px 5% 2px;padding:4px 7px;font-size:.48rem}.app-shell--battle .battle-board-shell{width:min(100%,100dvh - 372px);min-width:min(100%,240px)}.app-shell--battle .battle-stage .game-board-wrap{width:100%}.app-shell--battle .board-view-thumbnail{width:88px;min-height:0;padding:13px 12px 9px 21px}.app-shell--battle .battle-board-footer{min-height:20px;margin:0 3px;font-size:.44rem}.app-shell--battle .battle-controls{grid-template-rows:47px minmax(0,1fr) 20px;gap:3px;height:210px;padding:15px 14px 11px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{min-height:43px;padding:5px 7px}.app-shell--battle .battle-action-dock__copy>p{max-height:17px;font-size:.46rem;overflow:hidden}.app-shell--battle .battle-action-dock__copy>small{display:none}.app-shell--battle .battle-command-row{grid-template-columns:minmax(0,1fr) 104px;gap:4px}.app-shell--battle .hand-zone{grid-template-columns:minmax(0,1fr) 29px}.app-shell--battle .battle-command-row .hand{gap:2px;min-height:91px}.app-shell--battle .hand .card{flex-basis:58px;width:58px;max-width:58px;padding:3px 3px 13px}.app-shell--battle .hand-deck{width:27px;height:39px}.app-shell--battle .battle-action-area{gap:3px;padding:4px}.app-shell--battle .battle-action-area .button{min-height:34px;padding:4px;font-size:.48rem}.app-shell--battle .mana-bar{gap:5px}}.app-shell--completed .topbar{min-height:44px;margin-bottom:6px}.app-shell--completed .result-screen{color:#f4ead4;width:min(1000px,100%);box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;margin:1vh auto 0;padding:clamp(14px,2.2vw,26px);overflow:visible}.app-shell--completed .result-spotlight{color:#f4ead4;background:#075d68;border:2px solid #092f3a;border-radius:10px;width:min(660px,100%);margin:0 auto;padding:clamp(15px,2vw,22px) clamp(14px,3vw,32px);box-shadow:0 4px #032f38}.app-shell--completed .result-spotlight .eyebrow{color:#f7bf4b;margin-bottom:3px}.app-shell--completed .result-spotlight h2{color:#f4ead4;letter-spacing:-.06em;text-wrap:balance;margin:0;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.94}.app-shell--completed .result-spotlight>p:not(.eyebrow){color:#abcfc5}.app-shell--completed .result-screen--victory .result-spotlight{border-color:#f7bf4b}.app-shell--completed .result-screen--defeat .result-spotlight{border-color:#c95857}.app-shell--completed .result-summary{gap:7px;width:min(580px,100%);margin:14px auto 0}.app-shell--completed .result-summary>div{color:#092f3a;background:#f4ead4;border:2px solid #092f3a;border-radius:9px;padding:10px 7px;box-shadow:0 3px #032f38}.app-shell--completed .result-summary span{color:#315a5c}.app-shell--completed .result-primary-action{aspect-ratio:569/174;color:#092f3a;width:min(480px,100%);min-width:0;min-height:0;box-shadow:none;letter-spacing:.025em;text-align:center;white-space:nowrap;text-shadow:0 1px #ffffff47;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0;border-radius:0;margin:15px auto 0;padding:10px clamp(32px,10vw,48px) 10px clamp(94px,29vw,139px);font-size:clamp(1.1rem,3vw,1.7rem);font-weight:950;line-height:1}.app-shell--completed .result-primary-action:hover{filter:brightness(1.04)saturate(1.04)}.app-shell--completed .result-boards{gap:10px;width:min(860px,100%);margin:18px auto 0}.app-shell--completed .result-boards>div{background:#075d68;border:2px solid #092f3a;border-radius:10px;padding:10px;box-shadow:0 4px #032f38}.app-shell--completed .result-boards h3{color:#f4ead4;margin:0 0 7px 3px;font-size:.82rem}@media (width<=720px){.app-shell.app-shell--completed{padding:6px 6px 18px}.app-shell--completed .topbar{min-height:42px;margin-bottom:3px}.app-shell--completed .result-screen{margin:0 auto;padding:8px 0 20px}.app-shell--completed .result-spotlight{padding:14px 12px}.app-shell--completed .result-spotlight h2{font-size:clamp(2.25rem,12vw,3.2rem)}.app-shell--completed .result-summary{gap:5px;margin-top:12px}.app-shell--completed .result-summary>div{padding:8px 4px}.app-shell--completed .result-primary-action{min-height:0;margin-top:12px;padding-left:clamp(94px,29vw,116px);font-size:clamp(1.02rem,5vw,1.35rem)}.app-shell--completed .result-boards{gap:12px;margin-top:16px}.app-shell--completed .result-boards>div{padding:8px}}.app-shell.app-shell--waiting{min-height:100dvh;padding:8px clamp(8px,2vw,24px) 24px;overflow:auto}.app-shell--waiting .topbar{min-height:44px;margin-bottom:6px}.app-shell--waiting .waiting-room{color:#f4ead4;background:#075d68;border:2px solid #092f3a;border-radius:10px;width:min(620px,100%);margin:clamp(48px,10vh,120px) auto 0;padding:clamp(24px,4vw,42px);overflow:visible;box-shadow:0 5px #032f38}.app-shell--waiting .waiting-room .eyebrow{color:#f7bf4b}.app-shell--waiting .waiting-room h1{color:#f4ead4;line-height:.95}.app-shell--waiting .waiting-room>p:not(.eyebrow){color:#abcfc5}.app-shell--waiting .waiting-actions{margin-top:20px}.app-shell--waiting .waiting-actions .button{border:2px solid #092f3a;border-radius:8px;min-height:48px;padding:8px 12px;font-size:.72rem;box-shadow:0 3px #032f38}.app-shell--waiting .waiting-actions .button--primary{color:#092f3a;background:#f7bf4b}.app-shell--waiting .waiting-actions .button--secondary{color:#f4ead4;background:#0b6873}.app-shell--waiting .waiting-actions .button--ghost{color:#abcfc5;box-shadow:none;background:0 0}.app-shell--waiting .manual-copy{color:#abcfc5}.app-shell--waiting .manual-copy input{color:#092f3a;background:#f4ead4;border:2px solid #092f3a;box-shadow:0 3px #032f38}.app-shell--waiting .sonar-loader{border-color:#f7bf4b7a}.app-shell--waiting .sonar-loader i{border-color:#f7bf4b}@media (width<=720px){.app-shell.app-shell--waiting{padding:6px 6px 18px}.app-shell--waiting .topbar{min-height:42px;margin-bottom:3px}.app-shell--waiting .waiting-room{margin-top:4vh;padding:24px 16px}.app-shell--waiting .waiting-actions{gap:6px;margin-top:16px}.app-shell--waiting .waiting-actions .button{min-height:44px;padding:7px 8px;font-size:.64rem}}.app-shell--waiting .waiting-room{aspect-ratio:1;min-height:0;box-shadow:none;background:url(/assets/game-ui/status-command-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;align-content:start;padding:clamp(58px,7vw,82px) 14% clamp(56px,7vw,82px);display:grid}.app-shell--waiting .waiting-actions{width:min(390px,100%)}.app-shell--battle .confirm-backdrop,.app-shell--construction .confirm-backdrop,.app-shell--waiting .confirm-backdrop{background:#032f38c7}.app-shell--battle .confirm-dialog,.app-shell--construction .confirm-dialog,.app-shell--waiting .confirm-dialog{color:#092f3a;background:#f4ead4;border:3px solid #092f3a;box-shadow:0 9px #092f3a}.app-shell--battle .confirm-dialog>p:not(.eyebrow),.app-shell--construction .confirm-dialog>p:not(.eyebrow),.app-shell--waiting .confirm-dialog>p:not(.eyebrow){color:#27555b}.app-shell--battle .confirm-dialog .button,.app-shell--construction .confirm-dialog .button,.app-shell--waiting .confirm-dialog .button{border:2px solid #092f3a;min-height:42px;box-shadow:0 3px #092f3a}.app-shell--battle .confirm-dialog .button--ghost,.app-shell--construction .confirm-dialog .button--ghost,.app-shell--waiting .confirm-dialog .button--ghost{color:#092f3a;background:#dbe8e1}.app-shell--battle .confirm-dialog .button--danger,.app-shell--construction .confirm-dialog .button--danger,.app-shell--waiting .confirm-dialog .button--danger{color:#f4ead4;background:#a8424c}.app-shell--lobby .error-message{background:#f4ead4;border:2px solid #092f3a;border-left:6px solid #a8424c;border-radius:8px;padding:10px 12px;font-weight:850;box-shadow:0 3px #092f3a;color:#092f3a!important;margin:8px 10px 0!important}@media (width<=720px){.app-shell--waiting .waiting-room{width:min(100%,420px);margin-top:2vh;padding:58px 14% 22px}.app-shell--waiting .waiting-room h1{margin:4px 0 8px}.app-shell--waiting .waiting-room>p:not(.eyebrow){font-size:.76rem;line-height:1.35}.app-shell--waiting .waiting-actions{margin-top:12px}.app-shell--waiting .sonar-loader{width:58px;height:58px;margin-top:12px}.app-shell--battle .match-layout--battle{grid-template-rows:minmax(0,1fr) 254px}.app-shell--battle .battle-controls{grid-template-rows:60px minmax(0,1fr) 20px;height:246px;padding:15px 14px 11px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{min-height:56px}.app-shell--battle .battle-instruction{font-size:.62rem}.app-shell--battle .battle-board-panel .eyebrow,.app-shell--battle .battle-compact-stats{font-size:.5rem}.app-shell--battle .battle-board-shell{width:min(100%,100dvh - 396px)}.app-shell--battle .battle-board-footer{font-size:.54rem}.app-shell--battle .battle-action-dock__copy>span{font-size:.58rem}.app-shell--battle .battle-action-dock__copy>p{max-height:32px;font-size:.62rem;line-height:1.28}.app-shell--battle .battle-command-row{grid-template-columns:minmax(0,1fr) 92px}.app-shell--battle .battle-command-row .hand{min-height:101px}.app-shell--battle .hand .card{flex-basis:64px;width:64px;max-width:64px}.app-shell--battle .hand .card strong{font-size:.58rem}.app-shell--battle .battle-action-area{background:#063f4be0;border:2px solid #092f3a;box-shadow:0 3px #092f3a}.app-shell--battle .battle-action-area .button{min-height:40px;padding:4px 3px;font-size:.64rem}.app-shell--battle .battle-action-area .button:disabled{color:#d5e4de;box-shadow:none;background:#1d6d71;border-color:#092f3a}}@media (height<=720px) and (orientation:landscape){.app-shell.app-shell--lobby{height:auto;min-height:100dvh;overflow-y:auto}}@media (width<=720px) and (height<=650px){.app-shell.app-shell--battle{height:auto;min-height:100dvh;overflow-y:auto}.app-shell--battle .match-layout--battle{height:auto;min-height:580px}}:root{--motion-ease-mechanical:cubic-bezier(.2, .82, .2, 1);--motion-ease-settle:cubic-bezier(.2, .9, .25, 1.12);--motion-fast:.12s;--motion-hover:.16s;--motion-press:90ms;--motion-panel-in:.32s;--motion-phase:.62s;--motion-event:.82s;--motion-idle:4.2s;--motion-float:7.2s;--motion-drift:20s;--motion-ambient-x:4px;--motion-ambient-y:3px;--motion-idle-scale:1.015}.app-shell{isolation:isolate;position:relative}.app-shell>.topbar,.app-shell>.lobby,.app-shell>.waiting-room,.app-shell>.match-layout,.app-shell>.result-screen{z-index:1;position:relative}.motion-scene{--motion-scene-ink:#abcfc538;--motion-scene-signal:#f7bf4b47;z-index:0;contain:paint;color:var(--motion-scene-ink);pointer-events:none;position:fixed;inset:0;overflow:hidden}.motion-scene>span,.motion-scene>span:before,.motion-scene>span:after{box-sizing:border-box;content:"";pointer-events:none;display:block;position:absolute}.motion-scene__current{opacity:.5;background:repeating-linear-gradient(6deg, transparent 0 19px, var(--motion-scene-ink) 20px 21px, transparent 22px 40px);will-change:transform;width:min(58vw,820px);height:clamp(62px,10vw,132px);animation:24s ease-in-out -9s infinite motion-current-drift;bottom:7vh;left:-14vw;transform:rotate(-7deg)}.motion-scene__current:before{border-top:1px solid var(--motion-scene-ink);opacity:.72;border-radius:50%;width:36%;height:42%;top:18%;left:42%}.motion-scene__current:after{border-bottom:1px solid var(--motion-scene-ink);opacity:.68;border-radius:50%;width:52%;height:38%;top:47%;left:8%}.motion-scene__ripple{aspect-ratio:1;border:1px solid var(--motion-scene-signal);opacity:.42;will-change:transform, opacity;border-radius:50%;width:clamp(112px,13vw,192px);animation:5.6s linear -2.1s infinite motion-sonar-breathe;top:17vh;right:7vw}.motion-scene__ripple:before,.motion-scene__ripple:after{border:1px solid var(--motion-scene-signal);border-radius:inherit}.motion-scene__ripple:before{inset:18%}.motion-scene__ripple:after{background:var(--motion-scene-signal);inset:39%}.motion-scene__compass{aspect-ratio:1;border:1px solid var(--motion-scene-ink);opacity:.42;background:conic-gradient(from 45deg, transparent 0 10%, var(--motion-scene-ink) 10% 11%, transparent 11% 24%, var(--motion-scene-ink) 24% 25%, transparent 25% 50%, var(--motion-scene-ink) 50% 51%, transparent 51% 74%, var(--motion-scene-ink) 74% 75%, transparent 75% 100%);will-change:transform;border-radius:50%;width:clamp(124px,14vw,212px);animation:8.2s ease-in-out -4s infinite motion-compass-adjust;top:54vh;left:4vw}.motion-scene__compass:before{border:1px solid var(--motion-scene-ink);border-radius:50%;inset:27%}.motion-scene__compass:after{background:var(--motion-scene-signal);transform-origin:50%;width:45%;height:1px;top:50%;left:27.5%;transform:rotate(-38deg)}.motion-scene__signal{border-left:2px solid var(--motion-scene-signal);opacity:.45;will-change:transform;width:58px;height:74px;animation:7.8s ease-in-out -1.4s infinite motion-signal-bob;bottom:9vh;right:17vw}.motion-scene__signal:before{background:var(--motion-scene-signal);clip-path:polygon(0 0,100% 25%,0 100%);width:33px;height:20px;top:7px;left:0}.motion-scene__signal:after{border:1px solid var(--motion-scene-signal);background:#063f4b;border-radius:50%;width:13px;height:13px;bottom:0;left:-7px}.motion-scene__anchor,.motion-scene__boat,.motion-scene__card{color:inherit;stroke:var(--motion-scene-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;pointer-events:none;display:none;position:absolute;overflow:visible}.motion-scene--lobby .motion-scene__anchor{opacity:.34;transform-origin:50% 12%;will-change:transform;width:60px;animation:8.6s ease-in-out -3.4s infinite motion-anchor-sway;display:block;top:17vh;left:3vw}.motion-scene--lobby .motion-scene__boat{opacity:.3;will-change:transform;width:104px;animation:8.8s ease-in-out -2.2s infinite motion-boat-drift;display:block;bottom:6vh;right:30vw}.motion-scene--waiting .motion-scene__anchor,.motion-scene--completed .motion-scene__anchor{opacity:.3;transform-origin:50% 12%;will-change:transform;width:56px;animation:8.6s ease-in-out -1.6s infinite motion-anchor-sway;display:block;bottom:18vh;right:5vw}.motion-scene--completed .motion-scene__boat{opacity:.3;will-change:transform;width:112px;animation:8.8s ease-in-out -5.3s infinite motion-boat-drift;display:block;bottom:8vh;left:10vw}.motion-scene--battle .motion-scene__card{opacity:.28;will-change:transform;width:46px;animation:14s ease-in-out -5s infinite motion-card-drift;display:block;top:17vh;right:2vw}@keyframes motion-anchor-sway{0%,to{transform:translate(0,0)rotate(-1deg)}52%{transform:translate(2px,-3px)rotate(1.2deg)}}@keyframes motion-boat-drift{0%,to{transform:translate(0,0)rotate(-.7deg)}50%{transform:translate(5px,-3px)rotate(.8deg)}}@keyframes motion-card-drift{0%,to{transform:translate(0,0)rotate(-1deg)}48%{transform:translate(-3px,-4px)rotate(1deg)}}.motion-scene--lobby{--motion-scene-ink:#abcfc533;--motion-scene-signal:#f7bf4b40}.motion-scene--waiting{--motion-scene-ink:#abcfc529;--motion-scene-signal:#f7bf4b57}.motion-scene--construction{--motion-scene-ink:#abcfc524;--motion-scene-signal:#f7bf4b33}.motion-scene--battle{--motion-scene-ink:#abcfc521;--motion-scene-signal:#f7bf4b4a}.motion-scene--battle .motion-scene__ripple{opacity:.52;top:27vh;right:4vw}.motion-scene--completed{--motion-scene-ink:#abcfc529;--motion-scene-signal:#f7bf4b4f}@keyframes motion-current-drift{0%,to{transform:translate(0,0)rotate(-7deg)}52%{transform:translate3d(var(--motion-ambient-x), calc(0px - var(--motion-ambient-y)), 0) rotate(-6.3deg)}}@keyframes motion-sonar-breathe{0%,12%{opacity:.16;transform:scale(.92)}58%{opacity:.48;transform:scale(1)}to{opacity:.16;transform:scale(1.055)}}@keyframes motion-compass-adjust{0%,to{transform:rotate(-1.1deg)}50%{transform:rotate(.9deg)}}@keyframes motion-signal-bob{0%,to{transform:translate(0,0)rotate(-.6deg)}48%{transform:translate3d(2px, calc(0px - var(--motion-ambient-y)), 0) rotate(.8deg)}}.app-shell--motion-paused,.app-shell--motion-paused *,.app-shell--motion-paused :before,.app-shell--motion-paused :after{will-change:auto!important;animation-play-state:paused!important}.app-shell--lobby .lobby-copy{animation:motion-lobby-float-in var(--motion-phase) var(--motion-ease-settle) both}.app-shell--lobby .lobby-card{animation:motion-command-arrive var(--motion-panel-in) var(--motion-ease-mechanical) 90ms both}.app-shell--waiting .waiting-room{animation:motion-station-arrive var(--motion-phase) var(--motion-ease-settle) both}.app-shell--construction .construction-table{animation:motion-shipyard-arrive var(--motion-phase) var(--motion-ease-mechanical) both}.app-shell--battle .match-layout--battle{animation:motion-command-arrive var(--motion-phase) var(--motion-ease-mechanical) both}@keyframes motion-lobby-float-in{0%{opacity:0;transform:translate(-12px,8px)rotate(-.7deg)}68%{opacity:1;transform:translate(1px,-2px)rotate(.18deg)}to{opacity:1;transform:translate(0,0)}}@keyframes motion-command-arrive{0%{opacity:0;transform:translate(10px,8px)scale(.986)}72%{opacity:1;transform:translate(-1px,-1px)scale(1.004)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes motion-station-arrive{0%{opacity:0;transform:translateY(13px)scale(.968)}58%{opacity:1;transform:translateY(-3px)scale(1.008)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes motion-shipyard-arrive{0%{opacity:0;transform:translateY(10px)rotate(.25deg)}70%{opacity:1;transform:translateY(-1px)rotate(-.08deg)}to{opacity:1;transform:translate(0,0)rotate(0)}}.brand,.sound-toggle,.card-prompt__close,.guess-letter,.prompt-segments button,.boundary-stepper button,.letter-tile,.card,.mobile-intel-toggle,.button{will-change:auto}.sprite-action,.join-room-form__submit,.game-primary-action,.result-primary-action,.battle-end-turn-button{transition:transform var(--motion-hover) var(--motion-ease-mechanical), filter var(--motion-hover) ease, opacity var(--motion-fast) linear}@media (hover:hover) and (pointer:fine){.sprite-action:hover:not(:disabled),.join-room-form__submit:hover:not(:disabled),.game-primary-action:hover:not(:disabled),.result-primary-action:hover:not(:disabled),.battle-end-turn-button:hover:not(:disabled){will-change:transform}}.sprite-action:after,.join-room-form:after,.game-primary-action:after,.result-primary-action:after,.battle-end-turn-button:after{z-index:2;box-sizing:border-box;content:"";pointer-events:none;display:block;position:absolute}.sprite-action--quick:not(:disabled):after{aspect-ratio:1;opacity:0;transform-origin:50%;will-change:transform, opacity;border:1px solid #f7bf4bad;border-radius:50%;width:22%;animation:4.6s linear -1.2s infinite motion-radar-sweep;top:17%;left:6%}.sprite-action--private:not(:disabled):after{aspect-ratio:1;will-change:transform, opacity;background:#f7bf4b52;border:2px solid #f7bf4b9e;border-radius:50%;width:12px;animation:3.8s ease-in-out -.8s infinite motion-signal-light;top:28%;left:23%}.sprite-action--searching img{animation:none}.join-room-form:has(.join-room-form__submit:not(:disabled)):after{aspect-ratio:1;will-change:transform, opacity;background:#f7bf4b3d;border:1px solid #f7bf4bb3;border-radius:50%;width:15px;animation:3.4s ease-in-out infinite motion-docking-light;top:42%;right:9%}.sprite-action:hover:after,.sprite-action:focus-visible:after,.sprite-action:active:after{animation-play-state:paused}.join-room-form:has(.join-room-form__submit:hover):after{animation-play-state:paused}.join-room-form:has(.join-room-form__submit:focus-visible):after{animation-play-state:paused}.sprite-action:active:not(:disabled),.join-room-form__submit:active:not(:disabled),.game-primary-action:active:not(:disabled),.result-primary-action:active:not(:disabled),.battle-end-turn-button:active:not(:disabled){transition-duration:var(--motion-press);transform:translateY(2px)scale(.978)}@keyframes motion-radar-sweep{0%,16%{opacity:0;transform:scale(.76)rotate(-36deg)}28%{opacity:.66}67%{opacity:.18;transform:scale(1.07)rotate(72deg)}to{opacity:0;transform:scale(1.13)rotate(112deg)}}@keyframes motion-signal-light{0%,44%,to{opacity:.24;transform:scale(.82)}13%,22%{opacity:.9;transform:scale(1.12)}}@keyframes motion-docking-light{0%,to{opacity:.28;transform:translateY(1px)scale(.88)}48%{opacity:.9;transform:translateY(-1px)scale(1.08)}}.app-shell--waiting .waiting-room{padding:clamp(58px,7vw,82px) clamp(64px,8vw,100px) clamp(56px,7vw,82px)}.app-shell--waiting .waiting-room h1{letter-spacing:clamp(.02em,.38vw,.055em);width:100%;max-width:420px;animation:motion-room-code-stamp .36s var(--motion-ease-settle) both;justify-self:center;margin-inline:auto;font-size:clamp(2rem,5.2vw,3.85rem)}.app-shell--waiting .sonar-loader i{animation:5.2s linear infinite motion-waiting-sonar;inset:0;transform:scale(.24)}.app-shell--waiting .sonar-loader i:nth-child(2){animation-delay:1.7s}.app-shell--waiting .sonar-loader i:nth-child(3){animation-delay:3.4s}@keyframes motion-room-code-stamp{0%{opacity:0;transform:translateY(7px)scale(.88)}72%{opacity:1;transform:translateY(-1px)scale(1.035)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes motion-waiting-sonar{0%{opacity:0;transform:scale(.22)}18%{opacity:.82}to{opacity:0;transform:scale(1.08)}}.app-shell--construction .construction-stats>div{position:relative}.app-shell--construction .construction-stats>div:after{aspect-ratio:1;content:"";background:#f7bf4b;border-radius:50%;width:5px;animation:7.2s ease-in-out infinite motion-gauge-light;position:absolute;top:7px;right:8px;box-shadow:0 0 0 1px #092f3a}.app-shell--construction .construction-stats>div:nth-child(2):after{animation-delay:-2.4s}.app-shell--construction .construction-stats>div:nth-child(3):after{animation-delay:-4.8s}.app-shell--construction .tile-pool{isolation:isolate}.app-shell--construction .tile-pool:after{display:none}.app-shell--construction .letter-tile{z-index:1;position:relative}.app-shell--construction .letter-tile:not(.letter-tile--active):not(.letter-tile--selected){animation:motion-tile-settle .36s var(--motion-ease-settle) var(--tile-motion-delay,0s) both}.app-shell--construction .letter-tile:after{content:"";opacity:0;width:18%;height:2px;animation:motion-tile-grain 8.2s ease-in-out var(--tile-motion-delay,0s) infinite;pointer-events:none;background:#f7bf4b6b;border-radius:999px;position:absolute;bottom:10%;right:11%;transform:translate(-4px)}.app-shell--construction .letter-tile--active,.app-shell--construction .letter-tile--selected{transition:transform var(--motion-hover) var(--motion-ease-settle), background-color var(--motion-hover) ease;transform:translateY(-3px)rotate(-.35deg)}.app-shell--construction .validation-panel{position:relative;overflow:hidden}.app-shell--construction .validation-panel--valid:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(112deg,#0000 36%,#ffffff7a 49%,#0000 62%);animation:.78s ease-out both motion-valid-shimmer;position:absolute;inset:0;transform:translate(-105%)}.app-shell--construction .construction-table--invalid .validation-panel{animation:motion-mechanical-nudge .26s var(--motion-ease-mechanical) both}.app-shell--construction .game-primary-action.button--primary:not(:disabled):after{aspect-ratio:1;will-change:transform, opacity;background:#f7bf4b57;border:1px solid #092f3a94;border-radius:50%;width:clamp(9px,1.5vw,14px);animation:3.6s ease-in-out infinite motion-command-beacon;top:50%;right:8.5%;transform:translateY(-50%)}.app-shell--construction .game-primary-action:hover:after,.app-shell--construction .game-primary-action:focus-visible:after{animation-play-state:paused}@keyframes motion-gauge-light{0%,to{opacity:.34;transform:scale(.82)}47%{opacity:1;transform:scale(1.08)}}@keyframes motion-rack-settle{0%,to{opacity:.28;transform:translate(0,0)}52%{opacity:.58;transform:translateY(-1px)}}@keyframes motion-tile-settle{0%{opacity:0;transform:translateY(-8px)rotate(1.2deg)scale(.88)}68%{opacity:1;transform:translateY(1px)rotate(-.25deg)scale(1.025)}to{opacity:1;transform:translate(0,0)rotate(0)scale(1)}}@keyframes motion-tile-grain{0%,72%,to{opacity:0;transform:translate(-4px)}80%{opacity:.5}90%{opacity:0;transform:translate(4px)}}@keyframes motion-valid-shimmer{0%{opacity:0;transform:translate(-105%)}24%{opacity:.78}to{opacity:0;transform:translate(105%)}}@keyframes motion-mechanical-nudge{0%,to{transform:translate(0)}24%{transform:translate(-3px)}58%{transform:translate(2px)}78%{transform:translate(-1px)}}@keyframes motion-command-beacon{0%,to{opacity:.28;transform:translateY(-50%)scale(.82)}48%{opacity:.9;transform:translateY(-50%)scale(1.12)}}.app-shell--battle .battle-board-shell{will-change:transform;animation:14s ease-in-out -5s infinite motion-board-pressure}.app-shell--battle .battle-controls{isolation:isolate;position:relative}.app-shell--battle .battle-controls:after{z-index:0;content:"";opacity:.56;pointer-events:none;background:repeating-radial-gradient(circle at 4px 4px,#f7bf4b 0 2px,#0000 2.5px 10px);border-radius:999px;width:42px;height:8px;animation:5.2s steps(2,end) -1s infinite motion-console-lights;position:absolute;top:9px;right:12%}.app-shell--battle .hand .card:after{content:"";opacity:0;pointer-events:none;border:1px solid #f7bf4b6b;border-radius:6px;animation:7.2s ease-in-out infinite motion-card-breathe;position:absolute;inset:5px;transform:translateY(4px)}.app-shell--battle .hand .card:nth-child(2n):after{animation-delay:-2.2s}.app-shell--battle .hand .card:nth-child(3n):after{animation-delay:-4.6s}.app-shell--battle .hand .card.card--active:after{opacity:.88;animation:motion-card-selected .56s var(--motion-ease-settle) both}.app-shell--battle .battle-readiness--ready{position:relative;overflow:hidden}.app-shell--battle .battle-readiness--ready:after{border-radius:inherit;content:"";opacity:0;animation:motion-target-lock .18s var(--motion-ease-settle) both;pointer-events:none;border:1px solid #68e3ad85;position:absolute;inset:5px}.app-shell--battle .mana-bar__track i{transform-origin:0;will-change:transform, opacity;animation:6.6s ease-in-out -1.6s infinite motion-mana-breathe}.app-shell--battle .battle-end-turn-button:not(:disabled){position:relative}.app-shell--battle .battle-end-turn-button:not(:disabled):after{aspect-ratio:1;content:"";opacity:.36;will-change:transform, opacity;background:currentColor;border-radius:50%;width:7px;animation:3.4s ease-in-out infinite motion-end-turn-ready;top:50%;right:8px;transform:translateY(-50%)scale(.82)}.app-shell--battle .battle-end-turn-button:hover:after,.app-shell--battle .battle-end-turn-button:focus-visible:after{animation-play-state:paused}@keyframes motion-board-pressure{0%,to{transform:translate(0,0)}52%{transform:translateY(-1.5px)}}@keyframes motion-console-lights{0%,64%,to{opacity:.28;transform:translate(0)}16%,28%{opacity:.86;transform:translate(2px)}}@keyframes motion-card-breathe{0%,to{opacity:0;transform:translateY(4px)}46%{opacity:.34;transform:translate(0,0)}72%{opacity:.08}}@keyframes motion-card-selected{0%{opacity:0;transform:scale(.86)}62%{opacity:.94;transform:scale(1.06)}to{opacity:.72;transform:scale(1)}}@keyframes motion-target-lock{0%{opacity:0;transform:scale(.82)}54%{opacity:.92;transform:scale(1.025)}to{opacity:.46;transform:scale(1)}}@keyframes motion-mana-breathe{0%,to{opacity:.88;transform:scaleX(1)}48%{opacity:1;transform:scaleX(1.018)}}@keyframes motion-end-turn-ready{0%,to{opacity:.22;transform:translateY(-50%)scale(.78)}48%{opacity:.92;transform:translateY(-50%)scale(1.08)}}.detector-resolution-effect__beam{will-change:transform, opacity;animation:1.15s ease-in-out both motion-detector-sweep;top:0;bottom:auto;transform:translateY(-110%)}.detector-resolution-effect--resolved .detector-resolution-effect__beam{animation-duration:.82s}@keyframes motion-detector-sweep{0%{opacity:.2;transform:translateY(-110%)}20%{opacity:1}to{opacity:.32;transform:translateY(620%)}}.app-shell--completed .result-screen{position:relative}.app-shell--completed .result-screen--victory{animation:motion-result-victory var(--motion-event) var(--motion-ease-settle) both}.app-shell--completed .result-screen--defeat{animation:motion-result-defeat .62s var(--motion-ease-mechanical) both}.app-shell--completed .result-screen--draw{animation:.62s ease-in-out both motion-result-draw}@keyframes motion-result-victory{0%{opacity:0;transform:translateY(10px)scale(.97)rotate(-.35deg)}58%{opacity:1;transform:translateY(-3px)scale(1.014)rotate(.15deg)}to{opacity:1;transform:translate(0,0)scale(1)rotate(0)}}@keyframes motion-result-defeat{0%{opacity:0;transform:translateY(-6px)scale(1.01)}46%{opacity:1;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes motion-result-draw{0%{opacity:0;transform:translate(-4px,4px)}50%{opacity:1;transform:translate(4px,-1px)}to{opacity:1;transform:translate(0,0)}}@media (width<=720px){.motion-scene__compass,.motion-scene__signal,.motion-scene__anchor,.motion-scene__boat,.motion-scene__card{display:none}.motion-scene__current{opacity:.32;width:74vw;bottom:4vh;left:-24vw}.motion-scene__ripple{opacity:.25;width:94px;top:19vh;right:-21px}.app-shell--construction .construction-stats>div:after,.app-shell--battle .battle-controls:after{display:none}.app-shell--battle .battle-board-shell{animation-duration:18s}.app-shell--battle .hand .card:after,.app-shell--construction .letter-tile:after{animation:none}.app-shell--waiting .waiting-room h1{width:min(100%,360px);font-size:clamp(1.85rem,10vw,2.65rem)}.app-shell--waiting .waiting-room{padding:58px clamp(38px,14vw,56px) 22px}}@keyframes motion-reduced-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.motion-scene,.motion-scene *,.sprite-action:after,.join-room-form:after,.app-shell--construction .construction-stats>div:after,.app-shell--construction .tile-pool:after,.app-shell--construction .letter-tile:after,.app-shell--construction .game-primary-action:after,.app-shell--battle .battle-controls:after,.app-shell--battle .hand .card:after,.app-shell--battle .mana-bar__track i,.app-shell--battle .battle-end-turn-button:after,.app-shell--completed .result-primary-action:after{will-change:auto!important;animation:none!important}.app-shell,.app-shell *,.app-shell :before,.app-shell :after{will-change:auto!important}.motion-scene{display:none}.app-shell--lobby .lobby-copy,.app-shell--lobby .lobby-card,.app-shell--waiting .waiting-room,.app-shell--construction .construction-table,.app-shell--battle .match-layout--battle,.app-shell--completed .result-screen{animation:.14s linear both motion-reduced-fade!important;transform:none!important}.app-shell--waiting .waiting-room h1,.app-shell--waiting .sonar-loader i,.app-shell--construction .letter-tile,.app-shell--construction .validation-panel,.app-shell--battle .battle-board-shell,.app-shell--battle .battle-readiness--ready:after{animation:none!important;transform:none!important}.app-shell--construction .validation-panel--valid:after{display:none}.battle-guess-float{opacity:1!important;animation:none!important;transform:translate(-50%,-50%)!important}.detector-resolution-effect__beam{opacity:.45;animation:none!important;transform:translateY(44%)!important}.detector-resolution-effect__cell{opacity:.55;animation:none!important;transform:none!important}}.app-shell--battle .match-layout--battle{grid-template-rows:auto auto;width:min(980px,100%);height:auto;min-height:0;overflow:visible}.app-shell--battle .battle-board-panel{aspect-ratio:1200/733;background-color:#075d68;background-position:50%;background-repeat:no-repeat;background-size:contain;min-height:0}.app-shell--battle .battle-controls{aspect-ratio:1400/656;background-color:#063f4b;background-position:50%;background-repeat:no-repeat;background-size:contain;height:auto;min-height:0}@media (width>=721px){.app-shell--battle .battle-board-shell{width:min(100%,460px)}.app-shell--battle .battle-stage .game-board-wrap{width:min(100%,430px)}}@media (width<=720px){.app-shell.app-shell--battle{min-height:100dvh;overflow-y:auto}.app-shell--battle .match-layout--battle{grid-template-rows:auto auto;height:auto;min-height:0;overflow:visible}.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-image:url(/assets/game-ui/planning-board-frame.webp);background-size:contain;min-height:400px}.app-shell--battle .battle-board-shell{width:min(100%,260px)}.app-shell--battle .battle-stage .game-board-wrap{width:100%}.app-shell--battle .battle-controls{aspect-ratio:auto;min-height:218px}}.app-shell--battle .match-layout--battle{gap:clamp(8px,1.2vw,14px);width:min(1120px,100%)}.app-shell--battle .battle-controls{isolation:isolate;width:100%;margin:0 0 34px;padding:0;display:block;position:relative;overflow:visible}.app-shell--battle .battle-legacy-utility{z-index:5;width:19%;position:absolute;top:47%;right:8.5%}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{z-index:2;color:#f4ead4;width:72.5%;height:22.5%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:clamp(8px,1vw,13px) clamp(10px,1.35vw,18px);position:absolute;top:22.5%;left:13.2%;overflow:hidden}.app-shell--battle .battle-action-dock__copy{grid-template-columns:auto minmax(0,1fr);align-content:center;gap:2px 10px;height:100%}.app-shell--battle .battle-action-dock__copy>span{font-size:clamp(.56rem,.72vw,.66rem)}.app-shell--battle .battle-action-dock__copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.74rem,1vw,.92rem);overflow:hidden}.app-shell--battle .battle-action-dock__copy>p{-webkit-line-clamp:2;max-height:none;font-size:clamp(.58rem,.78vw,.7rem);line-height:1.28}.app-shell--battle .battle-action-dock__copy>small{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.5rem,.66vw,.6rem);overflow:hidden}.app-shell--battle .battle-command-row .hand{justify-content:center;align-items:center;gap:clamp(4px,.65vw,8px);height:100%;min-height:0;padding:7px 4px 2px;display:flex;position:absolute;inset:0 46px 0 0;overflow:visible}.app-shell--battle .hand .card{flex:0 86px;width:clamp(68px,7.4vw,86px);min-width:0;max-width:86px;margin:0;transform:none}.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){margin:0;transform:none}.app-shell--battle .hand .card:hover:not(:disabled){transform:translateY(-7px)}.app-shell--battle .hand .card.card--active{transform:translateY(-11px)scale(1.035)}.app-shell--battle .hand-deck{width:38px;height:52px;margin:0;position:absolute;bottom:16%;right:2px}.app-shell--battle .battle-action-area{width:24%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch;gap:clamp(5px,.7vw,9px);padding:5% 5% 4%;display:grid;position:absolute;inset:0 0 0 auto;overflow:visible}.app-shell--battle .battle-action-area .button{border:2px solid #092f3a;border-radius:9px;height:100%;min-height:0;padding:5px 7px;font-size:clamp(.56rem,.72vw,.68rem);line-height:1.12;box-shadow:0 3px #092f3a}.app-shell--battle .battle-action-area .battle-fire-button{color:#092f3a;background:#f4ead4;min-height:0}.app-shell--battle .battle-action-area:has(.battle-action-area__utility){grid-template-rows:repeat(3,minmax(0,1fr))}.app-shell--battle .battle-end-turn-button{margin:0}.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button{color:#f4ead4;box-shadow:none;text-shadow:0 2px #092f3a;background:0 0;border-color:#0000}.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button:disabled{color:#f4ead494;box-shadow:none;background:0 0;border-color:#0000}.app-shell--battle .mana-bar{z-index:4;width:auto;height:28px;margin:0;position:absolute;top:calc(100% - 4px);left:4%;right:4%}@media (width<=720px){.app-shell--battle .match-layout--battle{gap:8px;width:100%}.app-shell--battle .battle-controls{aspect-ratio:1400/656;background-position:50%;background-size:contain;width:100%;min-height:0;margin-bottom:34px}.app-shell--battle .battle-legacy-utility{display:none}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{width:72.5%;height:22.5%;min-height:0;padding:5px 8px;top:22.5%;left:13.2%}.app-shell--battle .battle-action-dock__copy{gap:0 6px}.app-shell--battle .battle-action-dock__copy>span{font-size:.5rem}.app-shell--battle .battle-action-dock__copy>strong{font-size:.64rem}.app-shell--battle .battle-action-dock__copy>p{-webkit-line-clamp:2;max-height:28px;font-size:.52rem;line-height:1.18}.app-shell--battle .battle-action-dock__copy>small{display:none}.app-shell--battle .battle-command-row{width:73.3%;height:31%;top:48.5%;left:17.6%}.app-shell--battle .hand-zone{width:73%}.app-shell--battle .battle-command-row .hand{justify-content:flex-start;gap:3px;height:100%;min-height:0;padding:4px 0 1px;inset:0 24px 0 0}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){border-width:1px;border-radius:7px;flex:0 60px;width:clamp(43px,9vw,60px);max-width:60px;margin:0;padding:3px 3px 12px;transform:none;box-shadow:0 2px #092f3a}.app-shell--battle .hand .card:hover:not(:disabled){transform:translateY(-4px)}.app-shell--battle .hand .card.card--active{transform:translateY(-6px)scale(1.025)}.app-shell--battle .hand .card>span:not(.sr-only){width:12px;height:12px}.app-shell--battle .hand .card strong{font-size:clamp(.42rem,2vw,.5rem)}.app-shell--battle .hand-deck{border-width:1px;border-radius:5px;width:clamp(22px,5vw,34px);height:clamp(33px,7.5vw,49px);bottom:13%;right:0}.app-shell--battle .hand-deck>b{font-size:.58rem}.app-shell--battle .battle-action-area{width:24%;box-shadow:none;background:0 0;border:0;gap:3px;padding:3px 1px 2px 3px}.app-shell--battle .battle-action-area .button{border-width:1px;border-radius:6px;height:100%;min-height:0;padding:2px;font-size:clamp(.43rem,1.4vw,.62rem);box-shadow:0 2px #092f3a}.app-shell--battle .battle-action-area .button:disabled{color:#526967;background:#f4ead4d1;border-color:#092f3a;box-shadow:0 2px #092f3a}.app-shell--battle .mana-bar{height:24px;top:calc(100% - 4px);left:4%;right:4%}.app-shell--battle .mana-bar__track{height:20px;padding:3px 5px}.app-shell--battle .mana-bar__value{min-width:40px;font-size:.62rem}.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-color:#075d68;background-image:none;grid-template-rows:auto auto auto auto;gap:2px;min-height:0;padding:12px 10px 14px}.app-shell--battle .battle-board-panel .panel-heading{width:min(100%,620px);min-height:46px;margin:0 auto 1px}.app-shell--battle .battle-instruction{width:min(92%,520px);margin:1px auto 4px}.app-shell--battle .battle-stage{aspect-ratio:1;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;border-radius:0;place-items:center;width:min(100%,520px);min-height:0;margin:0 auto;display:grid;overflow:visible}.app-shell--battle .battle-board-shell{width:66%;min-width:0;padding-bottom:0}.app-shell--battle .battle-stage .game-board-wrap{width:100%;max-height:none}.app-shell--battle .battle-board-footer{width:min(100%,520px);margin:2px auto 0}}@media (width>=721px) and (width<=1366px){.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-color:#075d68;background-image:none;grid-template-rows:auto auto auto auto;gap:4px;min-height:0;padding:16px 18px 18px}.app-shell--battle .battle-board-panel .panel-heading{width:min(100%,960px);margin:0 auto 2px}.app-shell--battle .battle-instruction{width:min(88%,720px);margin:2px auto 6px}.app-shell--battle .battle-stage{aspect-ratio:1;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;border-radius:0;place-items:center;width:min(76vw,720px);min-height:0;margin:0 auto;display:grid;overflow:visible}.app-shell--battle .battle-board-shell{width:66%;min-width:0;padding-bottom:0}.app-shell--battle .battle-stage .game-board-wrap{width:100%;max-height:none}.app-shell--battle .battle-board-footer{width:min(76vw,720px);margin:3px auto 0}.app-shell--battle .battle-command-row{width:75.5%;left:16.5%}.app-shell--battle .hand-zone{width:64%}.app-shell--battle .battle-command-row .hand{gap:clamp(5px,.8vw,10px);inset:0 48px 0 0}.app-shell--battle .hand .card{flex:0 94px;width:clamp(76px,8vw,94px);max-width:94px}.app-shell--battle .battle-action-area{grid-template-rows:repeat(2,minmax(58px,1fr));gap:10px;width:31%;padding:0}.app-shell--battle .battle-action-area:has(>:only-child){grid-template-rows:64px;align-content:center}.app-shell--battle .battle-action-area .button{color:#092f3a;min-height:54px;box-shadow:none;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:4px 7% 4px 30%;font-size:clamp(.66rem,1.1vw,.82rem);font-weight:950}:is(.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button:disabled){color:#092f3a94;box-shadow:none;filter:saturate(.58);opacity:.72;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0}.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button{color:#092f3a;box-shadow:none;text-shadow:none;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0}}@media (width<=1366px){.app-shell--battle .hand .card{grid-template-rows:auto minmax(20px,1fr);align-content:stretch;gap:3px;padding:5px 6px 24px}.app-shell--battle .hand .card>span:not(.sr-only){width:15px;height:15px;position:absolute;bottom:5px;left:5px}.app-shell--battle .hand .card>span:not(.sr-only):before{font-size:.56rem}.app-shell--battle .hand .card strong{-webkit-line-clamp:2;align-self:center;min-height:20px;padding:0 2px;line-height:1.08;overflow:hidden}.app-shell--battle .hand .card__cost{text-align:center;min-width:24px;padding:2px 4px;font-size:.48rem;bottom:5px;right:5px}}@media (width<=720px){.app-shell--battle .battle-controls{aspect-ratio:1;background:url(/assets/game-ui/status-command-frame.webp) 50%/contain no-repeat;width:min(100%,650px);min-height:0;margin:0 auto 34px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{width:74%;height:19%;padding:clamp(6px,2vw,12px);top:14%;left:13%}.app-shell--battle .battle-action-dock__copy>span{font-size:clamp(.5rem,2vw,.64rem)}.app-shell--battle .battle-action-dock__copy>strong{font-size:clamp(.64rem,2.4vw,.82rem)}.app-shell--battle .battle-action-dock__copy>p{-webkit-line-clamp:2;max-height:none;font-size:clamp(.52rem,2vw,.66rem);line-height:1.22}.app-shell--battle .battle-command-row{grid-template-rows:minmax(0,1fr) minmax(50px,30%);grid-template-columns:minmax(0,1fr);gap:clamp(6px,1.8vw,10px);width:75%;height:43%;display:grid;top:36%;left:12.5%}.app-shell--battle .hand-zone{grid-row:1;width:100%;height:auto;min-height:0;position:relative;inset:auto}.app-shell--battle .battle-command-row .hand{justify-content:flex-start;align-items:stretch;gap:3px;height:100%;min-height:0;padding:0;inset:0 30px 0 0}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){aspect-ratio:auto;border-width:1px;border-radius:8px;flex:1 1 0;width:auto;min-width:0;max-width:78px;height:100%;margin:0;padding:4px 5px 22px;transform:none;box-shadow:0 3px #092f3a}.app-shell--battle .hand .card>img{border-radius:5px}.app-shell--battle .hand .card strong{min-height:19px;font-size:clamp(.5rem,2.1vw,.64rem)}.app-shell--battle .hand .card>span:not(.sr-only){width:14px;height:14px;bottom:4px;left:4px}.app-shell--battle .hand .card__cost{min-width:22px;padding:2px 3px;font-size:.44rem;bottom:4px;right:4px}.app-shell--battle .hand-deck{width:25px;height:37px;bottom:18%;right:0}.app-shell--battle .battle-action-area{grid-row:2;grid-template-rows:minmax(50px,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;height:auto;padding:0;display:grid;position:relative;inset:auto}.app-shell--battle .battle-action-area:has(>:only-child){grid-template-columns:minmax(0,1fr)}.app-shell--battle .battle-action-area:has(.battle-action-area__utility){grid-template-rows:minmax(50px,1fr)}:is(.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button){color:#092f3a;height:100%;min-height:50px;box-shadow:none;text-shadow:none;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:4px 7% 4px 30%;font-size:clamp(.64rem,2.4vw,.76rem);font-weight:950;line-height:1.08}:is(.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button:disabled){color:#092f3a94;box-shadow:none;filter:saturate(.58);opacity:.72;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border:0}.app-shell--battle .mana-bar{height:26px;top:84%;left:13%;right:13%}}.app-shell--battle .card-prompt{--prompt-ink:#092f3a;--prompt-secondary:#244d55;--prompt-accent:#075d68;--prompt-muted:#526967}.app-shell--battle .card-prompt .selected-action-guide,.app-shell--battle .card-prompt__field{background:#ffffff47;border-color:#092f3a2e}.app-shell--battle .card-prompt .selected-action-guide span,.app-shell--battle .card-prompt__field>span{color:var(--prompt-accent)}.app-shell--battle .card-prompt .selected-action-guide strong,.app-shell--battle .card-prompt .boundary-stepper strong{color:var(--prompt-ink)}.app-shell--battle .card-prompt .selected-action-guide p{color:var(--prompt-secondary)}.app-shell--battle .card-prompt .selected-action-guide small,.app-shell--battle .card-prompt__hint{color:var(--prompt-muted)}.app-shell--battle .card-prompt .guess-letter-slots{color:#fff;background:#0b5794;border:2px solid #092f3a3d;box-shadow:inset 0 0 0 1px #ffffff24}.app-shell--battle .card-prompt .guess-letter-slots small{color:#d8edf5}.app-shell--battle .card-prompt input{color:#fff;background:#0b5794;border:2px solid #092f3a52;box-shadow:inset 0 0 0 1px #ffffff29}.app-shell--battle .card-prompt input::placeholder{color:#ffffffad}.app-shell--battle .card-prompt .prompt-segments button,.app-shell--battle .card-prompt .boundary-stepper button{color:#f4ead4;background:#075d68;border-color:#092f3a47}.app-shell--battle .card-prompt .prompt-segments button[aria-pressed=true]{color:#3f3000;background:#f7bf4b;border-color:#9b6d00}.app-shell--battle .card-prompt__aim{color:#3f3000}.app-shell--battle .card-prompt__aim:disabled{color:#665823;opacity:.72;background:#e8c867}.app-shell.app-shell--battle{height:100dvh;min-height:0;overflow:hidden}.app-shell--battle .match-layout--battle{grid-template-rows:auto auto;align-content:start;justify-items:center;gap:0;width:min(1120px,100%);height:calc(100dvh - 67px);min-height:0;overflow:visible}.app-shell--battle .battle-board-panel{z-index:1;aspect-ratio:1200/733;background-color:#075d68;background-image:url(/assets/game-ui/battle-board-frame.webp);background-position:50%;background-repeat:no-repeat;background-size:contain;grid-template-rows:auto auto minmax(0,1fr) auto;justify-self:center;width:min(800px,100%);min-height:0;padding:18px 28px 16px;position:relative}.app-shell--battle .battle-instruction{min-height:25px;margin:1px 7% 3px;padding:5px 10px}.app-shell--battle .battle-stage{width:100%;min-height:0;margin:0}.app-shell--battle .battle-board-shell{width:min(100%,380px);min-width:0;padding-bottom:0}.app-shell--battle .board-view-thumbnail{width:112px}.app-shell--battle .battle-board-footer{min-height:22px;margin:0 6px}.app-shell--battle .battle-controls{z-index:2;aspect-ratio:1400/656;background-color:#063f4b;background-image:url(/assets/game-ui/battle-command-console.webp);background-position:50%;background-repeat:no-repeat;background-size:contain;width:min(720px,86%);height:auto;min-height:0;margin:-12px auto 0;position:relative}@media (width>=721px) and (width<=1366px){.app-shell.app-shell--battle{padding-top:5px;padding-bottom:5px}.app-shell--battle .match-layout--battle{height:calc(100dvh - 60px)}.app-shell--battle .battle-board-panel{aspect-ratio:1200/733;background-image:url(/assets/game-ui/battle-board-frame.webp);background-size:contain;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;width:min(680px,78vw);padding:14px 20px 13px}.app-shell--battle .battle-board-panel .panel-heading{width:100%;min-height:39px;margin:0 3px 1px}.app-shell--battle .battle-board-panel .panel-heading h2{font-size:clamp(1.05rem,2.5vw,1.45rem)}.app-shell--battle .battle-instruction{width:min(86%,560px);min-height:23px;margin:0 auto 2px;padding:4px 8px}.app-shell--battle .battle-stage{aspect-ratio:auto;background:0 0;width:100%;margin:0}.app-shell--battle .battle-board-shell{width:min(100%,330px)}.app-shell--battle .battle-stage .game-board-wrap{width:min(100%,312px)}.app-shell--battle .board-view-thumbnail{width:98px}.app-shell--battle .battle-board-footer{width:100%;min-height:19px;margin:0 3px}.app-shell--battle .battle-controls{aspect-ratio:1400/656;background-image:url(/assets/game-ui/battle-command-console.webp);background-size:contain;width:min(620px,82vw);margin-top:-10px;margin-bottom:0}.app-shell--battle .battle-action-area{grid-template-rows:repeat(2,minmax(39px,1fr));gap:6px}.app-shell--battle .battle-action-area:has(>:only-child){grid-template-rows:46px}.app-shell--battle .battle-action-area .button{min-height:39px}}@media (width<=720px){.app-shell.app-shell--battle{padding:4px 6px 5px}.app-shell--battle .topbar{min-height:43px;margin-bottom:2px}.app-shell--battle .match-layout--battle{--phone-board-size:clamp(280px, calc(100dvh - 494px), 350px);--phone-console-size:clamp(300px, calc(100dvh - 504px), 340px);grid-template-rows:auto auto;gap:0;height:calc(100dvh - 54px)}.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-image:none;grid-template-rows:auto auto auto auto;gap:1px;width:100%;padding:8px 8px 9px}.app-shell--battle .battle-board-panel .panel-heading{min-height:40px;margin:0 2px}.app-shell--battle .battle-board-panel .panel-heading h2{font-size:.9rem}.app-shell--battle .battle-instruction{width:min(92%,330px);min-height:21px;margin:0 auto 2px;padding:3px 6px;font-size:.45rem}.app-shell--battle .battle-stage{width:var(--phone-board-size);aspect-ratio:1;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;margin:0 auto}.app-shell--battle .battle-board-shell{width:66%}.app-shell--battle .battle-stage .game-board-wrap{width:100%}.app-shell--battle .battle-board-footer{width:min(100%,350px);min-height:17px;margin:0 auto}.app-shell--battle .battle-controls{width:min(var(--phone-console-size), calc(100% - 12px));aspect-ratio:1;background-image:url(/assets/game-ui/status-command-frame.webp);background-size:contain;margin:-14px auto 0}}@media (width<=720px) and (height<=720px){.app-shell--battle .match-layout--battle{--phone-board-size:250px;--phone-console-size:280px}.app-shell--battle .battle-board-panel .panel-heading{min-height:34px}.app-shell--battle .battle-instruction{min-height:18px;padding-block:2px}}.app-shell--battle .battle-controls{aspect-ratio:1832/858;background-image:url(/assets/game-ui/battle-command-console-v2.webp);background-size:contain}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{width:46.4%;height:29%;padding:clamp(7px,1vw,13px) clamp(9px,1.25vw,16px);top:19.4%;left:18.8%}.app-shell--battle .battle-command-row{width:72.1%;height:63%;top:19.4%;left:17.4%}.app-shell--battle .hand-zone{width:66.2%;height:38%;position:absolute;inset:auto auto 0 0}.app-shell--battle .battle-command-row .hand{justify-content:flex-start;align-items:stretch;gap:clamp(3px,.55vw,7px);height:100%;padding:3px 2px 2px;inset:0 34px 0 0}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){flex:1 1 0;width:auto;min-width:0;max-width:82px;height:100%}.app-shell--battle .hand-deck{width:31px;height:45px;bottom:13%;right:0}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){width:30.4%;height:100%;box-shadow:none;background:0 0;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1fr);align-content:stretch;gap:2.6%;padding:2.3% 3.5% 2.6%;display:grid;position:absolute;inset:0 0 0 auto;overflow:hidden}.app-shell--battle .battle-action-area:has(>:only-child){grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch}.app-shell--battle .battle-action-area .battle-fire-button{grid-row:1}.app-shell--battle .battle-action-area .battle-clear-button{grid-row:2}.app-shell--battle .battle-action-area .battle-end-turn-button{grid-row:3}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .button:disabled{color:#092f3a;height:100%;min-height:0;box-shadow:none;filter:none;text-shadow:none;background:0 0;border:0;border-radius:10px;padding:7% 11%;font-size:clamp(.58rem,.86vw,.76rem);font-weight:950;line-height:1.08}.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button{color:#092f3a;height:100%;min-height:0;box-shadow:none;filter:none;text-shadow:none;background:0 0;border:0;border-radius:10px;padding:7% 11%;font-size:clamp(.58rem,.86vw,.76rem);font-weight:950;line-height:1.08}.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button:disabled{color:#092f3a;height:100%;min-height:0;box-shadow:none;filter:none;text-shadow:none;background:0 0;border:0;border-radius:10px;padding:7% 11%;font-size:clamp(.58rem,.86vw,.76rem);font-weight:950;line-height:1.08}.app-shell--battle .battle-action-area .button:hover:not(:disabled),.app-shell--battle .battle-action-area .button:focus-visible:not(:disabled){background:#f7bf4b3d;box-shadow:inset 0 0 0 2px #092f3a52}:is(.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button:disabled){color:#092f3a7a;opacity:1}.app-shell--battle .mana-bar{height:25px;top:82.5%;left:23.5%;right:42%}@media (width<=720px){.app-shell--battle .battle-board-shell{grid-template-columns:minmax(0,1fr) 64px;align-items:start;gap:6px;width:86%;display:grid}.app-shell--battle .battle-stage .game-board-wrap{grid-column:1;width:100%}.app-shell--battle .board-view-thumbnail{grid-column:2;align-self:start;width:64px;margin-top:6px;padding:9px 8px 7px 15px;position:relative;top:43px;right:auto}.app-shell--battle .battle-controls{aspect-ratio:1;background-image:url(/assets/game-ui/status-command-frame.webp);background-size:contain}.app-shell--battle .battle-command-row{width:74%;height:66%;display:block;top:14%;left:13%}.app-shell--battle .hand-zone{width:72%;height:54%;position:absolute;inset:auto auto 0 0}.app-shell--battle .battle-command-row .hand{gap:2px;padding:0;inset:0 24px 0 0}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){max-width:48px;padding:3px 3px 19px}.app-shell--battle .hand-deck{width:22px;height:34px}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:4px;width:25%;height:100%;padding:0;position:absolute;inset:0 0 0 auto}:is(.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button){background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;border-radius:0;min-height:44px;padding:4px 8% 4px 29%;font-size:clamp(.52rem,2vw,.66rem)}:is(.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button:disabled){filter:saturate(.58);opacity:.74;background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat}.app-shell--battle .mana-bar{height:26px;top:84%;left:13%;right:13%}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{width:74%;height:19%;padding:clamp(6px,2vw,12px);top:14%;left:13%}.app-shell--battle .battle-command-row{grid-template-rows:minmax(0,1fr) 98px;grid-template-columns:minmax(0,1fr);gap:clamp(6px,1.8vw,10px);width:75%;height:52%;display:grid;top:36%;left:12.5%}.app-shell--battle .hand-zone{grid-row:1;width:100%;height:auto;min-height:0;position:relative;inset:auto}.app-shell--battle .battle-command-row .hand{justify-content:flex-start;align-items:stretch;gap:3px;height:100%;min-height:0;padding:0;inset:0 30px 0 0}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){flex:1 1 0;width:auto;min-width:0;max-width:78px;height:100%;padding:4px 5px 22px}.app-shell--battle .hand .card strong{font-size:clamp(.5rem,2.1vw,.64rem)}.app-shell--battle .hand-deck{width:25px;height:37px;bottom:18%;right:0}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-row:2;grid-template-rows:repeat(2,minmax(44px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;height:auto;padding:0;display:grid;position:relative;inset:auto;overflow:visible}.app-shell--battle .battle-action-area:has(>:only-child){grid-template-rows:repeat(2,minmax(44px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}.app-shell--battle .battle-action-area .battle-fire-button{grid-area:1/1/auto/-1}.app-shell--battle .battle-action-area .battle-clear-button{grid-area:2/1}.app-shell--battle .battle-action-area .battle-end-turn-button{grid-area:2/2}:is(.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area:has(>.battle-fire-button) .battle-end-turn-button){background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat;height:100%;min-height:44px;padding:4px 7% 4px 28%;font-size:clamp(.6rem,2.25vw,.72rem)}.app-shell--battle .mana-bar{top:91%}}.app-shell--battle .battle-controls{aspect-ratio:1836/856;background-image:url(/assets/game-ui/battle-command-console-v3-neutral.webp)}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){box-shadow:none;background:0 0}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-end-turn-button,.app-shell--battle .battle-action-area .battle-clear-button{min-height:0;box-shadow:none;color:#092f3a;filter:none;text-shadow:none;background-color:#0000;background-position:50%;background-repeat:no-repeat;border:0;border-radius:0;font-weight:950;line-height:1.08;background-image:url(/assets/game-ui/action-button-base.webp)!important;background-size:100% 100%!important}.app-shell--battle .battle-action-area .button:hover:not(:disabled),.app-shell--battle .battle-action-area .button:focus-visible:not(:disabled){filter:brightness(1.04)saturate(1.06);background-color:#0000;box-shadow:inset 0 0 0 2px #092f3a4d}.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{color:#092f3a75;filter:saturate(.5)brightness(.92);opacity:.78;background-color:#0000;background-image:url(/assets/game-ui/action-button-base.webp)!important;background-size:100% 100%!important}@media (width>=721px){.app-shell--battle .battle-action-area:not(:has(.battle-clear-button)):has(>.battle-fire-button){grid-template-rows:repeat(2,minmax(0,1fr))}.app-shell--battle .battle-action-area:not(:has(.battle-clear-button)):has(>.battle-fire-button) .battle-fire-button{grid-row:1}.app-shell--battle .battle-action-area:not(:has(.battle-clear-button)):has(>.battle-fire-button) .battle-end-turn-button{grid-row:2}.app-shell--battle .battle-action-area:has(>:only-child){grid-template-rows:minmax(0,1fr)}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-end-turn-button,.app-shell--battle .battle-action-area .battle-clear-button{aspect-ratio:2.18;place-self:center stretch;width:100%;height:auto;padding:8px 10px;font-size:clamp(.58rem,.86vw,.76rem)}}@media (width<=720px){.app-shell--battle .battle-controls{aspect-ratio:1;background-image:url(/assets/game-ui/status-command-frame.webp);background-size:contain}.app-shell--battle .battle-command-row{grid-template-rows:minmax(0,1fr) 98px;height:52%;top:36%}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{aspect-ratio:2.68;height:auto;min-height:44px;padding:4px 8px;font-size:clamp(.6rem,2.25vw,.72rem);background-image:url(/assets/game-ui/action-button-base.webp)!important;background-size:100% 100%!important}.app-shell--battle .battle-action-area .battle-fire-button{aspect-ratio:5.45;width:100%;height:auto;min-height:44px;padding-inline:12px;background-image:url(/assets/game-ui/action-button-wide.webp)!important;background-size:100% 100%!important}}.app-shell--battle .battle-controls{aspect-ratio:1836/856;background-color:#063f4b;background-image:url(/assets/game-ui/battle-command-console-v4-rack.webp);background-position:50%;background-repeat:no-repeat;background-size:contain;width:min(720px,88vw);margin:-14px auto 0;overflow:visible}.app-shell--battle .battle-legacy-utility{display:none}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{z-index:4;background:#01313a7a;border:1px solid #50d5d052;border-radius:12px;width:45.5%;height:30%;min-height:0;padding:clamp(8px,1.2vw,15px);position:absolute;top:17.5%;left:18%;box-shadow:inset 0 0 0 1px #0118228f,inset 0 0 22px #000b1557}.app-shell--battle .battle-action-dock__copy{color:#d9f4e7;align-content:center;gap:3px;min-height:100%;display:grid}.app-shell--battle .battle-action-dock__copy>span{color:#f7bf4b;letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.52rem,.8vw,.7rem);font-weight:900}.app-shell--battle .battle-action-dock__copy>strong{color:#f4ead4;font-size:clamp(.92rem,1.65vw,1.36rem);line-height:1.1}.app-shell--battle .battle-action-dock__copy>p,.app-shell--battle .battle-action-dock__copy>small{color:#b9e4d4;font-size:clamp(.52rem,.75vw,.68rem);line-height:1.25}.app-shell--battle .battle-command-row{z-index:5;width:76.2%;height:46%;min-height:0;display:block;position:absolute;top:50.5%;left:17.2%;overflow:visible}.app-shell--battle .hand-zone{width:65.5%;height:100%;display:block;position:absolute;inset:0 auto 0 0;overflow:visible}.app-shell--battle .battle-command-row .hand{z-index:2;justify-content:center;align-items:stretch;gap:clamp(5px,.7vw,10px);min-height:0;padding:0 3%;display:flex;position:absolute;inset:2% 0 0;overflow:visible}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){aspect-ratio:.86;color:#e8f6e9;background:linear-gradient(#0e7480eb,#054854f0),#075d68;border:1px solid #7edfd3b8;border-radius:7px;flex:0 22%;grid-template-rows:auto 1fr auto;align-content:stretch;gap:4px;width:22%;min-width:0;max-width:112px;margin:0;padding:5px 5px 18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;transform:none;box-shadow:inset 0 0 0 1px #021f2ba3,0 3px #032f3a,0 0 14px #00161e2e}.app-shell--battle .hand .card>span:not(.sr-only){color:#063f4b;background:#f7bf4b;width:17px;height:17px;font-size:0}.app-shell--battle .hand .card>span:not(.sr-only):before{font-size:.58rem}.app-shell--battle .hand .card strong{color:#e8f6e9;text-align:center;align-self:end;font-size:clamp(.52rem,.9vw,.74rem);line-height:1.05}.app-shell--battle .hand .card__cost{color:#063f4b;background:#f7bf4b;border:1px solid #0831398f;padding:3px 5px;font-size:clamp(.48rem,.68vw,.6rem);bottom:4px;right:4px}.app-shell--battle .hand .card:hover:not(:disabled),.app-shell--battle .hand .card.card--active{z-index:3;border-color:#f7bf4b;transform:translateY(-7px);box-shadow:inset 0 0 0 1px #f7bf4b99,0 4px #b98509,0 0 18px #f7bf4b3d}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){width:33.5%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:clamp(5px,.7vw,10px);padding:3% 3% 2.5%;display:grid;position:absolute;inset:0 0 0 auto;overflow:visible}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):not(:has(.battle-clear-button)){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}:is(.app-shell--battle .battle-action-area:has(.battle-fire-button):not(:has(.battle-clear-button)):not(:has(.battle-end-turn-button)),.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):has(.battle-clear-button):not(:has(.battle-end-turn-button)),.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):not(:has(.battle-clear-button)):has(.battle-end-turn-button)){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-shell--battle .battle-action-area:has(.battle-fire-button) .battle-fire-button{grid-area:1/1/auto/-1}:is(.app-shell--battle .battle-action-area:has(.battle-fire-button) .battle-clear-button,.app-shell--battle .battle-action-area:has(.battle-fire-button) .battle-end-turn-button){grid-row:2}:is(.app-shell--battle .battle-action-area:has(.battle-fire-button):not(:has(.battle-clear-button)) .battle-end-turn-button,.app-shell--battle .battle-action-area:has(.battle-fire-button):not(:has(.battle-end-turn-button)) .battle-clear-button){grid-column:1/-1}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):has(.battle-clear-button):has(.battle-end-turn-button){grid-template-rows:minmax(0,1fr)}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):has(.battle-clear-button) .battle-clear-button{grid-area:1/1}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):has(.battle-end-turn-button) .battle-end-turn-button{grid-area:1/2}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):not(:has(.battle-clear-button)):has(.battle-end-turn-button) .battle-end-turn-button{grid-area:1/1}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{color:#9fd9cb;letter-spacing:.03em;text-shadow:0 1px #0018229e;background:linear-gradient(#0a545fc2,#032f3aeb),#063f4b;border:1px solid #60d0c794;border-radius:7px;place-self:stretch stretch;width:100%;height:100%;padding:8px 6px;font-family:SFMono-Regular,Roboto Mono,ui-monospace,monospace;font-size:clamp(.58rem,.86vw,.78rem);font-weight:900;line-height:1.12;transition:border-color .16s,color .16s,background .16s,transform .16s;box-shadow:inset 0 0 0 1px #00182285,inset 0 0 14px #00101861,0 3px #032f3a;background-image:none!important;background-size:auto!important;min-height:44px!important}.app-shell--battle .battle-action-area .battle-fire-button:not(:disabled),.app-shell--battle .battle-action-area .battle-clear-button:not(:disabled),.app-shell--battle .battle-action-area .battle-end-turn-button:not(:disabled){color:#f7d778;background:linear-gradient(#735013ad,#262519d6),#3f3000;border-color:#f7bf4b;box-shadow:inset 0 0 0 1px #f7bf4b85,inset 0 0 18px #f7bf4b29,0 3px #30220a}.app-shell--battle .battle-action-area .button:hover:not(:disabled),.app-shell--battle .battle-action-area .button:focus-visible:not(:disabled){color:#fff1c8;background:linear-gradient(#92681cc7,#372d14e6),#4f3900;border-color:#f4ead4;transform:translateY(-2px)}.app-shell--battle .battle-action-area .button:focus-visible{outline-offset:2px;outline:2px solid #8ae9de}.app-shell--battle .battle-action-area .button:disabled{color:#9fd9cb7a;opacity:1;filter:saturate(.65);background-image:none!important;background-size:auto!important}.app-shell--battle .mana-bar{z-index:6;background:#032f3ac7;border-color:#f7bf4bb3;height:24px;top:89%;left:18%;right:35%}@media (width>=721px) and (width<=1366px){.app-shell--battle .battle-controls{width:min(720px,90vw)}.app-shell--battle .battle-info-panel{padding:8px 10px}.app-shell--battle .battle-action-area .button{min-height:46px!important}}@media (width<=720px){.app-shell--battle .battle-controls{aspect-ratio:1;background-image:url(/assets/game-ui/status-command-frame.webp);background-size:contain;width:min(350px,100% - 12px);margin:-10px auto 0}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{width:76%;height:22%;padding:7px 9px;top:10%;left:12%}.app-shell--battle .battle-action-dock__copy>strong{font-size:clamp(.72rem,3.4vw,1rem)}.app-shell--battle .battle-action-dock__copy>p,.app-shell--battle .battle-action-dock__copy>small{font-size:clamp(.48rem,2.2vw,.62rem)}.app-shell--battle .battle-command-row{grid-template-rows:minmax(0,1fr) 84px;grid-template-columns:minmax(0,1fr);gap:7px;width:78%;height:55%;display:grid;top:35%;left:11%}.app-shell--battle .hand-zone{grid-row:1;width:100%;height:auto;min-height:0;position:relative;inset:auto}.app-shell--battle .battle-command-row .hand{justify-content:flex-start;align-items:stretch;gap:5px;padding:0;display:flex;position:absolute;inset:0}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){aspect-ratio:.72;flex:1 1 0;width:100%;max-width:none;height:100%;padding:4px 5px 17px}.app-shell--battle .hand .card>img{aspect-ratio:16/7}.app-shell--battle .hand .card strong{font-size:clamp(.5rem,2.5vw,.64rem)}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-row:2;grid-template-rows:repeat(2,minmax(40px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;height:auto;padding:0;position:relative;inset:auto}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):not(:has(.battle-clear-button)){grid-template-rows:minmax(40px,1fr);grid-template-columns:minmax(0,1fr)}:is(.app-shell--battle .battle-action-area:has(.battle-fire-button):not(:has(.battle-clear-button)):not(:has(.battle-end-turn-button)),.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):has(.battle-clear-button):not(:has(.battle-end-turn-button)),.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):not(:has(.battle-clear-button)):has(.battle-end-turn-button)){grid-template-rows:repeat(2,minmax(40px,1fr));grid-template-columns:minmax(0,1fr)}.app-shell--battle .battle-action-area .battle-fire-button{grid-area:1/1/auto/-1}.app-shell--battle .battle-action-area .battle-clear-button{grid-area:2/1}.app-shell--battle .battle-action-area .battle-end-turn-button{grid-area:2/2}.app-shell--battle .battle-action-area:not(:has(.battle-fire-button)):not(:has(.battle-clear-button)):has(.battle-end-turn-button) .battle-end-turn-button{grid-area:1/1}.app-shell--battle .battle-action-area .button{padding:6px 5px;font-size:clamp(.58rem,2.8vw,.72rem);min-height:42px!important}.app-shell--battle .mana-bar{top:91%;left:11%;right:11%}}@media (width<=390px){.app-shell--battle .battle-controls{width:min(332px,100% - 8px)}.app-shell--battle .battle-command-row{grid-template-rows:minmax(0,1fr) 80px;height:56%;top:34%}.app-shell--battle .battle-action-area .button{font-size:.58rem;min-height:40px!important}}.app-shell--construction,.app-shell--battle,.app-shell--completed{--play-bg:#edf6fb;--play-surface:#fff;--play-surface-soft:#f5faff;--play-ink:#12324a;--play-muted:#627d91;--play-line:#d8e8f2;--play-blue:#0e78b8;--play-blue-deep:#075c9f;--play-blue-soft:#dff2fc;--play-mint:#22b98c;--play-mint-soft:#daf7ed;--play-yellow:#ffc94d;--play-coral:#ed6573;--play-shadow:0 18px 48px #26638821;height:auto;min-height:100dvh;color:var(--play-ink);background:radial-gradient(circle at 8% 0%, #5cbeee2e, transparent 34rem), linear-gradient(180deg, #f6fbfe 0%, var(--play-bg) 100%);padding:14px clamp(14px,2.5vw,32px) 40px;overflow:hidden auto}.app-shell--construction .motion-scene,.app-shell--battle .motion-scene,.app-shell--completed .motion-scene{display:none}.app-shell--construction .topbar,.app-shell--battle .topbar,.app-shell--completed .topbar{width:min(1180px,100%);min-height:52px;color:var(--play-ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #d8e8f2d1;border-radius:18px;margin-bottom:18px;padding:6px 8px 6px 14px;box-shadow:0 8px 28px #26638817}.app-shell--construction .brand,.app-shell--battle .brand,.app-shell--completed .brand{min-width:0;padding:0}.app-shell--construction .brand img,.app-shell--battle .brand img,.app-shell--completed .brand img{width:clamp(116px,13vw,150px);display:block}.app-shell--construction .topbar-meta,.app-shell--battle .topbar-meta,.app-shell--completed .topbar-meta{color:var(--play-muted)}.app-shell--construction .connection-pill,.app-shell--battle .connection-pill,.app-shell--completed .connection-pill{border-color:var(--play-line);color:var(--play-muted);background:var(--play-surface-soft)}.app-shell--construction .connection-pill--connected,.app-shell--battle .connection-pill--connected,.app-shell--completed .connection-pill--connected{color:#14795c;background:#e9faf4;border-color:#b6ead9}.app-shell--construction .sound-toggle,.app-shell--battle .sound-toggle,.app-shell--completed .sound-toggle{border-color:var(--play-line);width:36px;height:36px;min-height:36px;color:var(--play-muted);background:var(--play-surface-soft);place-items:center;padding:8px;display:grid}.app-shell--construction .sound-toggle svg,.app-shell--battle .sound-toggle svg,.app-shell--completed .sound-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px;height:18px}.app-shell--construction .sound-toggle[aria-pressed=true],.app-shell--battle .sound-toggle[aria-pressed=true],.app-shell--completed .sound-toggle[aria-pressed=true]{color:#118263;background:var(--play-mint-soft);border-color:#a9dfcf}.app-shell--construction .language-select,.app-shell--battle .language-select,.app-shell--completed .language-select{border-color:var(--play-line);min-height:36px;color:var(--play-ink);background-color:var(--play-surface-soft)}.app-shell--construction .eyebrow,.app-shell--battle .eyebrow,.app-shell--completed .eyebrow{color:var(--play-blue)}.app-shell--construction .timer,.app-shell--battle .timer,.app-shell--completed .timer{color:#fff;background:var(--play-blue-deep);min-width:82px;min-height:42px;box-shadow:none;border:0;border-radius:12px}.app-shell--construction .timer--warning,.app-shell--construction .timer--critical,.app-shell--construction .timer--final,.app-shell--construction .timer--expired,.app-shell--battle .timer--warning,.app-shell--battle .timer--critical,.app-shell--battle .timer--final,.app-shell--battle .timer--expired{background:var(--play-coral)}.app-shell--construction .button,.app-shell--battle .button,.app-shell--completed .button{min-height:44px;box-shadow:none;border-radius:12px;font-weight:850}.app-shell--construction .button--primary,.app-shell--battle .button--primary,.app-shell--completed .button--primary{color:#fff;background:linear-gradient(180deg, #1688ca, var(--play-blue-deep))}.app-shell--construction .button--secondary,.app-shell--battle .button--secondary,.app-shell--completed .button--secondary{color:var(--play-blue-deep);background:var(--play-blue-soft);border-color:#c9dfeb}.app-shell--construction .button--ghost,.app-shell--battle .button--ghost,.app-shell--completed .button--ghost{border-color:var(--play-line);color:var(--play-muted);background:var(--play-surface)}.app-shell--construction .button--warning,.app-shell--battle .button--warning,.app-shell--completed .button--warning{color:#4c3800;background:var(--play-yellow)}.app-shell--construction .button:disabled,.app-shell--battle .button:disabled,.app-shell--completed .button:disabled{opacity:.42;filter:none}.app-shell--construction .construction-table{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(420px,1.18fr) minmax(330px,.82fr);align-items:start;gap:14px 18px;width:min(1120px,100%);display:grid}.app-shell--construction .game-phase-header{border-bottom:1px solid var(--play-line);grid-column:1/-1;align-items:center;min-height:64px;padding:0 2px 14px}.app-shell--construction .game-phase-header .eyebrow{margin-bottom:4px}.app-shell--construction .game-phase-header h2{clip:auto;width:auto;height:auto;color:var(--play-ink);white-space:normal;font-size:clamp(1.6rem,2.8vw,2.2rem);position:static;overflow:visible}.app-shell--construction .construction-stats{grid-area:2/2;gap:8px}.app-shell--construction .construction-stats>div{min-height:84px;color:var(--play-ink);background:var(--play-surface);border:1px solid #cce5f2;border-radius:16px;align-content:center;gap:4px;padding:10px 8px;box-shadow:0 8px 22px #26638814}.app-shell--construction .construction-stats>div:after,.app-shell--construction .tile-pool:after,.app-shell--construction .letter-tile:after,.app-shell--construction .game-primary-action:after,.app-shell--construction .validation-panel:after{display:none!important}.app-shell--construction .construction-stats strong{color:var(--play-blue-deep);font-size:clamp(1.15rem,2vw,1.55rem)}.app-shell--construction .construction-stats span{color:var(--play-muted);letter-spacing:.045em;font-size:.64rem}.app-shell--construction .construction-table>.board-panel{border:1px solid var(--play-line);background:var(--play-surface);width:100%;max-width:650px;box-shadow:var(--play-shadow);background-image:none;border-radius:22px;grid-area:2/1/4;justify-self:end;padding:clamp(12px,1.7vw,18px)}.app-shell--construction .game-board-wrap,.app-shell--battle .game-board-wrap{border:8px solid var(--play-blue-deep);background:#0c6fb5;border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff2e}.app-shell--construction .helper-text{min-height:34px;color:var(--play-muted);align-items:center;margin:9px 2px 0;font-size:.74rem;display:grid}.app-shell--construction .control-panel{border:1px solid var(--play-line);width:100%;max-height:none;color:var(--play-ink);background:var(--play-surface);box-shadow:var(--play-shadow);background-image:none;border-radius:22px;grid-area:3/2;padding:16px;overflow:visible}.app-shell--construction .tray-heading h3{color:var(--play-ink);font-size:.84rem}.app-shell--construction .tray-heading span{color:var(--play-muted)}.app-shell--construction .tile-pool{background:var(--play-blue-soft);background-image:none;border:1px solid #cce3ef;border-radius:16px;min-height:120px;padding:10px;display:block}.app-shell--construction .tile-pool__grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;display:grid}.app-shell--construction .letter-tile,.app-shell--construction .letter-tile-slot{aspect-ratio:.9;border-radius:8px;min-width:0}.app-shell--construction .letter-tile{color:var(--play-blue-deep);background:#fff;border:2px solid #0000;box-shadow:0 3px #bdd8e8}.app-shell--construction .letter-tile strong{font-size:clamp(.78rem,1.5vw,1.06rem)}.app-shell--construction .letter-tile--selected{background:#f6fcff;border-color:#69bdea}.app-shell--construction .letter-tile--active{background:#fff9e8;border-color:#e6ad24;transform:translateY(-2px);box-shadow:0 3px #d29e20,0 0 0 3px #ffc94d3d}.app-shell--construction .game-primary-action{border:0;border-radius:14px;min-height:54px;margin-top:14px;font-size:.92rem;background-image:none!important}.app-shell--construction .validation-panel{color:#73560b;background:#fff8df;border:1px solid #f1d58a;margin-top:12px}.app-shell--construction .validation-panel span,.app-shell--construction .validation-panel ul{color:inherit;opacity:.82}.app-shell--construction .construction-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell--battle .match-layout--battle{grid-template-rows:auto;grid-template-columns:minmax(500px,1.2fr) minmax(360px,.8fr);place-items:start stretch;gap:18px;width:min(1180px,100%);height:auto;min-height:0;display:grid;overflow:visible}.app-shell--battle .battle-board-panel{aspect-ratio:auto;border:1px solid var(--play-line);width:100%;min-height:0;color:var(--play-ink);background:var(--play-surface);box-shadow:var(--play-shadow);background-image:none;border-radius:22px;grid-template-rows:auto auto minmax(0,1fr) auto;padding:18px;display:grid;overflow:visible}.app-shell--battle .battle-board-panel .panel-heading h2{color:var(--play-ink);font-size:clamp(1.45rem,2.7vw,2rem)}.app-shell--battle .battle-board-panel .eyebrow{font-size:.62rem}.app-shell--battle .battle-compact-stats{color:var(--play-muted);gap:4px 10px;font-size:.65rem}.app-shell--battle .battle-compact-stats span:first-child{color:var(--play-mint)}.app-shell--battle .history-button,.app-shell--battle .surrender-button{border:1px solid var(--play-line);width:42px;min-width:42px;min-height:42px;color:var(--play-muted);background:var(--play-surface-soft);border-radius:12px}.app-shell--battle .history-button b{border-color:#fff}.app-shell--battle .battle-instruction{color:#276b91;background:#eef9fe;border:1px solid #c8e4f1;border-radius:12px;width:100%;min-height:38px;margin:0 0 12px;padding:8px 12px;font-size:.72rem}.app-shell--battle .battle-readiness--ready{color:#14795c;background:var(--play-mint-soft);border-color:#a9e3d2}.app-shell--battle .battle-readiness:after,.app-shell--battle .battle-controls:after,.app-shell--battle .hand .card:after,.app-shell--battle .battle-end-turn-button:after{display:none!important}.app-shell--battle .battle-stage{aspect-ratio:auto;background:0 0;width:100%;margin:0;overflow:visible}.app-shell--battle .battle-board-shell{width:min(100%,610px);padding:0;animation:none;transform:none}.app-shell--battle .battle-stage .game-board-wrap{width:100%;max-height:none}.app-shell--battle .board-view-thumbnail{color:#fff;background:var(--play-blue-deep);border:2px solid #fff;border-radius:12px;gap:5px;width:78px;padding:6px;top:12px;right:12px;box-shadow:0 8px 22px #0240693d}.app-shell--battle .board-view-thumbnail>strong{font-size:.51rem}.app-shell--battle .battle-board-footer{min-height:34px;color:var(--play-muted);margin:8px 0 0}.app-shell--battle .target-list{color:var(--play-muted);padding-top:0}.app-shell--battle .target-list span{background:var(--play-blue-soft)}.app-shell--battle .target-count{color:var(--play-blue-deep);margin-top:0}.app-shell--battle .battle-controls{aspect-ratio:auto;border:1px solid var(--play-line);width:100%;min-height:0;color:var(--play-ink);background:var(--play-surface);box-shadow:var(--play-shadow);background-image:none;border-radius:22px;gap:12px;margin:0;padding:16px;display:grid;position:sticky;top:12px;overflow:visible}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{z-index:auto;width:100%;height:auto;min-height:112px;color:var(--play-ink);background:var(--play-surface-soft);box-shadow:none;border:1px solid #cbe4f0;border-radius:16px;padding:14px;position:relative;inset:auto}.app-shell--battle .battle-action-dock__copy{min-height:82px;color:var(--play-ink)}.app-shell--battle .battle-action-dock__copy>span{color:var(--play-blue);font-size:.58rem}.app-shell--battle .battle-action-dock__copy>strong{color:var(--play-ink);font-size:1.12rem}.app-shell--battle .battle-action-dock__copy>p{color:var(--play-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.4;display:-webkit-box;overflow:hidden}.app-shell--battle .battle-action-dock__copy>small{color:#9a6b00;font-size:.65rem}.app-shell--battle .battle-command-row{z-index:auto;gap:12px;width:100%;height:auto;display:grid;position:relative;inset:auto;overflow:visible}.app-shell--battle .hand-zone{width:100%;height:auto;position:relative;inset:auto;overflow:visible}.app-shell--battle .battle-command-row .hand{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0;display:grid;position:relative;inset:auto;overflow:visible}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){aspect-ratio:auto;border:2px solid var(--play-line);width:100%;min-width:0;max-width:none;min-height:132px;color:var(--play-ink);background:#fff;border-radius:14px;grid-template-rows:auto auto 1fr;gap:6px;margin:0;padding:7px 7px 26px;display:grid;overflow:hidden;transform:none;box-shadow:0 4px #d3e4ee}.app-shell--battle .hand .card>img{aspect-ratio:16/9;object-fit:cover;background:var(--play-blue-soft);border:0;border-radius:8px;width:100%}.app-shell--battle .hand .card>span:not(.sr-only){width:auto;height:auto;color:var(--play-blue);letter-spacing:.04em;background:0 0;font-size:.48rem}.app-shell--battle .hand .card>span:not(.sr-only):before{display:none}.app-shell--battle .hand .card strong{color:var(--play-ink);align-self:start;font-size:clamp(.58rem,.9vw,.72rem);line-height:1.15}.app-shell--battle .hand .card__cost{color:#573f00;background:var(--play-yellow);border:0;bottom:6px;right:6px}.app-shell--battle .hand .card:hover:not(:disabled),.app-shell--battle .hand .card.card--active{background:#fffaf0;border-color:#e8af21;transform:translateY(-3px);box-shadow:0 4px #d6a11f,0 0 0 3px #ffc94d38}.app-shell--battle .hand .card.card--unaffordable{opacity:.58}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;height:auto;padding:0;display:grid;position:relative;inset:auto}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{aspect-ratio:auto;border:1px solid var(--play-line);width:100%;height:auto;color:var(--play-muted);background:var(--play-surface-soft);box-shadow:none;text-shadow:none;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:.72rem;background-image:none!important;min-height:46px!important}.app-shell--battle .battle-action-area .battle-fire-button{color:#4d3700;background:linear-gradient(180deg, #ffd865, var(--play-yellow));border:0;grid-column:1/-1;font-size:.82rem;min-height:54px!important}.app-shell--battle .battle-action-area .battle-clear-button:not(:disabled){color:var(--play-blue-deep);background:var(--play-blue-soft);border-color:#c9dfeb}.app-shell--battle .battle-action-area .battle-end-turn-button:not(:disabled){border-color:var(--play-blue-deep);color:#fff;background:var(--play-blue-deep)}.app-shell--battle .battle-action-area .button:disabled{color:var(--play-muted);opacity:.48;background:#edf3f6}.app-shell--battle .mana-bar{min-height:34px;color:var(--play-ink);margin:0;position:relative;inset:auto}.app-shell--battle .mana-bar__track{height:28px;box-shadow:none;background:#eaf2f6;border:1px solid #c7dce8}.app-shell--completed .result-screen{border:1px solid var(--play-line);color:var(--play-ink);background:var(--play-surface);box-shadow:var(--play-shadow)}.app-shell--completed .result-summary>div,.app-shell--completed .result-boards>div{border-color:var(--play-line);background:var(--play-surface-soft)}@media (width>=721px) and (width<=1024px){.app-shell--construction,.app-shell--battle,.app-shell--completed{padding:10px 14px 30px}.app-shell--construction .construction-table{grid-template-columns:minmax(390px,1.12fr) minmax(300px,.88fr);gap:12px}.app-shell--construction .construction-stats>div{min-height:72px}.app-shell--construction .control-panel{padding:13px}.app-shell--construction .tile-pool{min-height:104px;padding:8px}.app-shell--construction .tile-pool__grid{gap:5px}.app-shell--battle .match-layout--battle{grid-template-columns:minmax(430px,1.14fr) minmax(300px,.86fr);gap:12px}.app-shell--battle .battle-board-panel,.app-shell--battle .battle-controls{padding:13px}.app-shell--battle .battle-controls{gap:9px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{min-height:92px;padding:11px}.app-shell--battle .battle-action-dock__copy{min-height:68px}.app-shell--battle .battle-command-row .hand{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){grid-template-rows:auto 1fr;grid-template-columns:42% 1fr;min-height:116px;padding-bottom:24px}.app-shell--battle .hand .card>img{aspect-ratio:auto;grid-row:1/3;height:100%}}@media (width<=760px){.app-shell--construction,.app-shell--battle,.app-shell--completed{padding:8px 8px 28px}.app-shell--construction .topbar,.app-shell--battle .topbar,.app-shell--completed .topbar{border-radius:14px;min-height:48px;margin-bottom:10px;padding:5px 6px 5px 10px}.app-shell--construction .brand img,.app-shell--battle .brand img,.app-shell--completed .brand img{width:106px}.app-shell--construction .topbar-meta,.app-shell--battle .topbar-meta,.app-shell--completed .topbar-meta{gap:5px}.app-shell--construction .topbar-meta>span:not(.connection-pill):not(.status-dot),.app-shell--battle .topbar-meta>span:not(.connection-pill):not(.status-dot),.app-shell--completed .topbar-meta>span:not(.connection-pill):not(.status-dot),.app-shell--construction .topbar-meta>.status-dot,.app-shell--battle .topbar-meta>.status-dot,.app-shell--completed .topbar-meta>.status-dot,.app-shell--construction .topbar .connection-pill,.app-shell--battle .topbar .connection-pill,.app-shell--completed .topbar .connection-pill{display:none}.app-shell--construction .sound-toggle,.app-shell--battle .sound-toggle,.app-shell--completed .sound-toggle{width:34px;height:34px;min-height:34px;padding:7px}.app-shell--construction .language-select,.app-shell--battle .language-select,.app-shell--completed .language-select{max-width:82px;min-height:34px}.app-shell--construction .construction-table,.app-shell--battle .match-layout--battle{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;display:grid}.app-shell--construction .game-phase-header{grid-column:1;min-height:56px;padding:2px 3px 10px}.app-shell--construction .game-phase-header h2{font-size:clamp(1.25rem,6vw,1.65rem)}.app-shell--construction .construction-stats{grid-area:auto/1}.app-shell--construction .construction-stats>div{border-radius:13px;min-height:66px;padding:8px 5px}.app-shell--construction .construction-stats strong{font-size:1rem}.app-shell--construction .construction-stats span{font-size:.52rem}.app-shell--construction .construction-table>.board-panel{border-radius:18px;grid-area:auto/1;max-width:none;padding:9px}.app-shell--construction .game-board-wrap,.app-shell--battle .game-board-wrap{border-width:6px;border-radius:14px}.app-shell--construction .control-panel{border-radius:18px;grid-area:auto/1;padding:12px}.app-shell--construction .tile-pool{overscroll-behavior-x:contain;border-radius:14px;min-height:108px;padding:8px;overflow-x:auto}.app-shell--construction .tile-pool__grid{gap:6px;min-width:500px}.app-shell--construction .letter-tile strong{font-size:.9rem}.app-shell--construction .construction-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--construction .demo-note{gap:3px;display:grid}.app-shell--battle .battle-board-panel{border-radius:18px;grid-template-rows:auto auto auto auto;width:100%;padding:12px}.app-shell--battle .battle-board-panel .panel-heading{min-height:48px;margin-bottom:7px}.app-shell--battle .battle-board-panel .panel-heading h2{font-size:clamp(1.1rem,5vw,1.35rem)}.app-shell--battle .battle-compact-stats{font-size:.56rem}.app-shell--battle .battle-heading-actions{gap:4px}.app-shell--battle .history-button,.app-shell--battle .surrender-button{width:36px;min-width:36px;min-height:36px;padding:7px}.app-shell--battle .timer{min-width:68px;min-height:36px;padding:6px 8px;font-size:.85rem}.app-shell--battle .battle-instruction{min-height:34px;margin-bottom:9px;padding:7px 9px;font-size:.64rem}.app-shell--battle .battle-stage{aspect-ratio:auto;background:0 0;width:100%}.app-shell--battle .battle-board-shell,.app-shell--battle .battle-stage .game-board-wrap{width:100%}.app-shell--battle .board-view-thumbnail{width:64px;padding:5px;top:10px;right:10px}.app-shell--battle .battle-board-footer{margin-top:7px}.app-shell--battle .battle-controls{aspect-ratio:auto;background:var(--play-surface);background-image:none;border-radius:18px;gap:10px;width:100%;margin:0;padding:12px;position:relative;top:auto}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{border-radius:14px;min-height:92px;padding:11px}.app-shell--battle .battle-action-dock__copy{min-height:68px}.app-shell--battle .battle-action-dock__copy>strong{font-size:.98rem}.app-shell--battle .battle-action-dock__copy>p{font-size:.68rem}.app-shell--battle .battle-command-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;height:auto;display:grid;position:relative;inset:auto}.app-shell--battle .hand-zone{grid-row:auto}.app-shell--battle .battle-command-row .hand{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;gap:8px;padding:2px 2px 7px;display:flex;overflow-x:auto}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){scroll-snap-align:start;flex:0 0 112px;grid-template-rows:auto auto 1fr;grid-template-columns:1fr;width:112px;min-width:112px;min-height:132px;display:grid}.app-shell--battle .hand .card>img{aspect-ratio:16/9;grid-row:auto;height:auto}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-row:auto;grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--battle .battle-action-area .battle-fire-button{grid-column:1/-1}.app-shell--battle .battle-action-area .button{min-height:46px!important}}@media (width<=390px){.app-shell--construction .topbar-audio .music-toggle,.app-shell--battle .topbar-audio .music-toggle,.app-shell--completed .topbar-audio .music-toggle{display:none}.app-shell--battle .battle-board-panel{padding:10px}.app-shell--battle .battle-compact-stats span:nth-child(3){display:none}.app-shell--battle .board-view-thumbnail{width:58px}}.app-shell.app-shell--construction,.app-shell.app-shell--battle,.app-shell.app-shell--completed{height:auto;min-height:100dvh;color:var(--play-ink);background:radial-gradient(circle at 8% 0%, #5cbeee2e, transparent 34rem), linear-gradient(180deg, #f6fbfe 0%, var(--play-bg) 100%);overflow:hidden auto}.app-shell--construction .match-layout.construction-table{grid-template:auto auto minmax(0,1fr)/minmax(420px,1.18fr) minmax(330px,.82fr);align-items:start;gap:14px 18px;height:auto;min-height:0}.app-shell--construction .game-phase-header{grid-area:1/1/auto/-1}.app-shell--construction .construction-stats{background:0 0;grid-area:2/2;width:100%;height:auto;margin:0;padding:0}.app-shell--construction .construction-stats span{text-overflow:clip;white-space:normal;line-height:1.2;overflow:visible}.app-shell--construction .construction-table>.board-panel{aspect-ratio:auto;align-self:start;place-items:initial;border:1px solid var(--play-line);background:var(--play-surface);box-shadow:var(--play-shadow);border-radius:22px;grid-area:2/1/4;padding:clamp(12px,1.7vw,18px);display:block;overflow:visible}.app-shell--construction .construction-table>.board-panel>.helper-text{min-height:34px;color:var(--play-muted);text-align:left;text-overflow:clip;white-space:normal;margin:9px 2px 0;font-size:.74rem;position:static;inset:auto;overflow:visible}.app-shell--construction .construction-table>.control-panel{align-content:start;gap:initial;border:1px solid var(--play-line);background:var(--play-surface);min-height:0;box-shadow:var(--play-shadow);border-radius:22px;grid-area:3/2;padding:16px;overflow:visible}.app-shell--construction .tile-pool{aspect-ratio:auto;background:var(--play-blue-soft);border:1px solid #cce3ef;border-radius:16px;min-height:120px;padding:10px;overflow:auto hidden;container-type:normal}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(2,minmax(38px,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;min-width:0;position:static;inset:auto}.app-shell--construction .letter-tile{aspect-ratio:.9;width:100%;height:auto;color:var(--play-blue-deep);background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 3px #bdd8e8}.app-shell--construction .letter-tile strong{width:auto;height:auto;padding:0;font-size:clamp(.78rem,1.5vw,1.06rem);line-height:normal;display:block}.app-shell--construction .game-primary-action{aspect-ratio:auto;color:#fff;min-height:54px;text-shadow:none;border-radius:14px;padding:10px 14px;font-size:.92rem;background:linear-gradient(180deg, #1688ca, var(--play-blue-deep))!important}.app-shell--construction .construction-tools .button{border-color:var(--play-line);min-height:38px;color:var(--play-blue-deep);background:var(--play-blue-soft);box-shadow:none;border-radius:10px;padding:7px 9px;font-size:.64rem}.app-shell--construction .construction-tools .button:disabled{color:var(--play-muted);background:#edf3f6}.app-shell--battle .battle-command-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}@media (width>=761px){.app-shell--battle .battle-board-shell{width:min(100%,610px,100dvh - 336px)}}.app-shell--battle .battle-controls{grid-template-rows:auto auto auto;height:auto}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-area:2/1;grid-template-rows:54px 46px;align-content:start;min-height:108px}.app-shell--battle .battle-action-area .battle-end-turn-button,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{border:1px solid var(--play-line)!important;color:var(--play-muted)!important;background:#edf3f6!important}@media (width>=721px) and (width<=1024px){.app-shell--construction .match-layout.construction-table{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(390px,1.12fr) minmax(300px,.88fr);gap:12px}}@media (width<=760px){.app-shell.app-shell--construction,.app-shell.app-shell--battle,.app-shell.app-shell--completed{height:auto;min-height:100dvh;padding:8px 8px 28px;overflow-y:auto}.app-shell--construction .match-layout.construction-table{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:10px}.app-shell--construction .game-phase-header,.app-shell--construction .construction-stats,.app-shell--construction .construction-table>.board-panel,.app-shell--construction .construction-table>.control-panel{grid-area:auto/1}.app-shell--construction .construction-table>.board-panel,.app-shell--construction .construction-table>.control-panel{border-radius:18px}.app-shell--construction .construction-table>.control-panel{padding:12px}.app-shell--construction .tile-pool{min-height:108px;padding:8px}.app-shell--construction .tile-pool__grid{gap:6px;min-width:500px}.app-shell--battle .battle-command-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-row:2}}.app-shell--construction,.app-shell--battle,.app-shell--completed{--play-bg:#031c24;--play-surface:#075d68;--play-surface-soft:#063f4b;--play-ink:#f4ead4;--play-muted:#abcfc5;--play-line:#d2a63f;--play-blue:#15929a;--play-blue-deep:#063f4b;--play-blue-soft:#0a6973;--play-mint:#62d7a2;--play-mint-soft:#174f4e;--play-yellow:#f7bf4b;--play-coral:#db5a65;--play-shadow:0 16px 36px #00080d6b;color:var(--play-ink)}.app-shell.app-shell--construction,.app-shell.app-shell--battle,.app-shell.app-shell--completed{color:var(--play-ink);background:radial-gradient(circle at 50% -20%,#1b899152,#0000 42rem),linear-gradient(#53c0c10d 1px,#0000 1px) 0 0/36px 36px,linear-gradient(90deg,#53c0c10d 1px,#0000 1px) 0 0/36px 36px,linear-gradient(#063945 0%,#031c24 58%,#02151c 100%)}.app-shell--construction .topbar,.app-shell--battle .topbar,.app-shell--completed .topbar{color:var(--play-ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#ffffff17,#0000 44%),linear-gradient(#117781,#07505b);border:2px solid #c99634;border-radius:12px;box-shadow:inset 0 0 0 2px #092f3a,inset 0 -4px #021e2561,0 7px #021921,0 15px 28px #00070b47}.app-shell--construction .topbar:before,.app-shell--battle .topbar:before,.app-shell--completed .topbar:before{content:"";background:#f7bf4b;border:2px solid #092f3a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:inset 0 1px #fff0a8}.app-shell--construction .topbar-meta,.app-shell--battle .topbar-meta,.app-shell--completed .topbar-meta,.app-shell--construction .topbar-meta>span,.app-shell--battle .topbar-meta>span,.app-shell--completed .topbar-meta>span{color:#d6e9df}.app-shell--construction .connection-pill,.app-shell--battle .connection-pill,.app-shell--completed .connection-pill,.app-shell--construction .sound-toggle,.app-shell--battle .sound-toggle,.app-shell--completed .sound-toggle,.app-shell--construction .language-select,.app-shell--battle .language-select,.app-shell--completed .language-select{color:#f4ead4;background-color:#063f4b;border:2px solid #092f3a;border-radius:8px;box-shadow:0 2px #092f3a}.app-shell--construction .connection-pill--connected,.app-shell--battle .connection-pill--connected,.app-shell--completed .connection-pill--connected,.app-shell--construction .sound-toggle[aria-pressed=true],.app-shell--battle .sound-toggle[aria-pressed=true],.app-shell--completed .sound-toggle[aria-pressed=true]{color:#dff9e9;background:#087062;border-color:#d4aa47}.app-shell--construction .eyebrow,.app-shell--battle .eyebrow,.app-shell--completed .eyebrow,.app-shell--construction .tray-heading span,.app-shell--battle .battle-action-dock__copy>span{color:#f7bf4b}.app-shell--construction .eyebrow,.app-shell--battle .eyebrow,.app-shell--construction .construction-stats span,.app-shell--battle .battle-compact-stats,.app-shell--construction .helper-text,.app-shell--battle .battle-instruction,.app-shell--construction .button,.app-shell--battle .button{font-family:SFMono-Regular,Roboto Mono,ui-monospace,monospace}.app-shell--construction .timer,.app-shell--battle .timer,.app-shell--completed .timer{color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;border-radius:8px;box-shadow:inset 0 1px #ffe998,0 3px #092f3a}.app-shell--construction .timer--warning,.app-shell--construction .timer--critical,.app-shell--construction .timer--final,.app-shell--construction .timer--expired,.app-shell--battle .timer--warning,.app-shell--battle .timer--critical,.app-shell--battle .timer--final,.app-shell--battle .timer--expired{color:#fff4e4;background:#c6414f}.app-shell--construction .game-phase-header{border-bottom-color:#f7bf4b61}.app-shell--construction .game-phase-header h2,.app-shell--battle .battle-board-panel .panel-heading h2,.app-shell--construction .tray-heading h3{color:#f4ead4;text-shadow:0 3px #032028bf}.app-shell--construction .construction-stats>div{color:#f4ead4;min-height:60px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 4px 0 23%}.app-shell--construction .construction-stats strong{color:#f4ead4;text-shadow:0 2px #032f38}.app-shell--construction .construction-stats span{color:#f4ead4b8}.app-shell--construction .construction-table>.board-panel{box-shadow:none;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:clamp(42px,5vw,58px) clamp(40px,4.8vw,55px) clamp(46px,5.4vw,62px);position:relative}.app-shell--construction .game-board-wrap,.app-shell--battle .game-board-wrap{background:#075d68;border:3px solid #092f3a;border-radius:11px;box-shadow:0 0 0 2px #d6aa43,0 7px #032f38,inset 0 0 0 1px #ffefab1f}.app-shell--construction .construction-table>.board-panel>.helper-text{color:#c5dcd4;background:#032f38c2;border:1px solid #daae4c8a;border-radius:7px;padding:7px 9px;box-shadow:inset 0 0 10px #000f1559}.app-shell--construction .construction-table>.control-panel{box-shadow:none;background:url(/assets/game-ui/status-command-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:clamp(76px,6.6vw,92px) clamp(34px,4vw,46px) clamp(62px,5.5vw,76px)}.app-shell--construction .tray-heading{margin-bottom:7px}.app-shell--construction .tray-heading span{color:#abcfc5;font-size:.5rem}.app-shell--construction .tile-pool{--rack-grid-inline-start:13.7%;--rack-grid-inline-end:13.9%;--rack-grid-block-start:26.74%;--rack-grid-block-end:37.92%;--rack-column-gap:1.44cqw;--rack-row-gap:1.83cqw;--rack-tile-inset:clamp(1px, .35cqw, 3px);aspect-ratio:2022/778;width:100%;min-height:0;box-shadow:none;background:#063f4b;border:0;border-radius:0;padding:0;position:relative;overflow:hidden;container-type:inline-size}.app-shell--construction .tile-pool__grid{z-index:1;inset:var(--rack-grid-block-start) var(--rack-grid-inline-end) var(--rack-grid-block-end) var(--rack-grid-inline-start);column-gap:var(--rack-column-gap);row-gap:var(--rack-row-gap);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));min-width:0;position:absolute}.app-shell--construction .letter-tile,.app-shell--construction .letter-tile-slot{width:calc(100% - (var(--rack-tile-inset) * 2));min-width:0;min-height:0;height:calc(100% - (var(--rack-tile-inset) * 2));aspect-ratio:1;place-self:center}.app-shell--construction .letter-tile{color:#092f3a;background:#f4ead4;border:clamp(1px,.28cqw,2px) solid #092f3a;border-radius:clamp(4px,.7cqw,7px);padding:0;box-shadow:0 clamp(1px,.35cqw,3px) #092f3a}.app-shell--construction .letter-tile strong{place-items:center;width:100%;height:100%;padding-bottom:7%;font-size:clamp(.65rem,3.5cqw,1.05rem);display:grid}.app-shell--construction .letter-tile--active,.app-shell--construction .letter-tile--selected{color:#092f3a;background:#f7bf4b;border-color:#092f3a;box-shadow:0 3px #092f3a,0 0 0 3px #f7bf4b59}.app-shell--construction .game-primary-action{aspect-ratio:569/174;color:#092f3a;min-height:0;box-shadow:none;text-shadow:0 1px #ffffff47;border:0;border-radius:0;padding:10px 9% 10px 29%;font-size:clamp(1rem,2.6vw,1.55rem);background:url(/assets/game-ui/launch-control-tight.webp) 50%/contain no-repeat!important}.app-shell--construction .game-primary-action:disabled{filter:saturate(.45)brightness(.78);opacity:.75}.app-shell--construction .validation-panel{color:#092f3a;background:#f4ead4;border:2px solid #092f3a;border-radius:9px;box-shadow:0 3px #092f3a}.app-shell--construction .validation-panel--valid{color:#174c3f;background:#cfe8d5;border-color:#092f3a}.app-shell--construction .construction-tools .button,.app-shell--construction .button--secondary,.app-shell--construction .button--ghost{color:#f4ead4;background:#075d68;border:2px solid #092f3a;border-radius:7px;box-shadow:0 3px #092f3a}.app-shell--construction .demo-note,.app-shell--construction .opponent-status{color:#abcfc5}.app-shell--construction .demo-note{border-top:1px solid #f7bf4b47;margin-top:8px;padding:7px 5px 0}.app-shell--construction .demo-note strong{color:#f7bf4b}.app-shell--battle .battle-board-panel{color:#f4ead4;box-shadow:none;background:url(/assets/game-ui/battle-board-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:clamp(24px,3vw,38px) clamp(28px,3.4vw,44px) clamp(22px,2.8vw,34px)}.app-shell--battle .battle-board-panel .panel-heading h2{color:#f4ead4}.app-shell--battle .battle-compact-stats,.app-shell--battle .battle-board-footer,.app-shell--battle .target-list{color:#abcfc5}.app-shell--battle .battle-compact-stats span:first-child,.app-shell--battle .target-count{color:#f7bf4b}.app-shell--battle .history-button,.app-shell--battle .surrender-button{color:#f4ead4;background:#075d68;border:2px solid #092f3a;border-radius:8px;box-shadow:0 3px #092f3a}.app-shell--battle .battle-instruction,.app-shell--battle .battle-readiness--ready{color:#092f3a;background:#f4ead4;border:2px solid #092f3a;border-radius:7px;box-shadow:inset 0 0 0 1px #d7b86f}.app-shell--battle .battle-stage{background:0 0}.app-shell--battle .board-view-thumbnail{aspect-ratio:175/101;color:#f4ead4;width:112px;min-height:0;box-shadow:none;background:url(/assets/game-ui/board-switch-tab.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:14px 16px 11px 26px}.app-shell--battle .target-list span{color:#d4e7de;background:#032f38bd;border:1px solid #d3a84473}.app-shell--battle .battle-controls{color:#f4ead4;box-shadow:none;background:url(/assets/game-ui/status-command-frame.webp) 50%/contain no-repeat;border:0;border-radius:0;padding:clamp(50px,4.8vw,66px) clamp(38px,3.8vw,52px) clamp(48px,4.6vw,62px)}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{color:#f4ead4;background:linear-gradient(#ffffff0d,#0000 45%),#02313beb;border:2px solid #c99a3a;border-radius:8px;box-shadow:inset 0 0 0 2px #092f3a,inset 0 0 22px #000b1566}.app-shell--battle .battle-action-dock__copy,.app-shell--battle .battle-action-dock__copy>strong{color:#f4ead4}.app-shell--battle .battle-action-dock__copy>p{color:#b8d5cc}.app-shell--battle .battle-action-dock__copy>small{color:#f7bf4b}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){color:#092f3a;background:linear-gradient(#fff5dc 0%,#ead5a7 100%);border:2px solid #092f3a;border-radius:8px;box-shadow:inset 0 0 0 1px #d4a948,0 4px #092f3a}.app-shell--battle .hand .card>img{background:#075d68;border:2px solid #092f3a;border-radius:5px}.app-shell--battle .hand .card>span:not(.sr-only){color:#725611}.app-shell--battle .hand .card strong{color:#092f3a}.app-shell--battle .hand .card__cost{color:#092f3a;background:#f7bf4b;border:2px solid #092f3a;box-shadow:0 2px #092f3a}.app-shell--battle .hand .card:hover:not(:disabled),.app-shell--battle .hand .card.card--active{background:linear-gradient(#fff1b8 0%,#f3c654 100%);border-color:#092f3a;box-shadow:inset 0 0 0 2px #fff1a2,0 4px #092f3a,0 0 0 3px #f7bf4b}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{box-shadow:none;text-shadow:0 1px #ffffff4d;border-radius:0;padding:9px 12px;color:#092f3a!important;background-color:#0000!important;background-image:url(/assets/game-ui/action-button-base.webp)!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important;border:0!important;min-height:46px!important}.app-shell--battle .battle-action-area .battle-fire-button{background-image:url(/assets/game-ui/action-button-wide.webp)!important;min-height:54px!important}.app-shell--battle .battle-action-area .button:hover:not(:disabled),.app-shell--battle .battle-action-area .button:focus-visible:not(:disabled){color:#092f3a;filter:brightness(1.06)saturate(1.05);transform:translateY(-1px)}.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{filter:saturate(.45)brightness(.82);opacity:.76;color:#092f3a7a!important}.app-shell--battle .mana-bar{color:#f4ead4}.app-shell--battle .mana-bar__track{background:#032f38;border:2px solid #092f3a;border-radius:7px;box-shadow:inset 0 0 8px #000a0f99,0 2px #c99736}.app-shell--battle .mana-bar__segment--filled{background:linear-gradient(#ffe17b,#f0b72f);box-shadow:inset 0 1px #fff0aa}.app-shell--battle .mana-bar__value{color:#f7bf4b;text-shadow:0 2px #032f38}.app-shell--completed .result-screen{color:#f4ead4;background:linear-gradient(#0b6872,#063f4b);border:3px solid #c99736;border-radius:16px;box-shadow:inset 0 0 0 3px #092f3a,0 8px #021921}.app-shell--completed .result-summary>div,.app-shell--completed .result-boards>div{color:#f4ead4;background:#032f38;border-color:#c99736}@media (width>=721px) and (width<=1024px){.app-shell--construction .construction-table>.board-panel{padding:38px 37px 43px}.app-shell--construction .construction-table>.control-panel{padding:68px 31px 58px}.app-shell--battle .battle-board-panel{padding:23px 27px 22px}.app-shell--battle .battle-controls{padding:45px 34px 43px}}@media (width<=760px){.app-shell--construction .topbar,.app-shell--battle .topbar,.app-shell--completed .topbar{border-radius:9px;box-shadow:inset 0 0 0 1px #092f3a,0 4px #021921}.app-shell--construction .topbar:before,.app-shell--battle .topbar:before,.app-shell--completed .topbar:before{display:none}.app-shell--construction .construction-stats{min-height:70px;padding:11px 10px 10px}.app-shell--construction .construction-stats>div{min-height:48px;padding-left:25%}.app-shell--construction .construction-stats strong{font-size:.82rem}.app-shell--construction .construction-stats span{font-size:.42rem}.app-shell--construction .construction-table>.board-panel{padding:31px 30px 35px}.app-shell--construction .construction-table>.board-panel>.helper-text{margin-top:7px;padding:5px 7px;font-size:.55rem}.app-shell--construction .construction-table>.control-panel{padding:72px 28px 58px}.app-shell--construction .tile-pool{--rack-grid-inline-start:19.33%;--rack-grid-inline-end:20.17%;--rack-grid-block-start:16.78%;--rack-grid-block-end:15.69%;--rack-column-gap:3.46cqw;--rack-row-gap:2.63cqw;--rack-tile-inset:clamp(1px, .48cqw, 3px);aspect-ratio:1562/1007;background-image:none;min-height:0;overflow:hidden}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr));min-width:0}.app-shell--construction .letter-tile strong{font-size:clamp(.72rem,4.1cqw,1.05rem)}.app-shell--construction .game-primary-action{font-size:clamp(1rem,5vw,1.3rem)}.app-shell--battle .battle-board-panel{background-size:contain;padding:18px 15px 17px}.app-shell--battle .battle-board-panel .panel-heading h2{color:#f4ead4}.app-shell--battle .battle-instruction{margin-inline:2px}.app-shell--battle .board-view-thumbnail{width:76px;padding:9px 10px 7px 18px}.app-shell--battle .battle-controls{background-image:url(/assets/game-ui/status-command-frame.webp);background-size:contain;padding:43px 29px 41px}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){flex-basis:112px;width:112px;min-width:112px}}.app-shell--construction .construction-stats{background:0 0;gap:8px;min-height:84px;padding:0}.app-shell--construction .construction-stats>div{color:#f4ead4;background:radial-gradient(circle at 18px 18px,#f7bf4b 0 4px,#092f3a 5px 7px,#0000 8px),linear-gradient(#ffffff17,#0000 42%),#075d68;border:2px solid #c99736;border-radius:13px;min-height:84px;padding:10px 6px;box-shadow:inset 0 0 0 2px #092f3a,inset 0 -5px #02272f73,0 4px #021921}.app-shell--construction .construction-stats strong,.app-shell--construction .construction-stats span{padding-left:12px}.app-shell--construction .construction-table>.board-panel{aspect-ratio:1;background-size:contain;place-items:center;width:min(100%,650px);padding:9% 9% 10%;display:grid}.app-shell--construction .construction-table>.board-panel>.helper-text{z-index:3;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-height:28px;margin:0;position:absolute;bottom:4.8%;left:16.5%;right:12.5%;overflow:hidden}.app-shell--construction .construction-table>.control-panel{background:radial-gradient(circle at 18px 18px,#f7bf4b 0 4px,#092f3a 5px 7px,#0000 8px),radial-gradient(circle at calc(100% - 18px) calc(100% - 18px),#f7bf4b 0 4px,#092f3a 5px 7px,#0000 8px),linear-gradient(#ffffff12,#0000 28%),#063f4b;border:3px solid #c99736;border-radius:18px;padding:18px;box-shadow:inset 0 0 0 3px #092f3a,inset 0 0 0 5px #209c9f57,0 7px #021921,0 18px 35px #00090e52}.app-shell--construction .opponent-status{margin-bottom:0}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{aspect-ratio:auto;border-radius:8px;height:auto;box-shadow:inset 0 0 0 1px #c99736,inset 0 -4px #855d1433,0 3px #021921;color:#092f3a!important;background-color:#f4ead4!important;background-image:linear-gradient(#fff9e9,#dfc58f)!important;background-size:auto!important;border:2px solid #092f3a!important}.app-shell--battle .battle-action-area .battle-fire-button{box-shadow:inset 0 0 0 1px #fff0a2,inset 0 -4px #78490038,0 3px #021921;color:#092f3a!important;background-color:#f7bf4b!important;background-image:linear-gradient(#ffda63,#e9a927)!important}.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{background-color:#b4c1b9!important;background-image:linear-gradient(#d8ded8,#9eaaa5)!important}@media (width>=761px){.app-shell--battle .battle-board-panel{aspect-ratio:1200/733;background-size:contain;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;max-width:780px;padding:17px 27px 15px}.app-shell--battle .battle-board-panel .panel-heading{min-height:42px;margin-bottom:3px}.app-shell--battle .battle-instruction{min-height:28px;margin-bottom:4px;padding-block:5px}.app-shell--battle .battle-stage{place-items:center;width:100%;height:100%;min-height:0;display:grid}.app-shell--battle .battle-board-shell{aspect-ratio:1;width:auto;max-width:100%;height:100%}.app-shell--battle .battle-stage .game-board-wrap{width:100%}.app-shell--battle .battle-board-footer{min-height:22px;margin-top:2px}.app-shell--battle .battle-controls{aspect-ratio:1;background-size:contain;align-content:start;gap:8px;width:100%;max-width:520px;padding:43px 36px 38px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{min-height:74px;padding:9px 11px}.app-shell--battle .battle-action-dock__copy{min-height:54px}.app-shell--battle .battle-action-dock__copy>p{-webkit-line-clamp:1}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){min-height:100px;padding:6px 6px 23px}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){align-self:start;gap:5px;height:79px;min-height:76px;max-height:79px;grid-template-rows:40px 34px!important;align-items:start!important}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{align-self:start!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:6px 9px!important}.app-shell--battle .battle-action-area .battle-fire-button{height:40px!important;min-height:40px!important;max-height:40px!important}.app-shell--battle .mana-bar{min-height:28px}.app-shell--battle .mana-bar__track{height:24px}}@media (width>=761px) and (width<=1024px){.app-shell--battle .match-layout--battle{grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px;width:min(740px,100%)}.app-shell--battle .battle-board-panel{width:min(100%,740px)}.app-shell--battle .battle-controls{width:min(520px,100%);position:relative;top:auto}.app-shell--battle .battle-command-row .hand{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){grid-template-rows:auto auto 1fr;grid-template-columns:1fr;min-height:100px}.app-shell--battle .hand .card>img{aspect-ratio:16/9;grid-row:auto;height:auto}}@media (width<=760px){.app-shell--construction .construction-stats{gap:6px;min-height:66px;padding:0}.app-shell--construction .construction-stats>div{background:radial-gradient(circle at 12px 12px,#f7bf4b 0 3px,#092f3a 4px 5px,#0000 6px),linear-gradient(#ffffff14,#0000 42%),#075d68;border-radius:10px;min-height:66px;padding:8px 4px}.app-shell--construction .construction-stats strong,.app-shell--construction .construction-stats span{padding-left:6px}.app-shell--construction .construction-table>.board-panel{width:100%;padding:9% 9% 10%}.app-shell--construction .construction-table>.board-panel>.helper-text{min-height:24px;margin:0;padding:4px 6px;bottom:4.8%;left:16.5%;right:12.5%}.app-shell--construction .construction-table>.control-panel{border-radius:14px;padding:14px}.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-color:#063f4b;background-image:none;border:3px solid #c99736;border-radius:16px;padding:12px;box-shadow:inset 0 0 0 3px #092f3a,inset 0 0 0 5px #209c9f4d,0 6px #021921}.app-shell--battle .battle-stage{place-items:center;display:grid}.app-shell--battle .battle-board-shell{aspect-ratio:1;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;place-items:center;width:100%;padding:7.5%;display:grid}.app-shell--battle .battle-stage .game-board-wrap{width:100%}.app-shell--battle .board-view-thumbnail{top:7.5%;right:7.5%}.app-shell--battle .battle-controls{aspect-ratio:auto;background:radial-gradient(circle at 18px 18px,#f7bf4b 0 4px,#092f3a 5px 7px,#0000 8px),linear-gradient(#ffffff12,#0000 28%),#063f4b;border:3px solid #c99736;border-radius:16px;padding:14px;box-shadow:inset 0 0 0 3px #092f3a,inset 0 0 0 5px #209c9f4d,0 6px #021921}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{min-height:46px!important;padding:9px 11px!important}.app-shell--battle .battle-action-area .battle-fire-button{min-height:54px!important;padding:10px 12px!important}}.app-shell--battle .battle-board-viewport,.app-shell--battle .board-switch-dock{min-width:0}@media (width>=761px){.app-shell--battle .match-layout--battle{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);place-items:start center;gap:clamp(14px,2vw,22px);width:min(780px,100%)}.app-shell--battle .battle-board-panel,.app-shell--battle .battle-controls{grid-column:1}.app-shell--battle .battle-controls{width:min(520px,100%);position:relative;top:auto}.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-color:#063f4b;background-image:none;border:3px solid #c99736;border-radius:16px;padding:18px;box-shadow:inset 0 0 0 3px #092f3a,inset 0 0 0 5px #209c9f4d,0 6px #021921}.app-shell--battle .battle-stage{place-items:center;display:grid;overflow:visible}.app-shell--battle .battle-board-shell{aspect-ratio:auto;background:0 0;grid-template-columns:minmax(0,1fr);place-items:center;gap:7px;width:100%;max-width:100%;height:auto;padding:0;display:grid}.app-shell--battle .battle-board-viewport{aspect-ratio:1;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;place-items:center;width:100%;height:auto;padding:9% 10.5% 11%;display:grid}.app-shell--battle .battle-stage .game-board-wrap{width:100%;max-width:none;height:auto}.app-shell--battle .board-switch-dock{z-index:16;justify-content:center;width:100%;display:flex;position:relative}.app-shell--battle .board-view-thumbnail{width:76px;margin:0;position:static;top:auto;right:auto}}.app-shell--battle .battle-board-viewport,.app-shell--battle .board-switch-dock{min-width:0;min-height:0}.app-shell.app-shell--battle{flex-direction:column;height:100dvh;min-height:0;padding-bottom:6px;display:flex;overflow:hidden}.app-shell--battle .match-layout--battle{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:stretch center;gap:clamp(4px,.8dvh,8px);height:auto;min-height:0;overflow:hidden}.app-shell--battle .battle-board-panel,.app-shell--battle .battle-controls{grid-column:1}.app-shell--battle .battle-board-panel{aspect-ratio:auto;background-color:#063f4b;background-image:none;border:3px solid #c99736;border-radius:16px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(520px,100%);height:100%;min-height:0;padding:10px 12px 8px;overflow:hidden;box-shadow:inset 0 0 0 3px #092f3a,inset 0 0 0 5px #209c9f4d,0 5px #021921}.app-shell--battle .battle-board-panel .panel-heading{min-height:38px;margin:0 4px 1px}.app-shell--battle .battle-board-panel .panel-heading h2{text-overflow:ellipsis;max-width:245px;font-size:clamp(1rem,2dvh,1.3rem);line-height:1;overflow:hidden}.app-shell--battle .battle-board-panel .eyebrow,.app-shell--battle .battle-compact-stats{font-size:clamp(.42rem,.8dvh,.54rem)}.app-shell--battle .history-button,.app-shell--battle .surrender-button{width:32px;min-width:32px;min-height:32px}.app-shell--battle .battle-heading-actions .timer{min-width:64px;min-height:34px;padding:4px 7px;font-size:.72rem}.app-shell--battle .battle-instruction{min-height:22px;margin:1px 6% 2px;padding:4px 8px;font-size:clamp(.46rem,.9dvh,.56rem)}.app-shell--battle .battle-stage{place-items:center;width:100%;height:100%;min-height:0;display:grid;overflow:hidden;container-type:size}.app-shell--battle .battle-board-shell{aspect-ratio:auto;background:0 0;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);place-items:center;gap:0;width:100%;max-width:100%;height:100%;min-height:0;padding:0;display:grid}.app-shell--battle .battle-board-viewport{aspect-ratio:1;background:url(/assets/game-ui/planning-board-frame.webp) 50%/contain no-repeat;place-items:center;width:min(100cqw,100cqh);max-width:100%;height:auto;min-height:0;max-height:100%;padding:0;display:grid;position:relative}.app-shell--battle .battle-stage .game-board-wrap{aspect-ratio:1;width:80%;min-width:0;max-width:none;height:80%;position:absolute;top:9%;left:50%;transform:translate(-50%)}.app-shell--battle .board-switch-dock{z-index:16;pointer-events:none;width:auto;display:block;position:absolute;top:6%;right:2%}.app-shell--battle .board-view-thumbnail{pointer-events:auto;width:64px;margin:0;position:static;top:auto;right:auto}.app-shell--battle .battle-board-footer{min-height:17px;margin:1px 4px 0;font-size:.44rem;overflow:hidden}.app-shell--battle .battle-controls{aspect-ratio:1400/656;width:min(520px,100%);height:auto;min-height:0;box-shadow:none;background:url(/assets/game-ui/battle-command-console.webp) 50%/contain no-repeat;border:0;border-radius:0;grid-template-rows:58px minmax(0,1fr) 24px;align-self:end;gap:4px;padding:20px 27px 15px;position:relative;top:auto;overflow:hidden}.app-shell--battle .battle-command-row,.app-shell--battle .battle-command-row .hand{height:100%;min-height:0}.app-shell--battle .battle-command-row{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(88px,28%,128px);gap:5px}.app-shell--battle .hand-zone{min-width:0;height:100%;min-height:0;overflow:hidden}.app-shell--battle .battle-command-row .hand{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid;overflow:hidden}:is(.app-shell--battle .battle-action-area,.app-shell--battle .battle-action-area:has(.battle-action-area__utility)){grid-area:1/2;grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);grid-auto-flow:row;align-content:stretch;align-items:stretch;gap:4px;height:100%;min-height:0;max-height:none;padding:0}.app-shell--battle .battle-action-area__utility{display:contents}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{text-overflow:ellipsis;width:100%;overflow:hidden;align-self:stretch!important;height:auto!important;min-height:0!important;max-height:none!important}.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button){grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button) .battle-fire-button{white-space:nowrap;grid-area:1/1/auto/-1}.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button) .battle-clear-button{grid-area:2/1}.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button) .battle-end-turn-button{grid-area:2/2}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){max-height:100%}@media (width>=761px){.app-shell--battle .match-layout--battle{width:min(780px,100%)}}@media (width<=760px){.app-shell--battle .match-layout--battle{width:100%;height:auto}.app-shell--battle .battle-board-panel{width:100%;padding:7px 8px 6px}.app-shell--battle .battle-board-panel .panel-heading{min-height:34px;margin-inline:2px}.app-shell--battle .battle-board-panel .panel-heading h2{white-space:nowrap;max-width:190px;font-size:.86rem}.app-shell--battle .history-button,.app-shell--battle .surrender-button{width:28px;min-width:28px;min-height:28px}.app-shell--battle .battle-heading-actions .timer{min-width:56px;min-height:30px;padding:3px 5px;font-size:.64rem}.app-shell--battle .battle-instruction{min-height:19px;margin-block:0 1px;padding:3px 6px;font-size:.43rem}.app-shell--battle .board-view-thumbnail{width:58px;padding:7px 8px 6px 14px;font-size:.42rem}.app-shell--battle .battle-board-footer{min-height:14px;margin-top:0;font-size:.4rem}.app-shell--battle .battle-controls{grid-template-rows:36px minmax(0,1fr) 16px;gap:2px;width:100%;padding:10px 12px 8px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{min-height:32px;padding:3px 6px}.app-shell--battle .battle-action-dock__copy{min-height:0}.app-shell--battle .battle-action-dock__copy>span{font-size:.42rem}.app-shell--battle .battle-action-dock__copy>strong{font-size:.58rem}.app-shell--battle .battle-action-dock__copy>p{max-height:13px;font-size:.4rem}.app-shell--battle .battle-command-row .hand{min-height:0}.app-shell--battle .battle-board-viewport{aspect-ratio:1;width:min(100cqw,100cqh);height:auto}.app-shell--battle .hand .card,.app-shell--battle .hand .card:first-child,.app-shell--battle .hand .card:nth-child(3n),.app-shell--battle .hand .card:nth-child(4n){flex-basis:clamp(44px,14.5vw,56px);width:clamp(44px,14.5vw,56px);min-width:clamp(44px,14.5vw,56px);max-width:clamp(44px,14.5vw,56px);height:100%;min-height:0;padding:2px 2px 12px;overflow:hidden}.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{overflow:visible}.app-shell--battle .battle-action-area{gap:3px;padding:0}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button{font-size:.44rem;height:auto!important;min-height:0!important;max-height:none!important;padding:2px 3px!important}.app-shell--battle .mana-bar,.app-shell--battle .mana-bar__track{height:16px;min-height:0}.app-shell--battle .mana-bar__track{border-width:1px}}.app-shell.app-shell--completed{min-height:100dvh;padding:8px clamp(8px,2vw,24px) 28px;overflow:hidden auto}.app-shell--completed .result-screen{color:#f4ead4;width:min(940px,100%);box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:clamp(12px,2vw,20px);margin:clamp(6px,1.4vh,14px) auto 0;padding:0 0 24px;display:flex;overflow:visible}.app-shell--completed .result-command-frame{aspect-ratio:1;box-sizing:border-box;isolation:isolate;background:url(/assets/game-ui/status-command-frame.webp) 50%/contain no-repeat;grid-template-rows:auto auto auto;align-content:center;justify-items:center;gap:clamp(7px,1.5vw,13px);width:min(620px,100%);padding:13.5% 12% 11.5%;display:grid;position:relative}.app-shell--completed .result-command-frame:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 50% 10%,#0d7a856b,#0000 42%),linear-gradient(#04464f38,#001c2485);border-radius:9%;position:absolute;inset:15% 13% 12%}.app-shell--completed .result-spotlight{color:#f4ead4;width:min(440px,92%);box-shadow:none;background:0 0;border:0;border-radius:0;justify-items:center;gap:2px;margin:0;padding:0;display:grid}.app-shell--completed .result-spotlight>p:not(.eyebrow){color:#abcfc5;text-transform:none;margin:3px 0 0;font-size:clamp(.62rem,1.35vw,.8rem);font-weight:800}.app-shell--completed .result-summary>div{color:#f4ead4;background:#00262fc7;border:1px solid #c99736;border-radius:8px;gap:0;min-width:0;padding:clamp(5px,1vw,9px) 4px;display:grid;box-shadow:inset 0 0 0 1px #f7bf4b1f,0 2px #021921}.app-shell--completed .result-summary span{color:#abcfc5;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:clamp(.43rem,1vw,.58rem);overflow:hidden}.app-shell--completed .result-actions{justify-content:center;align-items:center;gap:clamp(5px,1vw,9px);width:min(400px,88%);margin:0;display:flex}.app-shell--completed .result-actions .button{width:auto;min-width:0;min-height:0;box-shadow:none;letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px #ffffff59;border:0;border-radius:0;place-items:center;margin:0;font-weight:950;line-height:1;display:grid;position:relative}.app-shell--completed .result-secondary-action.button.button--secondary{aspect-ratio:1862/845;color:#315a5c;background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat;flex:50%;padding:0 8%;font-size:clamp(.66rem,1.65vw,.9rem)}.app-shell--completed .result-primary-action.button.button--primary{aspect-ratio:1862/845;color:#092f3a;filter:brightness(1.04)saturate(1.08)drop-shadow(0 0 6px #f7bf4b52);background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat;flex:50%;padding:0 8%;font-size:clamp(.66rem,1.65vw,.9rem)}.app-shell--completed .result-actions .button>span{transform:translateY(-1px)}.app-shell--completed .result-secondary-action:hover:not(:disabled),.app-shell--completed .result-secondary-action:focus-visible:not(:disabled){filter:brightness(1.05);background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat;transform:translateY(-2px)}.app-shell--completed .result-primary-action:hover:not(:disabled),.app-shell--completed .result-primary-action:focus-visible:not(:disabled){filter:brightness(1.08)saturate(1.1)drop-shadow(0 0 7px #f7bf4b6b);background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat;transform:translateY(-2px)}.app-shell--completed .result-primary-action:active:not(:disabled){filter:brightness(.98)saturate(1.04);background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat;transform:translateY(2px)scale(.985)}.app-shell--completed .result-secondary-action:active:not(:disabled){filter:brightness(.97);background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat;transform:translateY(2px)scale(.985)}.app-shell--completed .result-boards{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,16px);width:min(820px,100%);margin:0;display:grid}.app-shell--completed .result-boards>.result-board-card{color:#f4ead4;background:linear-gradient(#075d68,#033a46);border:2px solid #c99736;border-radius:13px;min-width:0;padding:10px;position:relative;box-shadow:inset 0 0 0 2px #092f3a,0 5px #021921}.app-shell--completed .result-boards>.result-board-card:after{aspect-ratio:1;content:"";pointer-events:none;background:#f7bf4b;border:1px solid #8b401f;border-radius:50%;width:8px;position:absolute;top:9px;right:11px;box-shadow:0 0 7px #f7bf4ba6}.app-shell--completed .result-boards h3{color:#f4ead4;letter-spacing:.02em;margin:0 22px 7px 3px;font-size:clamp(.68rem,1.5vw,.86rem)}@media (width<=720px){.app-shell.app-shell--completed{padding:5px 5px 20px}.app-shell--completed .result-screen{gap:11px;margin-top:2px;padding-bottom:16px}.app-shell--completed .result-command-frame{gap:5px;width:min(100%,430px);padding:14% 12% 11%}.app-shell--completed .result-spotlight h2{font-size:clamp(2.2rem,12vw,3.15rem)}.app-shell--completed .result-actions{gap:4px;width:90%}.app-shell--completed .result-secondary-action.button.button--secondary{font-size:clamp(.56rem,2.7vw,.72rem)}.app-shell--completed .result-primary-action.button.button--primary{padding-inline:8%;font-size:clamp(.56rem,2.7vw,.72rem)}.app-shell--completed .result-boards{grid-template-columns:1fr;gap:12px}.app-shell--completed .result-boards>.result-board-card{padding:8px}}.app-shell.app-shell--construction{height:100dvh;min-height:0;padding:6px clamp(8px,1.5vw,20px) 8px;overflow:hidden}.app-shell--construction .topbar{min-height:44px;margin-bottom:4px}.app-shell--construction .match-layout.construction-table{grid-template:"phase phase"42px"board stats"58px"board controls"minmax(0,1fr)/minmax(0,1fr) minmax(280px,.58fr);align-items:stretch;gap:4px clamp(8px,1.5vw,16px);width:min(980px,100%);height:calc(100dvh - 62px);min-height:0}.app-shell--construction .game-phase-header{grid-area:phase;min-height:0;padding:0 4px}.app-shell--construction .game-phase-header h2{font-size:clamp(1.05rem,2.2dvh,1.55rem)}.app-shell--construction .construction-stats{grid-area:stats;width:100%;height:58px;min-height:0;padding:6px 8px}.app-shell--construction .construction-stats>div{min-height:0;padding:0 3px}.app-shell--construction .construction-stats strong{font-size:clamp(.68rem,1.25dvh,.96rem)}.app-shell--construction .construction-stats span{margin-top:2px;font-size:clamp(.34rem,.7dvh,.46rem)}.app-shell--construction .construction-table>.board-panel{aspect-ratio:1;background-size:contain;grid-area:board;place-self:center;place-items:center;width:auto;max-width:100%;height:min(100% - 32px,550px);max-height:100%;padding:9% 9% 10%;display:grid;overflow:hidden}.app-shell--construction .construction-table>.board-panel>.helper-text{min-height:0;padding:3px 6px;font-size:clamp(.36rem,.7dvh,.52rem);bottom:4.8%;left:16.5%;right:12.5%}.app-shell--construction .construction-table>.control-panel{grid-area:controls;align-self:stretch;width:100%;height:100%;min-height:0;padding:8px 10px;overflow:hidden}.app-shell--construction .tray-heading{min-height:18px;margin:0 2px 2px}.app-shell--construction .tray-heading h3{font-size:.6rem}.app-shell--construction .tray-heading span{font-size:.4rem}.app-shell--construction .tile-pool{aspect-ratio:2022/778;width:100%;min-height:0}.app-shell--construction .game-primary-action{aspect-ratio:1862/845;color:#315a5c;place-items:center;width:min(58%,172px);min-height:0;margin:4px auto 0;padding:0 8%;font-size:clamp(.62rem,1.15dvh,.88rem);display:grid;background:url(/assets/game-ui/action-button-base.webp) 50%/contain no-repeat!important}.app-shell--construction .validation-panel{max-height:42px;margin-top:4px;padding:4px 7px;overflow:hidden}.app-shell--construction .validation-panel strong{font-size:clamp(.44rem,.8dvh,.62rem)}.app-shell--construction .validation-panel span,.app-shell--construction .validation-panel ul{white-space:nowrap;font-size:clamp(.36rem,.65dvh,.48rem);line-height:1.1;overflow:hidden}.app-shell--construction .construction-tools{gap:4px;margin:4px 0 0}.app-shell--construction .construction-tools .button{text-overflow:ellipsis;min-height:26px;padding:3px 4px;font-size:clamp(.4rem,.7dvh,.55rem);overflow:hidden}.app-shell--construction .demo-note{margin:4px 2px 0;font-size:clamp(.36rem,.62dvh,.46rem)}.app-shell--construction .opponent-status{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:3px 2px 0;font-size:clamp(.36rem,.62dvh,.46rem);overflow:hidden}@media (width<=760px){.app-shell.app-shell--construction{padding:4px 6px 6px}.app-shell--construction .topbar{min-height:40px;margin-bottom:2px}.app-shell--construction .match-layout.construction-table{grid-template:"phase"30px"stats"46px"board"minmax(0,1.08fr)"controls"minmax(0,.92fr)/minmax(0,1fr);gap:3px;height:calc(100dvh - 74px)}.app-shell--construction .game-phase-header{min-height:30px}.app-shell--construction .game-phase-header .eyebrow{display:none}.app-shell--construction .game-phase-header h2{max-width:220px;font-size:clamp(.8rem,3.8vw,1.05rem)}.app-shell--construction .timer{min-width:54px;min-height:26px;padding:3px 5px;font-size:.58rem}.app-shell--construction .construction-stats{height:46px;padding:4px 6px}.app-shell--construction .construction-stats strong{font-size:clamp(.56rem,2.4vw,.76rem)}.app-shell--construction .construction-stats span{font-size:clamp(.3rem,1.3vw,.4rem)}.app-shell--construction .construction-table>.board-panel{width:auto;max-width:100%;height:100%;padding:9% 9% 10%}.app-shell--construction .construction-table>.control-panel{grid-template:"pool"minmax(104px,1fr)"primary"60px"validation"36px"tools"40px"status"10px/minmax(0,1fr);align-content:stretch;justify-self:center;align-items:center;gap:2px 4px;width:min(100%,420px);padding:4px 6px;display:grid}.app-shell--construction .tray-heading{display:none}.app-shell--construction .tile-pool{aspect-ratio:1562/1007;background-image:none;grid-area:pool;place-self:center;width:100%;max-width:250px;min-height:0;display:block}.app-shell--construction .game-primary-action{grid-area:primary;width:min(46%,152px);margin-top:0;font-size:clamp(.5rem,2.5vw,.72rem)}.app-shell--construction .validation-panel{grid-area:validation;height:100%;min-height:0;max-height:none;margin:0;padding:3px 6px;overflow:hidden}.app-shell--construction .validation-panel strong{font-size:clamp(.4rem,1.8vw,.54rem)}.app-shell--construction .validation-panel span,.app-shell--construction .validation-panel ul{display:none}.app-shell--construction .construction-tools{grid-area:tools;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:2px}.app-shell--construction .construction-tools .button{min-height:20px;padding:2px 3px;font-size:clamp(.34rem,1.55vw,.46rem)}.app-shell--construction .demo-note{display:none}.app-shell--construction .opponent-status{grid-area:status;margin-top:2px;font-size:clamp(.3rem,1.3vw,.4rem)}}@media (width<=760px) and (height<=700px){.app-shell--construction .match-layout.construction-table{grid-template-rows:28px 40px minmax(0,.86fr) minmax(0,1.14fr)}.app-shell--construction .construction-stats{height:40px}.app-shell--construction .game-primary-action{width:min(88%,142px)}.app-shell--construction .tile-pool{max-width:180px}.app-shell--construction .construction-table>.control-panel{grid-template-rows:minmax(92px,1fr) 56px 34px 38px 10px}.app-shell--construction .construction-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell--construction .construction-tools .button{min-height:20px;font-size:.34rem}}.mode-badge{color:#f7bf4b;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#073d48;border:1px solid #f7bf4bb8;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:3px 9px;font-size:.61rem;font-weight:950;line-height:1;display:inline-flex}.mode-badge--card{color:#d5eee6;border-color:#abcfc59e}.sprite-action>.mode-badge{z-index:2;position:absolute;bottom:8px;right:12px}.activity-recovery,.queue-expansion,.room-preview{color:#f4ead4;background:#064955;border:2px solid #092f3a;border-radius:15px;padding:11px;box-shadow:0 4px #092f3a}.activity-recovery{justify-content:space-between;align-items:center;gap:10px;display:flex}.activity-recovery p{color:#d5eee6;margin:0;font-size:.68rem}.activity-recovery .button{min-height:44px}.queue-expansion p{color:#d5eee6;margin:0 0 9px;font-size:.68rem;line-height:1.35}.queue-expansion>div,.room-preview__actions{flex-wrap:wrap;gap:6px;display:flex}.queue-expansion button{color:#f4ead4;cursor:pointer;background:#075d68;border:1px solid #abcfc5;border-radius:9px;flex:42%;min-height:44px;padding:6px 8px;font-size:.61rem;font-weight:900}.queue-expansion__availability{color:#f7bf4b;margin-top:7px;font-size:.62rem;line-height:1.35;display:block}.room-preview{gap:10px;display:grid}.room-preview>div:first-child{grid-template-columns:1fr auto;align-items:center;gap:4px 10px;display:grid}.room-preview .eyebrow{margin:0}.room-preview strong{grid-column:1/-1;font-size:.72rem}.room-preview__actions .button{flex:140px;min-height:44px;padding:7px 10px}.waiting-room>.mode-badge{margin-bottom:8px}.waiting-mode-copy{font-weight:850;color:#f7bf4b!important;font-size:.72rem!important}.update-required{color:#f4ead4;text-align:center;background:#064955;border:2px solid #092f3a;border-radius:22px;width:min(560px,100%);margin:12vh auto 0;padding:30px;box-shadow:0 8px #092f3a}.legacy-help-backdrop{z-index:90}.legacy-help-dialog{color:#f4ead4;background:#064955;border:2px solid #092f3a;border-radius:24px;width:min(520px,100vw - 28px);padding:26px;box-shadow:0 9px #092f3a}.legacy-help-dialog h2{margin:2px 0 20px;font-size:1.75rem}.legacy-help-dialog__step{background:#073d48;border:1px solid #abcfc570;border-radius:16px;min-height:138px;padding:20px}.legacy-help-dialog__step strong{color:#f7bf4b;font-size:1.05rem}.legacy-help-dialog__step p{color:#d5eee6;margin:10px 0 0;font-size:.85rem;line-height:1.55}.legacy-help-dialog__progress{justify-content:center;gap:7px;margin:16px 0;display:flex}.legacy-help-dialog__progress i{background:#2f7178;border-radius:999px;width:24px;height:5px}.legacy-help-dialog__progress i.is-active{background:#f7bf4b}.legacy-help-dialog__actions{grid-template-columns:1fr 1.4fr;gap:9px;display:grid}.app-shell--mode-legacy.app-shell--battle{min-height:100dvh;padding:7px clamp(8px, 2vw, 22px) max(14px, env(safe-area-inset-bottom));scrollbar-width:none;background-color:#032e38;overflow:hidden auto}.app-shell--mode-legacy.app-shell--battle::-webkit-scrollbar{display:none}.legacy-letter-grid::-webkit-scrollbar{display:none}.app-shell--mode-legacy .topbar{width:min(1240px,100%);margin-bottom:8px}.legacy-battle{z-index:1;color:#f4ead4;grid-template-rows:auto auto auto auto;gap:8px;width:min(1240px,100%);min-width:0;margin:0 auto;display:grid;position:relative}.legacy-battle__heading{justify-content:space-between;align-items:end;gap:18px;min-width:0;padding:0 18px;display:flex}.legacy-battle__heading .eyebrow{color:#f7bf4b;margin:0 0 2px;font-size:.65rem}.legacy-battle__heading h1{color:#f4ead4;margin:0;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1}.legacy-battle__status-clocks{grid-template-columns:auto minmax(88px,auto) minmax(92px,auto);align-items:center;gap:8px;min-width:0;display:grid}.legacy-turn-count,.legacy-match-timer{color:#abcfc5;white-space:nowrap;background:#073d48;border:1px solid #2f7178;border-radius:11px;justify-content:center;align-items:center;min-height:38px;padding:6px 13px;font-size:.7rem;font-weight:850;display:inline-flex}.legacy-turn-timer{color:#f7bf4b;background:#073d48;border:2px solid #f7bf4b;border-radius:11px;min-width:90px;min-height:42px;box-shadow:0 3px #092f3a}.legacy-turn-timer .timer__value{font-size:1.15rem}.legacy-turn-timer--paused{color:#d5eee6;border-color:#8bd6c7}.legacy-board-tabs{background:#075d68;border:2px solid #092f3a;border-radius:13px;grid-template-columns:1fr 1fr;justify-self:center;gap:4px;width:min(300px,80%);min-height:42px;padding:4px;display:grid;box-shadow:0 3px #092f3a}.legacy-board-tabs button{color:#abcfc5;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:44px;font-size:.73rem;font-weight:900}.legacy-board-tabs button[aria-pressed=true]{color:#092f3a;background:#f7bf4b}.legacy-command-deck{grid-template-columns:minmax(0,1fr) minmax(290px,350px);align-items:stretch;gap:clamp(6px,1vw,14px);min-width:0;display:grid}.legacy-board-frame{background:0 0;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.legacy-board-motion{will-change:transform, opacity;width:min(100%,650px);min-width:0;position:relative;transform:translate(0,0)}.legacy-board-motion--board-out[data-legacy-board-direction=FORWARD]{animation:legacy-board-slide-out-left var(--legacy-motion-duration,.225s) cubic-bezier(.22, .61, .36, 1) var(--legacy-motion-delay,0s) both}.legacy-board-motion--board-out[data-legacy-board-direction=BACKWARD]{animation:legacy-board-slide-out-right var(--legacy-motion-duration,.225s) cubic-bezier(.22, .61, .36, 1) var(--legacy-motion-delay,0s) both}.legacy-board-motion--board-in[data-legacy-board-direction=FORWARD]{animation:legacy-board-slide-in-right var(--legacy-motion-duration,.225s) cubic-bezier(.22, .61, .36, 1) var(--legacy-motion-delay,0s) both}.legacy-board-motion--board-in[data-legacy-board-direction=BACKWARD]{animation:legacy-board-slide-in-left var(--legacy-motion-duration,.225s) cubic-bezier(.22, .61, .36, 1) var(--legacy-motion-delay,0s) both}.legacy-board-frame .game-board-wrap{background:#064955;border:1px solid #2f7178;border-radius:11px;width:100%;box-shadow:0 7px #03191f6b}.legacy-board-switch-overlay{z-index:16;pointer-events:none;border-radius:11px;position:absolute;inset:0;overflow:visible}.legacy-board-switch-overlay:before{display:none}.legacy-board-switch-tab{z-index:1;aspect-ratio:175/101;color:#f4ead4;width:min(46%,220px);animation-duration:var(--legacy-motion-duration,.225s);animation-delay:var(--legacy-motion-delay,0s);place-items:center;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both;display:grid;position:absolute;top:50%;left:50%}.legacy-board-switch-tab img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.legacy-board-switch-tab strong{z-index:1;color:#f4ead4;text-align:center;text-overflow:ellipsis;text-shadow:0 1px #092f3a;white-space:nowrap;max-width:58%;margin:0 0 3% 8%;font-size:clamp(.5rem,1.5vw,.7rem);font-weight:950;line-height:1.05;position:relative;overflow:hidden}.legacy-board-switch-overlay--board-out .legacy-board-switch-tab{animation-name:legacy-board-tab-fade-out}.legacy-board-switch-overlay--board-in .legacy-board-switch-tab{animation-name:legacy-board-tab-fade-in}.legacy-board-identity{display:none}.legacy-board-identity[data-board-view=ATTACK]{border-color:#f7bf4bc7}.legacy-board-identity[data-board-view=DEFENSE]{border-color:#8bd6c7c7}.legacy-board-identity--opposite-right{left:auto;right:9px}.legacy-board-identity--opposite-bottom{top:auto;bottom:9px}.legacy-board-identity strong{color:#f7bf4b;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.56rem,1.5vw,.72rem);font-weight:950;line-height:1}.legacy-board-identity[data-board-view=DEFENSE] strong{color:#8bd6c7}.legacy-board-identity span{color:#d5eee6;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.46rem,1.2vw,.58rem);font-weight:750;line-height:1.15;overflow:hidden}.legacy-board-frame .board-hit-cell[aria-disabled=true]{cursor:help}.legacy-command-rail{background:0 0;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;gap:9px;min-width:0;padding:0;display:grid}.legacy-target-panel,.legacy-letter-panel{color:#f4ead4;background:#073d48;border:2px solid #f7bf4b;border-radius:12px;min-width:0;box-shadow:inset 0 0 0 2px #092f3a}.legacy-tile-status-panel{display:none}.legacy-target-panel{grid-template-columns:1fr 50px auto;align-content:center;gap:3px 12px;min-height:88px;padding:12px 15px;display:grid}.legacy-target-panel>span{font-size:.72rem;font-weight:850}.legacy-target-panel>strong{color:#f4ead4;grid-area:1/3/span 2;align-self:center;font-size:1.55rem;line-height:1}.legacy-target-panel>small{color:#abcfc5;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:.56rem;overflow:hidden}.legacy-tile-intel{color:#abcfc5;grid-column:1/-1;align-items:center;gap:6px;min-width:0;font-size:.55rem;display:flex;overflow:hidden}.legacy-tile-intel span,.legacy-tile-intel b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legacy-tile-intel b{color:#f7bf4b;font-weight:850}.legacy-target-panel .board-view-thumbnail{background:#064955;border:1px solid #2f7178;border-radius:7px;grid-area:1/2/span 2;align-self:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:4px}.legacy-target-panel .board-view-thumbnail>strong{display:none}.legacy-target-panel .board-view-thumbnail__grid{width:100%;height:100%}.legacy-letter-panel{min-height:0;margin:0;padding:10px}.legacy-letter-panel legend{color:#f4ead4;padding:0 7px;font-size:.7rem;font-weight:900}.legacy-letter-grid{scrollbar-width:none;grid-template-columns:1fr 1fr;gap:4px 6px;min-height:0;display:grid}.legacy-letter-choice{color:#f4ead4;cursor:pointer;background:#075d68;border:1px solid #2f7178;border-radius:7px;justify-content:space-between;align-items:center;gap:5px;min-width:0;min-height:44px;padding:3px 8px;display:flex}.legacy-letter-choice strong{font-size:.78rem}.legacy-letter-choice small{color:#f7bf4b;font-size:.59rem;font-weight:900}.legacy-letter-choice[aria-pressed=true]{color:#092f3a;background:#f7bf4b;border-color:#092f3a;box-shadow:0 2px #092f3a}.legacy-letter-choice[aria-pressed=true] small{color:#092f3a}.legacy-letter-choice:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.42}.legacy-letter-choice--tried:disabled{color:#f4ead4;filter:none;opacity:1;background:#0a525d;border-color:#f7bf4b;box-shadow:inset 0 0 0 1px #f7bf4b47}.legacy-letter-choice--tried:disabled strong{color:#f4ead4}.legacy-letter-choice .legacy-letter-choice__tried-marker{color:#092f3a;white-space:nowrap;background:#f7bf4b;border-radius:999px;padding:1px 4px;font-size:clamp(.4rem,1.6vw,.54rem);line-height:1.15}.legacy-guess-button{color:#092f3a;letter-spacing:.01em;cursor:pointer;background:#f7bf4b;border:2px solid #f7bf4b;border-radius:12px;min-height:70px;padding:10px 28px;font-size:clamp(1.2rem,2.8vw,1.7rem);font-weight:950;position:relative;box-shadow:inset 0 0 0 2px #fff5bf85,0 3px #092f3a}.legacy-guess-button:disabled{cursor:not-allowed;filter:saturate(.25)brightness(.72);opacity:.66}.legacy-rail-utilities{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.legacy-rail-utilities button,.legacy-history__heading button{color:#abcfc5;cursor:pointer;background:#073d48;border:1px solid #2f7178;border-radius:8px;min-height:44px;padding:5px;font-size:.55rem;font-weight:850}.legacy-rail-utilities button:disabled{cursor:not-allowed;opacity:.42}.legacy-live-status{color:#abcfc5;text-align:center;min-height:22px;margin:0;padding:2px 18px;font-size:.68rem;line-height:1.35}.legacy-shot-layer{--legacy-shot-origin-x:min(42vw, 330px);--legacy-shot-origin-y:min(14vw, 110px);z-index:14;inset:var(--board-inset-y) var(--board-inset-x);pointer-events:none;position:absolute}.legacy-shot-target,.legacy-shot-letter,.legacy-result-bubble,.legacy-shot-impact{left:var(--legacy-shot-x);top:var(--legacy-shot-y);position:absolute}.legacy-shot-target{aspect-ratio:1;width:10%;animation:legacy-shot-target-lock var(--legacy-shot-duration,.54s) ease-out var(--legacy-shot-delay,0s) both;background:#f7bf4b2e;border:max(2px,.25vw) solid #f7bf4b;border-radius:8px;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #092f3aad,0 0 0 2px #f7bf4b38}.legacy-shot-muzzle{left:calc(var(--legacy-shot-x) + var(--legacy-shot-origin-x));top:calc(var(--legacy-shot-y) + var(--legacy-shot-origin-y));aspect-ratio:1;opacity:0;width:clamp(30px,8%,58px);animation:legacy-cannon-muzzle .27s cubic-bezier(.14, .75, .28, 1) var(--legacy-shot-delay,0s) both;background:radial-gradient(circle,#fff7ce 0 11%,#ffd15b 14% 28%,#ff8c369e 31% 46%,#0000 70%);border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 22px 7px #ffbc4361}.legacy-shot-muzzle:after{content:"";border:1px solid #fffadddb;border-radius:50%;position:absolute;inset:18%}.legacy-shot-trail{left:var(--legacy-shot-x);top:var(--legacy-shot-y);opacity:0;transform-origin:0;width:min(42%,220px);height:clamp(3px,.7vw,7px);animation:legacy-shell-trail var(--legacy-shot-duration,.54s) ease-out var(--legacy-shot-delay,0s) both;background:linear-gradient(90deg,#ffef9d14,#ffd45adb,#fff8d014);border-radius:999px;position:absolute;transform:translateY(-50%)rotate(24deg);box-shadow:0 0 12px #ffcd4cbd}.legacy-shot-layer--hit .legacy-shot-target{background:#08a97657;border-color:#8bf0c5;box-shadow:inset 0 0 0 2px #092f3aad,0 0 18px #8bf0c5b8}.legacy-shot-layer--miss .legacy-shot-target{background:#426a865c;border-color:#abcfc5;box-shadow:inset 0 0 0 2px #092f3aad,0 0 14px #abcfc575}.legacy-shot-letter{isolation:isolate;aspect-ratio:1;color:#092f3a;width:clamp(28px,8%,48px);animation:legacy-letter-shot var(--legacy-shot-duration,.54s) cubic-bezier(.22, .7, .12, 1) var(--legacy-shot-delay,0s) both;background:radial-gradient(circle at 36% 28%,#fff6c6 0 9%,#ffd268 11% 35%,#d67724 68%);border:2px solid #092f3a;border-radius:8px;place-items:center;font-size:clamp(.75rem,2.5vw,1.2rem);font-weight:950;display:grid;transform:translate(-50%,-50%);box-shadow:0 3px #092f3a,0 0 16px #ffd65ad1,0 10px 22px #03191f94}.legacy-shot-letter:before{z-index:-1;content:"";filter:blur(4px);opacity:0;width:210%;height:62%;animation:legacy-shell-plume var(--legacy-shot-duration,.54s) ease-out var(--legacy-shot-delay,0s) both;background:linear-gradient(90deg,#0000,#ffd15aeb,#0000);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-88%,-50%)rotate(22deg)}.legacy-shot-letter:after{content:"";opacity:.78;border:1px solid #fff7c9b8;border-radius:50%;position:absolute;inset:16%}.legacy-shot-impact{--legacy-impact-core:#59d9c4;--legacy-impact-edge:#d5fff4;z-index:3;aspect-ratio:1;border:clamp(2px, .35vw, 4px) solid var(--legacy-impact-edge);background:radial-gradient(circle, var(--legacy-impact-core) 0 10%, #075a6770 11% 32%, transparent 66%);width:clamp(52px,17%,116px);box-shadow:0 0 20px var(--legacy-impact-core);opacity:0;animation:legacy-shot-impact .42s cubic-bezier(.14, .82, .25, 1) var(--legacy-shot-impact-delay,.26s) both;border-radius:50%;transform:translate(-50%,-50%)scale(.22)}.legacy-shot-layer--result .legacy-shot-impact{animation-delay:0s}.legacy-shot-layer--hit .legacy-shot-impact{--legacy-impact-core:#ffaf4a;--legacy-impact-edge:#fff0a6;background:radial-gradient(circle,#fff2b5 0 12%,#ffbd4f 14% 35%,#ea5b2a75 37% 57%,#0000 70%)}.legacy-shot-layer--impact-hit .legacy-shot-target{background:#ff6d2d57;border-color:#fff3b3;box-shadow:inset 0 0 0 2px #092f3aad,0 0 28px 7px #ff8131ad}.legacy-shot-layer--impact-hit .legacy-shot-impact{border-width:clamp(3px,.55vw,6px);width:clamp(70px,23%,154px);animation-name:legacy-hit-detonation;animation-duration:.56s;box-shadow:0 0 20px 7px #ff712de0,0 0 58px 12px #ffc54785}.legacy-shot-layer--impact-hit .legacy-shot-impact:before,.legacy-shot-layer--impact-hit .legacy-shot-impact:after{border-width:3px;animation-name:legacy-hit-shockwave;animation-duration:.65s;box-shadow:0 0 18px #ffb741db}.legacy-shot-layer--impact-occupied .legacy-shot-target{background:#f7bf4b6b;border-color:#ffe180;box-shadow:inset 0 0 0 2px #092f3aad,0 0 23px #f7bf4bc2}.legacy-shot-layer--impact-occupied .legacy-shot-impact{--legacy-impact-core:#f7bf4b;--legacy-impact-edge:#fff0ae;background:radial-gradient(circle,#fff6bf 0 10%,#f7bf4b 12% 32%,#be7e186b 34% 56%,#0000 70%);animation-name:legacy-occupied-contact;animation-duration:.5s;box-shadow:0 0 26px #f7bf4bd1}.legacy-shot-layer--impact-empty .legacy-shot-target{background:#687c835c;border-color:#b7c4c8;box-shadow:inset 0 0 0 2px #092f3aad,0 0 16px #b9c7ca75}.legacy-shot-layer--impact-empty .legacy-shot-impact{--legacy-impact-core:#9aa9ad;--legacy-impact-edge:#dae4e5;background:radial-gradient(circle,#e7eeee 0 8%,#aebdc0 10% 29%,#4d68717a 31% 53%,#0000 71%);box-shadow:0 0 20px #ccd9db8f}.legacy-shot-impact:before,.legacy-shot-impact:after{border:2px solid var(--legacy-impact-edge);content:"";opacity:0;animation:legacy-impact-ring .52s ease-out var(--legacy-shot-impact-delay,.26s) both;border-radius:50%;position:absolute;inset:12%}.legacy-shot-impact:after{animation-delay:calc(var(--legacy-shot-impact-delay,.26s) + 55ms);inset:27%}.legacy-shot-layer--result .legacy-shot-impact:before{animation-delay:0s}.legacy-shot-layer--result .legacy-shot-impact:after{animation-delay:55ms}.legacy-shot-impact i{background:var(--legacy-impact-edge);width:clamp(3px,.65vw,7px);height:clamp(12px,3vw,28px);box-shadow:0 0 8px var(--legacy-impact-core);opacity:0;transform-origin:50% 100%;animation:legacy-impact-spray .38s cubic-bezier(.12, .82, .3, 1) var(--legacy-shot-impact-delay,.26s) both;border-radius:999px;position:absolute;top:50%;left:50%}.legacy-shot-impact i:first-child{--legacy-spray-angle:-34deg}.legacy-shot-impact i:nth-child(2){--legacy-spray-angle:0deg;animation-delay:calc(var(--legacy-shot-impact-delay,.26s) + 22ms)}.legacy-shot-impact i:nth-child(3){--legacy-spray-angle:38deg;animation-delay:calc(var(--legacy-shot-impact-delay,.26s) + 38ms)}.legacy-shot-impact i:nth-child(4){--legacy-spray-angle:-72deg;animation-delay:calc(var(--legacy-shot-impact-delay,.26s) + 12ms)}.legacy-shot-impact i:nth-child(5){--legacy-spray-angle:74deg;animation-delay:calc(var(--legacy-shot-impact-delay,.26s) + 30ms)}.legacy-shot-impact i:nth-child(6){--legacy-spray-angle:145deg;animation-delay:calc(var(--legacy-shot-impact-delay,.26s) + 48ms)}.legacy-shot-layer--result .legacy-shot-impact i:first-child{animation-delay:0s}.legacy-shot-layer--result .legacy-shot-impact i:nth-child(2){animation-delay:22ms}.legacy-shot-layer--result .legacy-shot-impact i:nth-child(3){animation-delay:38ms}.legacy-shot-layer--result .legacy-shot-impact i:nth-child(4){animation-delay:12ms}.legacy-shot-layer--result .legacy-shot-impact i:nth-child(5){animation-delay:30ms}.legacy-shot-layer--result .legacy-shot-impact i:nth-child(6){animation-delay:48ms}.legacy-shot-layer--impact-hit .legacy-shot-impact i{background:linear-gradient(#fff4bd,#ff9b36 58%,#9c371f);border-radius:2px;width:clamp(4px,.9vw,10px);height:clamp(10px,2.5vw,27px);animation-name:legacy-hit-shrapnel;animation-duration:.58s;box-shadow:0 0 12px #ffb142}.legacy-shot-layer--impact-occupied .legacy-shot-impact i{background:#fff0ad;width:clamp(3px,.7vw,8px);box-shadow:0 0 11px #f7bf4b}.legacy-shot-layer--impact-empty .legacy-shot-impact i{opacity:0;background:#d7e1e2;width:clamp(4px,.75vw,8px);box-shadow:0 0 9px #9bacb0}.legacy-result-bubble{left:clamp(88px, var(--legacy-shot-x), calc(100% - 88px));z-index:2;color:#fff;text-align:center;background:#426a86;border:1px solid #f4ead4b3;border-radius:12px;gap:2px;width:min(176px,100% - 16px);padding:7px 10px 8px;line-height:1.1;animation:.18s cubic-bezier(.2,.85,.3,1) both legacy-result-bubble-in;display:grid;box-shadow:0 5px #03191f9e}.legacy-result-bubble--above{transform:translate(-50%,calc(-100% - 12px))}.legacy-result-bubble--below{transform:translate(-50%,12px)}.legacy-result-bubble--hit{color:#052f34;background:#8bf0c5}.legacy-result-bubble--miss.legacy-result-bubble--occupied{color:#092f3a;background:#f7bf4b}.legacy-result-bubble strong{font-size:clamp(.65rem,1.8vw,.84rem);font-weight:950}.legacy-result-bubble small{overflow-wrap:anywhere;font-size:clamp(.48rem,1.35vw,.62rem);font-weight:750}.legacy-shot-layer--shot .legacy-result-bubble{visibility:hidden;opacity:0}.legacy-guess-button--firing{animation:.22s cubic-bezier(.25,.75,.25,1) both legacy-guess-recoil}.legacy-guess-button--firing:after{border-radius:inherit;content:"";opacity:0;pointer-events:none;border:2px solid #ffefa9e0;animation:.38s ease-out both legacy-cannon-button-flash;position:absolute;inset:-11px}.legacy-history{background:#064955;border:2px solid #092f3a;border-radius:17px;justify-self:center;width:min(780px,100%);max-height:280px;padding:14px;overflow:auto;box-shadow:0 5px #092f3a}.legacy-history__heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.legacy-history__heading h2{margin:0;font-size:1rem}.legacy-history ol{gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.legacy-history li{color:#d5eee6;border-bottom:1px solid #abcfc52e;grid-template-columns:82px 1fr auto;align-items:center;gap:8px;padding:6px;font-size:.66rem;display:grid}.legacy-history li small{color:#f7bf4b}.result-cap-comparison{color:#d5eee6;text-align:center;margin:9px 0 0;font-size:.7rem;line-height:1.45}.result-cap-comparison>p{color:#f7bf4b;margin:0 0 7px;font-weight:850}.result-cap-comparison [role=table]{gap:4px;display:grid}.result-cap-comparison [role=row]{text-align:left;background:#073d48;border:1px solid #abcfc542;border-radius:8px;grid-template-columns:70px 1.3fr 1fr 1fr;gap:7px;padding:6px 8px;display:grid}@media (width<=600px){.app-shell--completed .result-summary--legacy{grid-template-columns:repeat(2,1fr)}.result-cap-comparison [role=row]{grid-template-columns:52px 1fr}}.result-spotlight>.mode-badge{margin:2px 0 8px}@keyframes legacy-board-slide-out-left{0%{opacity:1;transform:translate(0,0)}to{opacity:1;transform:translate(-118%)}}@keyframes legacy-board-slide-out-right{0%{opacity:1;transform:translate(0,0)}to{opacity:1;transform:translate(118%)}}@keyframes legacy-board-slide-in-right{0%{opacity:1;transform:translate(118%)}to{opacity:1;transform:translate(0,0)}}@keyframes legacy-board-slide-in-left{0%{opacity:1;transform:translate(-118%)}to{opacity:1;transform:translate(0,0)}}@keyframes legacy-board-tab-fade-out{0%{opacity:.95}to{opacity:0}}@keyframes legacy-board-tab-fade-in{0%{opacity:0}42%{opacity:.95}to{opacity:0}}@keyframes legacy-letter-shot{0%{opacity:0;transform:translate(calc(-50% + var(--legacy-shot-origin-x)), calc(-50% + var(--legacy-shot-origin-y))) rotate(18deg) scale(.48)}22%{opacity:1}78%{transform:translate(-50%,-50%)rotate(-5deg)scale(1.12)}to{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}}@keyframes legacy-shot-target-lock{0%{opacity:.25;transform:translate(-50%,-50%)scale(1.35)rotate(-10deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes legacy-cannon-muzzle{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.32)}to{opacity:0;transform:translate(-50%,-50%)scale(2.25)}}@keyframes legacy-shell-trail{0%,14%{opacity:0}30%{opacity:.92}to{opacity:0;transform:translate(9%,-50%)rotate(24deg)scaleX(.52)}}@keyframes legacy-shell-plume{0%,12%{opacity:0}28%{opacity:.85}to{opacity:0;transform:translate(-112%,-50%)rotate(22deg)scaleX(.46)}}@keyframes legacy-shot-impact{0%{opacity:0;transform:translate(-50%,-50%)scale(.18)rotate(-8deg)}26%{opacity:1;transform:translate(-50%,-50%)scale(.88)rotate(4deg)}70%{opacity:.92;transform:translate(-50%,-50%)scale(1.12)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@keyframes legacy-hit-detonation{0%{opacity:0;transform:translate(-50%,-50%)scale(.1)rotate(-18deg)}18%{opacity:1;transform:translate(-50%,-50%)scale(.7)rotate(7deg)}46%{opacity:1;transform:translate(-50%,-50%)scale(1.18)rotate(-3deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(0)}}@keyframes legacy-hit-shockwave{0%{opacity:1;transform:scale(.18)}48%{opacity:.78}to{opacity:0;transform:scale(3.2)}}@keyframes legacy-occupied-contact{0%{opacity:0;transform:translate(-50%,-50%)scale(.18)rotate(-12deg)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.05)rotate(6deg)}60%{opacity:.88;transform:translate(-50%,-50%)scale(1.2)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1.55)}}@keyframes legacy-impact-ring{0%{opacity:.85;transform:scale(.35)}to{opacity:0;transform:scale(2.15)}}@keyframes legacy-impact-spray{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--legacy-spray-angle)) translateY(0) scaleY(.4)}26%{opacity:.95}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--legacy-spray-angle)) translateY(-78%) scaleY(1.1)}}@keyframes legacy-hit-shrapnel{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--legacy-spray-angle)) translateY(0) scale(.25)}20%{opacity:1}62%{opacity:.9}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--legacy-spray-angle)) translateY(-180%) rotate(130deg) scale(1.2)}}@keyframes legacy-result-bubble-in{0%{opacity:0}to{opacity:1}}@keyframes legacy-guess-recoil{45%{transform:translateY(3px)scale(.985)}}@keyframes legacy-cannon-button-flash{0%{opacity:0;transform:scale(.84)}28%{opacity:.92}to{opacity:0;transform:scale(1.14)}}@media (width>=981px){.legacy-battle{grid-template-rows:auto auto auto;position:relative}.legacy-board-tabs{z-index:2;position:absolute;top:-70px;left:50%;transform:translate(-50%)}.app-shell--mode-legacy.app-shell--battle .topbar-room{display:none}.legacy-board-frame{padding:54px 50px 38px}.legacy-board-motion{width:min(100%,600px)}.legacy-command-rail{gap:6px;padding:25px 28px 24px}.legacy-target-panel{min-height:76px;padding:8px 12px}.legacy-letter-panel{padding:6px}.legacy-guess-button{min-height:60px}}@media (width<=980px){.legacy-command-deck{grid-template-columns:minmax(0,1fr) minmax(260px,310px)}.legacy-command-rail{padding:42px 34px 39px}.legacy-letter-choice{min-height:44px}}@media (width<=820px){.app-shell--mode-legacy.app-shell--battle{min-height:100dvh;padding-inline:7px;overflow-y:auto}.app-shell--mode-legacy.app-shell--battle .topbar,.app-shell--mode-legacy.app-shell--battle .mobile-menu-toggle{width:44px;height:44px;min-height:44px}.app-shell--mode-legacy.app-shell--battle .topbar .topbar-meta{left:52px}.app-shell--mode-legacy .topbar{margin-bottom:4px}.legacy-battle{padding-bottom:max(10px, env(safe-area-inset-bottom));gap:5px}.legacy-battle__heading{align-items:center;gap:6px;padding:0 7px 0 54px}.legacy-battle__heading h1{white-space:nowrap;font-size:1.2rem}.legacy-battle__status-clocks{grid-template-columns:repeat(3,auto);gap:4px}.legacy-turn-count{grid-column:auto;min-height:34px;padding:3px 6px;font-size:.52rem}.legacy-turn-timer,.legacy-match-timer{min-width:62px;min-height:34px;padding:3px 5px}.legacy-turn-timer .timer__value{font-size:.95rem}.legacy-board-tabs{border-width:1px;min-height:44px;padding:2px}.legacy-board-tabs button{min-height:44px}.legacy-command-deck{grid-template-columns:1fr;gap:4px}.legacy-board-frame{justify-self:center;width:min(100%,560px);padding:max(52px,8%) 9% 9%}.legacy-board-motion{width:min(100%,410px)}.legacy-shot-layer{--legacy-shot-origin-x:0px;--legacy-shot-origin-y:min(54vw, 210px)}.legacy-command-rail{background:#064955;border:2px solid #f7bf4b;border-radius:15px;grid-template-rows:auto auto auto auto;justify-self:center;gap:5px;width:min(100%,560px);padding:8px;box-shadow:0 4px #092f3a}.legacy-target-panel{min-height:55px;padding:7px 12px}.legacy-target-panel>strong{font-size:1.25rem}.legacy-letter-panel{padding:6px 8px 8px;overflow:hidden}.legacy-letter-grid{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:7px;padding:2px 1px 5px;display:flex;overflow-x:auto}.legacy-letter-choice{scroll-snap-align:start;flex:0 0 54px;align-content:center;justify-items:center;gap:0;min-width:54px;min-height:54px;padding:4px;display:grid}.legacy-letter-choice strong{font-size:1rem}.legacy-guess-button{min-height:60px;font-size:1.55rem}.legacy-rail-utilities button{min-height:44px;font-size:.6rem}.legacy-live-status{padding-inline:8px}}@media (width<=380px),(height<=680px) and (width<=820px){.legacy-battle__heading .eyebrow{display:none}.legacy-battle__heading h1{font-size:1.1rem}.legacy-board-tabs{width:min(240px,76%)}.legacy-board-frame{padding:52px 8% 8%}.legacy-letter-choice{flex-basis:48px;min-width:48px;min-height:48px}.legacy-guess-button{min-height:58px}.legacy-rail-utilities button{min-height:44px}}@media (height<=650px) and (orientation:landscape){.legacy-command-deck{grid-template-columns:minmax(0,1fr) minmax(250px,310px)}.legacy-board-frame{padding-block:52px 32px}.legacy-command-rail{padding:36px 31px 34px}}@media (prefers-reduced-motion:reduce){.legacy-board-switch-overlay--board-out{display:none}.legacy-board-switch-overlay--board-in:before{opacity:1}.legacy-board-switch-overlay:before,.legacy-board-motion--board-out,.legacy-board-motion--board-in,.legacy-board-switch-tab,.legacy-shot-target,.legacy-shot-muzzle,.legacy-shot-trail,.legacy-shot-letter,.legacy-shot-letter:before,.legacy-shot-impact,.legacy-shot-impact:before,.legacy-shot-impact:after,.legacy-shot-impact i,.legacy-result-bubble,.legacy-guess-button--firing,.legacy-guess-button--firing:after{opacity:1;animation:none;transform:none}.legacy-board-switch-tab{display:none}.legacy-shot-letter{left:var(--legacy-shot-x);top:var(--legacy-shot-y);transform:translate(-50%,-50%)}.legacy-shot-muzzle,.legacy-shot-trail,.legacy-shot-impact{display:none}.legacy-result-bubble--above{transform:translate(-50%,calc(-100% - 12px))}.legacy-result-bubble--below{transform:translate(-50%,12px)}.legacy-shot-layer--shot .legacy-result-bubble{visibility:visible;opacity:1}.legacy-letter-grid{scroll-behavior:auto}}@media (width<=820px){.app-shell--mode-legacy.app-shell--battle .topbar{z-index:80;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute;top:4px;left:4px}.app-shell--mode-legacy.app-shell--battle .topbar .brand{display:none}.app-shell--mode-legacy.app-shell--battle .mobile-menu-toggle{color:#f4ead4;background:#032f3af5;border:1px solid #f4ead4c2;border-radius:9px;place-items:center;padding:9px;display:grid;box-shadow:0 2px #021921}.app-shell--mode-legacy.app-shell--battle .mobile-menu-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.2px;width:20px;height:20px}.app-shell--mode-legacy.app-shell--battle .topbar .topbar-meta{color:#f4ead4;background:#032f3afa;border:1px solid #f4ead4b8;border-radius:10px;grid-template-columns:minmax(94px,auto) minmax(0,1fr);justify-content:stretch;align-items:center;gap:6px;width:min(320px,100vw - 64px);min-width:0;padding:8px;display:none;position:absolute;top:0;left:52px;box-shadow:0 3px #021921}.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta{display:grid}.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.status-dot{justify-self:center;width:10px;height:10px;display:block!important}.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.topbar-room,.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.mode-badge,.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.connection-pill{align-items:center;min-width:0;display:inline-flex!important}.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.topbar-room{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.mode-badge,.app-shell--mode-legacy.app-shell--battle .topbar--mobile-menu-open .topbar-meta>.connection-pill{white-space:normal;text-align:center;justify-content:center;min-height:44px;line-height:1.15}.app-shell--mode-legacy.app-shell--battle .topbar .topbar-audio{gap:6px;display:flex}.app-shell--mode-legacy.app-shell--battle .topbar .sound-toggle{width:44px;height:44px;min-height:44px;padding:9px}.app-shell--mode-legacy.app-shell--battle .topbar .language-select{width:100%;max-width:none;min-height:44px;padding-block:7px;font-size:.65rem}}@media (width<=820px) and (orientation:portrait){.app-shell--mode-legacy.app-shell--battle{height:100dvh;min-height:0;padding:5px 7px max(5px, env(safe-area-inset-bottom));overscroll-behavior:none;overflow:hidden}.legacy-battle{grid-template-rows:42px 36px minmax(0,1fr);gap:4px;height:100%;min-height:0;padding:0}.legacy-battle__heading{height:42px;min-height:0;padding:0 5px 0 52px}.legacy-battle__heading .eyebrow,.legacy-turn-count{display:none}.legacy-battle__heading h1{text-overflow:ellipsis;max-width:124px;font-size:clamp(.88rem,4.6vw,1.12rem);overflow:hidden}.legacy-battle__status-clocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.legacy-turn-timer,.legacy-match-timer{border-radius:8px;min-width:58px;min-height:32px;padding:3px 5px}.legacy-turn-timer .timer__value,.legacy-match-timer .timer__value{font-size:.86rem}.legacy-board-tabs{border-radius:9px;gap:3px;width:min(100%,390px);min-height:36px;padding:2px}.legacy-board-tabs button{border-radius:6px;min-height:30px;font-size:.65rem}.legacy-command-deck{grid-template-rows:minmax(0,1fr) max-content;grid-template-columns:minmax(0,1fr);gap:5px;height:100%;min-height:0;overflow:hidden}.legacy-board-frame{width:100%;height:100%;min-height:0;padding:0;container-type:size}.legacy-board-identity{display:none}.legacy-board-motion{aspect-ratio:1;width:min(100%,360px,100cqh);max-height:100%}.legacy-board-frame .game-board-wrap{border-radius:8px;box-shadow:0 4px #03191f6b}.legacy-command-rail{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:62px 104px 50px 46px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"target intel""letters letters""guess guess""utilities utilities";align-content:start;gap:5px 7px;padding:0}.legacy-target-panel,.legacy-tile-status-panel{background:#073d48;border:1px solid #f7bf4b;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:1px;min-height:0;padding:7px 9px;display:grid;box-shadow:inset 0 0 0 1px #092f3a}.legacy-target-panel{grid-area:target}.legacy-tile-status-panel{grid-area:intel}.legacy-target-panel>span,.legacy-tile-status-panel>span{color:#abcfc5;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.46rem;font-weight:900;line-height:1;overflow:hidden}.legacy-target-panel>strong,.legacy-tile-status-panel>strong{color:#f4ead4;text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-area:2/1;align-self:center;font-size:clamp(1.15rem,7vw,1.5rem);line-height:1;overflow:hidden}.legacy-tile-status-panel>strong{color:#f7bf4b;text-transform:uppercase;font-size:clamp(.7rem,3.8vw,.92rem)}.legacy-target-panel>small,.legacy-tile-status-panel>small{color:#abcfc5;text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-area:3/1;min-width:0;font-size:.42rem;line-height:1.1;overflow:hidden}.legacy-target-panel .board-view-thumbnail,.legacy-target-panel .legacy-tile-intel{display:none}.legacy-letter-panel{background:#064955;border:1px solid #2f7178;border-radius:10px;grid-area:letters;min-height:0;padding:4px;overflow:hidden;box-shadow:inset 0 0 0 1px #092f3a}.legacy-letter-panel legend{display:none}.legacy-letter-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;height:100%;min-height:0;padding:0;display:grid;overflow:visible}.legacy-letter-choice{border-radius:5px;grid-template-rows:1fr auto;grid-template-columns:1fr;justify-items:center;gap:0;min-width:0;min-height:0;padding:2px 1px;display:grid}.legacy-letter-choice strong{align-self:end;font-size:clamp(.68rem,4.3vw,.95rem);line-height:.9}.legacy-letter-choice small{align-self:start;font-size:clamp(.38rem,2.4vw,.53rem);line-height:1}.legacy-guess-button{color:#092f3a;background:#f7bf4b;border:2px solid #f7bf4b;border-radius:12px;grid-area:guess;min-height:0;padding:4px 16px;font-size:clamp(1.02rem,7.3vw,1.45rem);line-height:1;box-shadow:inset 0 0 0 2px #fff5bf85,0 3px #092f3a}.legacy-rail-utilities{grid-area:utilities;gap:5px}.legacy-rail-utilities button{color:#d5eee6;border-color:#2f7178;border-radius:8px;min-height:0;padding:3px;font-size:clamp(.42rem,2.45vw,.57rem);line-height:1.05}.legacy-live-status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.legacy-history{z-index:100;right:7px;bottom:max(7px, env(safe-area-inset-bottom));width:auto;max-height:min(56dvh,420px);position:fixed;left:7px}}@media (width<=820px) and (height<=740px) and (orientation:portrait){.legacy-command-deck{grid-template-rows:minmax(0,1fr) max-content}.legacy-command-rail{grid-template-rows:56px 96px 48px 42px}.legacy-board-frame{padding:0}}.app-shell--battle .battle-controls{border:2px solid #c99736;border-radius:14px;padding:10px 12px 8px;box-shadow:inset 0 0 0 1px #e0f6eb2e,inset 0 0 20px #00141d47,0 4px #021921;background:0 0!important}.app-shell--battle .battle-controls:after{display:none}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{box-shadow:none;background:#022f3994;border:1px solid #7eccc785;border-radius:9px}.app-shell--battle .battle-action-area .button,.app-shell--battle .battle-action-area .battle-fire-button,.app-shell--battle .battle-action-area .battle-clear-button,.app-shell--battle .battle-action-area .battle-end-turn-button,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{border-radius:8px;box-shadow:inset 0 1px #ffffff29;color:#f4ead4!important;background:0 0!important;border:1px solid #092f3a!important}.app-shell--battle .battle-action-area .battle-fire-button:not(:disabled){color:#092f3a!important;background:linear-gradient(#ffdc70,#f0b62c)!important}.app-shell--battle .battle-action-area .battle-end-turn-button:not(:disabled){color:#092f3a!important;background:linear-gradient(#f7f0dd,#d9ddd4)!important}.app-shell--battle .battle-action-area .button:disabled,.app-shell--battle .battle-action-area .battle-end-turn-button:disabled{opacity:.72;color:#092f3a8a!important;background:linear-gradient(#c7d0ca,#929f9b)!important}.app-shell--battle .mana-bar__track{box-shadow:none;background:#022f39b8;border:1px solid #7eccc794;border-radius:999px}.app-shell--battle .mana-bar__segment{background:#66a1a075}.app-shell--battle .mana-bar__segment--filled{box-shadow:none;background:#f1b72f}.app-shell--battle .mana-bar__track .mana-bar__segment{background:#66a1a075!important}.app-shell--battle .mana-bar__track .mana-bar__segment--filled{box-shadow:none;background:#f1b72f!important}.app-shell--battle .topbar:before{display:none}.app-shell--battle .topbar .brand{flex:none;margin-right:auto}.app-shell--battle .topbar-meta{margin-left:auto}@media (width>=761px){.app-shell--battle .battle-controls{grid-template-rows:74px minmax(0,1fr) 24px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{height:100%;min-height:0;overflow:hidden}}@media (width<=760px){.app-shell--battle .match-layout--battle{gap:2px}.app-shell--battle .battle-controls{aspect-ratio:1.75;border-width:1px;border-radius:10px;grid-template-rows:64px minmax(0,1fr) 16px;padding:7px 8px 6px}.app-shell--battle .battle-board-panel{padding:5px 6px 3px}.app-shell--battle .battle-info-panel,.app-shell--battle .battle-info-panel.battle-action-dock--simple,.app-shell--battle .battle-info-panel.battle-action-dock--inspecting,.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{min-height:0;padding:4px 6px;overflow:hidden}.app-shell--battle .battle-info-panel.battle-action-dock--tile-intel{overflow:visible}.app-shell--battle .battle-action-dock__copy>span{font-size:.4rem}.app-shell--battle .battle-action-dock__copy>strong{font-size:.6rem}.app-shell--battle .battle-action-dock__copy>p{max-height:28px;font-size:.42rem;line-height:1.12}.app-shell--battle .battle-action-dock__copy>small{text-overflow:ellipsis;white-space:nowrap;max-height:12px;font-size:.38rem;line-height:1;overflow:hidden}.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button){grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}:is(.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button) .battle-clear-button,.app-shell--battle .battle-action-area:has(.battle-fire-button):has(.battle-clear-button):has(.battle-end-turn-button) .battle-end-turn-button){align-self:stretch!important;height:100%!important;min-height:0!important;max-height:none!important}}.app-shell--battle .battle-action-area--three-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-content:stretch;grid-template-rows:minmax(0,1.15fr) minmax(0,1fr)!important;align-items:stretch!important}.app-shell--battle .battle-action-area--three-actions .battle-fire-button{grid-area:1/1/auto/-1;align-self:stretch!important;height:100%!important;min-height:0!important;max-height:none!important}.app-shell--battle .battle-action-area--three-actions .battle-clear-button,.app-shell--battle .battle-action-area--three-actions .battle-end-turn-button{align-self:stretch!important;height:100%!important;min-height:0!important;max-height:none!important}.app-shell--battle .battle-action-area--three-actions .battle-clear-button{grid-area:2/1}.app-shell--battle .battle-action-area--three-actions .battle-end-turn-button{grid-area:2/2}.mobile-menu-toggle{display:none}@media (width<=760px){.app-shell.app-shell--construction,.app-shell.app-shell--battle{padding:4px 4px 6px}.app-shell--construction .topbar,.app-shell--battle .topbar{z-index:80;width:34px;min-height:34px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute;top:4px;left:4px}.app-shell--construction .topbar .brand,.app-shell--battle .topbar .brand{display:none}.app-shell--construction .mobile-menu-toggle,.app-shell--battle .mobile-menu-toggle{color:#f4ead4;background:#032f3ae0;border:1px solid #f4ead4c2;border-radius:9px;place-items:center;width:34px;height:34px;min-height:34px;padding:7px;display:grid;box-shadow:0 2px #021921}.app-shell--construction .mobile-menu-toggle svg,.app-shell--battle .mobile-menu-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.2px;width:18px;height:18px}.app-shell--construction .topbar .topbar-meta,.app-shell--battle .topbar .topbar-meta{color:#f4ead4;background:#032f3af5;border:1px solid #f4ead4b8;border-radius:10px;align-items:center;gap:5px;width:max-content;min-width:0;padding:4px;display:none;position:absolute;top:0;left:42px;box-shadow:0 3px #021921}.app-shell--construction .topbar--mobile-menu-open .topbar-meta,.app-shell--battle .topbar--mobile-menu-open .topbar-meta{display:flex}.app-shell--construction .topbar .topbar-meta>span,.app-shell--battle .topbar .topbar-meta>span{display:none!important}.app-shell--construction .topbar .topbar-audio,.app-shell--battle .topbar .topbar-audio{gap:5px;display:flex}.app-shell--construction .topbar .sound-toggle,.app-shell--battle .topbar .sound-toggle{width:30px;height:30px;min-height:30px;padding:6px}.app-shell--construction .topbar .language-select,.app-shell--battle .topbar .language-select{width:96px;max-width:96px;min-height:30px;padding-block:3px;font-size:.56rem;display:block}.app-shell--construction .match-layout.construction-table{grid-template-rows:30px 42px minmax(0,1.35fr) minmax(298px,.65fr);gap:3px;height:calc(100dvh - 10px)}.app-shell--construction .game-phase-header{padding-left:42px}.app-shell--construction .construction-stats{height:42px}.app-shell--construction .construction-table>.control-panel{grid-template-rows:minmax(246px,1fr) 50px 34px 34px 8px}.app-shell--construction .tile-pool{--rack-grid-inline-start:19.33%;--rack-grid-inline-end:20.17%;--rack-grid-block-start:16.78%;--rack-grid-block-end:15.69%;--rack-column-gap:2.3cqw;--rack-row-gap:2cqw;--rack-tile-inset:1px;aspect-ratio:1562/1007;background-image:none;width:100%;max-width:382px}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr))}.app-shell--construction .validation-panel{box-sizing:border-box;height:calc(100% - 4px);max-height:calc(100% - 4px)}.app-shell--construction .letter-tile strong{font-size:clamp(.82rem,4.6cqw,1.24rem)}.app-shell--construction .letter-tile{transform:scale(1.1)}.app-shell--construction .letter-tile:not(.letter-tile--active):not(.letter-tile--selected){animation:none}.app-shell--construction .letter-tile--active{transform:translateY(-1px)scale(1.1)}.app-shell--construction .construction-table>.board-panel{aspect-ratio:1;width:100%;height:auto;max-height:100%;padding:8.5% 8.5% 9.5%}.app-shell--battle .match-layout--battle{grid-template-rows:minmax(0,1.25fr) minmax(0,.75fr);gap:4px}.app-shell--battle .battle-board-panel{padding:3px 3px 2px}.app-shell--battle .battle-board-panel .panel-heading{min-height:28px;padding-left:40px}.app-shell--battle .battle-board-panel .panel-heading h2{font-size:.78rem}.app-shell--battle .battle-instruction{min-height:17px;padding-block:2px}.app-shell--battle .battle-board-footer{min-height:12px}.app-shell--battle .battle-stage .game-board-wrap{width:84%;height:84%}.app-shell--battle .battle-controls{aspect-ratio:1.75;align-self:start;width:min(100%,390px);height:auto;margin:0 auto}}@media (width<=760px) and (height<=700px){.app-shell--construction .match-layout.construction-table{grid-template-rows:28px 40px minmax(0,1.2fr) minmax(266px,.6fr)}.app-shell--construction .construction-table>.control-panel{grid-template-rows:minmax(193px,1fr) 48px 32px 34px 8px}.app-shell--construction .tile-pool{max-width:300px}.app-shell--construction .letter-tile{transform:scale(1.2)}.app-shell--construction .letter-tile--active{transform:translateY(-1px)scale(1.2)}}.app-shell--construction .tile-pool{aspect-ratio:auto;background:#063f4b;border:1px solid #f4ead457;border-radius:10px;min-height:126px;padding:5px;overflow:hidden;box-shadow:inset 0 0 0 1px #032f38b8;container-type:normal}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;width:100%;min-width:0;height:100%;display:grid;position:static;inset:auto}.app-shell--construction .letter-tile,.app-shell--construction .letter-tile-slot{aspect-ratio:auto;place-self:stretch stretch;width:100%;min-width:0;height:100%;min-height:0}.app-shell--construction .letter-tile{color:#092f3a;background:#f4ead4;border:1px solid #092f3a;border-radius:6px;box-shadow:0 2px #092f3a}.app-shell--construction .letter-tile strong{place-items:center;width:100%;height:100%;padding-bottom:5%;font-size:clamp(.78rem,1.8vw,1.08rem);line-height:.92;display:grid}.app-shell--construction .letter-tile span{font-size:clamp(.42rem,.9vw,.56rem);line-height:1;bottom:3px;right:5px}@media (width<=760px){.app-shell--construction .construction-table>.control-panel{grid-template-rows:96px 76px 48px 54px 8px}.app-shell--construction .tile-pool{align-self:stretch;width:100%;max-width:382px;height:100%;min-height:0;padding:4px}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}.app-shell--construction .letter-tile{transform:none}.app-shell--construction .letter-tile--active{transform:translateY(-1px)}.app-shell--construction .letter-tile strong{font-size:clamp(.9rem,4.4vw,1.18rem)}.app-shell--construction .letter-tile span{font-size:.46rem;bottom:3px;right:4px}.app-shell--construction .game-primary-action{aspect-ratio:auto;color:#092f3a;white-space:nowrap;border:1px solid #c99736;border-radius:10px;width:100%;height:100%;min-height:0;padding:10px 14px;font-size:clamp(1.08rem,5.2vw,1.35rem);box-shadow:inset 0 1px #ffffff7a,0 3px #6e4b15;background:linear-gradient(#ffd36a,#e6a929)!important}.app-shell--construction .validation-panel strong{font-size:clamp(.66rem,3vw,.78rem)}.app-shell--construction .construction-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:100%}.app-shell--construction .construction-tools .button{height:100%;min-height:0;padding:4px;font-size:clamp(.66rem,2.8vw,.76rem)}}@media (width<=760px) and (height<=700px){.app-shell--construction .construction-table>.control-panel{grid-template-rows:82px 64px 40px 48px 8px}.app-shell--construction .tile-pool{max-width:382px}.app-shell--construction .letter-tile strong{font-size:clamp(.82rem,4vw,1.04rem)}.app-shell--construction .game-primary-action{font-size:clamp(1rem,4.8vw,1.2rem)}.app-shell--construction .construction-tools .button{font-size:clamp(.62rem,2.6vw,.7rem)}}@media (width>=761px){.app-shell.app-shell--construction{padding:8px clamp(18px,3vw,40px) 10px}.app-shell--construction .topbar{margin-bottom:6px}.app-shell--construction .match-layout.construction-table{grid-template:"phase stats"56px"board controls"minmax(0,1fr)/minmax(0,1.1fr) minmax(400px,.78fr);gap:10px 18px;width:min(1180px,100%);height:calc(100dvh - 84px)}.app-shell--construction .game-phase-header{min-height:0;padding:0 6px}.app-shell--construction .game-phase-header h2{font-size:clamp(1.15rem,1.8vw,1.45rem)}.app-shell--construction .construction-stats{background:#063f4b;border:1px solid #f4ead45c;border-radius:11px;height:56px;min-height:0;padding:5px;box-shadow:inset 0 0 0 1px #032f38b8}.app-shell--construction .construction-stats>div{background:#075d68;border:1px solid #f4ead42e;border-radius:7px;min-height:0;padding:4px 6px}.app-shell--construction .construction-stats strong{font-size:.94rem}.app-shell--construction .construction-stats span{font-size:.46rem}.app-shell--construction .construction-table>.board-panel{box-sizing:border-box;aspect-ratio:1;background-size:contain;place-self:center;width:min(100%,548px);height:auto;max-height:100%;padding:8.5% 8.5% 9.5%}.app-shell--construction .construction-table>.control-panel{background:#063f4b;border:1px solid #c99736;border-radius:14px;grid-template:"pool"126px"primary"84px"validation"62px"tools"52px"status"14px/minmax(0,1fr);place-self:center;gap:6px;width:min(100%,450px);height:404px;max-height:100%;padding:10px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #092f3a,0 4px #03191fb8}.app-shell--construction .tray-heading,.app-shell--construction .demo-note{display:none}.app-shell--construction .tile-pool{grid-area:pool;align-self:stretch;width:100%;max-width:none;height:100%;min-height:0;padding:5px}.app-shell--construction .tile-pool__grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.app-shell--construction .letter-tile strong{font-size:clamp(.9rem,1.35vw,1.1rem)}.app-shell--construction .game-primary-action{aspect-ratio:auto;color:#092f3a;white-space:nowrap;border:1px solid #c99736;border-radius:10px;grid-area:primary;width:100%;height:100%;min-height:0;margin:0;padding:10px 14px;font-size:clamp(1.08rem,1.9vw,1.35rem);box-shadow:inset 0 1px #ffffff7a,0 3px #6e4b15;background:linear-gradient(#ffd36a,#e6a929)!important}.app-shell--construction .validation-panel{box-sizing:border-box;grid-area:validation;height:100%;min-height:0;max-height:none;margin:0;padding:8px 10px;overflow:hidden}.app-shell--construction .validation-panel strong{font-size:.72rem}.app-shell--construction .validation-panel span,.app-shell--construction .validation-panel ul{display:none}.app-shell--construction .construction-tools{grid-area:tools;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:100%;margin:0}.app-shell--construction .construction-tools .button{text-overflow:ellipsis;height:100%;min-height:0;padding:4px;font-size:.64rem;overflow:hidden}.app-shell--construction .opponent-status{grid-area:status;margin:0;font-size:.46rem}}.app-shell.app-shell--completed{background:#eef5f7;min-height:100dvh;padding:clamp(8px,1.5vw,18px) clamp(10px,2.5vw,28px) clamp(20px,4vw,42px)}.app-shell--completed .result-screen{border:1px solid var(--play-line);width:min(1180px,100%);color:var(--play-ink);background:var(--play-surface);box-shadow:var(--play-shadow);text-align:left;border-radius:18px;gap:clamp(12px,2vw,20px);margin:clamp(8px,1.6vh,18px) auto 0;padding:clamp(12px,2vw,22px);display:grid;background-image:none!important}.app-shell--completed .result-screen:before,.app-shell--completed .result-screen:after,.app-shell--completed .result-command-frame,.app-shell--completed .result-command-frame:after{display:none}.app-shell--completed .result-overview{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:stretch;gap:clamp(12px,2vw,20px);display:grid}.app-shell--completed .result-spotlight,.app-shell--completed .result-summary-panel,.app-shell--completed .result-formations{box-sizing:border-box;border:1px solid var(--play-line);background:var(--play-surface-soft);box-shadow:none;border-radius:14px}.app-shell--completed .result-spotlight{width:auto;min-height:220px;color:var(--play-ink);text-align:left;align-content:center;justify-items:start;gap:7px;margin:0;padding:clamp(20px,3.5vw,38px);display:grid;background-image:none!important}.app-shell--completed .result-spotlight .eyebrow{color:var(--play-blue);letter-spacing:.12em;margin:0;font-size:.7rem}.app-shell--completed .result-spotlight>.mode-badge{margin:0}.app-shell--completed .result-spotlight>p:not(.eyebrow){max-width:42ch;color:var(--play-muted);text-transform:none;margin:0;font-size:clamp(.76rem,1.4vw,.94rem);font-weight:700}.app-shell--completed .result-actions .button,.app-shell--completed .result-secondary-action.button.button--secondary,.app-shell--completed .result-primary-action.button.button--primary{aspect-ratio:auto;border:1px solid var(--play-line);width:100%;min-height:50px;box-shadow:none;filter:none;letter-spacing:.01em;text-shadow:none;border-radius:11px;margin:0;padding:10px 12px;font-family:inherit;font-size:clamp(.7rem,1.3vw,.86rem);font-weight:850;line-height:1.1;display:grid;background-image:none!important}.app-shell--completed .result-secondary-action.button.button--secondary{color:var(--play-blue-deep);background:var(--play-surface)}.app-shell--completed .result-primary-action.button.button--primary{color:#4d3700;background:linear-gradient(180deg, #ffdf72, var(--play-yellow));border-color:#d6ad23}.app-shell--completed .result-actions .button:before,.app-shell--completed .result-actions .button:after,.app-shell--completed .result-actions .button>span{transform:none}.app-shell--completed .result-actions .button:before,.app-shell--completed .result-actions .button:after{display:none}.app-shell--completed .result-actions .button:hover:not(:disabled),.app-shell--completed .result-actions .button:focus-visible:not(:disabled){filter:brightness(1.02);transform:translateY(-1px);background-image:none!important}.app-shell--completed .result-actions .button:active:not(:disabled){transform:translateY(1px);background-image:none!important}.app-shell--completed .result-actions .button:disabled{opacity:.5}.app-shell--completed .result-summary-panel{align-content:start;gap:12px;min-width:0;padding:clamp(16px,2.5vw,26px);display:grid}.app-shell--completed .result-summary>div{border:1px solid var(--play-line);min-height:78px;color:var(--play-ink);background:var(--play-surface);box-shadow:none;border-radius:10px;padding:10px 6px}.app-shell--completed .result-summary strong{color:var(--play-ink);font-size:clamp(1.12rem,2.4vw,1.55rem)}.app-shell--completed .result-summary span{color:var(--play-muted);letter-spacing:.02em;text-overflow:clip;white-space:normal;font-size:clamp(.5rem,.95vw,.64rem);overflow:visible}.app-shell--completed .result-cap-comparison [role=row]{border-color:var(--play-line);background:var(--play-surface)}.app-shell--completed .result-formations{background:var(--play-surface);gap:12px;padding:clamp(14px,2vw,22px);display:grid}.app-shell--completed .result-boards>.result-board-card{border:1px solid var(--play-line);min-width:0;color:var(--play-ink);background:var(--play-surface-soft);box-shadow:none;border-radius:12px;padding:clamp(10px,1.5vw,14px);background-image:none!important}.app-shell--completed .result-boards>.result-board-card:after{display:none}.app-shell--completed .result-boards .game-board-wrap{border:1px solid var(--play-blue-deep);background:var(--play-blue-soft);border-radius:10px}@media (width<=760px){.app-shell.app-shell--completed{padding:6px 6px 20px}.app-shell--completed .result-screen{border-radius:13px;gap:10px;margin-top:5px;padding:9px}.app-shell--completed .result-overview{grid-template-columns:1fr;gap:10px}.app-shell--completed .result-spotlight{min-height:0;padding:20px}.app-shell--completed .result-spotlight h2{font-size:clamp(2.65rem,14vw,3.7rem)}.app-shell--completed .result-summary-panel,.app-shell--completed .result-formations{border-radius:11px;padding:13px}.app-shell--completed .result-summary--legacy{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--completed .result-summary>div{min-height:66px}.app-shell--completed .result-boards{grid-template-columns:1fr;gap:10px}}.app-shell>.topbar{z-index:120!important}.card-prompt-backdrop,.legacy-help-backdrop{z-index:130}.topbar-meta{margin-left:auto}.account-menu__panel{z-index:50;color:#f4ead4;background:#052f3a;border:1px solid #45777b;border-radius:8px;align-content:start;gap:0;width:min(318px,100vw - 16px);min-height:min(400px,100dvh - 84px);max-height:calc(100dvh - 84px);padding:0 18px 18px;animation:.15s ease-out both account-panel-in;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden auto;box-shadow:0 22px 56px #0012199e}.account-menu__profile{border-bottom:1px solid #abcfc54d;align-items:center;gap:12px;min-width:0;padding:18px 0 16px;display:flex}.account-menu__profile .account-menu__avatar{background:#073d48;flex:none;width:46px;height:46px;font-size:.84rem}.account-menu__profile span:not(.account-menu__avatar){gap:3px;min-width:0;display:grid}.account-menu__profile strong,.account-menu__profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__profile strong{color:#fff7e3;font-size:.78rem;line-height:1.25}.account-menu__profile small{color:#84c8bd;font-size:.62rem;font-weight:750}.account-menu__stats{margin:0}.account-menu__stat{border-bottom:1px solid #abcfc53d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:14px 0;display:grid}.account-menu__stat dt{gap:4px;min-width:0;display:grid}.account-menu__stat dt>span{color:#f4ead4;font-size:.7rem;font-weight:850;line-height:1.25}.account-menu__stat dt>small{color:#8fb9b6;font-size:.56rem;font-weight:700;line-height:1.35}.account-menu__stat dd{color:#fff7e3;margin:0;font-size:1.22rem;font-weight:900;line-height:1}.account-menu__bot-disclosure{color:#94bdb9;margin:13px 0 0;font-size:.58rem;font-weight:700;line-height:1.45}.account-menu__leaderboard{color:#a8ddd3;width:100%;min-height:42px;box-shadow:none;cursor:pointer;background:0 0;border:1px solid #69b8ac;border-radius:6px;margin-top:14px;padding:9px 12px;font-size:.68rem;font-weight:850}.account-menu__identity{border-top:1px solid #abcfc54d;gap:7px;margin-top:16px;padding-top:16px;display:grid}.account-menu__identity>strong{color:#f4ead4;font-size:.7rem}.account-menu__identity p{color:#a9c8c4;margin:0;font-size:.62rem;font-weight:700;line-height:1.45}.account-menu__google,.account-menu__logout{width:100%;min-height:44px;box-shadow:none;cursor:pointer;border-radius:6px;padding:10px 12px;font-size:.68rem;font-weight:900}.account-menu__google{color:#092f3a;background:#f7bf4b;border:1px solid #d39d32;margin-top:3px}.account-menu__logout{color:#f4ead4;background:0 0;border:1px solid #69a49f}.account-menu__identity--linked .competition-delete-link{color:#ffb5b0;width:100%;min-height:34px;box-shadow:none;text-align:center;background:0 0;border:0;padding:5px 7px}.account-menu__leaderboard:hover,.account-menu__logout:hover{background:#69b8ac1a}.account-menu__google:hover{background:#ffd069}.account-menu__google:disabled,.account-menu__logout:disabled,.account-menu__identity--linked .competition-delete-link:disabled{opacity:.46;cursor:not-allowed}.account-menu__panel .competition-action-error{margin:14px 0 0;font-size:.6rem}@keyframes account-panel-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=760px){.account-menu__panel{width:min(318px,100vw - 16px);min-height:min(400px,100dvh - 70px);max-height:calc(100dvh - 70px);position:fixed;top:58px;left:auto;right:8px}.app-shell--construction .topbar .topbar-meta,.app-shell--battle .topbar .topbar-meta{left:42px}}.account-menu--drawer{display:none}@media (width<=760px){.app-shell--construction .topbar-actions>.account-menu,.app-shell--battle .topbar-actions>.account-menu{display:none}.app-shell--construction .topbar .account-menu--drawer,.app-shell--battle .topbar .account-menu--drawer{min-width:0;display:block}.app-shell--construction .topbar .topbar-meta,.app-shell--battle:not(.app-shell--mode-legacy) .topbar .topbar-meta{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;width:min(318px,100vw - 54px);max-height:calc(100dvh - 12px);padding:8px;display:none;overflow-y:auto}.app-shell--construction .topbar--mobile-menu-open .topbar-meta,.app-shell--battle:not(.app-shell--mode-legacy) .topbar--mobile-menu-open .topbar-meta{display:grid}.app-shell--construction .topbar .topbar-audio,.app-shell--battle:not(.app-shell--mode-legacy) .topbar .topbar-audio{justify-content:flex-start}.app-shell--construction .topbar .language-select,.app-shell--battle:not(.app-shell--mode-legacy) .topbar .language-select{width:100%;max-width:none;min-height:36px}}@media (width<=820px){.app-shell--mode-legacy.app-shell--battle .topbar-actions>.account-menu{display:none}.app-shell--mode-legacy.app-shell--battle .topbar .account-menu--drawer{grid-column:1/-1;min-width:0;display:block}.account-menu--drawer .account-menu__panel{z-index:auto;width:100%;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-top:1px solid #abcfc54d;border-radius:0;padding:10px 0 0;animation:none;position:static}.account-menu--drawer .account-menu__profile{padding-top:0}}@media (width<=420px){.app-shell--lobby .topbar{gap:6px}.app-shell--lobby .topbar .brand{width:90px}.app-shell--lobby .topbar-meta,.app-shell--lobby .topbar-actions{gap:4px}.app-shell--lobby .language-select{width:76px;max-width:76px}.app-shell--construction .topbar-audio .music-toggle,.app-shell--battle .topbar-audio .music-toggle,.app-shell--completed .topbar-audio .music-toggle,.app-shell--waiting .topbar-audio .music-toggle{display:inline-grid}}.competition-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.competition-lobby{color:#fff;background:radial-gradient(circle at 92% 0,#68e3ad1f,#0000 34%),#075aa7;border:1px solid #ffffff2e;border-radius:20px;gap:14px;width:100%;padding:clamp(16px,3vw,22px);display:grid;box-shadow:0 14px 36px #022b4d2e}.competition-lobby__header,.competition-account-chip,.competition-account-chip>span:last-child,.competition-link-card,.competition-account-actions,.competition-queue-status,.competition-settlement__heading,.competition-leaderboard__heading,.competition-leaderboard__own{align-items:center;display:flex}.competition-lobby__header{justify-content:space-between;gap:12px}.competition-account-chip{gap:9px;min-width:0}.competition-account-chip__status{background:var(--mint);border:2px solid #68e3ad57;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #68e3ad1f}.competition-account-chip>span:last-child{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.1}.competition-account-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;font-size:.82rem;overflow:hidden}.competition-account-chip small{color:#ffffffad;margin-top:3px;font-size:.6rem;font-weight:800}.competition-leaderboard-button{flex:none;gap:7px;min-height:37px;padding:7px 11px;font-size:.69rem}.competition-leaderboard-button>span{color:var(--yellow);font-size:1rem}.competition-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.competition-rating-card{background:#043f7075;border:1px solid #ffffff29;border-radius:15px;align-content:center;gap:5px;min-width:0;min-height:116px;padding:14px;display:grid}.competition-rating-card>span{color:#d7ecfa;letter-spacing:.055em;text-transform:uppercase;font-size:.64rem;font-weight:900}.competition-rating-card>strong{color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(1.65rem,5vw,2.2rem);line-height:1}.competition-link-card{background:#ffd45a17;border:1px solid #ffd45a57;border-radius:15px;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px}.competition-link-card>div{min-width:0}.competition-link-card strong{font-size:.78rem}.competition-link-card p{color:#ffffffbd;margin:5px 0 0;font-size:.65rem;line-height:1.45}.competition-link-card>.button{flex:none;align-items:center;gap:7px;min-height:39px;padding:7px 11px;font-size:.68rem;display:flex}.competition-google-mark{color:#1558d6;background:#fff;border-radius:50%;place-items:center;width:19px;height:19px;font-size:.69rem;font-weight:950;display:grid}.competition-account-actions{justify-content:flex-end;gap:12px}.competition-account-actions .button{min-height:36px;padding:6px 11px;font-size:.67rem}.competition-delete-link{color:#ffc3c7;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;min-height:32px;padding:5px 0;font-size:.63rem;font-weight:800;text-decoration:underline}.competition-delete-link:disabled{opacity:.45;cursor:not-allowed}.competition-action-error{color:#fff;background:#78152652;border:1px solid #ff747d6b;border-radius:11px;margin:0;padding:9px 11px;font-size:.67rem;font-weight:800;line-height:1.4}.competition-queue-status{background:#04415452;border:1px solid #68e3ad40;border-radius:14px;align-items:flex-start;gap:11px;padding:12px}.competition-queue-status__pulse{background:var(--mint);border:2px solid #68e3ad5c;border-radius:50%;flex:none;width:11px;height:11px;margin-top:3px;animation:1.6s ease-out infinite competition-queue-pulse}.competition-queue-status>div{gap:3px;min-width:0;display:grid}.competition-queue-status strong{font-size:.76rem}.competition-queue-status p,.competition-queue-status small{color:#ffffffb8;margin:0;font-size:.62rem;line-height:1.4}.competition-queue-status small{color:#c7f6df;font-weight:750}.competition-settlement{background:#0436606b;border:1px solid #ffffff2e;border-radius:15px;gap:8px;padding:13px;display:grid}.competition-settlement--pending{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px}.competition-settlement--pending strong{font-size:.76rem}.competition-settlement--pending p{color:#ffffffab;margin:3px 0 0;font-size:.62rem;line-height:1.4}.competition-settlement__spinner{border:3px solid #ffffff38;border-top-color:var(--yellow);border-radius:50%;flex:none;width:21px;height:21px;animation:.85s linear infinite competition-spin;display:block}.competition-settlement__heading{justify-content:space-between;gap:12px}.competition-settlement__heading h3{font-size:.85rem}.competition-settlement__heading>span{color:#073f4b;background:var(--mint);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.76rem;font-weight:950;display:grid}.competition-settlement__labels,.competition-settlement__numbers{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.competition-settlement__labels{color:#ffffff7a;text-align:right;text-transform:uppercase;justify-self:end;width:min(210px,55%);font-size:.5rem;font-weight:850}.competition-settlement__row{border-top:1px solid #ffffff1f;grid-template-columns:minmax(0,1fr) minmax(150px,55%);align-items:center;gap:12px;padding-top:8px;display:grid}.competition-settlement__row>div:first-child{gap:2px;min-width:0;display:grid}.competition-settlement__row>div:first-child strong{font-size:.69rem}.competition-settlement__row>div:first-child small{color:#ffffff94;font-size:.55rem;line-height:1.3}.competition-settlement__numbers{font-variant-numeric:tabular-nums;place-items:baseline end;font-size:.73rem}.competition-settlement__numbers b{color:#ffffffa3}.competition-settlement__numbers strong{font-size:.9rem}.competition-settlement__unavailable{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;font-size:.67rem;display:flex}.competition-settlement__unavailable span{color:#ffffff94;text-align:right;font-size:.58rem}.competition-modal-backdrop{z-index:140;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#021f3ab8;place-items:center;padding:16px;animation:.18s ease-out both battle-feedback-in;display:grid;position:fixed;inset:0}.competition-leaderboard,.competition-identity-conflict,.competition-delete-dialog{color:#fff;background:radial-gradient(circle at 88% 0,#68e3ad21,#0000 30%),#064f91;border:1px solid #ffffff45;border-radius:23px;width:min(100%,900px);max-height:calc(100dvh - 32px);padding:clamp(17px,3vw,25px);animation:.22s cubic-bezier(.2,.9,.25,1.08) both battle-feedback-card;overflow:auto;box-shadow:0 28px 80px #02182d99}.competition-leaderboard__heading{justify-content:space-between;align-items:flex-start;gap:18px}.competition-leaderboard__heading>div{min-width:0}.competition-leaderboard__heading .eyebrow{color:#bcefd8}.competition-leaderboard__heading h2,.competition-identity-conflict h2,.competition-delete-dialog h2{font-size:clamp(1.6rem,5vw,2.3rem)}.competition-leaderboard__heading p:not(.eyebrow),.competition-identity-conflict>p:not(.eyebrow),.competition-delete-dialog>p:not(.eyebrow){color:#ffffffb3;max-width:650px;margin:8px 0 0;font-size:.72rem;line-height:1.55}.competition-modal__close{color:#fff;cursor:pointer;background:#02346085;border:1px solid #ffffff3d;border-radius:50%;flex:none;width:38px;height:38px;padding:0;font-size:1.25rem}.competition-leaderboard__state{color:#ffffffc7;text-align:center;align-content:center;place-items:center;gap:15px;min-height:280px;font-size:.8rem;display:grid}.competition-leaderboard__own{background:#68e3ad17;border:1px solid #68e3ad4a;border-radius:14px;justify-content:space-between;gap:20px;margin:20px 0 13px;padding:12px 14px}.competition-leaderboard__own>div:first-child{gap:2px;min-width:0;display:grid}.competition-leaderboard__own span{color:#ffffff9e;text-transform:uppercase;font-size:.57rem;font-weight:850}.competition-leaderboard__own strong{font-size:.78rem}.competition-leaderboard__own>p{color:#d5f7e8;text-align:right;max-width:420px;margin:0;font-size:.65rem;line-height:1.4}.competition-leaderboard__own-score{justify-items:end;gap:1px;display:grid}.competition-leaderboard__own-score strong{color:var(--yellow);font-variant-numeric:tabular-nums;font-size:1rem}.competition-leaderboard__table-wrap{background:#03305747;border:1px solid #ffffff24;border-radius:14px;max-height:min(55dvh,520px);overflow:auto}.competition-leaderboard__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.68rem}.competition-leaderboard__table th,.competition-leaderboard__table td{text-align:right;white-space:nowrap;border-bottom:1px solid #ffffff1c;padding:10px 12px}.competition-leaderboard__table thead th{z-index:1;color:#ffffffa6;letter-spacing:.045em;text-transform:uppercase;background:#06477f;font-size:.56rem;position:sticky;top:0}.competition-leaderboard__table th:nth-child(2),.competition-leaderboard__table td:nth-child(2){text-align:left;width:100%}.competition-leaderboard__table tbody th{color:#fff;text-overflow:ellipsis;max-width:28ch;font-size:.72rem;position:relative;overflow:hidden}.competition-leaderboard__table tbody th small{color:#063f4b;background:var(--mint);text-transform:uppercase;border-radius:999px;margin-left:7px;padding:2px 6px;font-size:.5rem;font-weight:950}.competition-leaderboard__table tbody tr:last-child>*{border-bottom:0}.competition-leaderboard__empty{color:#ffffffad;text-align:center;border:1px dashed #ffffff3d;border-radius:14px;place-items:center;min-height:230px;margin:16px 0 0;padding:30px;font-size:.76rem;line-height:1.5;display:grid}.competition-identity-conflict{width:min(100%,620px)}.competition-identity-conflict__profiles{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:20px;display:grid}.competition-identity-conflict__profiles>article{background:#0331586b;border:1px solid #ffffff2b;border-radius:13px;gap:5px;min-width:0;padding:13px;display:grid}.competition-identity-conflict__profiles article>span,.competition-identity-conflict__profiles article>small{color:#ffffffa1;font-size:.58rem;font-weight:750}.competition-identity-conflict__profiles article>span{text-transform:uppercase}.competition-identity-conflict__profiles article>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.competition-identity-conflict__profiles>span{color:#ffffff78;text-transform:uppercase;font-size:.6rem;font-weight:850}.competition-identity-conflict>.competition-identity-conflict__warning{color:#ffe9a5;margin-top:12px;font-size:.64rem;font-weight:800}.competition-identity-conflict__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.competition-identity-conflict__actions .button{text-align:left;white-space:normal;align-content:center;justify-items:start;gap:3px;min-height:70px;display:grid}.competition-identity-conflict__actions .button small{color:currentColor;opacity:.74;white-space:normal;font-size:.56rem;font-weight:650;line-height:1.3}.competition-delete-dialog{width:min(100%,450px)}.competition-delete-dialog__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px;display:grid}.competition-delete-dialog__actions .button{white-space:normal}@keyframes competition-spin{to{transform:rotate(360deg)}}@keyframes competition-queue-pulse{0%{box-shadow:0 0 #68e3ad6b}75%,to{box-shadow:0 0 0 8px #68e3ad00}}@media (width<=640px){.competition-modal-backdrop{align-items:end;padding:7px}.competition-leaderboard,.competition-identity-conflict,.competition-delete-dialog{border-radius:20px 20px 13px 13px;max-height:calc(100dvh - 14px);padding:16px}.competition-leaderboard__table-wrap{background:0 0;border:0;max-height:min(58dvh,520px)}.competition-leaderboard__table,.competition-leaderboard__table tbody,.competition-leaderboard__table tr,.competition-leaderboard__table th,.competition-leaderboard__table td{width:100%;display:block}.competition-leaderboard__table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.competition-leaderboard__table tbody{gap:8px;display:grid}.competition-leaderboard__table tbody tr{background:#03305754;border:1px solid #ffffff24;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:10px;display:grid}.competition-leaderboard__table tbody tr>*{text-align:right;border:0;justify-content:space-between;align-items:baseline;gap:8px;padding:0;display:flex}.competition-leaderboard__table tbody tr>:before{color:#ffffff7a;content:attr(data-label);text-transform:uppercase;flex:none;font-size:.5rem;font-weight:850}.competition-leaderboard__table tbody th:nth-child(2){grid-area:1/1/auto/-1;justify-content:flex-start;max-width:none;font-size:.76rem}.competition-leaderboard__table tbody th:nth-child(2):before{display:none}.competition-leaderboard__table tbody td:last-child{grid-column:1/-1}}@media (width<=470px){.competition-lobby__header,.competition-link-card,.competition-leaderboard__own{flex-direction:column;align-items:stretch}.competition-leaderboard-button,.competition-link-card>.button{justify-content:center;width:100%}.competition-rating-grid,.competition-identity-conflict__actions,.competition-delete-dialog__actions{grid-template-columns:1fr}.competition-rating-card{min-height:102px}.competition-leaderboard__own>p{text-align:left}.competition-leaderboard__own-score{justify-items:start}.competition-identity-conflict__profiles{grid-template-columns:1fr}.competition-identity-conflict__profiles>span{text-align:center}.competition-settlement__labels{display:none}.competition-settlement__row{grid-template-columns:1fr;gap:7px}.competition-settlement__numbers{border-top:1px dotted #ffffff21;padding-top:4px}}@media (prefers-reduced-motion:reduce){.competition-modal-backdrop,.competition-leaderboard,.competition-identity-conflict,.competition-delete-dialog,.competition-queue-status__pulse,.competition-settlement__spinner{animation:none}}.competition-lobby,.competition-leaderboard,.competition-identity-conflict,.competition-delete-dialog,.competition-settlement,.competition-queue-status{--competition-navy:#092f3a;--competition-sea:#064955;--competition-sea-light:#075d68;--competition-cream:#f4ead4;--competition-muted:#abcfc5;--competition-yellow:#f7bf4b;--competition-mint:#9ce6c9;--competition-coral:#e66f72}.competition-lobby{border:2px solid var(--competition-navy);color:var(--competition-cream);background:var(--competition-sea);box-shadow:0 4px 0 var(--competition-navy), inset 0 1px 0 #ffffff14;border-radius:16px;gap:8px;padding:11px}.competition-lobby .button{border:2px solid var(--competition-navy);min-height:38px;box-shadow:0 2px 0 var(--competition-navy);border-radius:9px;padding:7px 11px;font-size:.68rem}.competition-lobby .button:active:not(:disabled){box-shadow:none}.competition-lobby__header{border-bottom:1px solid #abcfc53d;gap:10px;min-height:38px;padding:0 1px 8px}.competition-account-chip{gap:8px}.competition-account-chip__status{background:var(--mint);border:0;width:9px;height:9px;box-shadow:0 0 0 3px #68e3ad29}.competition-account-chip strong{color:var(--competition-cream);letter-spacing:.01em;font-size:.76rem}.competition-account-chip small{color:var(--competition-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-size:.58rem}:root[data-locale=zh-Hant] .competition-account-chip small,:root[data-locale=zh-Hans] .competition-account-chip small,:root[data-locale=ja] .competition-account-chip small,:root[data-locale=ko] .competition-account-chip small{letter-spacing:.02em;text-transform:none}.competition-leaderboard-button.button.button--secondary{min-height:34px;color:var(--competition-navy);background:var(--competition-yellow);padding:5px 10px;font-size:.62rem}.competition-rating-grid{gap:6px}.competition-rating-card{border:2px solid var(--competition-navy);background:var(--competition-sea-light);border-radius:11px;align-content:start;gap:3px;min-height:78px;padding:9px 10px;box-shadow:inset 0 1px #ffffff14}.competition-rating-card>span{color:var(--competition-muted);letter-spacing:.045em;font-size:.58rem}.competition-rating-card>strong{color:var(--competition-cream);font-size:clamp(1.3rem,4vw,1.65rem)}.competition-rating-card>small{color:#d5eee6;min-height:0;font-size:.58rem;font-weight:700;line-height:1.28}.competition-link-card{border:2px solid var(--competition-navy);min-height:58px;color:var(--competition-navy);background:var(--competition-cream);box-shadow:0 2px 0 var(--competition-navy);border-radius:11px;align-items:center;gap:10px;padding:8px 9px 8px 11px}.competition-link-card strong{color:var(--competition-navy);font-size:.69rem}.competition-link-card p{color:#315a5d;margin-top:2px;font-size:.58rem;font-weight:700;line-height:1.3}.competition-link-card>.button.button--warning{max-width:154px;min-height:38px;color:var(--competition-navy);background:var(--competition-yellow);white-space:normal;flex:none;justify-content:center}.competition-account-actions{border-top:1px solid #abcfc533;justify-content:space-between;gap:8px;min-height:38px;padding-top:7px}.competition-account-actions .button.button--ghost{border-color:var(--competition-navy);min-height:34px;color:var(--competition-cream);background:var(--competition-sea-light)}.competition-delete-link{color:#ffc0bd;text-underline-offset:2px;min-height:34px;padding:5px 7px;font-size:.62rem}.competition-action-error{color:#fff4ef;background:#8b3d49;border:2px solid #5b2931;border-radius:9px;padding:8px 10px;font-size:.63rem}.competition-queue-status{border:2px solid var(--competition-navy);min-height:56px;color:var(--competition-cream);box-shadow:0 2px 0 var(--competition-navy);background:#073d48;border-radius:11px;gap:10px;padding:9px 10px}.competition-queue-status__pulse{background:var(--competition-mint);border:0;width:10px;height:10px;margin-top:4px}.competition-queue-status>div{gap:1px}.competition-queue-status strong{color:var(--competition-cream);font-size:.69rem}.competition-queue-status p,.competition-queue-status small{color:var(--competition-muted);font-size:.58rem;line-height:1.32}.competition-queue-status small{color:#d5eee6}.competition-queue-status__disclosure{margin-top:3px;color:#d5eee6c7!important;font-size:.58rem!important;font-weight:650!important;line-height:1.35!important}.competition-settlement{border:2px solid var(--competition-navy);color:var(--competition-cream);background:var(--competition-sea);box-shadow:0 3px 0 var(--competition-navy);border-radius:12px;gap:7px;padding:10px}.competition-settlement--pending{gap:10px;min-height:62px}.competition-settlement--pending strong{color:var(--competition-cream);font-size:.7rem}.competition-settlement--pending p{color:var(--competition-muted);margin-top:2px;font-size:.59rem}.competition-settlement__spinner{border-width:2px;border-color:#abcfc542;border-top-color:var(--competition-yellow);width:20px;height:20px}.competition-settlement__heading{border-bottom:1px solid #abcfc538;min-height:35px;padding-bottom:7px}.competition-settlement__heading .eyebrow{color:var(--competition-yellow);margin-bottom:1px;font-size:.53rem}.competition-settlement__heading h3{color:var(--competition-cream);font-size:.78rem}.competition-settlement__labels{width:min(210px,56%);color:var(--competition-muted);font-size:.52rem}.competition-settlement__row{border-top:0;grid-template-columns:minmax(0,1fr) minmax(150px,56%);gap:10px;padding:2px 0}.competition-settlement__row+.competition-settlement__row,.competition-settlement__row+.competition-settlement__unavailable{border-top:1px solid #abcfc52e;padding-top:7px}.competition-settlement__row>div:first-child strong{color:var(--competition-cream);font-size:.65rem}.competition-settlement__row>div:first-child small{color:var(--competition-muted);font-size:.55rem}.competition-settlement__numbers{color:var(--competition-cream);font-size:.69rem}.competition-settlement__numbers b.is-positive{color:var(--competition-mint)}.competition-settlement__numbers b.is-negative{color:#ffb4b1}.competition-settlement__unavailable{color:var(--competition-cream);border-top-color:#abcfc52e}.competition-settlement__unavailable span{color:var(--competition-muted)}.competition-modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#031f26d1;padding:18px}.competition-leaderboard,.competition-identity-conflict,.competition-delete-dialog{border:3px solid var(--competition-navy);color:var(--competition-cream);background:var(--competition-sea);box-shadow:0 7px 0 var(--competition-navy), 0 28px 70px #02181d94, inset 0 1px 0 #ffffff14;border-radius:18px;padding:clamp(16px,3vw,23px)}.competition-leaderboard__heading{border-bottom:1px solid #abcfc53d;gap:14px;padding-bottom:14px}.competition-leaderboard__heading .eyebrow,.competition-identity-conflict>.eyebrow,.competition-delete-dialog>.eyebrow{color:var(--competition-yellow)}.competition-leaderboard__heading h2,.competition-identity-conflict h2,.competition-delete-dialog h2{color:var(--competition-cream);letter-spacing:-.035em;font-size:clamp(1.35rem,4vw,2rem)}.competition-leaderboard__heading p:not(.eyebrow),.competition-identity-conflict>p:not(.eyebrow),.competition-delete-dialog>p:not(.eyebrow){color:var(--competition-muted);margin-top:6px;font-size:.69rem;line-height:1.5}.competition-modal__close{border:2px solid var(--competition-navy);width:auto;height:auto;min-height:34px;color:var(--competition-cream);background:var(--competition-sea-light);box-shadow:0 2px 0 var(--competition-navy);border-radius:9px;padding:6px 10px;font-size:.62rem;font-weight:900}.competition-leaderboard__state{min-height:220px;color:var(--competition-muted);font-size:.72rem}.competition-leaderboard__state .button{border:2px solid var(--competition-navy);color:var(--competition-navy);background:var(--competition-yellow);box-shadow:0 2px 0 var(--competition-navy)}.competition-leaderboard__own{border:2px solid var(--competition-navy);color:var(--competition-navy);background:var(--competition-cream);box-shadow:0 2px 0 var(--competition-navy);border-radius:11px;gap:16px;margin:14px 0 10px;padding:10px 12px}.competition-leaderboard__own span{color:#486a68;font-size:.56rem}.competition-leaderboard__own strong{color:var(--competition-navy);font-size:.75rem}.competition-leaderboard__own>p{color:#315a5d;font-size:.63rem}.competition-leaderboard__own-score strong{color:#9b6500;font-size:.95rem}.competition-leaderboard__table-wrap{border:2px solid var(--competition-navy);background:#073d48;border-radius:11px}.competition-leaderboard__table{color:var(--competition-cream);font-size:.67rem}.competition-leaderboard__table th,.competition-leaderboard__table td{border-bottom-color:#abcfc52b;padding:9px 11px}.competition-leaderboard__table thead th{color:var(--competition-navy);background:var(--competition-yellow);font-size:.55rem}.competition-leaderboard__table tbody th{color:var(--competition-cream);font-size:.7rem}.competition-leaderboard__table tbody th small{color:var(--competition-navy);background:var(--competition-mint)}.competition-leaderboard__table tbody tr[aria-current=true]{background:#f7bf4b1f}.competition-leaderboard__empty{min-height:190px;color:var(--competition-muted);border:2px dashed #4d7d79;border-radius:11px;margin-top:12px;font-size:.7rem}.competition-identity-conflict__profiles{gap:8px;margin-top:16px}.competition-identity-conflict__profiles>article{border:2px solid var(--competition-navy);color:var(--competition-cream);background:var(--competition-sea-light);border-radius:11px;gap:4px;padding:11px}.competition-identity-conflict__profiles article>span,.competition-identity-conflict__profiles article>small{color:var(--competition-muted);font-size:.58rem}.competition-identity-conflict__profiles article>strong{color:var(--competition-cream);font-size:.76rem}.competition-identity-conflict__profiles>span{color:var(--competition-yellow);font-size:.57rem}.competition-identity-conflict>.competition-identity-conflict__warning{border-left:3px solid var(--competition-yellow);color:#ffe5a0;margin-top:10px;padding-left:8px;font-size:.62rem}.competition-identity-conflict__actions,.competition-delete-dialog__actions{gap:8px;margin-top:16px}.competition-identity-conflict__actions .button,.competition-delete-dialog__actions .button{border:2px solid var(--competition-navy);min-height:46px;box-shadow:0 2px 0 var(--competition-navy);border-radius:9px}.competition-identity-conflict__actions .button{min-height:64px;padding:9px 11px}.competition-identity-conflict__actions .button--secondary{color:var(--competition-cream);background:var(--competition-sea-light)}.competition-identity-conflict__actions .button--warning{color:var(--competition-navy);background:var(--competition-yellow)}.competition-identity-conflict__actions .button small{font-size:.56rem}.competition-delete-dialog{border-top-color:#8f3f48}.competition-delete-dialog__actions .button--ghost{color:var(--competition-cream);background:var(--competition-sea-light)}.competition-delete-dialog__actions .button--danger{color:#fff;background:#b55059}.activity-recovery--identity{color:#092f3a;background:#f4ead4;border:2px solid #092f3a;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:58px;padding:8px 9px 8px 11px;display:grid;box-shadow:0 3px #092f3a}.activity-recovery--identity p{color:#315a5d;font-size:.61rem;font-weight:750;line-height:1.35}.activity-recovery--identity .button.button--secondary{color:#092f3a;white-space:normal;background:#f7bf4b;border:2px solid #092f3a;border-radius:9px;min-height:38px;padding:7px 10px;font-size:.64rem;box-shadow:0 2px #092f3a}@media (width<=820px){.competition-lobby{border-radius:14px;gap:6px;padding:9px}.competition-lobby__header{min-height:34px;padding-bottom:6px}.competition-rating-card{min-height:70px;padding:7px 8px}.competition-rating-card>strong{font-size:1.28rem}.competition-link-card{min-height:54px;padding-block:6px}.competition-link-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=640px){.competition-modal-backdrop{align-items:end;padding:7px}.competition-leaderboard,.competition-identity-conflict,.competition-delete-dialog{border-radius:16px 16px 11px 11px;padding:14px}.competition-leaderboard__table tbody tr{border:2px solid var(--competition-navy);background:#073d48;border-radius:10px}.competition-leaderboard__table tbody tr>:before{color:var(--competition-muted);font-size:.52rem}}@media (width<=470px){.competition-lobby__header,.competition-link-card,.competition-leaderboard__own{flex-direction:row;align-items:center}.competition-leaderboard-button,.competition-link-card>.button{width:auto}.competition-link-card>.button.button--warning{max-width:132px;padding-inline:8px;font-size:.61rem}.competition-rating-card{min-height:74px}.competition-leaderboard__own>p{text-align:right}.competition-leaderboard__own-score{justify-items:end}.competition-settlement__row{grid-template-columns:1fr}.competition-settlement__numbers{border-top-color:#abcfc52e}.activity-recovery--identity{grid-template-columns:1fr}.activity-recovery--identity .button.button--secondary{width:100%}}@media (width<=340px){.competition-rating-grid,.competition-identity-conflict__actions,.competition-delete-dialog__actions{grid-template-columns:1fr}.competition-link-card,.competition-lobby__header,.competition-leaderboard__own{flex-direction:column;align-items:stretch}.competition-link-card>.button.button--warning,.competition-leaderboard-button{width:100%;max-width:none}.competition-leaderboard__own>p{text-align:left}}.app-shell.app-shell--completed{color:#fff7e3;min-height:100dvh;padding:0 0 clamp(24px,4vw,44px);background:radial-gradient(circle at 50% -18rem,#187e8857,#0000 42rem),linear-gradient(#073944 0%,#042b34 58%,#031f27 100%)!important}.app-shell--completed .topbar{border-top:0;border-radius:0 0 12px 12px;width:100%;max-width:none;margin:0}.app-shell--completed .result-screen{color:#fff7e3;width:min(1120px,100% - clamp(16px,4.4vw,48px));box-shadow:none;text-align:left;border:0;border-radius:0;gap:clamp(12px,1.8vw,18px);margin:clamp(10px,2vh,20px) auto 0;padding:0;display:grid;background:0 0!important}.app-shell--completed .result-screen:before,.app-shell--completed .result-screen:after,.app-shell--completed .result-command-frame,.app-shell--completed .result-command-frame:after{content:none;display:none!important}.app-shell--completed .result-spotlight,.app-shell--completed .result-summary-panel,.app-shell--completed .result-formations{box-sizing:border-box;color:#fff7e3;border:1px solid #37727a;border-radius:16px;box-shadow:0 12px 26px #000f143d;background:#063f4b!important}.app-shell--completed .result-spotlight{text-align:left;border-left:5px solid #85aeb0;grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:center;gap:clamp(22px,4vw,52px);width:100%;min-height:188px;margin:0;padding:clamp(22px,3.4vw,38px);display:grid}.app-shell--completed .result-screen--victory .result-spotlight{border-left-color:#f7bf4b}.app-shell--completed .result-screen--defeat .result-spotlight{border-left-color:#ff8f83}.app-shell--completed .result-screen--draw .result-spotlight{border-left-color:#91c9d0}.app-shell--completed .result-spotlight__copy{gap:8px;min-width:0;display:grid}.app-shell--completed .result-spotlight__kicker{flex-wrap:wrap;align-items:center;gap:9px;min-width:0;display:flex}.app-shell--completed .result-spotlight .eyebrow{color:#f7c85b;letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:850}.app-shell--completed .result-spotlight>.mode-badge,.app-shell--completed .result-spotlight__kicker>.mode-badge{color:#fff7e3;background:#0a525d;border-color:#7fb1b5;margin:0}.app-shell--completed .result-spotlight h2{color:#fff7e3;letter-spacing:-.055em;text-shadow:none;margin:0;font-size:clamp(3rem,6vw,5.25rem);line-height:.94}.app-shell--completed .result-screen--victory .result-spotlight h2{color:#f7c85b}.app-shell--completed .result-screen--defeat .result-spotlight h2{color:#ffaaa0}.app-shell--completed .result-spotlight__copy>p:not(.eyebrow){color:#d4e3df;text-transform:none;max-width:46ch;margin:0;font-size:clamp(.86rem,1.4vw,1rem);font-weight:750}.app-shell--completed .result-actions{grid-template-columns:1fr;gap:10px;width:100%;margin:0;display:grid}.app-shell--completed .result-actions .button,.app-shell--completed .result-secondary-action.button.button--secondary,.app-shell--completed .result-primary-action.button.button--primary{aspect-ratio:auto;width:100%;min-height:52px;box-shadow:none;filter:none;letter-spacing:.01em;text-shadow:none;border:1px solid #0000;border-radius:11px;place-items:center;margin:0;padding:12px 16px;font-family:inherit;font-size:clamp(.78rem,1.25vw,.9rem);font-weight:900;line-height:1.1;display:grid;background-image:none!important}.app-shell--completed .result-secondary-action.button.button--secondary{border-color:#73a7ab;color:#fff7e3!important;background-color:#0a525d!important}.app-shell--completed .result-primary-action.button.button--primary{border-color:#ffe28c;color:#193840!important;background-color:#f7bf4b!important}.app-shell--completed .result-actions .button:before,.app-shell--completed .result-actions .button:after{content:none;display:none!important}.app-shell--completed .result-actions .button>span{color:inherit;transform:none}.app-shell--completed .result-secondary-action:hover:not(:disabled),.app-shell--completed .result-secondary-action:focus-visible:not(:disabled){filter:none;border-color:#a9d1d1;transform:translateY(-1px);color:#fff!important;background-color:#116873!important;background-image:none!important}.app-shell--completed .result-primary-action:hover:not(:disabled),.app-shell--completed .result-primary-action:focus-visible:not(:disabled){filter:none;border-color:#fff1bd;transform:translateY(-1px);color:#102f37!important;background-color:#ffd56d!important;background-image:none!important}.app-shell--completed .result-actions .button:focus-visible{outline-offset:3px;outline:3px solid #fff7e3}.app-shell--completed .result-actions .button:active:not(:disabled){transform:translateY(1px)}.app-shell--completed .result-actions .button:disabled{opacity:.72;color:#274950!important;background-color:#ad9160!important}.app-shell--completed .result-summary-panel,.app-shell--completed .result-formations{gap:13px;padding:clamp(17px,2.3vw,26px);display:grid}.app-shell--completed .result-summary-panel>h3,.app-shell--completed .result-formations>h3{color:#fff7e3;letter-spacing:.01em;margin:0;font-size:clamp(.92rem,1.5vw,1.08rem)}.app-shell--completed .result-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:0;display:grid}.app-shell--completed .result-summary--legacy{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell--completed .result-summary>div{color:#fff7e3;min-width:0;min-height:82px;box-shadow:none;text-align:left;border:1px solid #427b82;border-radius:11px;align-content:center;gap:6px;padding:12px;display:grid;background:#0a525d!important}.app-shell--completed .result-summary strong{color:#fff7e3;font-size:clamp(1.35rem,2.8vw,1.85rem);line-height:1}.app-shell--completed .result-summary span{color:#d1e2de;letter-spacing:.035em;text-overflow:clip;white-space:normal;font-size:clamp(.58rem,.9vw,.68rem);font-weight:750;line-height:1.25;overflow:visible}.app-shell--completed .result-cap-comparison{color:#d1e2de;text-align:left;margin:0;font-size:.72rem}.app-shell--completed .result-cap-comparison>p{color:#f7c85b}.app-shell--completed .result-cap-comparison [role=row]{color:#fff7e3;background:#0a525d;border-color:#427b82}.app-shell--completed .result-boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,18px);width:100%;margin:0;display:grid}.app-shell--completed .result-boards>.result-board-card{color:#fff7e3;min-width:0;box-shadow:none;border:1px solid #427b82;border-radius:12px;padding:clamp(11px,1.5vw,15px);background:#073640!important}.app-shell--completed .result-boards>.result-board-card:after{content:none;display:none!important}.app-shell--completed .result-boards h4{color:#fff7e3;margin:0 0 10px;font-size:clamp(.78rem,1.25vw,.92rem)}.app-shell--completed .result-boards .game-board-wrap{border:1px solid #528c92;border-radius:10px;background:#0a525d!important}@media (width<=760px){.app-shell.app-shell--completed{padding:0 0 24px}.app-shell--completed .topbar{border-radius:0 0 9px 9px}.app-shell--completed .result-screen{gap:10px;width:calc(100% - 12px);margin-top:7px}.app-shell--completed .result-spotlight{border-left-width:4px;border-radius:13px;grid-template-columns:1fr;gap:17px;min-height:0;padding:20px 17px 17px}.app-shell--completed .result-spotlight h2{font-size:clamp(3rem,15vw,4rem)}.app-shell--completed .result-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell--completed .result-actions .button,.app-shell--completed .result-secondary-action.button.button--secondary,.app-shell--completed .result-primary-action.button.button--primary{min-height:50px;padding:10px 8px;font-size:clamp(.68rem,3.2vw,.8rem)}.app-shell--completed .result-summary-panel,.app-shell--completed .result-formations{border-radius:13px;padding:15px 13px}.app-shell--completed .result-summary,.app-shell--completed .result-summary--legacy{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell--completed .result-summary:not(.result-summary--legacy)>div:last-child{grid-column:1/-1}.app-shell--completed .result-summary>div{min-height:70px;padding:10px}.app-shell--completed .result-boards{grid-template-columns:1fr;gap:10px}}
