:root{--ink:#100f0a;--panel:rgba(33,31,22,.94);--line:#625e45;--muted:#b1ad8e;--white:#e3dfc3;--cyan:#b2cf8b;--gold:#d3b276;--green:#a1bd74;--red:#d97855;--alloy:#a8a17e;--console-text:#25291c}
#app{background:#090905}.base-mode #scene{filter:saturate(.72) sepia(.18)}.base-screen{background:linear-gradient(90deg,#100f08ed,transparent 85%),linear-gradient(0deg,#100f08 7%,#100f0820 72%,transparent)}.base-screen:before{display:none}.hero-copy h1{font-weight:500}.edition{color:#b9ad81}.topbar{background:linear-gradient(#131309ed,#13130900)}.wordmark{color:#d7d5b7}.logo-icon{color:#b5c981}.wordmark small{color:#999b77}.icon-button{color:#c1c6a0;background:#24271bdb;border-color:#72785975}.base-console{border:3px solid #a6a27e;background:#23271bf0;box-shadow:inset 0 0 0 1px #565b3f,0 20px 80px #0009}.console-heading{color:#d9d8b6;background:linear-gradient(#62664988,#30351e88);border-color:#747458}.merc-card{background:#1c2117;border-color:#62674b}.merc-card.selected{background:#3d4825;border-color:#bbd482}.portrait{filter:sepia(.45)}.merc-info span{color:#aeb696}.mission-tab{border-color:#68694d;color:#a8b191}.mission-tab.selected{border-color:#c1bc88;background:#82794935;color:#e0d7aa}.briefing p{color:#b2b694}.merc-summary{color:#a2ac87}.console-footer{border-color:#6d7051;color:#9da780}.primary-button{background:linear-gradient(#c2d09b,#9db66b);color:#202715;border:1px solid #c3d598;box-shadow:inset 0 1px #e5eccd66}.outline-button{border-color:#7f895b;color:#ccd4ad}.sheet,.pause-sheet{background:#25291d;border-color:#9c9c73}.shop-item{background:#2b3020;border-color:#737956}.shop-item button{background:#414e2c;color:#d4e2af;border-color:#86976a}.shop-tabs{border-color:#65704a}.shop-tabs button.active{color:#c4dba1;border-color:#a5c776}.manual-grid h3{color:#d4ddb7}.sheet-note{border-color:#6d7452;color:#a9b58e}.pause-sheet p,.result-sheet p{color:#bdc4a3}
#app:not(.base-mode) .topbar{height:45px;padding:8px 20px;background:linear-gradient(#080b07bb,#080b0700)}#app:not(.base-mode) .wordmark{font-size:13px;letter-spacing:2px;gap:8px}#app:not(.base-mode) .wordmark small{display:none}#app:not(.base-mode) .logo-icon{font-size:20px}#app:not(.base-mode) .build-tag{display:none}#app:not(.base-mode) .icon-button{height:27px;font-size:10px}
.objective{top:53px;left:22px;transform:none;min-width:0;max-width:340px;padding:9px 14px;text-align:left;background:linear-gradient(90deg,#20241ae6,#222719a0);border:1px solid #767c4c88;backdrop-filter:none}.objective small{color:#c7bf86;font-size:8px}.objective strong{display:inline-block;margin:4px 12px 5px 0;font-size:12px}.objective>span{font-size:10px;color:#bdc5a2}.objective-progress{justify-content:flex-start;margin-top:3px}.objective-progress i{width:22px;background:#5b6041}.objective-progress i.done{background:#bad581}
.battle-console{position:absolute;inset:auto 0 0;height:166px;padding:10px 15px 8px;display:grid;grid-template-columns:166px minmax(0,1fr) 174px;gap:14px;align-items:stretch;pointer-events:auto;color:var(--console-text);border-top:5px solid #cac8a2;background:linear-gradient(0deg,#767351aa,#76735100 50%),linear-gradient(100deg,#c2bf94 0%,#929878 19%,#b4b38c 54%,#8a9273 87%,#c1bd8f 100%);box-shadow:inset 0 2px #e4dfb9,inset 0 -3px #484d36,0 -4px 0 #202719,0 -9px 0 #525f3759,0 -15px 26px #000a;font-family:"Courier New","Microsoft JhengHei",monospace}
.battle-console:before,.battle-console:after{content:"";position:absolute;width:5px;height:5px;border:1px solid #50533a;background:#c4c49c;box-shadow:1px 1px 0 #e0dcad,0 43px #747c53,0 86px #747c53;top:14px;pointer-events:none}.battle-console:before{left:5px}.battle-console:after{right:5px}.console-core{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.vitals.console-vitals,.radar-panel.console-radar{position:relative;inset:auto;transform:none;width:auto;padding:9px;background:linear-gradient(#767e55,#9ba177);border:2px solid #565f3c;box-shadow:inset 1px 1px #c4c29c,inset -1px -1px #c7c6a0;backdrop-filter:none}.vital-heading{align-items:flex-start;color:#303a21;gap:4px}.vital-heading strong{font-size:13px}.vital-heading span{font-size:8px;color:#464e32}.status-display{display:flex;gap:10px;height:84px;align-items:stretch;margin-top:8px;padding:6px;background:#0c150b;border:3px solid #535e39;box-shadow:inset 1px 1px 6px #000,inset 0 0 12px #76994815}.bio-meter{position:relative;width:15px;flex-shrink:0;background:#040704;border:1px solid #a0ad7159}.bio-meter i{display:block;position:absolute;bottom:0;inset-inline:1px;height:100%;background:repeating-linear-gradient(0deg,#0003,#0003 2px,transparent 2px,transparent 5px),linear-gradient(0deg,#ba4e25,#bda432 42%,#74a947 70%,#778dcc);box-shadow:0 0 8px #8ba54122}.health-readout{flex:1;display:flex;flex-direction:column;justify-content:space-around;min-width:0}.health-readout small{color:#91a570;font-size:8px;letter-spacing:.5px}.health-readout b{color:#c0d997;font-size:13px;white-space:nowrap;font-weight:400;text-shadow:0 0 8px #9de14935}.health-readout .meter{flex:none;height:5px;background:#354222}.health-readout .meter>div{box-shadow:0 0 5px #b7d78f33}.armor-line{font-size:8px;margin-top:6px;color:#3c4728}.armor-line span:last-child{font-size:7px}
.loadout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}.weapon-button{width:auto;max-width:none;height:67px;padding:4px 8px;text-align:left;background:linear-gradient(#111c0e,#070e06);border:3px solid #5d6746;box-shadow:0 1px 0 #d3d1a7,inset 0 0 12px #638e2720;overflow:hidden}.weapon-button.selected{border-color:#bfce86;background:linear-gradient(#2a3e14,#11250b);box-shadow:0 1px 0 #e7e1b1,inset 0 0 15px #8bd9261f}.weapon-button.locked{opacity:.56;filter:saturate(.4)}.weapon-button small{display:flex;align-items:center;gap:7px;font-size:8px;line-height:1;color:#9fb184;letter-spacing:.6px}.weapon-button small i{font-style:normal;font:14px monospace;color:#bed180;text-shadow:0 0 5px #cbff5150}.gun-icon{position:absolute;left:8px;top:17px;width:70%;height:30px;filter:drop-shadow(1px 2px 1px #0008)}.weapon-button strong{position:absolute;bottom:4px;left:7px;font-size:7px;font-weight:400;margin:0;color:#819769;letter-spacing:.2px}.weapon-button span{top:auto;bottom:4px;right:6px;font-size:10px;line-height:1;color:#d4ddbd;letter-spacing:.3px}
.field-readouts{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;min-width:0}.quick-actions{display:flex;gap:5px}.quick-actions button{height:32px;min-height:32px;min-width:68px;padding:5px 7px;display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(#b1b98b,#7b8b58);border:2px solid #596642;color:#2e3c20;font:10px "Microsoft JhengHei",sans-serif;box-shadow:inset 1px 1px #d5d5aa,inset -1px -1px #697446;white-space:nowrap}.quick-actions button.available{border-color:#af9949;background:linear-gradient(#d2ca91,#9a9c60);color:#283315}.quick-actions button b{color:#283d1b;margin-left:0}.quick-actions kbd{display:inline;font:8px monospace;color:#5e7047;margin:0}.cargo-readout{display:flex;flex-direction:column;gap:3px;min-width:112px}.cargo-readout>span{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px;color:#3c4228}.cargo-readout b{display:block;font:12px monospace;color:#dce1b9;background:#0b1409;min-width:83px;padding:1px 6px;text-align:right;border:1px solid #525d36;font-weight:400;text-shadow:0 0 5px #b9ff6430}
.tactical{position:relative;inset:auto;width:auto;display:flex;align-items:center;gap:14px;padding:4px 0 0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.noise-row{flex:1;max-width:210px;color:#3c4429;gap:6px;font-size:9px}.noise-row b{font-size:9px;color:#3c4429}.noise-meter{height:5px;background:#4c5538;box-shadow:0 1px #d0ce9c}.noise-meter i{background:#536b37}.tactical-line{margin:0;font-size:9px;flex:1;color:#384627;gap:10px}.power-meter{width:70px;height:5px;margin:0;background:#4d593a;box-shadow:0 1px #cfcd9b}.power-meter i{background:#627d48}.desktop-hint{font-size:8px;color:#485333;letter-spacing:0;text-align:left;margin-top:2px;line-height:1.2}
.radar-panel.console-radar{background:linear-gradient(#a7ad81,#78875b);padding:6px}.radar-heading{font-size:10px;color:#303d22;margin:0 2px 4px;letter-spacing:.8px}.radar-heading b{font-size:9px;color:#425332}.radar-panel canvas{border:3px solid #53633e;background:#030902;box-shadow:inset 0 0 10px #000;border-radius:3px;width:100%;height:98px;object-fit:fill}.radar-legend{font-size:7px;margin-top:4px}.radar-legend .cyan{color:#405b2c}.radar-legend .gold{color:#72592d}.radar-legend .green{color:#3b582d}
.toast{bottom:191px;padding:9px 15px;background:#1c2816ef;border:1px solid #899260;color:#d3d9b6;font-size:11px;max-width:72%;box-shadow:0 3px 20px #0008}.interaction-hint{top:55%;background:#131e0eea;border-color:#a8ad73;color:#d4dda5;font-size:10px}.interaction-hint kbd{border-color:#b6c77e}.boss-hud{bottom:197px;color:#e8ad79;font-size:10px;letter-spacing:2px}.boss-meter{background:#322211}.boss-meter div{background:#bb8050}
@media(min-width:1400px){.battle-console{grid-template-columns:188px minmax(0,1fr) 194px;gap:18px;padding-inline:24px}.weapon-button{height:67px}.gun-icon{height:33px}}
@media(max-width:1000px){.battle-console{grid-template-columns:144px minmax(0,1fr) 151px;gap:10px;padding-inline:12px}.quick-actions button{min-width:52px;font-size:9px}.gun-icon{width:70%;height:25px}.weapon-button span{font-size:9px}.weapon-button strong{font-size:6px}.cargo-readout{min-width:98px}.cargo-readout b{font-size:11px;min-width:73px}.health-readout b{font-size:11px}.tactical{gap:10px}}
@media(pointer:coarse){.joystick{bottom:186px;left:22px;width:98px;height:98px;background:#77825225;border-color:#b9c09555}.stick-knob{top:31px;left:31px;background:#b3c79355;border-color:#becf9588}.stick-ring{border-color:#acb58866}.joystick>span{color:#b5c292}.mobile-combat{bottom:190px;right:22px;gap:8px}.attack-button{width:82px;height:82px;background:#74643477;border-color:#c0b87399;color:#e0d397}.attack-button.active{background:#ad9b4166;box-shadow:0 0 28px #a48b3444}.melee-button{width:40px;height:40px;background:#444f31b8;border-color:#a5b482;color:#d7dfb7}.quick-actions kbd{display:none}.desktop-hint{display:none}}
@media(max-width:600px) and (orientation:portrait){#app:not(.base-mode) .topbar{height:44px;padding:8px 10px}#app:not(.base-mode) .wordmark{font-size:12px;letter-spacing:1px;gap:5px}#app:not(.base-mode) .icon-button{font-size:9px;padding:0 6px;height:26px}.objective{top:51px;left:10px;max-width:calc(100% - 20px);padding:7px 10px}.objective strong{font-size:10px;margin-block:3px}.objective small{font-size:7px}.objective>span{font-size:9px}.objective-progress i{height:2px;width:19px}.battle-console{height:176px;padding:8px 9px 6px;grid-template-columns:82px minmax(0,1fr) 92px;grid-template-rows:82px 36px 23px;gap:5px 6px;border-top-width:4px}.console-core{display:contents}.vitals.console-vitals{grid-column:1;grid-row:1;padding:5px;border-width:1px}.vital-heading strong{font-size:10px}.vital-heading span{display:none}.status-display{height:49px;margin-top:4px;padding:3px;gap:4px;border-width:2px}.bio-meter{width:8px}.health-readout small{font-size:5px;letter-spacing:0}.health-readout b{font-size:8px}.health-readout .meter{height:3px}.armor-line{font-size:7px;margin-top:4px}.armor-line span:last-child{display:none}.loadout{grid-column:2;grid-row:1;gap:3px;height:82px}.weapon-button{height:82px;padding:4px 2px;border-width:2px}.weapon-button small{gap:2px;font-size:6px;flex-direction:column;align-items:center}.weapon-button small i{font-size:14px}.gun-icon{left:1px;top:28px;width:calc(100% - 2px);height:22px}.weapon-button strong{font-size:6px;left:2px;bottom:20px;right:1px;white-space:nowrap;letter-spacing:0;text-align:center}.weapon-button span{font-size:7px;bottom:7px;right:0;width:100%;text-align:center;letter-spacing:0}.radar-panel.console-radar{grid-column:3;grid-row:1;padding:4px;border-width:1px}.radar-heading{font-size:7px;letter-spacing:0;margin:0 0 3px;gap:3px}.radar-heading b{font-size:7px}.radar-panel canvas{height:53px;border-width:2px}.radar-legend{font-size:5px;margin-top:3px;gap:1px}.field-readouts{grid-column:1 / -1;grid-row:2;margin:0;gap:9px}.quick-actions{gap:4px;flex:1}.quick-actions button{flex:1;min-width:0;height:34px;min-height:34px;font-size:10px;padding:4px}.cargo-readout{min-width:94px;gap:2px}.cargo-readout>span{font-size:8px}.cargo-readout b{min-width:66px;font-size:10px;padding:1px 3px}.tactical{grid-column:1 / -1;grid-row:3;width:100%;padding:2px 0;gap:8px}.noise-row{font-size:8px;max-width:113px}.noise-row b{font-size:8px;min-width:24px}.noise-meter{height:4px}.tactical-line{font-size:8px;gap:6px}.power-meter{width:35px;height:4px}.toast{bottom:302px;font-size:10px;max-width:92%;padding:8px 10px}.boss-hud{bottom:294px;font-size:9px}.interaction-hint{top:49%;font-size:9px;max-width:94%;text-align:center}.joystick{bottom:195px;left:19px}.mobile-combat{bottom:200px;right:18px}}
@media(max-height:520px) and (orientation:landscape){#app:not(.base-mode) .topbar{height:34px;padding:5px 12px}#app:not(.base-mode) .wordmark{font-size:11px;letter-spacing:1px}#app:not(.base-mode) .logo-icon{font-size:17px}#app:not(.base-mode) .icon-button{height:23px;font-size:8px}.objective{top:38px;left:12px;max-width:310px;padding:5px 9px}.objective small{display:none}.objective strong{font-size:9px;margin:0 8px 3px 0}.objective>span{font-size:8px}.objective-progress{margin-top:0}.objective-progress i{height:2px;width:17px}.battle-console{height:126px;padding:7px 12px 5px;grid-template-columns:117px minmax(0,1fr) 115px;gap:9px}.vitals.console-vitals{padding:6px}.vital-heading strong{font-size:10px}.vital-heading span{font-size:6px}.status-display{height:55px;padding:4px;gap:6px;margin-top:5px}.health-readout small{font-size:6px}.health-readout b{font-size:9px}.bio-meter{width:10px}.armor-line{font-size:7px;margin-top:4px}.loadout{gap:5px}.weapon-button{height:48px;padding:3px 6px}.weapon-button small{font-size:7px}.weapon-button small i{font-size:11px}.gun-icon{height:19px;top:12px;left:6px}.weapon-button strong{font-size:6px;bottom:3px;left:5px}.weapon-button span{font-size:8px;bottom:3px;right:5px}.field-readouts{margin-top:3px;gap:8px}.quick-actions button{height:27px;min-height:27px;min-width:46px;font-size:9px;padding:4px 6px}.cargo-readout{min-width:100px;gap:1px}.cargo-readout>span{font-size:8px}.cargo-readout b{font-size:10px;min-width:68px}.tactical{padding-top:2px;gap:9px}.noise-row,.noise-row b,.tactical-line{font-size:8px}.noise-row{max-width:150px}.power-meter{width:45px;height:4px}.desktop-hint{display:none}.radar-panel.console-radar{padding:4px}.radar-heading{font-size:8px;margin-bottom:3px}.radar-heading b{font-size:7px}.radar-panel canvas{height:70px;border-width:2px}.radar-legend{font-size:6px;margin-top:3px}.joystick{width:74px;height:74px;bottom:139px;left:18px}.stick-knob{width:28px;height:28px;top:23px;left:23px}.stick-ring{inset:15px}.joystick>span{bottom:8px;font-size:7px}.mobile-combat{bottom:141px;right:18px;gap:7px}.attack-button{width:65px;height:65px;font-size:12px}.attack-button span{font-size:6px}.melee-button{width:34px;height:34px;font-size:8px}.toast{bottom:143px;max-width:56%;font-size:9px;padding:5px 8px}.boss-hud{bottom:149px;font-size:8px;width:42%}.interaction-hint{top:45%;font-size:8px;padding:5px 8px}.interaction-hint kbd{width:17px;height:17px}}
@media(max-width:350px) and (orientation:portrait){.battle-console{grid-template-columns:72px minmax(0,1fr) 80px;column-gap:4px}.weapon-button strong{font-size:5px}.weapon-button span{font-size:6px}.radar-heading{font-size:6px}.radar-heading b{font-size:6px}.cargo-readout{min-width:86px}.tactical-line{font-size:7px}.noise-row{max-width:95px;gap:4px}}
.battle-console{background-image:linear-gradient(0deg,#79815666,#c5c39c66),url('assets/rust-materials.png');background-size:auto,300% 200%;background-position:center,right bottom}

/* Frontline preparation and the clinic's green CRT readouts. */
.hero-copy{margin-bottom:22px}.hero-copy h1{font-size:clamp(30px,3.4vw,46px);margin:13px 0}.hero-copy p{color:#b7b496;font-size:12px}.hero-copy .edition{margin-top:12px}
.merc-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 6px;margin-top:9px;padding-top:7px;border-top:1px solid #69714a55}.merc-stats span{display:flex;justify-content:space-between;gap:3px;margin:0;font-size:9px;color:#9fad86}.merc-stats b{color:#d3deb3;font:11px monospace;font-weight:400}
.briefing{padding:13px 14px;margin:11px 0 13px;background:linear-gradient(#040c04,#101a0c);border:2px solid #626b47;box-shadow:inset 0 0 24px #709b3510,0 1px #adad7b55;min-height:120px}.briefing h3{color:#ccdab0;font-size:14px}.briefing p{color:#a4b68d}.briefing .reward{color:#ccbd87}.merc-summary{color:#93a87c}
#shopDialog{width:min(820px,calc(100% - 28px));border:3px solid #969978;box-shadow:inset 0 0 0 1px #454e2e,0 30px 150px #000b;background:linear-gradient(110deg,#2a2e20,#1d2618)}
.shop-meta span:last-child{color:#a5b38e}.shop-tabs button{color:#9bab89}.shop-item p{color:#a5b492}.shop-item button{min-height:39px}
.shop-items.clinic-layout{grid-template-columns:200px minmax(0,1fr);gap:15px;align-items:start}
.clinic-scan{background:linear-gradient(#040b04,#0e180b);border:2px solid #768454;padding:10px;box-shadow:inset 0 0 24px #659f3312;min-width:0}
.clinic-scan>small{display:block;color:#98ba71;font:9px monospace;letter-spacing:1px;text-align:center;margin:5px 0 12px}.clinic-scan svg{display:block;width:100%;height:auto;max-height:265px;overflow:visible}.scan-grid{stroke:#47782c;stroke-width:.5;opacity:.26}.scan-body{fill:#294529;stroke:#86b85d;stroke-width:1.2}.scan-links{fill:#d4dd91;stroke:#b2ce7d;stroke-width:.8}.scan-labels{fill:#b9d594;font:11px "Microsoft JhengHei",sans-serif}.scan-id{text-align:center;border-top:1px solid #54683a;margin-top:12px;padding-top:10px;color:#d1ddb0;font-size:11px}.clinic-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px 8px;margin-top:12px}.clinic-summary>span{font-size:9px;color:#92a87c;white-space:nowrap}.clinic-summary b{display:block;color:#c6d5aa;font:12px monospace;margin-top:3px;font-weight:400}
.clinic-upgrades{display:grid;gap:9px}.upgrade-row{padding:11px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.upgrade-row small{color:#94a574;font:8px monospace;letter-spacing:1px}.upgrade-row h3{font-size:13px;margin:5px 0}.upgrade-value{font-size:10px;color:#adb996}.upgrade-value b{font:15px monospace;color:#d2dfaf;margin-left:5px}.upgrade-value>span{font:13px monospace;color:#c8b573}.upgrade-row p.upgrade-effect{color:#9bab83;font-size:9px;line-height:1.6;margin-top:5px}.upgrade-level{display:flex;gap:4px;margin-top:7px}.upgrade-level i{width:18px;height:3px;background:#4a5537}.upgrade-level i.done{background:#b8cc79}.upgrade-row button{min-width:113px;font-size:10px;padding:9px}
.upgrade-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.upgrade-price{color:#c8b573;font:9px monospace;white-space:nowrap}
.radar-heading button{padding:0;background:transparent;font:inherit;letter-spacing:inherit;color:#293d1c;text-align:left;cursor:pointer}.radar-heading button:after{content:"";position:absolute;inset:0}.radar-heading button:focus-visible{outline:2px solid #263f1b;outline-offset:2px}.radar-readout{margin-top:4px;font-size:7px;color:#334b24;text-align:center;white-space:nowrap;line-height:1.35}.radar-readout.danger{color:#793b1d;font-weight:700}
.mag-strip{position:absolute;bottom:1px;left:4px;right:4px;height:3px;background:#36472b;border-top:1px solid #b2c9841a;overflow:hidden;pointer-events:none}.mag-strip b{display:block;height:100%;background:#a3bd70}.mag-strip b.reloading{background:#dcc078}.weapon-button strong,.weapon-button span{bottom:8px}
@media(max-width:700px){.hero-copy{margin-top:0;margin-bottom:18px}.hero-copy h1{font-size:30px}.hero-copy p{font-size:11px}.merc-stats{gap:4px;margin-top:7px;padding-top:6px}.merc-stats span{font-size:8px}.merc-stats b{font-size:10px}.briefing{margin-top:10px;padding:12px;min-height:115px}#shopDialog{padding:16px}.shop-items.clinic-layout{grid-template-columns:110px minmax(0,1fr);gap:9px}.clinic-scan{padding:7px}.clinic-scan>small{font-size:7px;letter-spacing:0;margin-bottom:8px}.clinic-scan svg{height:183px}.scan-labels{font-size:13px}.scan-id{font-size:10px}.clinic-summary{grid-template-columns:1fr;gap:9px}.clinic-summary>span{font-size:8px}.clinic-summary b{font-size:11px}.upgrade-row{grid-template-columns:1fr;padding:10px;gap:8px}.upgrade-row h3{font-size:12px}.upgrade-row button{width:100%;max-width:none;min-width:0;font-size:10px;min-height:37px}.shop-tabs{gap:18px}.shop-tabs button{font-size:11px}.sheet-note{line-height:1.8}}
@media(max-width:600px) and (orientation:portrait){.weapon-button strong{bottom:21px}.weapon-button span{bottom:8px}.mag-strip{height:2px;left:2px;right:2px}.radar-readout{font-size:6px;white-space:normal;margin-top:2px;line-height:1.15}}
@media(max-height:520px) and (orientation:landscape){.hero-copy h1{font-size:26px;margin:9px 0}.hero-copy p{font-size:10px}.hero-copy{margin:0}.merc-stats{display:none}.briefing{padding:8px;margin:8px 0;min-height:95px}.briefing h3{font-size:12px}.weapon-button strong,.weapon-button span{bottom:6px}.mag-strip{height:2px}.radar-readout{font-size:6px;margin-top:2px}.shop-items.clinic-layout{grid-template-columns:150px minmax(0,1fr)}.clinic-scan svg{max-height:180px}.clinic-summary{grid-template-columns:1fr 1fr}}
@media(max-height:520px) and (orientation:landscape){.base-screen{display:flex;justify-content:flex-start;padding:52px 20px 14px;gap:0}.base-screen .hero-copy{display:none}.base-console{width:100%}.console-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.merc-section,.mission-section{padding:11px}.merc-section{border-right:1px solid var(--line);border-bottom:0}.merc-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.portrait{height:42px}.portrait:before{top:8px;transform:scale(.8);transform-origin:top}.portrait:after{top:30px}.merc-info{padding:6px}.merc-info strong{font-size:11px}.merc-info>span{font-size:8px}.console-heading{padding:9px 12px;font-size:11px}.section-label{font-size:8px;margin-bottom:8px}.section-label small{font-size:7px}.mission-tab{padding:6px;font-size:9px}.mission-tab small{font-size:7px}.briefing p{font-size:9px}.briefing .reward{font-size:8px;gap:10px}.merc-summary{font-size:8px}.deploy-row .outline-button,.deploy-row .primary-button{min-height:31px;padding:7px;font-size:9px}.console-footer{padding:7px 12px;font-size:8px}.base-mode .topbar{height:46px;padding:8px 18px}.base-mode .wordmark small{display:none}.base-mode .build-tag{display:none}}
.briefing{display:grid;grid-template-columns:minmax(0,1fr) 137px;gap:13px}.briefing-copy{min-width:0}.brief-map{border-left:1px solid #6c825444;padding-left:12px;min-width:0}.brief-map>small{font:8px monospace;color:#8baa6c;letter-spacing:.5px}.brief-map svg{display:block;width:100%;height:92px;margin-top:4px}.brief-cells{fill:#3e632840}.brief-map .other-sector{fill:none;stroke:#8da65b66;stroke-width:.2}.brief-map .mission-sector{fill:#b4973920;stroke:#cfb475;stroke-width:.4}.brief-map text{fill:#a6b67d;font:2.2px monospace;text-anchor:middle;dominant-baseline:middle}.brief-exit{fill:#bfd89c;stroke:#293d1c;stroke-width:.3}.brief-map>span{font-size:7px;color:#b0ba84;display:block;text-align:center}.brief-map p.brief-regions{font-size:7px;line-height:1.6;color:#aabb87;margin-top:3px;text-align:center}
.shop-items.gear-layout{grid-template-columns:200px minmax(0,1fr);gap:15px}.gear-profile{border:2px solid #768454;background:#081106;padding:12px;min-width:0}.gear-profile>small{font-size:9px;color:#97ad7e}.gear-profile h3{font-weight:500;margin:7px 0 10px;font-size:20px;color:#d6e0b5;display:flex;justify-content:space-between;align-items:center}.gear-profile h3>span{font:11px monospace;color:#9cb878}.gear-profile canvas{display:block;width:100%;height:auto;border:1px solid #54703966}.gear-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:12px}.gear-stats>span{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#96ad7a}.gear-stats b{color:#d0dcb0;font:11px monospace}.gear-weight{border-top:1px solid #536a3755;margin-top:13px;padding-top:10px}.gear-weight>span{display:flex;justify-content:space-between;font:10px monospace;color:#a8bc88}.gear-weight>span b{font-weight:400;color:#d2dba9}.gear-weight>i{display:block;height:4px;background:#2c3e20;margin-top:7px}.gear-weight>i b{display:block;height:100%;background:#b2c77f}.gear-profile>p{color:#9aae81;font-size:9px;line-height:1.7;margin-top:12px}.gear-armory{min-width:0}.gear-armory .section-label{margin-bottom:12px;color:#b6c59b}.gear-weapon{display:flex;width:100%;align-items:center;gap:12px;text-align:left;border:1px solid #727e4f;background:#252f1c;padding:15px 12px;margin-bottom:9px;min-height:86px}.gear-weapon.selected{border-color:#bcd084;background:#405027}.gear-slot{font:20px monospace;color:#a2b77b;flex-shrink:0}.gear-weapon>span:nth-child(2){flex:1;min-width:0}.gear-weapon strong{display:block;font-size:12px;font-weight:500;color:#d4dfb6}.gear-weapon small{display:block;color:#a5b68b;font-size:9px;line-height:1.6;margin-top:4px}.gear-weapon>i{font-size:9px;white-space:nowrap;font-style:normal;color:#c4d19e}.gear-ready{border:1px solid #7a805755;padding:12px;margin-top:12px}.gear-ready>span{font-size:11px;color:#d4c595}.gear-ready p{font-size:9px;line-height:1.8;color:#a6b58e;margin-top:6px}
@media(max-width:700px){.briefing{grid-template-columns:minmax(0,1fr) 104px;gap:9px}.brief-map{padding-left:8px}.brief-map svg{height:80px}.shop-items.gear-layout{grid-template-columns:105px minmax(0,1fr);gap:9px}.gear-profile{padding:8px}.gear-profile h3{font-size:17px;gap:4px}.gear-profile h3>span{font-size:9px}.gear-profile>small{font-size:8px}.gear-stats{grid-template-columns:1fr;gap:8px}.gear-stats>span{font-size:8px}.gear-stats b{font-size:10px}.gear-weight>span{flex-direction:column;gap:6px}.gear-weapon{gap:7px;padding:12px 9px;min-height:92px}.gear-slot{font-size:13px}.gear-weapon strong{font-size:11px}.gear-weapon small{font-size:8px}.gear-weapon>i{font-size:8px}.gear-armory .section-label{font-size:9px;letter-spacing:0;flex-wrap:wrap;gap:4px}.gear-profile>p{font-size:8px}.shop-tabs{gap:14px}.shop-tabs button{font-size:10px}}
@media(max-height:520px) and (orientation:landscape){.briefing{grid-template-columns:minmax(0,1fr) 94px;gap:8px}.brief-map{padding-left:7px}.brief-map svg{height:68px}.brief-map p.brief-regions{display:none}.briefing .merc-summary{line-height:1.4}}
.audio-settings label{font-size:11px;color:#b7cba0}.music-switch{display:flex;align-items:center;gap:8px;margin:9px 0 16px}.music-switch input{accent-color:#a8c476;width:15px;height:15px;margin:0}.audio-slider{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:13px}.audio-slider b{font:10px monospace;color:#d5c38a}.audio-slider input{grid-column:1 / -1;width:100%;margin:0;accent-color:#b4c47c;cursor:pointer;height:20px}

/* Alpha 0.7: the six missions and six weapon slots remain legible on touch screens. */
.mission-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.difficulty-select{display:flex;align-items:center;gap:9px;margin-top:10px;color:#b9baa0;font-size:10px;letter-spacing:.5px}
.difficulty-select>span{white-space:nowrap}
.difficulty-options{display:flex;gap:4px;min-width:0}
.difficulty-choice{border:1px solid #5d684d;background:#111b12;color:#b9c3aa;padding:6px 10px;min-width:48px;cursor:pointer;font-size:10px}
.difficulty-choice.selected{border-color:#d3b87a;background:#55452888;color:#f4e2ac}
.loadout{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:600px) and (orientation:portrait){
  .mission-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .difficulty-select{font-size:9px;gap:4px;flex-wrap:wrap}
  .difficulty-choice{min-width:0;padding:5px 7px;font-size:9px}
  .loadout{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a4a777 #111b0e;touch-action:pan-x}
  .weapon-button{flex:0 0 calc((100% - 8px)/3);min-width:36px;scroll-snap-align:start}
}
#dreadOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:40;pointer-events:none}
.base-mode #dreadOverlay{display:none}

/* Campaign interface: scroll weapons and missions, keep field controls separate. */
.mission-tabs{max-height:182px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.mission-tab{min-height:48px}
.brief-story{color:#9ca082!important;font-size:10px!important;border-left:2px solid #76764a;padding-left:8px}
.echo-status{color:#bab993;font-size:10px;line-height:1.55;margin:8px 0}
.loadout{display:flex;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a4a777 #111b0e;min-width:0}
.weapon-button{flex:0 0 calc((100% - 35px)/6);scroll-snap-align:start}
.tool-strip{position:absolute;left:24%;bottom:174px;display:flex;align-items:center;gap:5px;background:#1c251ce8;border:1px solid #858966;padding:4px 6px;z-index:8}
.tool-strip button{background:#303d29;border:1px solid #87916a;color:#e2ddb6;min-height:28px;padding:4px 10px;font-size:11px;touch-action:manipulation}
.tool-strip span{font-size:9px;color:#b5bea1;padding-inline:5px}
.countdown{color:#f1a078!important;text-shadow:0 0 6px #c2474266}
.carry-toggle{padding:6px 10px;border:1px solid #636d52;background:#2e3525;color:#c1cdaa;font-size:10px;text-align:right;margin-top:-4px}
.shop-tabs{overflow-x:auto;white-space:nowrap;touch-action:pan-x;gap:18px}.shop-tabs button{flex:none}
.archive-intro{grid-column:1/-1;color:#d7ddba;padding:14px;background:#1c2519}.archive-intro p{color:#abb896;font-size:12px;line-height:1.7}
@media(max-width:600px) and (orientation:portrait){
  .mission-tabs{max-height:148px}.mission-tab{font-size:9px;min-height:43px;padding:6px}
  .weapon-button{flex:0 0 calc((100% - 8px)/3)}
  .tool-strip{left:9px;right:9px;bottom:178px;justify-content:space-between;padding:4px 7px}.tool-strip button{min-height:28px;font-size:10px;padding:4px 12px}.tool-strip span{font-size:8px}
  .joystick{bottom:219px}.mobile-combat{bottom:223px}.toast{bottom:326px}
  .brief-story{font-size:9px!important}.echo-status{font-size:8px}
}
@media(max-height:520px) and (orientation:landscape){.tool-strip{left:120px;bottom:134px}.tool-strip button{min-height:22px;font-size:9px;padding:3px 7px}.tool-strip span{display:none}.weapon-button{flex:0 0 calc((100% - 20px)/5)}.mission-tabs{max-height:102px}}

.portrait{background-image:url('assets/merc-identities-v1.png');background-size:600% 200%;background-position:var(--avatar-x,0%) 0%;background-repeat:no-repeat;background-color:#171e13;filter:none}.portrait:before,.portrait:after{display:none}.merc-card:disabled{opacity:.45}.merc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.merc-call{font-size:7px}
.magic-controls{position:absolute;left:24%;bottom:217px;display:flex;gap:6px;align-items:center;padding:4px 7px;background:#2e2536e8;border:1px solid #a49ba5;z-index:8;color:#d1d4bd;font-size:10px}.magic-controls.hidden{display:none}.magic-controls button{background:#3d3548;color:#e1debf;border:1px solid #8b8196;min-height:27px;font-size:10px;padding:4px 8px}
.console-footer{flex-wrap:wrap;gap:9px}.footer-save{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.footer-save button{min-height:32px;padding:6px 10px;font-size:10px;white-space:nowrap}
.transfer-sheet{width:min(900px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}.transfer-intro{color:#c2c7aa;font-size:12px;line-height:1.8}.transfer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.transfer-grid section{min-width:0}.transfer-grid h3{font-size:13px;color:#c7d5a6;margin:18px 0 12px}.transfer-grid h4{font-size:12px;margin:17px 0 8px}.transfer-grid label{display:block;color:#b3bea0;font-size:11px;margin:14px 0 7px}.save-summary{white-space:pre-wrap;word-break:break-word;padding:12px;background:#141b10;border:1px solid #596747;color:#ccdbaf;font:11px/1.9 "Microsoft JhengHei",system-ui,sans-serif;margin:0 0 12px}.save-actions{display:flex;gap:9px;flex-wrap:wrap}.save-actions button,.transfer-grid button{font-size:11px;min-height:38px;padding:8px 13px}.transfer-grid textarea{display:block;width:100%;max-width:100%;resize:vertical;padding:10px;min-height:90px;background:#10170d;color:#d7e5bc;border:1px solid #81906a;font:12px/1.5 monospace;margin-bottom:10px;touch-action:pan-y}.transfer-grid input[type=file]{display:block;width:100%;font-size:11px;margin-top:8px;color:#c1ccae}.transfer-grid p,.transfer-tip{font-size:11px;line-height:1.8;color:#afbb9a}.transfer-message{min-height:22px;font-size:12px;line-height:1.7;color:#c5d59e}.transfer-message.error{color:#efb29b}#restorePreviousButton{display:block;margin-top:16px}#restorePreviousButton.hidden{display:none}#app #transferDialog textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.transfer-grid .hidden{display:none}
@media(max-width:650px){.transfer-grid{grid-template-columns:1fr;gap:4px}.transfer-sheet{padding:18px}.transfer-sheet .sheet-heading h2{font-size:19px}.footer-save{justify-content:flex-start;gap:7px}.console-footer{justify-content:flex-start}.save-summary{font-size:11px}.transfer-grid textarea{font-size:16px}.transfer-grid button{min-height:42px}}
@media(max-width:600px) and (orientation:portrait){.magic-controls{left:9px;right:9px;bottom:219px;justify-content:space-between}.magic-controls span{font-size:9px}.mage-field .joystick{bottom:259px}.mage-field .mobile-combat{bottom:263px}.merc-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-height:520px) and (orientation:landscape){.magic-controls{left:120px;bottom:169px;padding:3px 6px}.magic-controls button{min-height:22px;font-size:9px}.magic-controls span{font-size:8px}}
