/* Afterlight flight console. Layout and live controls stay separate from the artwork. */
@font-face {
  font-family:'Afterlight Console';
  src:url('assets/ui/afterlight-console.woff2') format('woff2');
  font-weight:600 900;
  font-display:swap;
}
:root {
  --console-display:'Afterlight Console','Afterlight Display',sans-serif;
  --console-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --console-line:#355869;
  --console-frame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M9 .5H91L99.5 9V91L91 99.5H9L.5 91V9Z' fill='none' stroke='%23578698'/%3E%3C/svg%3E");
  --chamfer:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px);
}
.overlay { --cyan:#50edfa; scrollbar-width:thin; scrollbar-color:var(--console-line) transparent; }
.overlay :is(h1,h2,h3,.bigbtn,.midbtn,.equipbtn,.paneltabs button,.researchbuy) { font-family:var(--console-display); text-transform:uppercase; letter-spacing:.045em; }
.overlay :is(.bigbtn,.midbtn,.equipbtn,.iconbtn,.home-project,.shipselectors button,.researchbuy) {
  position:relative; border-radius:0; clip-path:var(--chamfer);
}
.overlay :is(.midbtn,.equipbtn,.iconbtn,.home-project,.shipselectors button)::before { content:''; position:absolute; inset:0; border:10px solid transparent; border-image:var(--console-frame) 10 / 10px; pointer-events:none; }
.overlay :is(.bigbtn,.midbtn,.equipbtn) { min-height:52px; font-size:20px; box-shadow:none; }
.overlay .bigbtn {
  color:#14202a; border:1px solid #ffe09b;
  background:linear-gradient(#ffe3a866,#ffe3a866),#f1bf57 url('assets/ui/console-gold.webp') center/100% 100%;
  box-shadow:inset 0 0 0 1px #ffe4a25c,inset 0 -2px 0 #94662140;
}
.overlay .midbtn,.overlay .equipbtn { background:linear-gradient(120deg,#102b39e6,#061722ed); border-color:var(--console-line); color:#c8e0ed; }
.overlay :is(.bigbtn,.midbtn,.equipbtn,.iconbtn,.home-project,.shipselectors button):focus-visible {
  outline:2px solid #fff0b2; outline-offset:-5px;
}
.overlay button:focus-visible { filter:brightness(1.18); }
.overlay .iconbtn {
  width:48px; height:44px; border:1px solid #508296;
  color:#c6e6ee; background:linear-gradient(135deg,#103141cc,#061620ed); font:26px var(--console-mono);
}
.overlay .panelhead { gap:14px; min-height:48px; }
.overlay .panelhead h2 { font-size:34px; letter-spacing:.045em; }
.overlay .panelhead>[data-close] { order:-1; }
.overlay .panelhead h2:first-child { margin-right:auto; }
.overlay .paneltabs { gap:0; margin:0; border-color:var(--console-line); }
.overlay .paneltabs button,#hangarSheet .paneltabs button {
  flex:1; min-width:0; min-height:48px; padding:10px 3px; font:700 16px/1.15 var(--console-display); letter-spacing:.035em; text-transform:uppercase;
}
.overlay .paneltabs :is([aria-pressed=true],[aria-selected=true]) { color:var(--cyan); border-bottom:3px solid var(--cyan); text-shadow:0 0 12px #50edfa33; }
.overlay .sheetpanel {
  border-radius:0; border:1px solid var(--console-line);
  background:linear-gradient(135deg,#0d2633,#06131e);
}
.visualsheet,.sheet { padding:16px; justify-content:center; }
.visualsheet .sheetpanel,#settingsSheet .settings-panel {
  position:relative; isolation:isolate; width:min(100%,470px); height:min(920px,calc(100dvh - 32px)); max-height:calc(100dvh - 32px);
  padding:14px 12px 16px; gap:12px; overflow:hidden;
}
.sheet.research-sheet { padding:0; }
.sheetpanel .panelnote { font-size:15px; }
.overlay .ovtitle { font:800 clamp(30px,8vw,46px)/1.1 var(--console-display); letter-spacing:.06em; }
/* The title is a single flight deck, with the ship occupying the open center. */
#startScreen { padding:16px; background:linear-gradient(#030c16b3,#030c16ed),url('assets/ui/landing-pad.webp') center/cover; }
#startScreen .flightdeck {
  position:relative; isolation:isolate; width:100%; max-width:470px; height:max(780px,calc(100dvh - 32px)); min-height:0; max-height:920px;
  padding:12px 22px; margin:auto; border:1px solid var(--console-line); align-items:stretch; justify-content:flex-start;
  background:linear-gradient(#04121b28 45%,#04131beb 70%,#04111bea),url('assets/ui/landing-pad.webp') center top/auto 100% no-repeat;
}
.deckhead { margin:0 0 10px; min-height:44px; }
.stationmark { font:12px var(--console-mono); letter-spacing:.065em; color:#c5dce7; }
.storelink { display:flex; align-items:center; min-height:44px; margin-left:auto; padding:0 12px; font:12px var(--console-mono); letter-spacing:.065em; color:var(--muted); text-decoration:none; }
.wordmark { position:relative; z-index:1; flex:none; margin:0 -10px; }
.wordmark h1,#startScreen h1 { font:800 clamp(34px,11.2vw,48px)/1.1 var(--console-display); letter-spacing:.115em; white-space:nowrap; }
.wordmark p { display:flex; align-items:center; gap:14px; justify-content:center; margin:7px 4px 0; padding:0; font:700 19px/1 var(--console-display); letter-spacing:.36em; }
.wordmark p::before,.wordmark p::after { content:''; height:1px; flex:1; background:#86abb28c; }
.home-hero { position:relative; flex:1; min-height:225px; margin:0 -22px; }
#startScreen:has(.home-project) #homeShipArtwork {
  position:absolute; inset:-10px 0 0; width:100%; height:100%; mask-image:linear-gradient(transparent,#000 10%,#000 76%,transparent 100%);
}
#homeShipArtwork img { object-position:center 48%; }
.shipidentity { position:absolute; bottom:12px; left:22px; right:22px; margin:0; text-align:left; text-shadow:0 2px 10px #020912; }
.shipidentity>span { font:13px/1.5 var(--console-mono); color:#c2dbe8; }
.shipidentity h2 { font:700 40px/1.1 var(--console-display); letter-spacing:.05em; margin:0; }
.home-project { flex:none; min-height:58px; padding:8px 14px; margin:0 0 12px; border-color:#42778c; background:linear-gradient(120deg,#0c2a39ec,#051722ec); gap:12px; }
.home-project>.glyph { width:29px; height:29px; }
.home-project small { display:none; }
.home-project b { font:700 17px/1.2 var(--console-display); letter-spacing:.05em; text-transform:uppercase; }
.home-project em { font:11px/1.4 var(--console-mono); text-transform:uppercase; }
.launchblock { gap:6px; flex:none; }
.launchblock .bigbtn { min-height:58px; font:800 27px var(--console-display); justify-content:center; padding:10px 24px 10px 28px; }
.launchblock .bigbtn span { position:absolute; right:18px; font:28px var(--console-mono); }
.launchblock .secondarylaunch { min-height:44px; font-size:17px; background:#081b25e8; border:1px solid var(--console-line); color:var(--muted); justify-content:center; }
.launchblock p { font:11px/1.35 var(--console-mono); }
.decknav { display:flex; flex-direction:column; flex:none; margin:8px 0 0; border:0; }
.decknav button,.decknav button+button {
  position:relative; display:flex; flex-direction:row; align-items:center; gap:38px; width:100%; min-height:50px;
  padding:6px 8px; border:0; border-top:1px solid var(--console-line); font:700 18px var(--console-display); letter-spacing:.085em; text-transform:uppercase; text-align:left;
}
.decknav button::after,.pause-actions>button::after { content:'›'; margin-left:auto; font:27px/1 var(--console-mono); }
.decknav button>span,.decknav .glyph { width:24px; height:26px; color:#c2e2ed; }
.decknav .command-label { width:auto; height:auto; color:inherit; transform:scaleX(1.12); transform-origin:left center; }
.decknav button small { margin-left:auto; font:12px var(--console-mono); color:#91adbd; white-space:nowrap; }
.decknav button:has(small)::after { margin-left:2px; }
#homeDaily { flex-direction:column; align-items:flex-end; gap:0; line-height:1.2; }
@media (max-width:380px) { .decknav button,.decknav button+button { gap:22px; } }
.decknav button:hover,.decknav button:focus-visible { background:#17415280; color:var(--cyan); }
.deckfoot { flex:none; padding:0 4px; border-top:1px solid var(--console-line); }
.deckfoot button { min-height:44px; font:11px var(--console-mono); text-transform:uppercase; }
#homeSalvage { display:flex; align-items:center; gap:6px; color:var(--gold); font:20px var(--console-display); }
#homeSalvage .glyph { width:23px; height:26px; }
.deckfoot #verTag { display:none; }
#controlsHint { justify-content:center; padding:0; min-height:24px; font:10px var(--console-mono); }
#controlsHint kbd { font-size:9px; }
/* Ship hangar: artwork, instruments, selection bays and the launch rail. */
#hangarSheet .sheetpanel { padding-bottom:16px; background:linear-gradient(#03111dc9,#051723d9 28%,#03121ed9),url('assets/ui/landing-pad.webp') center/cover; }
#hangarSheet .paneltabs { margin:0; }
.wallet { margin-left:auto; }
.wallet b { font:700 30px var(--console-display); }
.wallet .glyph { width:27px; }
#hangarContent.shipcatalog { gap:10px; }
.shiphero { min-height:205px; margin:0; }
.shiphero h3 { left:12px; right:12px; bottom:0; text-align:left; font:700 36px/1.2 var(--console-display); }
.landing-bay { mask-image:linear-gradient(#000 80%,transparent); }
.shipstats { min-height:58px; padding:8px 6px; border:1px solid var(--console-line); background:#071c29cc; clip-path:var(--chamfer); }
.shipstats>div { grid-template-columns:26px auto; column-gap:9px; }
.shipstats>div+div { padding-left:12px; }
.shipstats .glyph { width:27px; height:30px; filter:none; }
.shipstats b { font:700 23px/1.1 var(--console-display); }
.shipstats span:not(.glyph) { font:11px/1.4 var(--console-mono); text-transform:uppercase; }
.shipstats em { font-size:12px; margin-left:3px; }
.shipselectors { gap:8px; }
.shipselectors button { padding:0 0 8px; border:1px solid #477185; background:linear-gradient(#092330,#05131f); }
.shipselectors button[aria-pressed=true] { border:1px solid transparent; box-shadow:inset 0 0 15px #50edfa40; background:linear-gradient(#0c2b39,#041822); }
.overlay .shipselectors button[aria-pressed=true]::before { border-image-source:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M9 1H91L99 9V91L91 99H9L1 91V9Z' fill='none' stroke='%2350edfa' stroke-width='2'/%3E%3C/svg%3E"); filter:drop-shadow(0 0 3px #50edfa88); }
.shipthumbwindow { height:88px; }
.shipthumbwindow .art { background-color:transparent; mix-blend-mode:lighten; }
.shipselectors button>span { min-height:23px; font:700 15px var(--console-display); text-transform:uppercase; letter-spacing:.035em; }
.shipselectors button>small { display:flex; align-items:center; justify-content:center; min-height:24px; gap:4px; font:11px var(--console-mono); color:#b8d3df; }
.shipselectors button[aria-pressed=true]>small { color:var(--cyan); }
.shipselectors .glyph { width:15px; height:17px; }
.shipactions { gap:10px; }
.overlay .primaryequip { min-height:44px; border:1px solid #417287; font-size:18px; color:var(--cyan); }
.overlay .primaryequip:disabled { background:#09222fcc; box-shadow:none; border:1px solid #417287; color:var(--cyan); }
.primaryequip .glyph { width:20px; height:22px; }
.shipactions .iconbtn { width:52px; height:44px; }
.hangarlaunch { gap:10px; margin-top:10px; }
.hangarlaunch .bigbtn { min-height:64px; font-size:24px; }
.hangarlaunch .midbtn { width:31%; min-height:64px; font-size:18px; }
/* Settings are an instrument console with real native inputs and keyboard tabs. */
#settingsSheet .settings-panel { gap:14px; background:#071522; }
#settingsSheet .settings-panel::before { content:''; position:absolute; z-index:-1; inset:0; background:url('assets/ui/console-hangar.webp') center/cover no-repeat; filter:blur(3.75px) brightness(.8); pointer-events:none; }
#settingsSheet .panelhead { margin:0; }
#settingsSheet .panelhead .iconbtn { background:linear-gradient(135deg,#103141cc,#061620ed); border:1px solid #508296; color:#c6e6ee; }
#settingsSheet .settings-tabs { flex:none; margin:0; }
.settings-scroll { flex:1; padding:12px 0 0; }
.settings-section { clip-path:var(--chamfer); padding:16px; border:1px solid #426b7d; background:linear-gradient(120deg,#071d2aed,#03121beb); }
.settings-section:first-child { padding:16px; border:1px solid #426b7d; }
.settings-section[hidden] { display:none; }
#settingsSheet .volume-row { grid-template-columns:43px minmax(0,1fr) 38px; gap:4px 12px; padding:14px 0 18px; }
#settingsSheet .volume-row+.volume-row { padding-top:26px; border-top:1px solid var(--console-line); }
#settingsSheet .volume-row:first-child { row-gap:0; }
.volume-row label { grid-column:1/-1; display:flex; align-items:center; gap:12px; font:700 17px/1.2 var(--console-display); text-transform:uppercase; letter-spacing:.03em; }
.volume-row label .glyph { width:24px; height:24px; }
.volume-icon { grid-column:1; grid-row:2; display:grid; place-items:center; }
.volume-icon .glyph { width:29px; height:32px; }
#settingsSheet .volume-row input { width:calc(100% - 15px); grid-column:2; grid-row:2; }
.volume-row output { grid-column:3; grid-row:2; font:700 23px var(--console-display); color:#e0f0f8; }
#settingsSheet input[type=range] { appearance:none; -webkit-appearance:none; margin:0; height:44px; border:0; border-radius:0; background:transparent; }
#settingsSheet input[type=range]::-webkit-slider-runnable-track { height:16px; border:1px solid #427a8d; border-radius:1px; background:repeating-linear-gradient(90deg,transparent 0 6px,#04182580 6px 7px),linear-gradient(90deg,var(--cyan) var(--volume),#142f40 var(--volume)); }
#settingsSheet input[type=range]::-moz-range-track { height:14px; border:1px solid #427a8d; border-radius:1px; background:repeating-linear-gradient(90deg,transparent 0 6px,#04182580 6px 7px),linear-gradient(90deg,var(--cyan) var(--volume),#142f40 var(--volume)); }
#settingsSheet input[type=range]::-webkit-slider-thumb { appearance:none; width:24px; height:28px; margin-top:-7px; border:3px solid var(--cyan); border-radius:0; background:#061b29; box-shadow:0 0 8px #50edfa55; }
#settingsSheet input[type=range]::-moz-range-thumb { width:18px; height:22px; border:3px solid var(--cyan); border-radius:0; background:#061b29; box-shadow:0 0 8px #50edfa55; }
.settings-help { display:flex; align-items:center; gap:10px; padding-top:14px; border-top:1px solid var(--console-line); color:#b3cfdd; font:11px/1.7 var(--console-mono); }
.settings-help .glyph { width:19px; height:19px; }
.setting-choice { margin-bottom:22px; }
.setting-choice legend,#settingsSheet .setrow>label { font:700 17px/1.4 var(--console-display); text-transform:uppercase; letter-spacing:.025em; }
.setting-choice legend { margin-bottom:10px; }
.setting-segments,.setting-segments label:first-child span,.setting-segments label:last-child span { border-radius:0; }
.setting-segments { background:#051723; }
.setting-segments span { font:700 15px/1.2 var(--console-display); padding:8px 5px; }
.setting-segments input:checked+span { background:#133c4a; box-shadow:inset 0 -3px var(--cyan); color:var(--cyan); }
.paintchoice { flex:none; margin:0; }
.paintchoice legend { display:flex; justify-content:space-between; align-items:baseline; gap:8px; width:100%; margin-bottom:6px; }
.paintchoice legend small,.paintchoice .setting-segments small { font:11px var(--console-mono); color:#b8d3df; text-transform:none; letter-spacing:0; }
.paintchoice .setting-segments span { flex-wrap:wrap; gap:2px 6px; }
.paintchoice .setting-segments small { display:flex; flex-basis:100%; justify-content:center; align-items:center; gap:3px; }
.paintchoice .setting-segments .glyph { flex:none; width:12px; height:13px; min-height:0; padding:0; }
.paintchoice input:disabled { cursor:default; }
.paintchoice input:disabled+span { color:#8fa9b6; }
.paintswatch { flex:none; width:10px; height:10px; border-radius:50%; background:var(--paint); box-shadow:0 0 6px var(--paint); }
#settingsSheet .setrow { min-height:52px; }
.toggle { width:74px; border-radius:0; }
.toggle::before { inset:8px 0; border-radius:0; }
.toggle i { border-radius:0; background:#8ba9b7; top:12px; }
.toggle[aria-checked=true] i { left:50px; }
.toggle::after { content:'OFF'; position:absolute; right:7px; top:15px; font:11px var(--console-mono); color:#b8d0df; }
.toggle[aria-checked=true]::after { content:'ON'; left:9px; right:auto; color:var(--cyan); }
.settings-footer { border:0; text-align:left; padding:0; }
.settings-footer p { margin:0 0 12px; padding-left:12px; font:10px/1.5 var(--console-mono); text-transform:uppercase; }
#settingsSheet .settings-footer .midbtn { min-height:52px; width:124px; font-size:18px; padding:8px 14px; }
/* Pause keeps the live frozen arena visible; only the command rail is shaded. */
#pauseScreen { background:linear-gradient(#030d1644,#030d1688 28%,#030d1688 78%,#030d1644); gap:16px; }
#pauseScreen .ovtitle { color:#e9f6fa; font-size:48px; letter-spacing:.075em; }
#pauseSummary { max-width:350px; white-space:pre-line; text-transform:uppercase; font:14px/1.5 var(--console-mono); color:#b9d9e9; text-shadow:0 1px 5px #020710; }
.pause-actions { width:min(calc(100% - 16px),344px); gap:0; margin-top:14px; }
#pauseScreen .pause-actions>button { width:100%; max-width:none; min-height:63px; padding:10px 16px; gap:32px; font:700 23px var(--console-display); letter-spacing:.045em; }
@media (max-width:360px) { #pauseScreen .pause-actions>button { gap:14px; font-size:20px; letter-spacing:.02em; } }
#pauseScreen .pause-actions>.midbtn { border:0; border-bottom:1px solid #467185; background:#04131b; clip-path:none; }
#pauseScreen .pause-actions>.midbtn::before { display:none; }
.pause-actions>.midbtn:hover,.pause-actions>.midbtn:focus-visible { background:#123b4bcc; }
.pause-actions>button>span:last-child { transform:scaleX(1.1); transform-origin:left center; }
.pause-actions .pause-icon { width:28px; }
.pause-icon .glyph { width:27px; height:27px; }
#btnResume { min-height:60px; margin-bottom:5px; background:linear-gradient(135deg,#67f8ff,#25ddeb); border-color:#b6ffff; color:#061d27; box-shadow:inset 0 0 20px #e0ffff44; }
#btnQuit { color:var(--gold); }
.pause-actions small { font:10px/1.3 var(--console-mono); text-transform:none; color:#c3bb9d; }
.overlay .choiceheading .iconbtn { position:relative; inset:auto; flex:none; }
/* The remaining menus use the same restrained frames and action hierarchy. */
.overlay :is(.equipment.artitem,.archiveitem,.card,.missionmap button,.missionhero,.missionbrief,.project-hero,.lantern-project,.project-selected,.project-reward,.lantern-result,.swapChoice,#swapIncoming,.cardfx-panel,.cardfx-loot-row,.cardfx-item,.recoverypanel) { border-radius:0; }
.overlay :is(.equipment.artitem,.archiveitem,.lantern-project,.project-reward,.lantern-result) { background:linear-gradient(130deg,#0b2532eb,#071724f2); border-color:var(--console-line); }
.overlay :is(.iteminspect h3,.archiveitem h3,.missionhero h3,.project-hero h3,.project-select b,.project-trials h3) { font-family:var(--console-display); letter-spacing:.04em; text-transform:uppercase; }
.overlay :is(.iteminspect h3,.archiveitem h3) { font-size:23px; overflow-wrap:anywhere; }
@media (max-width:360px) { .overlay :is(.iteminspect h3,.archiveitem h3) { font-size:20px; } }
.overlay .iteminfo { border-radius:0; background:#071a26cc; }
.overlay .artitem>.equipbtn { clip-path:none; }
.overlay .equipment.selected { border-color:var(--item); }
.overlay .missionmap button[aria-pressed=true] { border-color:var(--cyan); }
.overlay .detailpanel { gap:16px; }
.research-sheet .detailpanel { gap:0; border:1px solid var(--console-line); border-radius:0; }
.overlay .researchbuy { font:700 22px var(--console-display); }
#projectsSheet .projects-panel { background:linear-gradient(130deg,#0b2634,#05131e); }
#projectsSheet .panelhead .iconbtn { border-radius:0; width:48px; }
.overlay .statsgrid { gap:0; width:min(100%,400px); border-top:1px solid var(--console-line); }
.overlay .statsgrid>div { min-width:0; padding:18px 10px; border-bottom:1px solid var(--console-line); }
.overlay .statsgrid>div:nth-child(odd) { border-right:1px solid var(--console-line); }
.overlay .statsgrid b { font:700 32px var(--console-display); }
.overlay .statsgrid span { font:11px var(--console-mono); }
.resultScreen { background:linear-gradient(#06131ce8,#06131ce8),url('assets/ui/landing-pad.webp') center/cover; }
#tutorialSheet h2,#confirmSheet h2 { font:700 32px var(--console-display); text-align:center; }
#tutorialSheet .flightlesson b { font:700 20px var(--console-display); }
#tutorialSheet .flightlesson p { font-size:15px; }
@media(max-width:600px) {
  .visualsheet,#settingsSheet,#startScreen { padding:0; }
  .visualsheet .sheetpanel,#settingsSheet .settings-panel {
    width:100%; height:100dvh; max-height:100dvh;
    padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  }
  #startScreen .flightdeck {
    width:100%; max-width:none; max-height:none; height:auto; min-height:max(740px,100dvh);
    padding:max(12px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));
  }
  #hangarSheet .sheetpanel { padding-bottom:max(16px,env(safe-area-inset-bottom)); }
  #settingsSheet .settings-panel { border-radius:0; }
  .sheet:not(.visualsheet):not(#settingsSheet):not(.research-sheet) { padding:12px; }
}
@media(max-height:730px) {
  #startScreen .flightdeck { min-height:max(600px,100dvh); }
  .deckhead { margin-bottom:5px; }
  .wordmark h1,#startScreen h1 { font-size:34px; }
  .wordmark p { font-size:15px; }
  .home-hero { min-height:135px; }
  .shipidentity { bottom:5px; }
  .shipidentity h2 { font-size:27px; }
  .home-project { min-height:52px; margin-bottom:8px; }
  .decknav button { min-height:44px; }
  .launchblock .bigbtn { min-height:52px; }
  .visualsheet .sheetpanel { gap:8px; }
  .shiphero { min-height:130px; }
  .shiphero h3 { font-size:29px; }
  .shipthumbwindow { height:60px; }
  .shipselectors button { padding-bottom:3px; }
  .shipselectors button>small { min-height:20px; font-size:10px; }
  #hangarContent.shipcatalog { gap:7px; }
  .shipstats { min-height:52px; }
  .hangarlaunch { margin-top:0; }
  .hangarlaunch .bigbtn,.hangarlaunch .midbtn { min-height:52px; }
  .pause-actions { margin-top:2px; }
  #pauseScreen .pause-actions>button { min-height:57px; }
  #pauseScreen .ovtitle { font-size:40px; }
}
@media(max-width:350px) {
  #startScreen .flightdeck { padding-inline:16px; }
  .home-hero { margin-inline:-16px; }
  .shipidentity { left:16px; right:16px; }
  .wordmark h1,#startScreen h1 { font-size:31px; letter-spacing:.075em; }
  .overlay .panelhead { gap:10px; }
  .overlay .panelhead h2 { font-size:29px; }
  .overlay .paneltabs button,#hangarSheet .paneltabs button { font-size:14px; }
  .wallet b { font-size:25px; }
  .shipstats>div { grid-template-columns:21px auto; column-gap:5px; }
  .shipstats>div+div { padding-left:7px; }
  .shipstats .glyph { width:21px; }
  .shipstats b { font-size:21px; }
  .shipstats em { display:block; margin:0; font-size:10px; }
  .shipselectors button>span { font-size:14px; }
  .hangarlaunch .midbtn { padding-inline:8px; white-space:nowrap; }
  #settingsSheet .settings-panel { padding-inline:10px; }
  .settings-section,.settings-section:first-child { padding:14px 10px; }
  .setting-segments span { font-size:14px; }
}
@media(min-width:900px) and (min-height:600px) {
  #startScreen .flightdeck {
    display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:44px 100px auto auto auto 1fr; gap:12px 36px;
    max-width:1100px; min-height:560px; height:min(820px,calc(100dvh - 48px)); padding:24px 34px; background:linear-gradient(110deg,#071a27,#04121de8),url('assets/ui/atmosphere.webp') center/cover;
  }
  .deckhead { grid-column:1/-1; }
  .wordmark { grid-column:1; grid-row:2; align-self:start; }
  #startScreen h1 { font-size:48px; }
  .home-hero { grid-column:1; grid-row:3/7; margin:0 -24px; min-height:280px; }
  #startScreen #homeShipArtwork img { object-fit:contain; }
  .shipidentity { bottom:22px; left:30px; }
  .home-project { grid-column:2; grid-row:2; align-self:end; margin:0; }
  .launchblock { grid-column:2; grid-row:3; align-self:start; }
  .decknav { grid-column:2; grid-row:4; }
  .decknav button { min-height:56px; }
  .deckfoot { grid-column:2; grid-row:5; }
  #controlsHint { position:absolute; left:34px; bottom:8px; }
  .visualsheet .sheetpanel { width:min(920px,100%); }
  #hangarContent.shipcatalog { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); grid-template-rows:1fr auto auto auto; gap:18px; }
  .shiphero { grid-column:1; grid-row:1/-1; margin:0; min-height:300px; }
  .shiphero h3 { font-size:40px; }
  .shipstats { grid-column:2; grid-row:1; align-self:end; }
  .shipselectors { grid-column:2; grid-row:2; }
  .shipthumbwindow { height:110px; }
  .shipactions { grid-column:2; grid-row:3; }
  .paintchoice { grid-column:2; grid-row:4; }
  .hangarlaunch { justify-content:flex-end; }
  .hangarlaunch .bigbtn { flex:0 1 280px; }
  .hangarlaunch .midbtn { width:130px; }
  #hangarContent.tilecatalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #settingsSheet .settings-panel { width:min(800px,100%); padding:24px; background-size:auto 100%; background-position:right bottom; }
  .settings-scroll { width:62%; }
  .settings-footer { width:62%; }
  .overlay .detailpanel { width:min(540px,100%); }
}
@media(max-height:450px) and (orientation:landscape) {
  #startScreen .flightdeck { min-height:620px; }
  #settingsSheet .settings-panel { height:100dvh; max-height:100dvh; gap:4px; padding:8px 12px; }
  #settingsSheet .panelhead { min-height:44px; }
  #settingsSheet .panelhead h2 { font-size:26px; }
  #settingsSheet .paneltabs button { min-height:44px; }
  .settings-scroll { padding-top:2px; }
  .settings-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .settings-footer p { margin:0; }
  #settingsSheet .settings-footer .midbtn { min-height:44px; }
  #pauseScreen { justify-content:center; padding:12px; gap:6px; }
  #pauseScreen .ovtitle { font-size:30px; }
  #pauseSummary { font-size:11px; }
  .pause-actions { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; width:min(600px,100%); }
  #pauseScreen .pause-actions>button { min-height:48px; font-size:19px; padding:6px 12px; }
  #btnResume { min-height:48px; margin:0; }
}
