html{width:100%;height:100%;overflow:hidden}
/* Let Safari resize the page with its browser chrome; a fixed body can retain a stale offset. */
body{position:relative;width:100%;height:100dvh;overflow:hidden}
#world,#world-particles,#feedback{position:absolute;inset:0;max-width:100%;max-height:100%}
/* Compact landscape shell: each screen owns one bounded content area. */
.gs-more,.gs-hangar-tabs{display:none}
.gs-install-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;color:var(--ink);background:#152026;border:1px solid #8ef0cb66;border-radius:8px}
.gs-install-dialog::backdrop{background:#071016b3}
.gs-install-dialog h2{margin:0 0 12px;font-family:var(--font-ui);font-size:20px;}.gs-install-dialog p{font-family:var(--font-ui);font-size:14px;line-height:1.6;}.gs-install-dialog button{min-height:44px;width:100%}
#touch-joystick{position:absolute;left:calc(max(24px,env(safe-area-inset-left)) + clamp(32px,5vw,52px));bottom:max(24px,env(safe-area-inset-bottom));width:124px;height:124px;border-radius:50%;border:1px solid #d6fff345;background:#101e294d;box-shadow:inset 0 0 0 24px #bdffe908;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}
#touch-joystick::before,#touch-joystick::after{content:'';position:absolute;background:#d6fff320;pointer-events:none}
#touch-joystick::before{width:1px;height:80%;left:50%;top:10%}
#touch-joystick::after{height:1px;width:80%;top:50%;left:10%}
#touch-joystick .joystick-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px;border-radius:50%;background:#bdffe92e;border:1px solid #c9fff37a;box-shadow:0 2px 12px #0003;pointer-events:none}
#touch-joystick.is-active{background:#102d326b;border-color:#8ef0cb99}
#touch-joystick.is-active .joystick-knob{background:#8ef0cb59}
/* Keep press feedback immediate, including when an action is still recharging. */
.touch-controls :is(#touch-boost,#touch-ability){--touch-accent:var(--teal);transition:background-color .1s,color .1s,border-color .1s,box-shadow .1s,transform .1s}
.touch-controls #touch-ability{--touch-accent:var(--amber)}
.touch-controls :is(#touch-boost,#touch-ability)[data-state=charging],.touch-controls :is(#touch-boost,#touch-ability)[data-state=lost]{background:#10181ddd;border-style:dashed;color:#a1afb4}
.touch-controls :is(#touch-boost,#touch-ability)[data-state=active]{background:var(--touch-accent);color:#10201d;border-color:var(--touch-accent);box-shadow:0 0 0 3px var(--touch-accent),inset 0 0 0 2px #10201d}
.touch-controls :is(#touch-boost,#touch-ability):is(:active,.is-pressed){background:#f3fff9;color:#10201d;border-color:#f3fff9;box-shadow:0 0 0 3px var(--touch-accent),inset 0 0 0 2px var(--touch-accent);transform:scale(.96);transition-duration:0s}
@media(max-height:540px) and (orientation:landscape){
  :root{--safe-left:max(12px,env(safe-area-inset-left));--safe-right:max(12px,env(safe-area-inset-right));--safe-top:max(6px,env(safe-area-inset-top));--safe-bottom:max(6px,env(safe-area-inset-bottom))}
  html,body{overscroll-behavior:none}
  #world,#world-particles,#feedback{width:100%;height:100dvh}
  footer{display:none}
  .topbar{padding:var(--safe-top) var(--safe-right);justify-content:flex-end}
  .wordmark,#performance,.pixel-control{display:none}
  .top-actions button{min-height:44px;padding:8px 12px}
  body:has(.game-shell-host:not([hidden])) .topbar{display:none}
  .game-shell-host{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}
  .gs-shell,.gs-hangar{width:100%;height:100%;max-height:100%;border-radius:8px}
  .gs-menu-bar{position:relative;flex-wrap:nowrap;gap:8px;padding:5px 10px;min-height:54px}
  .gs-menu-bar .gs-nav{gap:4px;flex-wrap:nowrap;min-width:0}
  .gs-nav button{min-height:44px;padding:6px 10px;white-space:nowrap}
  .gs-nav button[data-screen]:nth-of-type(n+5){display:none}
  .gs-more{display:block}
  .gs-nav[data-expanded=true]{position:absolute;inset:5px 10px auto;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px;background:#152026;box-shadow:0 12px 32px #000b;border:1px solid #8ef0cb66;border-radius:6px}
  .gs-nav[data-expanded=true] button[data-screen]{display:block}
  .gs-nav-badge{font-family:var(--font-ui-small);font-size:11px;padding:0 3px;margin-left:2px;}
  .gs-with-back .gs-more{display:none}
  .gs-with-back .gs-nav button[data-screen]{display:block}
  .gs-wallet{width:auto;gap:10px;justify-content:flex-end;flex-shrink:0}
  .gs-wallet>div{display:grid;gap:0}
  .gs-wallet dt{font-family:var(--font-ui-small);font-size:11px;}.gs-wallet dd{font-family:var(--font-ui);font-size:13px;}
  .gs-main,.gs-hangar .gs-main{display:block;min-height:0;padding:10px 14px;overflow:auto}
  .gs-title,.gs-hangar .gs-title{font-family:var(--font-ui);font-size:20px;line-height:1.2;margin:0 0 8px;}
  .gs-lead,.gs-summary{font-family:var(--font-ui);font-size:13px;line-height:1.4;margin:0 0 8px;}
  .gs-section{margin:8px 0 0}.gs-section h2{font-family:var(--font-ui);font-size:14px;margin:0 0 6px;}
  .gs-section>p{font-family:var(--font-ui);font-size:13px;margin:6px 0;}
  .gs-actions{gap:8px;margin:8px 0 0;flex-wrap:wrap}
  .gs-shell button,.gs-shell summary{min-height:44px}
  .gs-workbench{grid-template-columns:minmax(170px,.65fr) minmax(0,1fr);gap:16px;min-height:0}
  .gs-preview-panel{position:static;padding:10px}
  .gs-mech-viewport{height:clamp(90px,35dvh,170px)}
  .gs-preview-stage .gs-note{display:none}
  .gs-preview-toggle{padding:6px 10px}
  .gs-operation-steps{margin:0 0 4px;padding-left:22px}
  .gs-operation-steps li{padding:0 0 6px 3px}.gs-operation-steps strong{font-family:var(--font-ui);font-size:14px;}
  .gs-operation-steps p{font-family:var(--font-ui);font-size:13px;line-height:1.35;margin:3px 0;}
  .gs-main[data-menu-paged=true]{overflow:hidden;display:flex;flex-direction:column}
  .gs-main[data-menu-paged=true]>.gs-section{min-height:0;overflow:auto;overscroll-behavior:contain}
  .gs-main[data-menu-paged=true]>.gs-workbench{flex:1;min-height:0;overflow:auto}
  .gs-card{gap:8px;padding:10px;margin:4px 0;font-family:var(--font-ui);font-size:14px;}
  .gs-card h3{min-width:0;font-family:var(--font-ui);font-size:16px;}.gs-card p{flex-basis:160px;font-family:var(--font-ui);font-size:14px;line-height:1.5;}
  .gs-card small{font-family:var(--font-ui);font-size:12px;}.gs-card button{padding:6px 12px}
  .gs-effect-facts{font-family:var(--font-ui);font-size:13px;gap:2px 12px;margin:4px 0;}
  .gs-menu-pagination{display:flex;align-items:center;justify-content:center;gap:20px;flex-shrink:0;padding:4px 12px;border-top:1px solid var(--line);background:#152026}
  .gs-menu-pagination button{padding:6px 18px}.gs-menu-pagination span{font-family:var(--font-ui);font-size:13px;font-variant-numeric:tabular-nums;}
  .gs-page-hidden{display:none!important}
  .gs-tabs{padding:0 0 6px;gap:4px;background:none;flex-shrink:0}
  .gs-tabs button{padding:6px 10px;font-family:var(--font-ui);font-size:13px;}
  .gs-enemy-grid{grid-template-columns:1fr}
  .gs-shell[data-screen=records] .gs-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .gs-shell[data-screen=records] .gs-card{display:grid;margin:0;gap:4px}
  .gs-shell[data-screen=records] .gs-card p{font-family:var(--font-ui);font-size:18px;color:var(--teal);}
  .gs-shell[data-screen=settings] .gs-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}
  .gs-shell[data-screen=settings] .gs-section>h2,.gs-shell[data-screen=settings] .gs-section>p,.gs-shell[data-screen=settings] .gs-section>textarea,.gs-shell[data-screen=settings] .gs-section>.gs-actions{grid-column:1/-1}
  .gs-field{margin:0;font-family:var(--font-ui);font-size:13px;gap:3px;}.gs-field select,.gs-field input{min-height:44px;padding:6px 10px;font-family:var(--font-ui);font-size:16px;}
  .gs-check{font-family:var(--font-ui);font-size:13px;min-height:44px;}.gs-check input{width:20px;height:20px}
  .gs-hangar .gs-main{display:grid;grid-template-columns:auto 1fr;grid-template-rows:44px auto minmax(0,1fr);gap:8px 16px;overflow:hidden;align-content:stretch;align-items:start}
  .gs-hangar .gs-title{align-self:center;margin:0}
  .gs-hangar-tabs{display:flex;justify-content:flex-end;gap:6px}
  .gs-hangar-tabs button{padding:6px 16px;color:var(--muted)}
  .gs-hangar-tabs button[aria-pressed=true]{color:var(--teal);border-color:#8ef0cb88;background:#8ef0cb12}
  .gs-hangar .gs-sortie-options{grid-column:1/-1;margin:0;padding:0;border:0;background:none;display:flex;flex-direction:row;align-items:center;gap:16px}
  .gs-hangar .gs-sortie-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gs-hangar .gs-field{display:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
  .gs-hangar[data-pane=ship] .gs-field[data-pane=ship],.gs-hangar[data-pane=map] .gs-field[data-pane=map],.gs-hangar[data-pane=options] .gs-field[data-pane=options]{display:grid}
  .gs-hangar:not([data-pane=options]) .gs-check{display:none}
  .gs-hangar .gs-workbench{grid-column:1/-1;grid-template-columns:minmax(170px,.8fr) minmax(0,1.5fr);gap:16px;min-height:0;overflow:auto;align-items:start;height:100%}
  .gs-hangar .gs-preview-panel{padding:8px;overflow:hidden}
  .gs-hangar .gs-preview-stage{grid-template-columns:1fr auto}
  .gs-hangar .gs-mech-viewport{height:clamp(70px,22dvh,115px)}
  .gs-hangar .gs-preview-toggle{font-family:var(--font-ui);font-size:12px;min-height:44px;}
  .gs-hangar .gs-ship-summary h2{font-family:var(--font-ui);font-size:15px;margin-bottom:3px;}.gs-hangar .gs-ship-summary p{font-family:var(--font-ui);font-size:13px;}
  .gs-hangar-details{min-height:0}.gs-hangar-details h2{display:none}
  .gs-hangar .gs-ability-description{font-family:var(--font-ui);font-size:13px;line-height:1.4;margin:0 0 6px;}
  .gs-hangar .gs-stats{gap:12px}.gs-hangar .gs-stat{font-family:var(--font-ui);font-size:12px;gap:3px;}.gs-hangar .gs-stat strong{font-family:var(--font-ui);font-size:14px;}
  .gs-hangar-details>.gs-note{margin:4px 0;font-family:var(--font-ui-small);font-size:11px;}
  .gs-hangar .gs-equipment{gap:4px 8px;padding-top:4px}.gs-hangar .gs-equipped-paint{font-family:var(--font-ui);font-size:12px;}
  .gs-hangar .gs-equipment .gs-evolution,.gs-hangar .gs-equipment .gs-note{font-family:var(--font-ui);font-size:12px;line-height:1.4;}
  .gs-hangar .gs-equipment .gs-note{display:none}
  .gs-hangar .gs-workbench-content{grid-column:auto}
  .gs-hangar[data-pane=ship] .gs-workbench-content{display:none}
  .gs-hangar:not([data-pane=ship]) .gs-preview-panel,.gs-hangar:not([data-pane=ship]) .gs-hangar-details{display:none}
  .gs-hangar:not([data-pane=ship]) .gs-workbench{grid-template-columns:1fr}
  .gs-hangar[data-pane=map] .gs-sortie-conditions{display:none}
  .gs-hangar[data-pane=options] .gs-map-brief,.gs-hangar[data-pane=options] #gs-map-lock{display:none}
  .gs-hangar .gs-map-brief{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.5fr);gap:4px 20px}
  .gs-hangar .gs-map-brief h2{grid-column:1/-1;font-family:var(--font-ui);font-size:15px;margin:0;}
  .gs-hangar .gs-map-visuals{grid-template-columns:minmax(0,1fr) 70px;gap:4px}
  .gs-hangar .gs-tactical-map svg{height:90px}.gs-hangar .gs-map-visuals figcaption{font-family:var(--font-ui-small);font-size:11px;line-height:1.3;}
  .gs-hangar .gs-representative-enemies{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-hangar .gs-representative-enemies img{height:40px}
  .gs-hangar .gs-map-facts{margin:0;font-family:var(--font-ui);font-size:13px;gap:4px 10px;line-height:1.5;}
  .gs-hangar .gs-sortie-conditions{border:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
  .gs-hangar .gs-sortie-conditions p{margin:0;font-family:var(--font-ui);font-size:14px;}
  .gs-launch-bar{flex-wrap:nowrap;padding:5px 14px;gap:12px}
  .gs-launch-bar .gs-objective{flex:1;font-family:var(--font-ui);font-size:12px;line-height:1.4;max-width:unset;}
  .gs-launch-actions{margin:0;gap:8px}.gs-launch-bar button{padding:8px 16px;min-height:44px}
  .gs-launch-bar .gs-objective{flex-basis:auto}
  .status-block{top:var(--safe-top);left:var(--safe-left);bottom:auto;width:180px;padding:7px 10px;background:#10181dbd;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}
  .status-block>.status-label,.status-block>.hp-readout,.status-block>.bar.hull,.status-block>#barrier-status,.status-block>.secondary,.status-block>.bar.xp{grid-column:1/-1}
  .status-label,#hull-state{font-family:var(--font-ui-small);font-size:11px;}.hp-readout{margin:0}.hp-readout>span{font-family:var(--font-ui-small);font-size:11px;}#hp-text{font-family:var(--font-ui);font-size:17px;}
  .bar.hull{height:7px;margin:0 0 2px}.bar.xp{height:3px;margin:0 0 3px}
  .status-block .ability{font-family:var(--font-ui-small);font-size:10px;gap:2px;}.status-block .ability kbd{display:none}
  .status-block>.ability{grid-column:1;grid-row:7}
  #boost{grid-column:1;grid-row:8}.status-block>#boost+.ability{grid-column:2;grid-row:7;margin:0}
  #ability-meter{grid-column:2;grid-row:8}.bar.boost,.bar.skill{margin:0;height:5px}
  #barrier-status{margin:0}#barrier-status .ability{display:flex}.bar.barrier{margin:2px 0 0;height:3px}
  .mission-status{top:var(--safe-top);left:50%;right:auto;transform:translateX(-50%);gap:12px;background:#10181d99;padding:6px 10px;border-radius:5px}
  .mission-status #clock{font-family:var(--font-ui);font-size:20px;letter-spacing:0;}.mission-status small{font-family:var(--font-ui-small);font-size:10px;margin-bottom:1px;}.mission-status strong{font-family:var(--font-ui);font-size:13px;}
  .mission-status>div:nth-last-child(-n+2){display:none}
  #operation-hud,#hud.boss-present #operation-hud{top:calc(var(--safe-top) + 52px);left:auto;right:var(--safe-right);transform:none;width:220px;padding:5px 8px;background:#10181d99;border-left:0}
  .operation-heading{gap:6px}.operation-heading img{width:30px;height:28px}.operation-heading small{font-family:var(--font-ui-small);font-size:10px;margin-bottom:0;}.operation-heading strong{font-family:var(--font-ui);font-size:12px;}
  #mission-tip{font-family:var(--font-ui-small);font-size:11px;line-height:1.3;margin:3px 0 0;}.bar.operation{margin:3px 0 0}
  #recovery-status{margin-top:4px;padding-top:4px}.recovery-heading{font-family:var(--font-ui-small);font-size:11px;}#recovery-status>small{display:none}.bar.recovery{margin:3px 0}
  #boss-hud{top:auto;bottom:max(65px,env(safe-area-inset-bottom));width:220px;font-family:var(--font-ui);font-size:12px;}#boss-hud .bar{margin:4px 0}
  #loadout{bottom:var(--safe-bottom);left:50%;right:auto;transform:translateX(-50%);width:44vw;max-width:400px;max-height:50px;justify-content:center;gap:3px}
  .weapon-chip{padding:3px 5px;font-family:var(--font-ui-small);font-size:10px;}.weapon-chip b{font-family:var(--font-ui-small);font-size:10px;margin:0;}.weapon-chip:has(b) span{display:none}.weapon-chip:not(:has(b)){display:none}
  .touch-controls #touch-boost,.touch-controls #touch-ability{bottom:max(22px,env(safe-area-inset-bottom));width:66px;height:66px;border-radius:50%;font-family:var(--font-ui);font-size:12px;background:#17282e80;border-color:#d6fff345;user-select:none;-webkit-user-select:none;}
  .touch-controls #touch-boost{right:calc(var(--safe-right) + 78px)}.touch-controls #touch-ability{right:var(--safe-right);bottom:calc(max(22px,env(safe-area-inset-bottom)) + 38px)}
  .touch-controls #touch-pause{right:var(--safe-right);top:var(--safe-top);min-width:58px;min-height:44px;padding:6px;background:#17282e99}
  #notice{bottom:max(12px,env(safe-area-inset-bottom));font-family:var(--font-ui);font-size:13px;padding:6px 12px;max-width:55vw;}
  .training-guide{max-height:calc(100dvh - 24px);overflow:auto;padding:16px;width:min(560px,80vw)}.training-guide h2{margin:6px 0}.training-guide p{font-family:var(--font-ui);font-size:14px;margin:8px 0;}.training button{min-height:44px}
  .training-control{top:105px;max-width:55vw;padding:6px 12px}.training-control p{font-family:var(--font-ui);font-size:12px;}
  .modal .choice-panel{width:calc(100% - var(--safe-left) - var(--safe-right));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom));padding:10px}
  .modal:not(.result-screen) .choice-panel{padding:8px}
  .choice-pagination{margin:0;gap:8px}.choice-pagination button,#modal-actions button{min-height:44px}
  .result-screen .choice-panel{height:calc(100dvh - var(--safe-top) - var(--safe-bottom));padding:8px 12px}
  .result-screen #modal-label{display:none}.result-screen #modal-title{font-family:var(--font-ui);font-size:20px;margin:0 0 3px;}.result-screen #modal-desc{font-family:var(--font-ui);font-size:12px;}
  #choices.result-content{margin:6px 0}.result-page{gap:6px}
  .result-stage{padding:8px}.result-stage h3{font-family:var(--font-ui);font-size:16px;}.result-stage p{font-family:var(--font-ui);font-size:12px;margin:3px 0 0;}
  .result-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .result-stats>div,.result-rewards>div,.result-balances>div{padding:5px 8px}.result-stats span,.result-rewards span,.result-balances span{font-family:var(--font-ui-small);font-size:11px;}
  .result-stats strong,.result-rewards strong,.result-balances strong{font-family:var(--font-ui);font-size:16px;margin-top:2px;}
  .result-rewards{grid-template-columns:auto repeat(2,minmax(0,1fr));align-items:center;gap:4px}.result-rewards h3{grid-column:auto}
  .result-pagination{flex-direction:row;align-items:center;justify-content:space-between;padding:0;gap:8px}
  .result-page-tabs{gap:4px}.result-page-tab{font-family:var(--font-ui);font-size:12px;white-space:nowrap;}
  .result-page-controls{gap:8px;font-family:var(--font-ui);font-size:12px;}.result-page-controls button{padding:6px 10px;font-family:var(--font-ui);font-size:12px;}
  .result-screen #modal-actions{padding-top:6px;gap:8px}.result-screen #modal-actions button{font-family:var(--font-ui);font-size:13px;padding:6px 12px;}
  .result-preparation{grid-template-columns:1fr 1fr;gap:8px}.result-progression,.result-challenge-summary{padding:8px;gap:6px}.result-progression h3,.result-challenge-summary h3{font-family:var(--font-ui);font-size:14px;}.result-progression p,.result-challenge-summary p{font-family:var(--font-ui);font-size:12px;line-height:1.4;}
}
@media(max-height:540px) and (orientation:landscape) and (pointer:coarse){.topbar{display:none}}

@media(max-height:540px) and (orientation:landscape){
  .gs-shell[data-screen=title] .gs-mech-viewport{height:clamp(70px,28dvh,130px)}
  .gs-shell[data-screen=title] .gs-preview-panel>.gs-note{margin:6px 0 0;font-family:var(--font-ui);font-size:12px;}
  .gs-shell[data-screen=title] .gs-actions button{padding:8px 12px;min-height:44px}
  .gs-hangar .gs-mech-viewport{height:clamp(42px,12dvh,65px)}
  .gs-hangar .gs-preview-stage{display:block}.gs-hangar .gs-preview-toggle{position:absolute;right:8px;bottom:8px;font-family:var(--font-ui-small);font-size:11px;padding:4px 6px;}
  .gs-hangar .gs-preview-panel{position:relative;padding-bottom:8px}
  .gs-hangar .gs-equipment{display:grid;grid-template-columns:1fr auto}
  .gs-hangar .gs-equipment .gs-evolution{grid-column:1/-1}
}
@media(max-width:700px) and (max-height:540px) and (orientation:landscape){
  .gs-shell[data-screen=title] .gs-operation-steps p{display:none}
  .gs-shell[data-screen=title] .gs-actions button{font-family:var(--font-ui);font-size:12px;padding:6px 10px;}
  .gs-shell[data-screen=title] .gs-operation-steps li{padding-bottom:8px}
  .gs-hangar .gs-sortie-options{gap:8px}.gs-hangar .gs-check{font-family:var(--font-ui);font-size:12px;max-width:150px;line-height:1.4;}
  .gs-nav button{padding-inline:7px}.gs-wallet{gap:6px}
}

#rotate-guide{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 35%,#183733,#0c171d 70%);text-align:center;outline:0}
#rotate-guide h1{font-family:var(--font-ui);font-size:clamp(21px,6vw,28px);line-height:1.4;margin:0;letter-spacing:-.6px;text-wrap:balance;}
#rotate-guide p{font-family:var(--font-ui);font-size:14px;line-height:1.8;margin:0;color:var(--muted);}
#rotate-guide>span{margin-top:12px;font-family:var(--font-ui);font-size:12px;color:#8ef0cb;}
.rotate-phone{display:grid;place-items:center;width:74px;height:116px;border:2px solid #8ef0cb88;border-radius:16px;color:var(--teal);font-family:var(--font-ui);font-size:48px;background:#8ef0cb08;transform:rotate(-25deg);box-shadow:0 12px 50px #0004;}
@media(max-width:700px) and (max-height:540px) and (orientation:landscape){.gs-shell[data-screen=title] .gs-mech-viewport{height:20dvh}}
@media(max-height:540px) and (orientation:landscape){.gs-hangar .gs-main:has(>.gs-warning){grid-template-rows:44px auto auto minmax(0,1fr)}.gs-hangar .gs-main>.gs-warning{margin:0;padding:6px 10px;font-family:var(--font-ui);font-size:12px;line-height:1.4;}}


@media(min-height:541px) and (min-width:1001px){
  .gs-hangar .gs-main{grid-template-rows:auto minmax(0,1fr);align-content:stretch}
  .gs-hangar .gs-main:has(>.gs-warning){grid-template-rows:auto auto minmax(0,1fr)}
  .gs-hangar .gs-workbench{height:100%;min-height:0;overflow:hidden}
  .gs-hangar .gs-workbench>*{min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain}
}

/* Battle rewards stay comparable: three candidates per landscape page. */
@media(max-height:540px) and (orientation:landscape){
  .modal:not(.result-screen) #choices[data-paged]{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(max-content,1fr);justify-content:stretch;gap:8px;scrollbar-gutter:auto}
  #choices[data-paged]>:is(button,article.upgrade-card){grid-column:auto;grid-row:1}
  #choices[data-paged]>*:not([data-current=true]){display:none}
  #choices>article.upgrade-card{padding:7px}
  #choices .upgrade-select{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto 36px;gap:3px 7px;align-content:start}
  #choices .upgrade-diagram{grid-column:1;grid-row:1/3;width:44px;height:44px;padding:2px;border-radius:6px}
  #choices .upgrade-meta{grid-column:2;grid-row:1;gap:1px 4px}
  #choices .upgrade-key,#choices .upgrade-badge,#choices .upgrade-change{font-family:var(--font-ui-small);font-size:11px;line-height:15px;}
  #choices .upgrade-change{white-space:normal}
  #choices .upgrade-select>b{grid-column:2;grid-row:2;font-family:var(--font-ui);font-size:14px;line-height:18px;}
  #choices .upgrade-description{grid-column:1/-1;grid-row:3;display:block;overflow:visible;font-family:var(--font-ui-small);font-size:11px;line-height:1.4;}
  #choices .upgrade-stats{grid-column:1/-1;grid-row:4;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 8px}
  #choices .upgrade-stat{gap:1px 4px;padding:0;line-height:15px}
  #choices .upgrade-stat span,#choices .upgrade-stat strong{font-family:var(--font-ui-small);font-size:11px;line-height:15px;}
  #choices .upgrade-extra{grid-column:1/-1;grid-row:5;display:grid;gap:2px}
  #choices .upgrade-note,#choices .upgrade-recipe{font-family:var(--font-ui-small);font-size:11px;line-height:14px;}
  #choices .upgrade-pick{grid-column:1/-1;grid-row:6;min-height:36px;padding:3px;display:grid;place-items:center;font-family:var(--font-ui);font-size:12px;}
}
@media(max-width:700px) and (max-height:540px) and (orientation:landscape){
  #choices .upgrade-stats{grid-template-columns:1fr}
  #choices .upgrade-stats::before{display:none}
  #choices .upgrade-description,#choices .upgrade-stat span,#choices .upgrade-stat strong{font-family:var(--font-ui-small);font-size:11px;}
}

/* Keep CSS columns aligned with the pager on wide windows and compact landscape. */
.modal:not(.result-screen) #choices[data-paged][data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
#choices[data-paged][data-columns="3"]>:is(button,article.upgrade-card){grid-column:auto;grid-row:1}
#choices[data-paged][data-columns="3"]>*:not([data-current=true]){display:none}
