/* One landscape composition, with larger cells and controls on desktop. */
@media(orientation:landscape){
 body.landscape-shell{--scene-u:clamp(.9px,min(.11848vw,.25641dvh),2.5px);--scene-hud-h:calc(42 * var(--scene-u));--scene-dock-h:calc(48 * var(--scene-u));--field-panel:calc(224 * var(--scene-u))}
 .landscape-shell>.game-hud{--hud-h:var(--scene-hud-h);height:var(--hud-h);min-height:var(--hud-h);padding:calc(4 * var(--scene-u)) calc(12 * var(--scene-u));gap:calc(12 * var(--scene-u))!important}
 .landscape-shell>.game-hud .brand{font-size:calc(22 * var(--scene-u))}.landscape-shell>.game-hud .brand span{display:none}
 .landscape-shell>.game-hud #stats{max-width:none;gap:calc(14 * var(--scene-u))}.landscape-shell>.game-hud .stat-top{font-size:calc(10 * var(--scene-u));gap:calc(5 * var(--scene-u))}.landscape-shell>.game-hud .stat-top b{font-size:calc(18 * var(--scene-u))}.landscape-shell>.game-hud .stat-top span:before{font-size:calc(11 * var(--scene-u))}
 .landscape-shell>.game-hud .clock{font-size:calc(11 * var(--scene-u))}.landscape-shell>.game-hud .clock small{font-size:calc(9 * var(--scene-u))}.landscape-shell>.game-hud .health-button{font-size:calc(10 * var(--scene-u));min-height:calc(30 * var(--scene-u));padding:calc(4 * var(--scene-u)) calc(7 * var(--scene-u))}.landscape-shell>.game-hud .fullscreen-button{width:calc(34 * var(--scene-u));height:calc(30 * var(--scene-u));min-height:0;font-size:calc(23 * var(--scene-u))}
 .landscape-shell>main{grid-template-columns:minmax(0,1fr) var(--field-panel);min-height:0;position:relative}
 .landscape-shell .map-area{min-width:0;position:relative;display:block}.landscape-shell .map-wrap,.landscape-shell .map-wrap.local-view{position:absolute;inset:0;height:100%;width:100%;padding:0;margin:0;min-height:0;overflow:hidden}
 .landscape-shell #map,.landscape-shell #local-map{display:block;width:100%;height:100%;aspect-ratio:auto;min-height:0;max-height:none;touch-action:none}
 .landscape-shell #local-map{background:#202d22}.landscape-shell #local-map>.local-map-caption,.landscape-shell #local-map>.local-map-subtitle{display:none}
 .landscape-shell .map-top{position:absolute;inset:0 0 auto;z-index:2;height:calc(36 * var(--scene-u));min-height:0;padding:calc(5 * var(--scene-u)) calc(10 * var(--scene-u));background:#15261de8;pointer-events:none}.landscape-shell .map-top h2{font-size:calc(15 * var(--scene-u));padding-right:calc(100 * var(--scene-u));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .landscape-shell #explore-toolbar{position:absolute;top:calc(3 * var(--scene-u));right:calc(5 * var(--scene-u));z-index:3;min-height:0;padding:0;border:0;background:none}.landscape-shell #explore-breadcrumb{display:none}.landscape-shell #go-exit{min-height:calc(29 * var(--scene-u));padding:calc(4 * var(--scene-u)) calc(7 * var(--scene-u));font-size:calc(10 * var(--scene-u));background:#253a28}
 .landscape-shell #atlas-tools{top:calc(41 * var(--scene-u));left:calc(7 * var(--scene-u));right:calc(7 * var(--scene-u));padding:calc(3 * var(--scene-u));gap:calc(5 * var(--scene-u))}.landscape-shell .atlas-tools button{min-height:calc(29 * var(--scene-u));padding:calc(4 * var(--scene-u)) calc(7 * var(--scene-u));font-size:calc(10 * var(--scene-u))}.landscape-shell .atlas-zoom output{font-size:calc(10 * var(--scene-u));width:calc(38 * var(--scene-u))}
 .landscape-shell #city-directory{top:calc(84 * var(--scene-u));left:calc(7 * var(--scene-u));width:calc(230 * var(--scene-u));max-height:calc(100% - 95 * var(--scene-u));padding:calc(4 * var(--scene-u)) calc(9 * var(--scene-u));font-size:calc(11 * var(--scene-u))}.landscape-shell #city-directory summary{min-height:calc(27 * var(--scene-u));line-height:calc(27 * var(--scene-u))}.landscape-shell #city-directory:not([open]){width:max-content}.landscape-shell #city-results{max-height:none}.landscape-shell #settlement-legend{display:none}
 .landscape-shell aside.right{display:flex;flex-direction:column;gap:calc(9 * var(--scene-u));padding:calc(10 * var(--scene-u));overflow:auto;min-height:0}.landscape-shell .right>.eyebrow{font-size:calc(9 * var(--scene-u));padding:0}.landscape-shell #location{min-height:0;flex-shrink:0}.landscape-shell .right .location-title h2{font-size:calc(18 * var(--scene-u))}.landscape-shell .location-title{margin:0}.landscape-shell .risk,.landscape-shell .place-type{font-size:calc(10 * var(--scene-u))}.landscape-shell #location p{font-size:calc(11 * var(--scene-u));line-height:1.7;margin:calc(6 * var(--scene-u)) 0}.landscape-shell .area-meta{font-size:calc(10 * var(--scene-u));padding:calc(7 * var(--scene-u)) 0;gap:3px}
 .landscape-shell #actions{display:flex;flex-direction:column;gap:calc(6 * var(--scene-u));margin:0;flex-shrink:0}.landscape-shell #actions button{min-height:calc(37 * var(--scene-u));padding:calc(6 * var(--scene-u));font-size:calc(12 * var(--scene-u))}.landscape-shell #actions small{font-size:calc(10 * var(--scene-u));margin-top:calc(3 * var(--scene-u))}.landscape-shell .camp-status{margin:0;padding:calc(7 * var(--scene-u))}.landscape-shell .camp-status b,.landscape-shell .camp-status small{font-size:calc(10 * var(--scene-u))}
 .landscape-shell .encounter-summary{margin:0;padding-top:calc(8 * var(--scene-u))}.landscape-shell .encounter-summary b{font-size:calc(12 * var(--scene-u))}.landscape-shell .encounter-summary span,.landscape-shell .encounter-summary button small{font-size:calc(10 * var(--scene-u))}.landscape-shell .encounter-summary button{font-size:calc(11 * var(--scene-u));min-height:calc(33 * var(--scene-u));padding:calc(5 * var(--scene-u))}

 .landscape-shell #movement-status{left:auto;right:calc(9 * var(--scene-u));bottom:calc(9 * var(--scene-u));width:calc(285 * var(--scene-u));padding:calc(7 * var(--scene-u));font-size:calc(10 * var(--scene-u));gap:calc(6 * var(--scene-u))}.landscape-shell #movement-status button{font-size:calc(11 * var(--scene-u));padding:calc(5 * var(--scene-u));min-height:calc(32 * var(--scene-u))}
 .landscape-shell #notice,.landscape-shell .activity{--hud-h:var(--scene-hud-h);--dock-h:var(--scene-dock-h)}
 /* The whole board remains visible. Every command is in the right-hand panel. */
 .landscape-shell #combat-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) calc(265 * var(--scene-u));grid-template-rows:calc(47 * var(--scene-u)) minmax(0,1fr);width:100%;max-width:none;height:100dvh;max-height:none;position:fixed;inset:0;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;overflow:hidden}
 .landscape-shell .battle-header{grid-area:1/2;position:static;display:flex;align-items:center;justify-content:space-between;width:auto;height:auto;min-height:0;padding:calc(5 * var(--scene-u)) calc(9 * var(--scene-u));border:0;border-left:2px solid #546448;z-index:1}.landscape-shell .battle-header h2{font-size:calc(15 * var(--scene-u))!important;white-space:nowrap;margin:0!important}.landscape-shell .battle-header p,.landscape-shell .battle-header .eyebrow{display:none}.landscape-shell .battle-round{font-size:calc(10 * var(--scene-u));margin:0}
 .landscape-shell .battle-turn-status{grid-area:1/1;position:static;height:auto;min-height:0;padding:calc(5 * var(--scene-u)) calc(12 * var(--scene-u));display:flex;gap:calc(15 * var(--scene-u));flex-wrap:nowrap}.landscape-shell .battle-turn-heading{gap:calc(10 * var(--scene-u))}.landscape-shell .battle-turn-heading .battle-phase{font-size:calc(21 * var(--scene-u))}.landscape-shell #battle-turn-detail{font-size:calc(10 * var(--scene-u));line-height:1.4;max-width:calc(130 * var(--scene-u))}.landscape-shell .battle-order{margin:0;gap:calc(4 * var(--scene-u))}.landscape-shell .turn-unit,.landscape-shell .turn-unit.current{padding:calc(3 * var(--scene-u)) calc(6 * var(--scene-u));min-width:0}.landscape-shell .turn-unit b,.landscape-shell .turn-unit small{font-size:calc(9 * var(--scene-u))}
 .landscape-shell #battle-play{grid-area:2/1/3/3;display:contents}.landscape-shell #battle-play[hidden]{display:none}.landscape-shell .battle-main{grid-area:2/1;display:block;position:relative;padding:calc(3 * var(--scene-u));min-height:0;min-width:0;overflow:hidden}.landscape-shell .battle-board-wrap{display:block;width:100%;height:100%;min-height:0;min-width:0}.landscape-shell #battle-board{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto}.landscape-shell .battle-main .battle-legend{display:none}
 .landscape-shell .battle-side{grid-area:2/2;display:flex;flex-direction:column;gap:calc(5 * var(--scene-u));padding:calc(7 * var(--scene-u));min-height:0;overflow:hidden;border-left:2px solid #65744f!important}.landscape-shell .battle-side-scroll{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;padding:0;gap:calc(5 * var(--scene-u))}.landscape-shell .battle-side-scroll>*{margin-bottom:0}
 .landscape-shell .battle-map-controls{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:calc(4 * var(--scene-u));margin:0;min-height:0}.landscape-shell .battle-terrain-info{font-size:calc(10 * var(--scene-u))}.landscape-shell .battle-terrain-info b{font-size:calc(11 * var(--scene-u))}.landscape-shell .battle-range-tools{display:flex;flex-direction:row;flex:1;gap:calc(3 * var(--scene-u));min-width:0}.landscape-shell #combat-dialog .battle-range-tools button{flex:1;font-size:calc(10 * var(--scene-u));min-height:calc(28 * var(--scene-u));padding:calc(3 * var(--scene-u))}.landscape-shell .range-status{font-size:calc(10 * var(--scene-u));line-height:1.5;margin:0;min-height:0}
 .landscape-shell #battle-vitals{display:grid;grid-template-columns:1fr 1fr;gap:calc(4 * var(--scene-u))}.landscape-shell #battle-vitals b{font-size:calc(19 * var(--scene-u))}.landscape-shell #battle-vitals small,.landscape-shell #battle-vitals span{font-size:calc(10 * var(--scene-u))}.landscape-shell #battle-vitals p{font-size:calc(10 * var(--scene-u))!important;line-height:1.5;margin:0}.landscape-shell #battle-vitals .battle-medical-note{display:none}.landscape-shell #battle-vitals .shelter-status{padding:calc(3 * var(--scene-u))}.landscape-shell .ap-pips{height:calc(8 * var(--scene-u));gap:calc(3 * var(--scene-u))}
 .landscape-shell #battle-weapon{padding-top:calc(5 * var(--scene-u))}.landscape-shell #battle-weapon label{font-size:calc(11 * var(--scene-u))}.landscape-shell #combat-dialog #battle-weapon-choice{font-size:calc(12 * var(--scene-u));min-height:calc(30 * var(--scene-u));padding:calc(4 * var(--scene-u))}.landscape-shell .battle-weapon-stats,.landscape-shell .ammo-readout,.landscape-shell .weapon-reason{font-size:calc(10 * var(--scene-u));margin:calc(3 * var(--scene-u)) 0}.landscape-shell .battle-weapon-stats{display:none}
 .landscape-shell .battle-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(3 * var(--scene-u));margin:0}.landscape-shell #combat-dialog .battle-actions button{min-height:calc(32 * var(--scene-u))!important;padding:calc(3 * var(--scene-u))!important;font-size:calc(11 * var(--scene-u))!important}.landscape-shell #combat-dialog .battle-actions button b{font-size:calc(11 * var(--scene-u))!important}.landscape-shell #combat-dialog .battle-actions small{font-size:calc(9 * var(--scene-u))!important}
 .landscape-shell #battle-target{padding:calc(6 * var(--scene-u));margin:0}.landscape-shell .battle-target-head h3{font-size:calc(13 * var(--scene-u))}.landscape-shell .battle-target-head small,.landscape-shell .target-preview,.landscape-shell .attack-reason{font-size:calc(10 * var(--scene-u))!important}.landscape-shell #battle-move{font-size:calc(10 * var(--scene-u));min-height:0;margin:0;padding:calc(4 * var(--scene-u)) 0}.landscape-shell #battle-move p{font-size:inherit;margin:0;line-height:1.4}.landscape-shell #battle-move [data-combat-cancel]{min-height:calc(28 * var(--scene-u));padding:calc(3 * var(--scene-u));font-size:calc(10 * var(--scene-u))}.landscape-shell .move-terrain-note{display:none}
 .landscape-shell .battle-turn-controls{position:static;display:grid;grid-template-columns:1fr 1fr;flex-shrink:0;gap:calc(4 * var(--scene-u));padding:calc(5 * var(--scene-u)) 0 0;margin:0;border:0;box-shadow:none}.landscape-shell #combat-dialog .battle-turn-controls button{min-height:calc(34 * var(--scene-u))!important;height:100%;padding:calc(5 * var(--scene-u))!important;font-size:calc(12 * var(--scene-u))!important}.landscape-shell #combat-dialog .battle-turn-controls button b{font-size:calc(12 * var(--scene-u))!important}.landscape-shell .battle-turn-controls small{font-size:calc(9 * var(--scene-u))!important}.landscape-shell #battle-flee{grid-column:1/-1;min-height:calc(28 * var(--scene-u))!important}
 .landscape-shell .battle-log-disclosure{font-size:calc(10 * var(--scene-u));border-top:1px solid #56634c;padding-top:calc(5 * var(--scene-u))}.battle-log-disclosure summary{cursor:pointer;padding:5px 0}.landscape-shell #battle-log{height:auto;max-height:calc(100 * var(--scene-u));font-size:calc(10 * var(--scene-u))}
 .landscape-shell .battle-result{grid-area:2/1/3/3;overflow:auto;font-size:calc(14 * var(--scene-u));padding:calc(20 * var(--scene-u))}.landscape-shell .battle-result h2{font-size:calc(23 * var(--scene-u))!important}.landscape-shell .battle-result button{font-size:calc(15 * var(--scene-u));min-height:calc(40 * var(--scene-u))}.landscape-shell .battle-medical-report{max-width:calc(560 * var(--scene-u))}
}
.local-camera-tools{position:absolute;left:10px;bottom:10px;z-index:3;display:flex;gap:4px;align-items:center;padding:4px;background:#15271eeb;border:1px solid #899767;box-shadow:2px 2px #0a1710}.local-camera-tools[hidden]{display:none}.local-camera-tools button{min-height:32px;padding:5px 8px;font-size:11px}.local-camera-tools button[aria-pressed=true]{background:#a7a56b;color:#1a2a1b}.local-camera-tools output{font-size:10px;color:#ced1aa;padding:0 4px}
@media(orientation:landscape){.local-camera-tools{left:calc(8 * var(--scene-u));bottom:calc(8 * var(--scene-u));padding:calc(4 * var(--scene-u));gap:calc(4 * var(--scene-u))}.local-camera-tools button{font-size:calc(10 * var(--scene-u));min-height:calc(30 * var(--scene-u));padding:calc(4 * var(--scene-u)) calc(7 * var(--scene-u))}.local-camera-tools output{font-size:calc(9 * var(--scene-u))}.landscape-shell:has(#movement-status:not([hidden])) .local-camera-tools output{display:none}}
@media(orientation:portrait){.local-camera-tools{left:5px;bottom:5px;max-width:calc(100% - 10px)}.local-camera-tools output{display:none}}
@media(orientation:landscape){
 .landscape-shell #combat-dialog .battle-actions small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.landscape-shell #combat-dialog .battle-actions button{min-height:calc(38 * var(--scene-u))!important}
 .landscape-shell #battle-vitals>p:not(.shelter-status){grid-column:1;font-size:calc(9 * var(--scene-u))!important}.landscape-shell #battle-vitals>.shelter-status{grid-column:2;font-size:calc(9 * var(--scene-u))!important}.landscape-shell #battle-vitals>div{padding:calc(4 * var(--scene-u))}.landscape-shell #battle-vitals meter{height:calc(7 * var(--scene-u))}
 .landscape-shell #battle-weapon{display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(4 * var(--scene-u));align-items:center}.landscape-shell #battle-weapon label{margin:0}.landscape-shell #battle-weapon label small{display:block;font-size:calc(9 * var(--scene-u))}.landscape-shell #battle-weapon .ammo-readout{grid-column:1/-1}.landscape-shell #battle-weapon-reason:empty{display:none}
 .landscape-shell #battle-target .enemy-portrait{width:calc(44 * var(--scene-u));height:calc(44 * var(--scene-u))}.landscape-shell #battle-target p,.landscape-shell #battle-target b{font-size:calc(10 * var(--scene-u))}.landscape-shell #battle-target>p:not(.attack-reason):not(.shelter-status){display:none}
 .landscape-shell .battle-terrain-info span{display:none}.landscape-shell #atlas-footer{font-size:calc(9 * var(--scene-u));bottom:calc(8 * var(--scene-u));left:calc(10 * var(--scene-u));right:calc(10 * var(--scene-u))}
}
/* HUD health actions must not inherit full-width dialog action sizing. */
.landscape-shell .menu-hud>.health-button{width:auto!important;max-width:max-content;flex:0 0 auto;order:2;margin:0!important;align-self:center}
.landscape-shell .menu-hud>.menu-clock{order:3}
