.player-dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px;width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;font-size:13px;line-height:1.7}
.game-update{border:1px solid #7cddd580;border-radius:10px;background:#172d3d;padding:10px;margin:10px auto 14px;max-width:340px;text-align:center}.game-update strong{font-size:14px;color:var(--mint)}.overlay .game-update p{font-size:11px;line-height:1.5;margin:4px 0 8px}.game-update button{min-height:44px;padding:9px 18px}.game-update[hidden],#update-game[hidden],#update-waiting[hidden]{display:none!important}.update-waiting{color:var(--mint);font-size:10px}.overlay:has(.game-update:not([hidden])) .hero-coil{display:none}.overlay .menu-copy,.overlay .dialog-copy{max-height:100%;overflow-y:auto}.toolbar-actions .update-waiting{max-width:150px}
@media(max-height:500px){.game-update{margin:6px auto;padding:6px}.overlay .game-update p{margin:3px 0 6px}.game-update button{padding:6px 14px}.toolbar-actions .update-waiting{max-width:95px;font-size:9px}}
.player-dialog::backdrop{background:#02100ddd;backdrop-filter:blur(4px)}
.upgrade-overlay{display:flex;align-items:safe center;justify-content:center;padding:14px;background:#091416f5}.upgrade-copy{max-height:100%;overflow:auto;overscroll-behavior:contain;padding:6px;text-align:left;width:min(700px,100%)}
.upgrade-copy h2{font-size:25px;margin-bottom:6px}.upgrade-copy>.eyebrow{margin-bottom:8px}.upgrade-overlay .upgrade-copy>p{font-size:12px;margin:8px 0}.upgrade-copy .choices{margin:12px 0}.upgrade-copy .choice{min-height:88px;padding:12px}.upgrade-copy button span{display:block;font-size:11px;line-height:1.5;color:var(--muted)}
.upgrade-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.upgrade-actions button,.upgrade-copy>button{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#18342e;font-size:12px}.upgrade-actions .primary{background:var(--mint);margin:0}.upgrade-actions .repair{text-align:left;text-decoration:none;margin:0}
.link-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.link-option{text-align:left;min-height:80px;padding:12px;border:1px solid var(--line);background:#122529;border-radius:6px}.link-option strong{display:block;font-size:12px;margin-bottom:5px}.link-option:hover:not(:disabled){border-color:var(--mint)}
@media(max-width:760px){.upgrade-overlay{padding:6px}.upgrade-copy .choice{padding:8px;min-height:80px}.upgrade-copy .choice strong{font-size:11px}.upgrade-copy button span{font-size:10px}.link-options{grid-template-columns:1fr}.upgrade-copy h2{font-size:20px}.upgrade-actions button{flex:1 1 140px}.upgrade-copy .choices{gap:6px}}
.player-dialog h2{font-size:25px;margin:0 0 12px}.player-dialog p,.player-dialog li{color:var(--muted)}
.player-dialog a{color:var(--mint);text-decoration:underline}.player-dialog select{display:block;margin:10px 0;padding:10px;max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line)}
.player-dialog button,.install-strip>button,.analytics-actions button,#settings-analytics-preference{min-height:44px;border:1px solid var(--line);border-radius:6px;background:#18342e;color:var(--ink);padding:9px 14px}
.player-dialog .primary,.install-strip>.primary{background:var(--mint);color:var(--bg)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.analytics-choice{margin:16px 0;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;align-items:center;gap:20px}
.analytics-choice p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.analytics-choice strong{font-size:13px}.analytics-choice a{color:var(--mint)}
.analytics-actions{display:flex;gap:8px;flex:none}.analytics-preference{border:0;background:none;color:var(--muted);text-decoration:underline;font:inherit;min-height:44px}
.install-strip{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.install-strip>div{margin-right:auto}.offline-status{font-size:11px;color:var(--muted);margin:8px 0}
.playing main>.analytics-choice,.playing .install-strip{display:none}.playing .toolbar-actions button{font-size:10px;padding:6px 8px}.playing #game-settings-button{min-width:34px}
.playing .readout.score{margin-left:0}.playing .readout:has(#play-best-slot){margin-left:auto}
@media(max-width:760px){.analytics-choice,.install-strip{flex-wrap:wrap;gap:12px}.analytics-actions{width:100%}.analytics-actions button{flex:1}.playing .toolbar-actions button{font-size:9px;padding:5px 6px}.playing .toolbar-actions{gap:4px}.playing .game-toolbar{height:92px;min-height:92px}.playing .toolbar-actions{flex-wrap:wrap}.playing .game-shell{--control-space:210px}}
.playing.touch-device .touch-controls{display:flex;visibility:visible;flex:none;min-height:108px;padding:8px;gap:22px;border:0;background:none;align-items:center;justify-content:center}
.playing.touch-device .joystick{width:92px;height:92px;border:1px solid var(--line);border-radius:50%;position:relative;touch-action:none;background:#0b1e1a}
.playing.touch-device #stick{position:absolute;left:28px;top:28px;width:34px;height:34px;background:var(--mint);border-radius:50%}
.playing.touch-device .touch-controls strong{display:block;margin-bottom:5px}
@media(max-height:500px){.playing.touch-device .game-shell{--control-space:144px}.playing .game-toolbar{height:68px;min-height:68px}.playing .toolbar-actions{max-width:390px;justify-content:center;flex-wrap:wrap}.playing.touch-device .touch-controls{bottom:85px;min-height:0;padding:0}.playing.touch-device .joystick{width:78px;height:78px}.playing.touch-device #stick{left:21px;top:21px}}
@media(min-height:501px){.playing.touch-device .game-shell{--control-space:326px}}
@media(max-height:500px){.playing .instrument-bar{gap:10px;padding:0 10px}.playing .hull-readout{width:90px;flex:none;flex-wrap:wrap;gap:4px 8px}.playing .hull-readout .label{width:100%}.playing .hull-track{width:50px}.playing .hull-readout>strong{font-size:10px}.playing .label{font-size:7px;letter-spacing:.07em;white-space:nowrap}.playing .readout{gap:3px;min-width:0;flex:none}.playing .readout strong{font-size:11px}.playing .best-stat .label{white-space:normal;max-width:60px;line-height:1}}
/* TASK-23: keep the thumb below play in short touch views, with a full-width HUD. */
@media(max-height:500px){
 .playing.touch-device .game-shell{--control-space:220px}
 .playing.touch-device .game-column{width:min(100%,780px)}
 .playing.touch-device .instrument-bar,.playing.touch-device .game-toolbar{width:100%}
 .playing.touch-device .arena{width:min(100%,calc((100dvh - var(--control-space) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*11/7));align-self:center}
 .playing.touch-device .game-toolbar{height:54px;min-height:54px}
 .playing.touch-device .toolbar-actions{max-width:none;flex-wrap:nowrap}
 .playing.touch-device .touch-controls{position:static;align-self:center;min-height:86px;padding:4px 8px}
 .playing.touch-device .overlay{position:fixed;inset:54px 16px 174px;background:rgba(9,20,22,.96);border-radius:8px;z-index:3;align-items:flex-start}
 .playing.touch-device[data-phase="paused"] .dialog-copy{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:18px;width:min(100%,520px)}
 .playing.touch-device[data-phase="paused"] .dialog-copy .eyebrow,.playing.touch-device[data-phase="paused"] .dialog-copy h2{grid-column:1;margin:0}
 .playing.touch-device[data-phase="paused"] .dialog-copy>p:not(.eyebrow){display:none}
 .playing.touch-device[data-phase="paused"] .dialog-copy .primary{grid-column:2;grid-row:1/3;margin:0;min-height:38px}
}
