/* Alpha 0.9.4: one fixed game viewport; scroll belongs only to bounded menus. */
html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;position:fixed;inset:0;width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:#090d07}
#app,#app.standalone-mode{--safe-bottom:0px;--viewport-floor:0px;--field-height:160px;position:fixed;left:calc(var(--viewport-left,0px) + env(safe-area-inset-left,0px));top:calc(var(--viewport-top,0px) + env(safe-area-inset-top,0px));width:calc(var(--viewport-width,100vw) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));height:calc(var(--viewport-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:0;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}
#app:fullscreen{--viewport-floor:env(safe-area-inset-bottom,0px);left:0;top:0;width:100%;height:100%;padding:0}
#app [data-scroll]{overscroll-behavior:contain;touch-action:pan-y}
#app #loadout,#app .shop-tabs{touch-action:pan-x}
#app .sheet,#app .pause-sheet{position:fixed;max-height:calc(var(--viewport-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);overflow:auto;overscroll-behavior:contain;touch-action:manipulation;scroll-padding-top:82px}
#app .sheet-heading{position:sticky;top:-26px;z-index:4;background:#172115;padding:12px 0;margin-top:-12px}
#app .pause-options{display:flex;gap:8px}#app .pause-options button{flex:1;min-width:0;font-size:14px;min-height:44px}
/* A fixed preparation shell keeps deploy and save transfer reachable. */
#app .base-screen{padding:72px 16px 10px;display:flex;overflow:hidden;touch-action:pan-y;align-items:center;justify-content:flex-start;gap:0}
#app .base-screen .hero-copy{display:none}
#app .base-console{height:100%;min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden}
#app .base-console .console-heading{flex-shrink:0;padding:10px 16px;min-height:44px}
#app .base-tabs{display:none}
#app .console-grid{flex:1;min-height:0;overflow:hidden;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
#app .merc-section,#app .mission-section{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;touch-action:pan-y}
#app .mission-tabs{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}
#app .base-console>.deploy-row{position:static;flex-shrink:0;margin:0;padding:8px 14px;background:#172115;border-top:1px solid #687750;display:flex;gap:8px}
#app .deploy-row button{flex:1;min-width:0}
#app .console-footer{flex-shrink:0;padding:5px 14px;gap:4px;min-height:44px;font-size:12px}
#app .footer-save{gap:8px}#app .footer-save button{min-height:44px;padding:6px 10px;font-size:13px}
/* Reset old row placement before sizing the instruments. */
#app .battle-console{bottom:var(--viewport-floor);height:var(--field-height);padding:8px 12px;grid-template-columns:138px minmax(0,1fr) 150px;grid-template-rows:minmax(0,1fr);gap:10px;border-top-width:4px}
#app .console-vitals{grid-area:auto;inset:auto;width:auto;min-width:0;transform:none;padding:7px}
#app .status-display{height:68px;margin-top:6px;padding:5px}
#app .health-readout small{white-space:nowrap;font-size:11px;letter-spacing:0}
#app .health-readout b{font-family:system-ui,sans-serif;font-variant-numeric:tabular-nums;font-size:20px;line-height:1.2}
#app .armor-line{font-size:12px;margin-top:5px}
#app .console-core{display:flex;flex-direction:column;gap:5px;min-height:0;min-width:0}
#app .weapon-status{min-width:0;min-height:24px;line-height:20px;padding:2px 6px;font-size:14px;flex-shrink:0}
#app .loadout{grid-area:auto;height:48px;min-height:48px;flex-shrink:0;width:100%;gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
#app .weapon-button{position:relative;flex:0 0 110px;min-width:100px;max-width:none;width:110px;height:48px;padding:5px 7px;border-width:2px}
#app .weapon-button small{display:none}#app .weapon-button strong{position:static;display:block;margin:0;max-width:none;font-size:13px;line-height:18px;text-align:left;white-space:nowrap}
#app .weapon-button span{display:block;position:static;font-size:12px;text-align:left;line-height:16px;color:#d7d4a2}
#app .field-readouts{grid-area:auto;margin:0;min-width:0;gap:5px;height:44px}
#app .quick-actions{min-width:0;gap:5px}#app .quick-actions button{min-width:44px;height:44px;min-height:44px;font-size:14px;padding:4px 6px}
#app .quick-actions kbd{display:none}
#app .field-button{height:44px;min-height:44px;min-width:44px;padding:4px;font-size:13px;flex:0 0 44px}
#app .melee-icon{border-radius:0;display:grid;place-items:center;touch-action:manipulation}
#app .melee-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
#app .radar-panel.console-radar,#app.map-mode .radar-panel.console-radar{position:relative;grid-area:auto;inset:auto;width:100%;height:100%;min-width:0;padding:5px;border:2px solid #697b4a;z-index:auto;display:flex;flex-direction:column;gap:3px}
#app .radar-heading{margin:0;align-items:center;font-size:11px;letter-spacing:0;min-height:20px;flex-shrink:0}
#app .radar-heading button{position:static;min-height:20px;font-size:11px;padding:0;letter-spacing:0}
#app .radar-heading button:after{content:"";display:block;position:absolute;inset:0}
#app .radar-heading b{font-size:11px;white-space:nowrap}
#app .radar-panel canvas,#app.map-mode .radar-panel canvas{display:block;height:0;min-height:30px;flex:1;width:100%;border-width:2px}
#app .radar-readout{font-size:12px;line-height:14px;min-height:14px;margin:0;white-space:normal}
#app .tool-strip{left:12px;right:auto;bottom:calc(100% + 8px);max-width:none;padding:3px;gap:4px}
#app .magic-controls{left:auto;right:12px;bottom:calc(100% + 8px);max-width:230px;padding:3px;gap:4px}
#app .tool-strip button,#app .magic-controls button{min-height:44px;font-size:13px;padding:6px 8px}
#app .tool-strip kbd,#app .tool-strip span{display:none}
#app .magic-controls span{font-size:12px}
#app .joystick,#app.mage-field .joystick{left:16px;right:auto;width:90px;height:90px;bottom:calc(var(--field-height) + var(--viewport-floor) + 70px)}
#app .stick-ring{inset:16px}#app .stick-knob{width:32px;height:32px;left:29px;top:29px}#app .joystick>span{font-size:11px;bottom:6px}
#app.left-handed .joystick{left:auto;right:16px}
#app .objective{top:70px;left:12px;transform:none;min-width:0;max-width:min(440px,65%);padding:8px 10px;text-align:left}
#app .objective strong{font-size:16px;margin:0 0 4px}#app .objective>span{font-size:14px}#app .objective small{display:none}#app .objective-progress{justify-content:flex-start;margin-top:5px}
#app .threat-cue,#app.map-mode .threat-cue{top:72px;right:12px;max-width:30%;font-size:12px;padding:5px 8px}
#app .toast{top:151px;bottom:auto;max-width:80%;padding:7px 10px;font-size:13px;pointer-events:none}
#app .boss-hud{top:125px;bottom:auto;width:65%;max-width:480px;font-size:13px}
#app.boss-active .toast{top:163px}
#app .tutorial-hint{top:auto;bottom:calc(var(--field-height) + var(--viewport-floor) + 72px);max-width:360px;width:calc(100% - 240px);font-size:13px;padding:6px 9px}
#app .controls-held .tutorial-hint{opacity:0;pointer-events:none}
#app:not(.base-mode) #soundButton{display:none}
@media(max-width:700px) and (orientation:portrait){
 #app,#app.standalone-mode{--field-height:160px}
 #app .topbar,#app:not(.base-mode) .topbar{height:54px;padding:5px 8px;gap:4px}
 #app .wordmark{font-size:15px;display:flex}#app .wordmark small,#app .logo-icon{display:none}
 #app .top-actions{width:auto;gap:4px}
 #app:not(.base-mode) #helpButton{display:none}
 #app .icon-button,#app:not(.base-mode) .icon-button{font-size:13px;min-height:44px;height:44px;padding:0 7px;min-width:44px}
 #app.base-mode .wordmark{font-size:14px}
 #app .base-screen{padding:60px 8px 6px}
 #app .base-tabs{display:flex;flex-shrink:0;padding:5px 8px;gap:6px;border-bottom:1px solid #617247}
 #app .base-tabs button{min-height:44px;flex:1;background:#15210f;border:1px solid #617247;color:#cbd4b0;font-size:14px}
 #app .base-tabs button[aria-pressed=true]{background:#45502c;border-color:#c7cd90;color:#fff4c6}
 #app .console-grid{display:block}#app .merc-section,#app .mission-section{height:100%;padding:12px;border:0}
 #app .base-screen[data-view=missions] #mercPane,#app .base-screen[data-view=mercs] #missionPane{display:none}
 #app .base-console>.deploy-row{padding:6px 8px}#app .deploy-row button{min-height:44px;font-size:13px;padding:6px}
 #app .console-footer{padding:0 8px}#app .console-footer>span{display:none}#app .footer-save{width:100%;justify-content:space-between;flex-wrap:nowrap}#app #saveLabel{font-size:11px;max-width:120px}#app .footer-save button{font-size:12px;padding:4px 6px}
 #app .battle-console{grid-template-columns:78px minmax(0,1fr) 98px;grid-template-rows:24px 58px 44px;gap:5px 6px;padding:6px 8px}
 #app .console-core{display:contents}
 #app .console-vitals{grid-column:1;grid-row:1 / 3;padding:4px;border-width:1px}
 #app .vital-heading strong{font-size:15px;letter-spacing:0}#app .vital-heading span{display:none}
 #app .status-display{height:41px;padding:2px;margin-top:2px;border-width:1px;gap:0}
 #app .bio-meter{display:none}#app .health-readout small{font-size:10px;line-height:12px}#app .health-readout b{font-size:15px;line-height:18px}#app .health-readout .meter{height:4px}
 #app .armor-line{font-size:10px;margin-top:2px;white-space:nowrap}#app .armor-line span:last-child{display:none}
 #app .weapon-status{grid-column:2;grid-row:1;font-size:12px;min-height:24px;padding:2px 5px}
 #app .loadout{grid-column:2;grid-row:2;height:58px;min-height:58px;align-self:stretch;gap:4px}
 #app .weapon-button{height:54px;min-width:84px;flex-basis:88px;padding:6px 5px}#app .weapon-button strong{font-size:12px;line-height:17px}#app .weapon-button span{font-size:12px;line-height:20px}
 #app .field-readouts{grid-column:1 / -1;grid-row:3;gap:4px;align-self:stretch}
 #app .quick-actions{gap:4px}#app .quick-actions button{font-size:13px;padding:4px 2px;min-width:0}#app .quick-actions button b{margin-left:3px}
 #app .field-button{min-width:44px;flex-basis:44px;font-size:12px}
 #app .radar-panel.console-radar,#app.map-mode .radar-panel.console-radar{grid-column:3;grid-row:1 / 3;padding:3px;gap:2px;border-width:1px}
 #app .radar-heading,#app .radar-heading button,#app .radar-heading b{font-size:10px;min-height:15px;line-height:15px}
 #app .radar-readout{font-size:10px;line-height:12px;min-height:12px}
 #app .objective{top:60px;left:8px;max-width:calc(100% - 16px);padding:7px 9px}
 #app .objective strong{display:inline;margin-right:8px;font-size:15px}#app .objective>span{display:inline;font-size:13px}
 #app .threat-cue,#app.map-mode .threat-cue{top:121px;right:8px;max-width:65%;padding:4px 8px;font-size:12px}
 #app .toast{top:163px;bottom:auto;max-width:calc(100% - 24px);font-size:13px}
 #app .boss-hud{top:121px;bottom:auto;left:8px;transform:none;width:47%;max-width:47%;font-size:12px}
 #app.boss-active .threat-cue{max-width:44%}#app.boss-active .toast{top:168px}
 #app .tool-strip{left:8px;right:auto;max-width:49%;bottom:calc(100% + 8px)}
 #app .magic-controls{right:8px;left:auto;max-width:47%;bottom:calc(100% + 8px)}
 #app .magic-controls button,#app .tool-strip button{font-size:12px;padding:5px 6px;min-width:0}
 #app .magic-controls span{font-size:11px}
 #app .tutorial-hint{top:auto;bottom:calc(var(--field-height) + var(--viewport-floor) + 94px);left:118px;transform:none;width:calc(100% - 134px);max-width:none;font-size:12px}
 #app.left-handed .tutorial-hint{left:16px}
 #app .sheet-heading{top:-20px}#app .sheet,#app .pause-sheet{padding:16px;scroll-padding-top:72px}
}
@media(max-height:520px) and (orientation:landscape){
 #app,#app.standalone-mode{--field-height:108px}
 #app .topbar,#app:not(.base-mode) .topbar{height:50px;padding:3px 10px}
 #app .icon-button,#app:not(.base-mode) .icon-button{height:44px;min-height:44px;font-size:13px}
 #app:not(.base-mode) #helpButton{display:none}
 #app .base-screen{padding:56px 10px 6px}#app .base-console .console-heading{display:none}#app .merc-section,#app .mission-section{padding:10px}
 #app .base-console>.deploy-row{padding:4px 10px}#app .deploy-row button{min-height:44px;padding:6px;font-size:14px}
 #app .console-footer{padding:0 10px}#app .console-footer>span{display:none}#app .base-tabs{display:none}
 #app .battle-console{grid-template-columns:88px minmax(0,1fr) 122px;grid-template-rows:minmax(0,1fr);padding:5px 10px;gap:8px}
 #app .console-vitals{grid-area:auto;padding:4px}#app .vital-heading strong{font-size:15px}#app .vital-heading span,#app .bio-meter{display:none}
 #app .status-display{height:42px;margin-top:3px;padding:3px;border-width:1px}#app .health-readout b{font-size:16px}#app .health-readout small{font-size:11px}#app .armor-line{font-size:11px;margin-top:3px}
 #app .console-core{display:grid;grid-template-columns:minmax(90px,1fr) minmax(230px,1.5fr);grid-template-rows:24px 1fr;gap:4px 6px}
 #app .weapon-status{grid-column:1 / -1;grid-row:1;min-height:24px;font-size:13px}
 #app .loadout{grid-column:1;grid-row:2;align-self:center;height:48px;min-height:48px}
 #app .field-readouts{grid-column:2;grid-row:2;align-self:center;gap:4px}
 #app .quick-actions{gap:4px}#app .quick-actions button{font-size:12px;padding:4px 2px;min-width:0}
 #app .field-button{min-width:44px;flex-basis:44px;font-size:12px}
 #app .radar-panel.console-radar,#app.map-mode .radar-panel.console-radar{grid-area:auto}
 #app .objective{top:56px;left:10px;max-width:60%;padding:5px 8px}
 #app .objective strong{display:inline;font-size:14px;margin:0 7px 0 0}#app .objective>span{font-size:13px}#app .objective-progress{margin-top:3px}
 #app .threat-cue,#app.map-mode .threat-cue{top:56px;right:10px;max-width:35%;font-size:12px}
 #app .boss-hud{top:101px;left:50%;transform:translateX(-50%);width:48%;font-size:12px}
 #app .toast,#app.boss-active .toast{top:128px;bottom:auto;font-size:12px;padding:4px 8px;max-width:56%}
 #app .joystick,#app.mage-field .joystick{left:14px;right:auto;width:78px;height:78px;bottom:calc(var(--field-height) + var(--viewport-floor) + 9px)}
 #app .stick-knob{width:28px;height:28px;left:25px;top:25px}#app .stick-ring{inset:14px}#app .joystick>span{bottom:5px;font-size:10px}
 #app .tool-strip{left:106px;right:auto;bottom:calc(100% + 8px)}#app .magic-controls{right:10px;left:auto;bottom:calc(100% + 8px);max-width:180px}
 #app .magic-controls span{font-size:11px}#app .tool-strip button,#app .magic-controls button{font-size:12px;min-height:44px;padding:4px 7px}
 #app.left-handed .joystick{left:auto;right:14px}#app.left-handed .magic-controls{right:106px}
 #app .tutorial-hint{top:102px;bottom:auto;width:50%;max-width:350px;left:50%;transform:translateX(-50%);font-size:12px;padding:4px 8px}
 #app .sheet,#app .pause-sheet{padding:14px}#app .sheet-heading{top:-14px}#app #navigationMap{max-height:40dvh}
}
@media(max-width:740px) and (max-height:520px) and (orientation:landscape){
 #app,#app.standalone-mode{--field-height:132px}
 #app .console-core{display:flex;gap:3px}#app .loadout{align-self:stretch;height:44px;min-height:44px}#app .weapon-button{height:44px;flex-basis:92px;min-width:90px;padding:3px 5px}#app .field-readouts{align-self:stretch}
}
@media(max-width:365px) and (orientation:portrait){
 #app.base-mode .wordmark{display:none}#app .battle-console{grid-template-columns:72px minmax(0,1fr) 90px;gap:5px}#app .health-readout b{font-size:14px}#app .quick-actions button{font-size:12px}#app .weapon-button{min-width:80px;flex-basis:80px}
}

#app .battle-console{touch-action:manipulation}
#app:fullscreen .topbar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));top:env(safe-area-inset-top,0px)}
#app:fullscreen .battle-console{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}

#app:fullscreen .base-screen{padding-top:calc(72px + env(safe-area-inset-top,0px));padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}

/* Alpha 0.9.4: persistent decisions, unclipped ammo and bounded shop navigation. */
#app .base-console>.deploy-row{flex-wrap:wrap;row-gap:5px}
#app .deploy-summary{flex:0 0 100%;margin:0;color:#dde4bb;font-size:13px;line-height:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .deploy-summary.warning{color:#ffd09c}
#app .weapon-status{display:flex;align-items:center;gap:6px;overflow:hidden;background:#0e1b0e;color:#f2f0ce}
#app .weapon-status .current-weapon{min-width:0;min-height:0;flex:1;padding:0;line-height:20px;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:none;color:inherit}
#app .active-ammo{flex:none;font:600 14px/20px ui-monospace,monospace;color:#f1e4aa;white-space:nowrap}
#app.empty-ammo .weapon-status{background:#532516;color:#ffe0b6}
#app .quick-actions button:disabled,#app .field-button:disabled{opacity:.62}
#app .weapon-button.selected{border-color:#ede09d;box-shadow:inset 0 2px #ede09d}
#app #fieldNotices{position:absolute;top:var(--hud-top,70px);left:12px;width:min(700px,calc(100% - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:start;pointer-events:none}
#app #fieldNotices .objective{position:relative;inset:auto;transform:none;width:fit-content;max-width:100%;min-width:0;grid-column:1;order:1;padding:6px 9px;line-height:1.4}
#app #fieldNotices .objective strong{display:inline;font-size:14px;margin:0 8px 0 0}
#app #fieldNotices .objective>span{display:inline;font-size:13px}
#app #fieldNotices .objective-progress{margin-top:4px}
#app #fieldNotices .threat-cue{position:relative;inset:auto;width:auto;max-width:180px;grid-column:2;order:2;padding:5px 8px;font-size:12px;line-height:1.4}
#app #fieldNotices .boss-hud{position:relative;inset:auto;transform:none;grid-column:1 / -1;order:3;width:100%;max-width:none;font-size:12px;line-height:1.4;background:#180e0bcc;padding:4px 8px}
#app #fieldNotices .boss-meter{margin-top:3px}
#app #fieldNotices .toast{position:relative;inset:auto;transform:none;grid-column:1 / -1;order:4;justify-self:center;max-width:100%;width:max-content;display:none;margin:0;padding:5px 9px;font-size:13px;line-height:1.5}
#app #fieldNotices .toast.show{display:block}
#app.controls-held .tutorial-hint,#app.critical-message .tutorial-hint,#app.boss-active .tutorial-hint,#app.has-feedback .tutorial-hint{opacity:0;pointer-events:none}
#app #shopDialog[open]{display:flex;flex-direction:column;height:calc(var(--viewport-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);overflow:hidden;min-height:0;padding:18px}
#app #shopDialog .sheet-heading{position:static;flex-shrink:0;margin:0;padding:0;background:transparent;min-height:48px}
#app #shopDialog .shop-meta{flex-shrink:0;padding:6px 0;margin-top:6px}
#app #shopDialog .shop-tabs{flex-shrink:0;margin:0;padding:2px 0;min-height:48px}
#app #shopDialog .shop-feedback{flex-shrink:0;margin:6px 0;padding:6px 8px;font-size:13px;line-height:1.5}
#app #shopItems{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;align-content:start;padding:6px 3px 10px;scrollbar-width:thin}
#app #shopDialog>.sheet-note{flex-shrink:0;font-size:12px;margin:6px 0 0;padding-top:6px}
#app .shop-category{display:none}
@media(max-width:700px), (max-height:520px) and (orientation:landscape){
 #app .shop-category{display:flex;align-items:center;gap:10px;flex-shrink:0;margin:5px 0;font-size:13px;color:#c3c8aa}
 #app .shop-category select{flex:1;min-width:0;min-height:44px;padding:8px 10px;border:1px solid #929b6a;background:#1b2b13;color:#eee9cb;font-size:16px;touch-action:manipulation}
 #app #shopDialog .shop-tabs{display:none}
}
@media(max-width:700px) and (orientation:portrait){
 #app #fieldNotices{top:var(--hud-top,60px);left:8px;width:calc(100% - 16px);column-gap:5px}
 #app #fieldNotices .threat-cue{max-width:115px;font-size:11px}
 #app .weapon-status .current-weapon{font-size:12px}
 #app .active-ammo{font-size:12px}
 #app .deploy-summary{font-size:12px;line-height:17px}
}
@media(max-height:520px) and (orientation:landscape){
 #app #fieldNotices{top:var(--hud-top,56px);left:10px;width:calc(100% - 20px);gap:4px 8px}
 #app #fieldNotices .objective{padding:4px 7px}
 #app #fieldNotices .toast{max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:3px 8px}
 #app #fieldNotices .boss-hud{width:60%;justify-self:center;padding:3px 8px}
 #app #shopDialog[open]{padding:12px}
 #app #shopDialog .sheet-heading{min-height:44px}
 #app #shopDialog .sheet-heading small,#app #shopDialog>.sheet-note{display:none}
 #app #shopDialog .sheet-heading h2{font-size:20px;margin:4px 0}
 #app #shopDialog .shop-feedback{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #app .deploy-summary{font-size:12px;line-height:16px}
}

#app #shopDialog button:disabled{opacity:1;background:#252b1e;color:#b9c0a3;border-color:#566149}

/* Role mastery remains visible above the clinic, including compact phones. */
#app .role-unlock-progress{grid-column:1/-1;margin:0;padding:12px;border:1px solid #8b9b63;background:#182319;color:#dce6b9;font-size:14px;line-height:1.6}
#app .merc-card:disabled{opacity:.72}#app .merc-card:disabled .merc-info>span{color:#e0cf9a;white-space:normal}

#app #sectorText{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#a8b994;letter-spacing:0}#app #navigationSummary{font-size:13px;line-height:1.5;color:#c0ceaa}

#app .portrait.atlas-portrait{background-image:url('assets/atlas-heavy-v2.png');background-size:200% 200%;background-position:0 0;filter:none}#app .portrait.atlas-portrait.mastered{background-position:100% 0}
#app .recruit-intro{padding:12px;border:1px solid #79855a;color:#d7dfbf;font-size:14px;line-height:1.6}#app .recruit-row progress{width:100%;height:8px;accent-color:#b1c77e}#app .recruit-row small{color:#c5d39d}#app #recruitButton{width:100%;min-height:44px;margin:6px 0;font-size:13px}

/* Sample budgets stay inside the preparation pane; field controls remain clear. */
.sample-budget{padding:12px 14px;border:1px solid #707b51;background:#141c10;color:#d6ddbc;margin:10px 0;line-height:1.55}
.sample-budget strong{display:flex;justify-content:space-between;gap:12px;font-size:16px}.sample-budget strong span{color:#c9b47a}.sample-budget p{font-size:12px;margin:6px 0}.sample-budget small{font-size:11px;color:#aab398}.sample-budget.warning{border-color:#bd8060}.research-note{grid-column:1/-1;background:#162015;border-left:3px solid #899c64;padding:12px 16px;margin:0;color:#c3cbb1;line-height:1.7;font-size:13px}.research-item small,.bestiary-item small{font-size:11px;letter-spacing:.06em;color:#b1c485}.research-item.selected{border-color:#bacd85;background:#26301d}.specimen-art{display:block;height:124px;width:128px;max-width:100%;margin:10px 0;background:#091008;border:1px solid #55653b}

/* Rin shares the compact skill dock with the caster; the two never show together. */
#app #morphControls{max-width:210px;grid-template-columns:1fr}
#app #morphControls button{width:100%}
#app .mimic-challenge .complete{color:#b9d7a3}
#app .research-item .specimen-art{max-width:100%;margin:8px 0}
@media(max-width:600px){#app #morphControls{max-width:43%;min-width:112px}}

/* Compact robot console: text states remain legible without covering the radar. */
#app .robot-controls{position:absolute;right:10px;bottom:calc(100% + 8px);z-index:8;width:232px;box-sizing:border-box;padding:8px;background:#15262aee;border:1px solid #799c9b;color:#e2e8ca;pointer-events:auto}
#app .robot-controls.hidden{display:none}
#app .reactor-readout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;font-size:12px;line-height:1.4}
#app .reactor-readout b{font-variant-numeric:tabular-nums;color:#b8e7db}
#app .reactor-meter{grid-column:1/-1;height:4px;background:#07191a;overflow:hidden}
#app .reactor-meter i{display:block;height:100%;width:0;background:#86d6c9}
#app .reactor-readout small{grid-column:1/-1;font-size:11px;color:#c5d7cc}
#app .reactor-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}
#app .reactor-actions button{min-width:0;min-height:44px;padding:5px;font-size:13px;line-height:1.25;background:#273b3d;border:1px solid #6b9390;color:#e1e9d0}
#app .reactor-actions button[aria-pressed="true"]{background:#355955;border-color:#b3e4d8}
#app .reactor-actions button:disabled{color:#a8b7b0;background:#1d2b2c;border-color:#536767;opacity:1}
#app .reactor-ready #robotReleaseButton{border-color:#efd88a;color:#fff0ba;background:#4b472c}
#app .starter-kit{padding:8px 10px;border-left:2px solid #96b87e;background:#0c180b}
#app .portrait.reactor-portrait:after{content:"";position:absolute;left:48%;top:46%;width:12px;height:12px;background:#bdeee5;border:3px solid #435e5b;box-shadow:0 0 12px #8de7d580;transform:rotate(45deg)}
@media(max-width:600px){#app .robot-controls{right:8px;width:calc(50% - 16px);padding:6px}#app .reactor-readout{font-size:11px;gap:3px}#app .reactor-actions button{font-size:12px}#app .reactor-readout small{font-size:10px}}
@media(max-height:520px) and (orientation:landscape){#app .robot-controls{width:254px;display:grid;grid-template-columns:1fr 124px;gap:7px;padding:6px}#app .reactor-actions{margin-top:0;align-items:stretch}#app.left-handed .robot-controls{right:112px}}
@media(max-width:600px) and (orientation:portrait){#app.left-handed .robot-controls{left:8px;right:auto}#app.left-handed .tool-strip{left:auto;right:8px}}
