@charset "UTF-8";
:root{--jade:#7fe6bd;--gold:#eacb83;--ink:#091b18;--panel:rgba(10,31,27,.96);--muted:#8ba69b;--line:rgba(146,190,161,.22);font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;color:#e7efdf;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#081a16;user-select:none;-webkit-user-select:none;touch-action:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#173b31;border-radius:8px;transition:background .15s,border-color .15s,transform .12s;min-height:40px}button:hover:not(:disabled){background:#255243;border-color:#8bd9b3}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.38}button[hidden],[hidden]{display:none!important}#battlefield{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none}.hud{position:fixed;left:0;right:0;top:0;height:85px;padding:17px 24px 12px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(#071611f5,#10251fef);border-bottom:1px solid var(--line);box-shadow:0 6px 30px #0004;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand .sigil{font-size:42px;color:var(--gold)}.brand b{display:block;font-size:25px;letter-spacing:8px;font-weight:600;line-height:1.1;color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:1.5px;margin-top:7px;color:var(--muted)}.resources{display:flex;align-items:center;gap:28px;flex:1;justify-content:center}.crystals{display:flex;align-items:center;gap:8px}.crystals>span{font-size:25px;color:var(--jade);filter:drop-shadow(0 0 9px #72ffc477)}.crystals strong{font-size:25px;font-variant-numeric:tabular-nums}.crystals small{color:var(--muted);font-size:12px}.armor{width:min(26vw,270px)}.armor>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px;gap:10px}.armor span{color:#a3b8a4}.armor b{font-variant-numeric:tabular-nums;font-weight:500}.meter{height:6px;background:#030e0b;border-radius:5px;overflow:hidden}.meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#4f9d73,#b9db88);transition:width .2s}#timer{font-size:14px;color:#a8beb1;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:7px}.toolbar button{width:38px;height:38px;min-height:38px;background:#10291f;font-size:17px}.toolbar #speedButton{font-size:14px;width:42px}.mission{position:fixed;top:85px;left:0;right:0;display:flex;align-items:center;padding:11px 26px;gap:10px;background:linear-gradient(90deg,#0d241de8,#0b1f18bb,transparent);font-size:11px;pointer-events:none;z-index:5;color:#c1d1be;letter-spacing:.5px}.live-dot{height:5px;width:5px;border-radius:50%;background:var(--jade);box-shadow:0 0 8px var(--jade)}.mission-separator{opacity:.35}.objective-counter{margin-left:16px;color:var(--gold)}.right-tools{position:fixed;right:22px;top:137px;display:flex;flex-direction:column;align-items:center;gap:9px;z-index:18}.tool-button{width:58px;height:63px;border-radius:13px;background:#0b251be6;box-shadow:0 3px 10px #0003}.tool-button span{display:block;font-size:25px;line-height:25px;color:var(--gold)}.tool-button b{font-size:10px;font-weight:500;color:#c0d1c2;display:block;margin-top:3px}.tool-button.active{border-color:var(--gold);background:#264532}.zoom-control{width:72px;display:flex;gap:3px;font-size:14px;color:#a8c4a7;align-items:center}.zoom-control input{width:45px;height:16px;accent-color:#b4ce91}.panel{position:fixed;z-index:35;background:var(--panel);border:1px solid #67897075;border-radius:15px;box-shadow:0 20px 70px #0009,0 0 0 4px #07150c44;padding:21px;backdrop-filter:blur(16px);width:335px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.panel-heading small{font-size:9px;color:#80a591;letter-spacing:2px;display:block;margin-bottom:6px}.panel h2,.help-card h2{margin:0;font-size:21px;font-weight:500;letter-spacing:2px;color:var(--gold)}.close{background:transparent;border:1px solid #6a917050;width:29px;min-height:29px;height:29px;font-size:23px;line-height:20px;color:#b9c9ba;border-radius:50%}.armory-panel{top:137px;right:96px}.muted{font-size:12px;color:var(--muted);margin:0 0 24px}.research{display:flex;gap:13px;align-items:center;margin-top:22px}.research-icon{width:39px;height:39px;border:1px solid #65977755;border-radius:9px;color:var(--gold);display:grid;place-items:center;font-size:29px}.research-icon.defense{color:var(--jade)}.research h3{font-size:14px;font-weight:500;margin:0 0 6px}.research h3 span{font:11px monospace;color:var(--gold);margin-left:7px}.research p{margin:0;font-size:10px;color:var(--muted);line-height:1.6}.research p em{color:#d9af82;font-style:normal}.button-pair{display:flex;gap:8px;margin-top:12px}.button-pair button{flex:1;font-size:12px;padding:7px}.quiet{background:#10271f!important;color:#acc2af}.fine-print{font-size:10px;line-height:1.8;color:#89a18d;margin:14px 0 0}.bunker-panel{left:22px;top:137px;width:345px}.bunker-meta{display:flex;justify-content:space-between;font-size:11px;color:#9fbaa6;border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:-4px}.garrison-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #91b6a319}.row-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;background:transparent;border:none;min-height:38px;padding:2px}.row-select:hover{background:#173c30!important}.row-icon{width:28px;height:30px;font-size:23px;color:#9cd3ab;display:grid;place-items:center}.row-name{font-size:12px;display:block}.row-meta{font-size:10px;color:#89a48e;display:block;margin-top:4px}.exit-button{padding:0 11px;min-height:31px;height:31px;font-size:11px;border-radius:6px}.wide{width:100%;padding:10px 13px;display:block;font-size:12px}.recruit{margin-top:13px;display:flex;justify-content:space-between;background:#17392d;color:#c7dfbd}.recruit span{color:var(--gold)}.primary{background:#526640;color:#f2edcb;border-color:#8d9a57}.primary:hover:not(:disabled){background:#697e4b;border-color:#c6ce8f}.bunker-panel .primary{margin-top:10px}.bunker-panel .fine-print{margin-top:8px;min-height:18px}.bottom-hud{position:fixed;bottom:35px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;pointer-events:none;z-index:20}.bottom-hud button{pointer-events:auto}.selection-label{font-size:10px;color:#b1c7ac;letter-spacing:1px;text-shadow:0 1px 4px #000;margin-bottom:8px}.roster{display:flex;gap:7px}.unit-card{width:96px;height:77px;text-align:left;position:relative;padding:8px 9px 7px;border-radius:10px;background:linear-gradient(135deg,#183526ed,#0b221bef);box-shadow:0 3px 15px #0004}.unit-card.active{border-color:var(--gold);box-shadow:inset 0 0 18px #e6c77616,0 0 10px #d9c77920}.unit-card .portrait{font-size:23px;color:#9bbc8d;float:left;line-height:26px;margin-right:7px}.unit-card .number{font:10px monospace;color:#91ab94;position:absolute;right:8px;top:9px}.unit-card b{display:block;font-size:11px;font-weight:500;line-height:28px}.unit-card small{font-size:9px;display:block;color:#a4baa5;margin-top:3px}.unit-card .mini-meter{height:3px;background:#06160d;margin-top:7px;border-radius:2px;overflow:hidden}.unit-card .mini-meter i{display:block;height:100%;background:#8cbc87;width:100%}.unit-card.empty{border-style:dashed;background:#0c251acc;color:#879e86}.unit-card.empty .portrait{color:#88a182}.abilities{display:flex;gap:9px}.ability{width:69px;height:80px;position:relative;border-radius:13px;background:linear-gradient(#1c3a2aee,#0c281dee);box-shadow:0 4px 15px #0006;text-align:center;padding:7px 2px}.ability>span{font-size:28px;display:block;color:var(--gold);line-height:29px}.ability b{display:block;font-size:10px;font-weight:500;letter-spacing:1px;margin-top:3px}.ability small{display:block;font-size:9px;color:#b8c8ab;margin-top:5px}.ability.shield>span{color:var(--jade)}.controls-hint{position:fixed;bottom:13px;left:25px;font-size:9px;color:#92ac93;letter-spacing:.7px;z-index:20;pointer-events:none}.minimap{position:fixed;width:240px;height:40px;left:50%;bottom:42px;transform:translateX(-30%);background:#091d15dd;border:1px solid #78936a60;border-radius:5px;padding:4px 7px;z-index:19;cursor:pointer}#mapCanvas{width:100%;height:22px;display:block}.map-caption{font-size:7px;display:flex;justify-content:space-between;color:#86a17c;margin-top:1px}.toast{position:fixed;bottom:138px;left:50%;transform:translateX(-50%) translateY(8px);max-width:min(650px,80vw);background:#0e2b22ef;border:1px solid #719c7966;color:#deebc7;padding:11px 20px;border-radius:7px;font-size:12px;box-shadow:0 8px 35px #0005;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:45;text-align:center;line-height:1.6}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.warning-banner{position:fixed;top:135px;left:50%;transform:translateX(-50%);background:#562e17e6;border:1px solid #d9a465;padding:10px 22px;font-size:13px;color:#ffe0a5;border-radius:6px;z-index:12;animation:warning .4s infinite alternate}@keyframes warning{to{background:#81502be6;box-shadow:0 0 25px #eea35850}}.paused-label{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);font-size:24px;letter-spacing:5px;color:#e5deae;background:#0b201bdc;border:1px solid #8ca07766;border-radius:10px;padding:20px 30px;text-align:center;pointer-events:none;z-index:12}.paused-label small{display:block;font-size:10px;letter-spacing:1px;color:#a8b998;margin-top:10px}.overlay{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 40%,#0f2e22d9,#030e0bed 75%);z-index:100;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px);padding:20px;overflow:auto;touch-action:pan-y}.briefing{width:620px;max-width:100%;text-align:center;padding:25px 30px;color:#ccd9c3}.eyebrow{font-size:9px;letter-spacing:3px;color:#97b594}.title-mark{font-size:64px;color:#d5be79;line-height:1;margin:18px 0 7px;filter:drop-shadow(0 0 24px #d4d68b42)}.briefing h1{font-size:65px;letter-spacing:26px;color:#e7d49d;font-weight:400;margin:0 0 10px;padding-left:26px;line-height:1.3;text-shadow:0 0 40px #bba4653b}.briefing h2{font-size:16px;font-weight:400;letter-spacing:7px;margin:0;color:#a6c3a4}.intro{font-size:13px;line-height:1.9;color:#91ab94;margin:24px 0}.briefing-features{display:flex;justify-content:center;gap:25px;padding:23px 0;border-top:1px solid #819c6635;border-bottom:1px solid #819c6635;margin:23px 0}.briefing-features>div{display:flex;gap:9px;text-align:left;align-items:flex-start}.briefing-features b{font-size:10px;color:#b9a765;font-family:monospace;padding-top:3px}.briefing-features span{font-size:12px;color:#c7d5b7}.briefing-features small{font-size:9px;display:block;margin-top:6px;color:#79947c;white-space:nowrap}.start-button{width:290px;max-width:100%;height:54px;border-radius:7px;background:linear-gradient(100deg,#abb779,#7e9865);color:#13261a;border:1px solid #d1d9a1;font-size:15px;letter-spacing:3px;font-weight:600;box-shadow:0 7px 35px #aac17619}.start-button:hover:not(:disabled){background:linear-gradient(100deg,#c7d295,#97b67c);border-color:#f0efc3}.start-button span{float:right;margin-right:14px;font-size:20px;font-weight:400}.start-note{font-size:10px;color:#8caa88;margin:14px 0}.text-button{background:none;border:none;color:#afbe9a;font-size:10px;text-decoration:underline;text-underline-offset:4px;min-height:28px}.edition{font-size:8px;color:#55715d;letter-spacing:1.7px;margin-top:27px}.edition span{color:#9b9562;margin:0 9px}.help-overlay{z-index:110}.help-card{width:820px;max-height:90vh;overflow:auto;padding:28px;background:#0e251ef5;border:1px solid #718c6566;border-radius:15px;box-shadow:0 20px 90px #0009;touch-action:pan-y}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.help-grid h3{font-size:13px;color:var(--gold);font-weight:500;margin:4px 0 11px}.help-grid p{font-size:11px;color:#adc0a7;line-height:1.85;margin:6px 0}.help-grid b{font-weight:500;color:#d4dfc7}.help-bottom{font-size:10px;line-height:1.8;background:#1d392888;color:#a8b991;padding:11px 14px;margin:20px 0;border-radius:6px}.result-card{text-align:center;width:550px;padding:30px}.result-sigil{font-size:70px;color:var(--gold);margin:20px}.result-card h1{font-size:33px;letter-spacing:5px;font-weight:400;color:#e1d3a3}.result-card>p{font-size:13px;line-height:2;color:#a8bd9e}.result-stats{display:flex;gap:30px;justify-content:center;margin:30px 0}.result-stats b{display:block;font:24px monospace;color:#d8dfb3;margin-bottom:8px}.result-stats small{font-size:10px;color:#819b7c}@media(max-width:1100px){.minimap{bottom:135px;left:30px;transform:none;width:185px;opacity:.85}.resources{gap:18px}.armor{width:22vw}.brand small{font-size:8px}.brand b{font-size:22px}.hud{padding-left:18px;padding-right:18px;gap:15px}.briefing-features{gap:16px}}@media(max-width:900px){.hud{height:66px;padding:9px 12px;gap:10px}.brand{gap:4px}.brand .sigil{font-size:28px}.brand b{font-size:18px;letter-spacing:4px}.brand small{display:none}.resources{gap:12px}.crystals strong{font-size:19px}.crystals>span{font-size:18px}.crystals small{display:none}.armor{width:25vw;max-width:155px}.armor>div:first-child{font-size:9px;margin-bottom:6px}.armor span{display:none}#timer{font-size:11px}.toolbar{gap:4px}.toolbar button{width:30px;height:32px;min-height:32px;font-size:14px}.toolbar #speedButton{width:33px;font-size:11px}.mission{top:66px;padding:10px 14px;font-size:9px;gap:7px}.objective-counter{margin-left:auto}.right-tools{right:12px;top:109px;gap:6px}.tool-button{width:45px;height:49px;border-radius:10px}.tool-button span{font-size:20px;line-height:21px}.tool-button b{font-size:9px}.zoom-control{display:none}.bottom-hud{left:12px;right:12px;bottom:20px;gap:9px}.unit-card{width:69px;height:65px;padding:5px 6px;border-radius:8px}.unit-card .portrait{font-size:17px;margin-right:4px;line-height:23px}.unit-card b{font-size:9px;line-height:23px}.unit-card .number{font-size:8px;right:5px;top:5px}.unit-card small{font-size:8px;margin-top:3px}.unit-card .mini-meter{margin-top:6px;height:2px}.roster{gap:5px}.abilities{gap:6px}.ability{width:52px;height:64px;border-radius:11px;padding:5px 1px}.ability>span{font-size:22px;line-height:23px}.ability b{font-size:9px;margin-top:2px}.ability small{font-size:8px;margin-top:3px}.controls-hint{font-size:7px;bottom:6px;left:13px;max-width:85vw;white-space:nowrap;overflow:hidden;letter-spacing:0}.selection-label{font-size:8px;margin-bottom:5px}.minimap{left:13px;bottom:108px;width:155px;height:32px;padding:3px 5px}#mapCanvas{height:17px}.map-caption{font-size:6px}.panel{padding:16px;width:300px;max-height:calc(100dvh - 110px);overflow:auto;touch-action:pan-y}.bunker-panel{left:12px;top:108px}.armory-panel{right:67px;top:109px}.panel-heading{margin-bottom:13px}.panel h2{font-size:17px}.garrison-row{padding:6px 0}.row-meta{font-size:9px}.row-name{font-size:11px}.wide{padding:8px 10px;font-size:11px;min-height:35px}.recruit{margin-top:10px}.button-pair button{min-height:34px;font-size:11px}.bunker-panel .fine-print{font-size:9px}.toast{bottom:108px;padding:8px 12px;font-size:10px;max-width:70vw;left:55%}.warning-banner{top:105px;font-size:11px;padding:7px 13px}.briefing{padding:10px 12px}.briefing h1{font-size:50px}.title-mark{font-size:46px;margin:13px 0 5px}.intro{font-size:11px;margin:17px 0}.briefing-features{margin:18px 0;padding:16px 0;gap:12px}.briefing-features>div{gap:6px}.briefing-features span{font-size:10px}.briefing-features small{font-size:8px}.briefing-features b{font-size:9px}.eyebrow{font-size:7px;letter-spacing:2px}.edition{font-size:6px;margin-top:15px}.start-note{font-size:9px}.help-card{padding:18px}.help-grid{gap:15px}.help-grid p{font-size:10px}.help-card h2{font-size:18px}.result-card h1{font-size:26px}.result-card{padding:15px}}@media(max-height:590px){.briefing .title-mark{display:none}.briefing h1{font-size:41px;margin-top:12px;margin-bottom:5px}.briefing h2{font-size:12px}.intro{margin:12px 0;font-size:11px}.briefing-features{margin:13px 0;padding:14px 0}.start-button{height:44px}.start-note{margin:9px 0}.edition{margin-top:8px}.bunker-panel{max-height:calc(100dvh - 120px)}.toast{bottom:103px}.help-card{max-height:94vh}}@media(max-width:480px){.hud{gap:5px}.brand .sigil{display:none}.brand b{font-size:16px;letter-spacing:2px}.resources{gap:8px}.armor{width:83px}.toolbar #soundButton{display:none}.toolbar button{width:27px}.toolbar #speedButton{width:29px}#timer{display:none}.mission{font-size:8px}.mission-separator,#sectionLabel{display:none}.roster{gap:3px}.unit-card{width:53px}.unit-card .portrait{display:none}.unit-card b{font-size:9px}.unit-card .number{font-size:7px;opacity:.6}.unit-card small{font-size:7px}.ability{width:43px}.abilities{gap:4px}.ability b{font-size:8px}.ability small{font-size:7px}.bottom-hud{left:9px;right:9px;gap:5px}.help-grid{grid-template-columns:1fr}.briefing-features{gap:8px}.briefing-features b{display:none}.briefing h1{font-size:48px}.panel{width:min(300px,calc(100vw - 80px))}.toast{left:50%;bottom:105px;max-width:90vw}.controls-hint{font-size:6px}.eyebrow{letter-spacing:1.5px}.briefing-features small{font-size:7px}}
.sound-panel{right:24px;top:95px;width:255px;padding:17px}.sound-panel h2{font-size:17px}.sound-panel .panel-heading{margin-bottom:13px}@media(max-width:900px){.sound-panel{right:12px;top:76px}}

.panel{max-height:calc(100dvh - 155px);overflow:auto;touch-action:pan-y}.menu-open .toast{opacity:0;visibility:hidden}@media(max-width:900px){.panel{max-height:calc(100dvh - 120px)}}
@media(max-width:900px){
 .hud{height:56px;padding:7px 12px}.brand small{display:none}.brand .sigil{font-size:27px}.brand b{font-size:18px}
 .toolbar button,.toolbar #speedButton{min-width:40px;width:40px;min-height:40px;height:40px}.toolbar{gap:4px}
 .mission{top:56px;padding:8px 14px;min-height:27px}.right-tools{top:95px}.armory-panel{top:95px}.bunker-panel{top:95px}.panel{max-height:calc(100dvh - 106px)}
 .close{width:40px;height:40px;min-height:40px}.exit-button{min-height:40px;height:40px}.row-select{min-height:40px}
 .sound-panel{top:66px}.warning-banner{top:91px}.has-selection .minimap{width:118px;height:29px;bottom:100px;opacity:.7}.has-selection #mapCanvas{height:16px}
 .toast{font-size:10px;padding:7px 12px;bottom:99px}
}
@media(max-width:480px){.hud{gap:5px;padding:7px 9px}.brand b{font-size:16px}.toolbar{gap:3px}.resources{gap:7px}.armor{width:76px}.crystals strong{font-size:18px}.toolbar button,.toolbar #speedButton{min-width:40px;width:40px}.mission{padding-left:10px;padding-right:10px}}

.row-select>span:last-child{flex:1;min-width:0}.row-health{display:block;margin-top:6px;height:3px;max-width:190px;overflow:hidden;border-radius:2px;background:#06160d}.row-health i{display:block;height:100%;background:#8cbc87;transition:width .15s linear}.garrison-row.regenerating .row-health i{background:#83e0b4}.garrison-row.regenerating .row-meta{color:#a2c9aa}

.ability.stim>span{color:#edb583}.ability.stim.running{border-color:#ce925a;background:linear-gradient(#593c23ee,#2b2919ee);opacity:.82}.ability.stim.running small{color:#f3cf9b}@media(max-width:480px){.roster{max-width:111px;flex-wrap:wrap}.abilities{max-width:137px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.bottom-hud>div:first-child{min-width:0}.many-abilities .toast{bottom:165px}.has-selection .minimap{bottom:166px}}

.threat-badge{font-size:10px;color:#a0b7a5;white-space:nowrap;letter-spacing:.3px}.threat-badge.elevated{color:#e5b267}@media(max-width:600px){.mission #phaseLabel,.mission .live-dot,.mission #sectionLabel,.mission-separator{display:none}.mission{justify-content:space-between;gap:8px}.objective-counter{margin-left:auto}.threat-badge{font-size:10px}}

/* Finite camp ambush progress: one compact row, wrapping only for simultaneous camps. */
.warning-banner{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;max-width:calc(100vw - 170px);padding:5px 7px;background:#10291fe8;border-color:#7e986459;font-size:11px;animation:none;pointer-events:none}.ambush-chip{display:inline-block;white-space:nowrap;border:1px solid #a8865066;border-radius:4px;padding:3px 6px;color:#e8cd92;font-variant-numeric:tabular-nums}.ambush-chip.active{color:#b7e1c2;border-color:#75aa8177}.ambush-chip.urgent{animation:warning .4s infinite alternate;color:#ffe0a5}.ability.repairing{border-color:#9dcc85;background:linear-gradient(#34503aee,#183323ee);opacity:1}.ability.repairing>span{color:#a6e8b4}@media(max-width:900px){.warning-banner{font-size:10px;max-width:calc(100vw - 140px);padding:3px 5px;gap:3px}.ambush-chip{padding:3px 5px}}@media(max-width:480px){.warning-banner{max-width:calc(100vw - 90px);left:12px;transform:none;justify-content:flex-start}}

/* Repair progress stays beside actual armor health; no floating column over combat. */
.armor{position:relative}.repair-feedback{position:absolute;left:0;top:calc(100% + 3px);font-size:9px;line-height:12px;color:#aad8b5;white-space:nowrap;font-variant-numeric:tabular-nums}.repair-feedback[data-phase="blocked"]{color:#f0ba75}.repair-feedback[data-phase="stopped"]{color:#b5c3ac}
.boss-hud{position:fixed;top:135px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 180px));padding:9px 13px;border:1px solid #a6905b88;border-radius:7px;background:#1c2019ed;z-index:11;pointer-events:none}.boss-hud>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#e7cb90;font-size:12px}.boss-hud b{font-weight:500;letter-spacing:1px}.boss-hud span{font-size:10px;font-variant-numeric:tabular-nums;color:#c8bea3}.boss-meter{position:relative;height:7px;background:#0b100d;margin:7px 0 5px;overflow:hidden;border-radius:3px}.boss-meter i{display:block;height:100%;background:linear-gradient(90deg,#9e733a,#ead29d)}.boss-meter em{position:absolute;top:0;height:100%;width:2px;background:#352c26aa}.gate70{left:70%}.gate35{left:35%}.boss-hud small{display:block;font-size:9px;color:#b9baa5}.boss-hud[data-phase="2"]{border-color:#ac76b5}.boss-hud[data-phase="2"] .boss-meter i{background:linear-gradient(90deg,#854b8f,#df9fe1)}.boss-hud[data-phase="3"]{border-color:#ce6f5d}.boss-hud[data-phase="3"] .boss-meter i{background:linear-gradient(90deg,#b83a34,#ffb27d)}.has-ambush .boss-hud{top:179px}@media(max-width:900px){.repair-feedback{font-size:8px;top:calc(100% + 2px);line-height:10px}.boss-hud{top:91px;padding:6px 10px;width:min(380px,calc(100vw - 145px))}.boss-hud>div:first-child{font-size:10px}.boss-hud span{font-size:9px}.boss-meter{margin:5px 0 4px;height:5px}.boss-hud small{font-size:8px}.has-ambush .boss-hud{top:133px}}@media(max-width:480px){.repair-feedback{left:auto;right:0;font-size:7px}.boss-hud{left:12px;transform:none;width:calc(100vw - 90px)}.has-ambush .boss-hud{top:159px}}

/* Chapter II uses the same compact HUD, never a permanent side panel. */
.chapter-entry{display:grid;gap:8px;margin:12px 0}.chapter-entry small{display:block;font-size:11px;opacity:.7;margin-top:3px}.supply-panel{right:20px;top:160px;width:min(360px,calc(100vw - 32px))}.chapter-two .minimap{height:72px}.chapter-two .minimap canvas{height:54px}.chapter-two .boss-meter .gate70{left:70%}.chapter-two .boss-meter .gate35{display:block;left:35%}.unit-card.medic .portrait{color:#7feacb}.chapter-two .right-tools{max-width:calc(100vw - 24px)}.chapter-two .roster{max-width:54vw;overflow-x:auto}.chapter-two .unit-card{min-width:72px}.chapter-two .map-caption span:first-child{font-size:0}.chapter-two .map-caption span:first-child:after{content:"前哨/水庭/供能/祭廊/双印/终殿";font-size:10px}@media(max-width:900px){.supply-panel{top:100px;right:12px}.chapter-two .right-tools{gap:5px}.chapter-two .tool-button{padding:6px}.chapter-two .tool-button b{font-size:10px}.chapter-two .minimap{width:140px;height:56px}.chapter-two .minimap canvas{height:40px}.chapter-two .roster{max-width:46vw}.chapter-two .unit-card{min-width:64px}}
@media(max-width:900px){.chapter-two .right-tools{display:grid;grid-template-columns:45px 45px;gap:5px}.chapter-two .tool-button{width:45px;height:49px}.chapter-two .right-tools .zoom-control{grid-column:1/3}.chapter-two.has-selection .minimap{width:90px}}

/* Desktop roster labels: preserve card geometry and touch styling. */
@media (min-width:901px) and (hover:hover) and (pointer:fine){.unit-card{padding-left:6px;padding-right:6px}.unit-card .portrait{font-size:18px;margin-right:4px}.unit-card b{font-size:10px;white-space:nowrap}.chapter-two .unit-card{min-width:96px;flex-shrink:0}}
/* Keep the expanded six-room caption inside the compact phone minimap. */
@media(max-width:900px){.chapter-two .map-caption span:first-child:after{content:"六区 · 支路"}}

/* Bounded equipment inventory; context panel only, no persistent sidebar. */
.gear-panel{width:390px;max-height:calc(100dvh - 160px);overflow:auto;touch-action:pan-y;padding:18px}.gear-panel .panel-heading{margin-bottom:12px}.gear-panel h2{font-size:19px}.gear-panel h2 span{font-size:12px;letter-spacing:0;color:var(--muted)}.gear-intro{font-size:11px;color:#acc1b1;line-height:1.7;margin:0 0 12px}.gear-units{display:flex;gap:6px;margin-bottom:10px}.gear-units button{width:43px;height:40px;font-size:12px}.gear-units .active{border-color:var(--gold);background:#3d4c30}.gear-owner{font-size:12px;color:var(--gold);font-weight:500;margin:8px 0}.gear-slot,.gear-item{display:flex;align-items:center;gap:7px;border-left:3px solid var(--gear-color);background:#142e25;border-radius:5px;padding:8px;margin-bottom:6px}.gear-slot>div,.gear-item-info{flex:1;min-width:0}.gear-slot b,.gear-item b{display:block;color:var(--gear-color);font-size:12px;font-weight:500;line-height:1.5}.gear-slot small,.gear-item small{display:block;font-size:9px;color:#a0b5a6;line-height:1.7}.gear-slot button,.gear-item button{font-size:11px;padding:6px 9px;min-height:40px;flex-shrink:0}.gear-item .gear-discard{font-size:19px;width:34px;padding:2px;min-height:40px;background:#2b2921;color:#c4a88a}.quality-0{--gear-color:#bec8bb}.quality-1{--gear-color:#8addab}.quality-2{--gear-color:#87bdfa}.quality-3{--gear-color:#d4a0f6}.gear-list-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:13px;padding:12px 0 8px;font-size:12px}.gear-list-heading small{font-size:10px;color:var(--muted)}.gear-empty{font-size:11px;line-height:1.8;color:#9aafa1;padding:10px;background:#0a211b;border-radius:5px}.gear-panel .fine-print{font-size:9px;margin-top:10px}@media(max-width:900px){.gear-panel{width:min(350px,calc(100vw - 78px));max-height:calc(100dvh - 106px);padding:12px}.gear-panel h2{font-size:16px}.gear-panel .panel-heading{margin-bottom:8px}.gear-intro{font-size:10px;margin-bottom:8px}.gear-slot,.gear-item{padding:6px;gap:5px}.gear-slot b,.gear-item b{font-size:11px}.gear-panel .fine-print{font-size:8px}.gear-units button{width:38px}.gear-owner{margin:6px 0}}

#armoryButton{position:relative}#armoryButton[data-count]:not([data-count=''])::after{content:attr(data-count);position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;border-radius:9px;background:#d2c485;color:#15271d;font:10px/18px system-ui;border:1px solid #e3dbad;text-align:center}

/* Game title fits the existing HUD and briefing without changing save/UI structure. */
.brand b{font-size:22px;letter-spacing:2px;white-space:nowrap}.briefing h1{font-size:54px;letter-spacing:6px;padding-left:6px;white-space:nowrap}.briefing h2{letter-spacing:3px}
@media(max-width:900px){.brand b{font-size:17px;letter-spacing:1px}.briefing h1{font-size:42px;letter-spacing:4px;padding-left:4px}}
@media(max-width:480px){.brand b{font-size:14px;letter-spacing:0}.briefing h1{font-size:35px;letter-spacing:3px;padding-left:3px}.briefing h2{font-size:12px;letter-spacing:1px}}
@media(max-height:590px){.briefing h1{font-size:38px;letter-spacing:4px;padding-left:4px}}

/* Fixed camp merchant: context dialog, never a permanent side column. */
.merchant-entry{margin-bottom:12px;color:var(--gold)}.merchant-panel{width:420px;max-height:calc(100dvh - 155px);overflow:auto;touch-action:pan-y;padding:18px}.merchant-panel h2{font-size:20px}.merchant-panel .panel-heading{margin-bottom:12px}.merchant-status,.merchant-note{font-size:11px;color:#a8c4ae;line-height:1.7;margin:8px 0}.merchant-status.out-of-range{color:#e9b98d}.merchant-tabs{display:flex;gap:6px;margin:12px 0}.merchant-tabs button{flex:1;font-size:12px}.merchant-tabs .active{border-color:var(--gold);background:#405536;color:var(--gold)}.merchant-kind{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#b4c4ad;margin:15px 0 10px}.merchant-kind select{font:inherit;color:#dfebd8;background:#173b31;border:1px solid #63836c;border-radius:6px;padding:8px;min-height:40px}.potion-shop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#3b2926;padding:10px;border:1px solid #9a665c;border-radius:7px}.potion-shop-row b{display:block;font-size:13px;color:#efb4a2}.potion-shop-row small{display:block;font-size:9px;color:#c1a99f;margin-top:5px}.potion-shop-row button{font-size:11px;padding:6px 10px;white-space:nowrap}.merchant-confirm{background:#443729;border:1px solid var(--gold);padding:12px;border-radius:7px;margin-top:10px}.merchant-confirm>b{font-size:12px;line-height:1.8;font-weight:500;display:block;color:#f2dfb2}.merchant-confirm>small{font-size:10px;color:#d1bda0;line-height:1.8;display:block}.merchant-panel .fine-print{font-size:9px}.ability.potion>span{color:#eb9b85}.ability.potion{border-color:#a45f4a80}
@media(max-width:900px){.merchant-panel{width:min(365px,calc(100vw - 78px));max-height:calc(100dvh - 106px);padding:12px}.merchant-panel h2{font-size:17px}.merchant-tabs{margin:9px 0}.merchant-note,.merchant-status{font-size:10px}.merchant-panel .gear-item button{font-size:10px;padding:6px}.merchant-confirm{padding:9px}.merchant-confirm>b{font-size:11px}}

.craft-actions{display:flex;gap:8px;margin:10px 0}.craft-actions>button{flex:1;min-height:46px;font-size:12px}.craft-actions>button.active{border-color:var(--gold);background:#405536;color:var(--gold)}.craft-actions b{font-size:12px;font-weight:500;display:block}.craft-actions small{font-size:9px;color:#b4caa7;display:block;margin-top:2px}.craft-slots{display:flex;gap:9px;margin:10px 0}.craft-slot{width:50%;min-height:70px;padding:8px 4px;background:#0b201b;border:1px dashed var(--gear-color);border-radius:8px;text-align:center}.craft-slot[data-craft-remove]{border-style:solid;background:#21392d}.craft-slot b{display:block;font-size:12px;font-weight:500;color:var(--gear-color)}.craft-slot small{display:block;font-size:9px;color:#a8b8a6;margin-top:7px}#craftPanel{background:#152d24;border:1px solid #738d6250;border-radius:9px;padding:10px;margin-bottom:12px}#craftPanel .fine-print{margin:8px 0 0}#craftStatus{margin:0;font-size:11px}@media(max-width:900px){.craft-actions{gap:6px;margin:8px 0}.craft-slot{min-height:65px}.craft-slot b{font-size:11px}.craft-slot small{font-size:8px}#craftPanel{padding:8px}#craftStatus{font-size:10px}}

.craft-result{border:1px solid #95bc7980;border-radius:7px;background:#294531;padding:9px 10px;margin:8px 0;color:#d5e7b9}.craft-result b{display:block;font-size:11px;font-weight:500}.craft-result small{display:block;font-size:10px;line-height:1.7;margin-top:4px;color:#bdcdae;overflow-wrap:anywhere}

/* 1.13 anchored individual packs: 24 actual cells, touch-first item actions. */
#armoryPanel{width:min(390px,calc(100vw - 20px));max-height:calc(100dvh - 132px);padding:12px;right:auto;overflow:auto;touch-action:pan-y}#armoryPanel .panel-heading{position:sticky;top:-12px;background:#0b201df8;z-index:3;padding:8px 0;margin:0 0 8px}#armoryPanel h2{font-size:15px;letter-spacing:0}#bagSubtitle{font-size:10px;letter-spacing:0;line-height:1.5}#inventoryCount{font-size:11px;color:#b8c9af}.bag-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.bag-cell{position:relative;min-width:0;height:61px;padding:8px 2px 3px;background:#0a211c;border:1px solid color-mix(in srgb,var(--gear-color,#829d8a) 55%,transparent);border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center}.bag-cell.empty{opacity:.4}.bag-cell>span{font-size:19px;line-height:20px;color:var(--gear-color,#789184)}.bag-cell b{font-size:8px;font-weight:500;line-height:11px;white-space:nowrap;color:var(--gear-color)}.bag-cell i{font-size:7px;font-style:normal;color:#94ac9b}.bag-cell.selected{outline:2px solid #eacb83;background:#294235}.cell-index{position:absolute;left:3px;top:1px;font-size:7px;color:#759082}.bag-item-detail{margin-top:10px;padding:9px;background:#091d18;border-radius:7px}.bag-item-detail>b{font-size:12px;color:#eacb83}.bag-item-detail>small{display:block;font-size:9px;color:#9db5a3;line-height:1.7}.bag-actions,.bag-exchange{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.bag-actions button,.bag-exchange button{font-size:10px;padding:5px 9px;min-height:40px}.bag-actions span,.bag-exchange>small{font-size:10px;color:#99b2a0;flex-basis:100%}#armoryPanel .gear-slot{padding:5px;margin-bottom:4px}#armoryPanel .gear-slot b{font-size:11px}#armoryPanel .gear-intro{margin-bottom:5px}#armoryPanel .gear-units{margin:7px 0}.merchant-panel{max-height:calc(100dvh - 120px);overflow:auto;touch-action:pan-y}@media(max-width:900px){#armoryPanel{max-height:calc(100dvh - 94px);width:min(365px,calc(100vw - 20px));padding:10px}#armoryPanel .panel-heading{top:-10px}.bag-cell{height:58px}#armoryPanel .fine-print{font-size:8px}}@media(max-width:450px){.bag-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bag-cell{height:60px}.bag-cell b{font-size:10px}}
/* Keep all 24 cells visible while scrolling; no header overlays the first row. */
#armoryPanel .panel-heading{position:static;top:auto}

/* Nearby packs share only the view; each owner retains 24 saved slots. */
#inventoryList.bag-grid{max-height:270px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:2px}.vehicle-info{width:335px;padding:9px 12px;border:1px solid #8caa6777;border-radius:10px;background:linear-gradient(135deg,#183526f5,#0b221bf5);box-shadow:0 3px 15px #0004;color:#c9dbbc;pointer-events:auto}.vehicle-info header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.vehicle-info header b{font-size:13px;font-weight:500;color:var(--gold)}.vehicle-info header small{font-size:10px;color:#aad4b8}.vehicle-info-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:5px 9px;font-size:10px;font-variant-numeric:tabular-nums}.vehicle-info .mini-meter{height:3px;background:#06160d;margin-top:8px}.vehicle-info .mini-meter i{display:block;height:100%;background:#8cbc87}#flameButton.running{border-color:#f6a652;box-shadow:inset 0 0 14px #e97a2722}#flameButton>span{color:#efa564}@media(max-width:900px){#inventoryList.bag-grid{max-height:180px}.vehicle-info{width:250px;padding:7px 9px}.vehicle-info header{margin-bottom:5px}.vehicle-info header b{font-size:11px}.vehicle-info header small{font-size:8px}.vehicle-info-grid{font-size:9px;gap:4px 5px}.vehicle-info .mini-meter{margin-top:6px}}@media(max-width:450px){.vehicle-info{width:225px}.vehicle-info-grid{font-size:8px}.vehicle-info header b{font-size:10px}}
/* Compact nearby bag controls on touch screens: show the first item row at open. */
@media(max-width:900px){
 #armoryPanel{padding:7px}
 #armoryPanel .panel-heading{padding:0;margin-bottom:4px;gap:6px;min-height:43px}
 #armoryPanel .panel-heading>div{flex:1;min-width:0}
 #armoryPanel .panel-heading>div>small:first-child{display:none}
 #armoryPanel h2{font-size:13px;line-height:18px}
 #bagSubtitle{font-size:9px;line-height:12px;margin:1px 0!important;display:inline-block;letter-spacing:0}
 #inventoryCount{font-size:9px;margin-left:6px;white-space:nowrap}
 #armoryPanel .gear-intro{font-size:9px;line-height:12px;margin:0 0 4px}
 
 #armoryPanel .craft-actions{display:inline-flex;width:54%;vertical-align:top;gap:4px;margin:0 0 4px}
 #armoryPanel .craft-actions>button{min-height:34px;height:34px;padding:2px;font-size:10px}
 #armoryPanel .craft-actions b{font-size:10px;line-height:12px}
 #armoryPanel .craft-actions small{font-size:7px;line-height:9px;margin-top:0}
 #armoryPanel .gear-units{margin:2px 0 4px;gap:4px}
 #armoryPanel .gear-units button{width:34px;height:28px;min-height:28px;font-size:10px;padding:2px}
 #equippedSlots{display:grid;grid-template-columns:1fr 1fr;gap:4px}
 #armoryPanel .gear-slot{padding:4px;margin:0;gap:3px}
 #armoryPanel .gear-slot b{font-size:9px;line-height:12px}
 #armoryPanel .gear-slot small{font-size:7px;line-height:10px}
 #armoryPanel .gear-slot>small{max-width:28px;flex-shrink:0}
 #armoryPanel .gear-slot button{min-height:30px;padding:2px 4px;font-size:8px}
 #armoryPanel .gear-list-heading{margin-top:5px;padding:5px 0;font-size:10px;line-height:13px}
 #armoryPanel .gear-list-heading small{font-size:8px}
}
/* 1.15: wide, paged bag. Page/filter projection never changes personal ownership. */
#armoryPanel{width:min(1060px,calc(100vw - 24px));max-height:calc(100dvh - 116px);padding:14px;overflow:hidden}
#armoryPanel .panel-heading{position:static;padding:0;margin:0 0 7px;min-height:36px;gap:12px}
#armoryPanel .panel-heading>div{flex:1;min-width:0}
#armoryPanel .panel-heading>div>small:first-child{display:none}
#armoryPanel h2{font-size:18px;line-height:24px;letter-spacing:.5px}
#bagSubtitle{display:inline;font-size:11px;line-height:17px;letter-spacing:0;margin:0!important}
#inventoryCount{font-size:11px;margin-left:12px;white-space:nowrap;color:#eacb83}
#armoryPanel .close{flex-shrink:0;width:34px;height:34px;min-height:34px}
.bag-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
#armoryPanel .gear-intro{font-size:10px;line-height:16px;margin:0;color:#91b29f}
#armoryPanel .gear-units{margin:0;gap:5px;flex-shrink:0}
#armoryPanel .gear-units button{width:35px;height:28px;min-height:28px;padding:2px;font-size:11px}
.bag-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px;max-height:calc(100dvh - 230px);min-height:0}
.bag-catalog{min-width:0;display:flex;flex-direction:column}
.bag-filters{display:flex;gap:7px;margin-bottom:0}
.bag-filters button{flex:1;min-width:0;height:38px;min-height:38px;font-size:12px;padding:5px;white-space:nowrap;background:#112e25}
.bag-filters button.active{border-color:#d9bd78;background:#40503a;color:#f1dda7}
.bag-filters small{font-size:10px;color:#a8c2ad;margin-left:6px}
#armoryPanel .gear-list-heading{margin-top:8px;padding:7px 0;font-size:11px;line-height:16px}
#armoryPanel .gear-list-heading small{font-size:9px}
#armoryPanel #inventoryList.bag-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-height:none;overflow:visible;flex:none;padding:2px}
#armoryPanel .bag-cell{height:67px;min-height:0;padding:7px 2px 3px}
#armoryPanel .bag-cell b{font-size:10px;line-height:14px}
#armoryPanel .bag-cell i{font-size:8px;line-height:12px}
#armoryPanel .bag-cell>span{font-size:21px;line-height:23px}
#armoryPanel .cell-index{font-size:8px}
.bag-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-shrink:0}
.bag-pagination button{min-height:33px;height:33px;font-size:11px;padding:4px 12px}
#bagPageLabel{font-size:10px;color:#a0b8a6;white-space:nowrap;font-variant-numeric:tabular-nums}
.bag-filter-empty{display:grid;place-items:center;min-height:200px;margin:0;color:#7b9e87;font-size:13px}
.bag-inspector{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding-left:14px;border-left:1px solid #72977942;scrollbar-width:thin}
.bag-services{display:flex;gap:6px;align-items:stretch;margin-bottom:9px}

#armoryPanel .craft-actions{display:flex;width:70%;margin:0;gap:5px}
#armoryPanel .craft-actions>button{height:40px;min-height:40px;font-size:11px;padding:3px}
#armoryPanel .craft-actions b{font-size:11px;line-height:14px}
#armoryPanel .craft-actions small{font-size:8px;line-height:10px;margin:0}
#equippedSlots{display:block}
#armoryPanel .gear-slot{padding:7px;gap:5px;margin:0 0 6px}
#armoryPanel .gear-slot b{font-size:11px;line-height:16px}
#armoryPanel .gear-slot small{font-size:8px;line-height:13px}
#armoryPanel .gear-slot>small{max-width:38px;flex-shrink:0}
#armoryPanel .gear-slot button{min-height:33px;padding:3px 7px;font-size:10px}
#bagItemDetail{margin-top:9px;padding:9px}
#bagItemDetail>b{font-size:12px;line-height:18px}
#bagItemDetail>small{font-size:9px;line-height:15px}
#bagItemDetail .gear-empty{padding:0;margin:0;font-size:10px;line-height:1.8}
#bagItemDetail .bag-actions{gap:5px;margin-top:8px}
#bagItemDetail .bag-actions button{min-height:35px;font-size:10px;padding:4px 8px}
.bag-rule{font-size:9px;line-height:15px;color:#7e9c89;margin:8px 0 0}
#craftPanel{margin:0 0 7px;padding:8px}
#craftPanel .craft-slot{min-height:66px}
#craftPanel .fine-print{font-size:8px;line-height:14px;margin-top:5px}
#craftResult{margin-top:0}
@media(max-width:1100px){
 .bag-layout{grid-template-columns:minmax(0,1fr) 265px;gap:10px}
 #armoryPanel #inventoryList.bag-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .bag-inspector{padding-left:9px}
 #armoryPanel .bag-cell{height:58px}
 #armoryPanel .bag-cell b{font-size:9px;line-height:12px}
 #armoryPanel .bag-cell>span{font-size:18px;line-height:20px}
}
@media(max-height:500px) and (min-width:650px){
 #armoryPanel{width:calc(100vw - 24px);max-height:calc(100dvh - 80px);padding:8px}
 #armoryPanel .panel-heading{margin-bottom:3px;min-height:30px}
 #armoryPanel h2{font-size:13px;line-height:17px;display:inline-block;margin-right:8px}
 #bagSubtitle{font-size:9px;line-height:13px}
 #inventoryCount{font-size:9px;margin-left:7px}
 #armoryPanel .close{width:30px;height:30px;min-height:30px}
 .bag-meta{margin-bottom:5px;gap:8px}
 #armoryPanel .gear-intro{font-size:8px;line-height:12px}
 #armoryPanel .gear-units button{width:27px;height:23px;min-height:23px;font-size:9px}
 .bag-layout{max-height:calc(100dvh - 157px);grid-template-columns:minmax(0,1fr) 260px;gap:9px}
 .bag-filters{gap:5px}
 .bag-filters button{height:30px;min-height:30px;font-size:10px;padding:3px}
 .bag-filters small{font-size:9px;margin-left:4px}
 #armoryPanel .gear-list-heading{margin-top:4px;padding:4px 0;font-size:9px;line-height:12px}
 #armoryPanel #inventoryList.bag-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
 #armoryPanel .bag-cell{height:46px;padding:5px 2px 2px}
 #armoryPanel .bag-cell>span{font-size:16px;line-height:17px}
 #armoryPanel .bag-cell b{font-size:9px;line-height:11px}
 #armoryPanel .bag-cell i{font-size:7px;line-height:9px}
 .bag-pagination{margin-top:5px;gap:5px}
 .bag-pagination button{min-height:28px;height:28px;font-size:9px;padding:3px 8px}
 #bagPageLabel{font-size:9px}
 .bag-filter-empty{min-height:98px;font-size:11px}
 .bag-services{gap:4px;margin-bottom:5px}
 #armoryPanel .craft-actions>button{height:30px;min-height:30px;font-size:9px}
 #armoryPanel .craft-actions b{font-size:9px;line-height:11px}
 #armoryPanel .craft-actions small{font-size:7px;line-height:9px}
 #equippedSlots{display:grid;grid-template-columns:1fr 1fr;gap:4px}
 #armoryPanel .gear-slot{padding:4px;margin:0;gap:2px}
 #armoryPanel .gear-slot b{font-size:8px;line-height:12px}
 #armoryPanel .gear-slot small{font-size:7px;line-height:10px}
 #armoryPanel .gear-slot>small{max-width:23px}
 #armoryPanel .gear-slot button{min-height:28px;padding:2px;font-size:8px}
 #bagItemDetail{margin-top:5px;padding:6px}
 #bagItemDetail>b{font-size:10px;line-height:15px}
 #bagItemDetail>small{font-size:8px;line-height:12px}
 #bagItemDetail .bag-actions{margin-top:5px;gap:4px}
 #bagItemDetail .bag-actions button{min-height:29px;font-size:9px;padding:3px 6px}
 .bag-rule{font-size:7px;line-height:11px;margin-top:4px}
 #craftPanel{padding:5px}
 #craftPanel .craft-slots{margin:5px 0;gap:5px}
 #craftPanel .craft-slot{min-height:43px;padding:3px}
 #craftPanel .craft-slot b{font-size:9px}
 #craftPanel .craft-slot small{font-size:7px;margin-top:3px}
 #craftPanel .wide{min-height:29px;padding:4px;font-size:9px}
 #craftPanel .fine-print{font-size:7px;line-height:10px;margin-top:3px}
}
@media(max-width:649px){
 #armoryPanel{width:calc(100vw - 20px);max-height:calc(100dvh - 94px);padding:9px;overflow-y:auto}
 #armoryPanel .panel-heading{min-height:36px;margin-bottom:5px}
 #armoryPanel h2{font-size:14px;line-height:19px}
 #bagSubtitle{font-size:9px;line-height:13px}
 #inventoryCount{font-size:9px;margin-left:6px}
 .bag-meta{flex-wrap:wrap;gap:5px;margin-bottom:7px}
 #armoryPanel .gear-intro{font-size:8px;line-height:12px}
 #armoryPanel .gear-units button{width:29px;height:25px;min-height:25px;font-size:9px}
 .bag-layout{display:block;max-height:none}
 .bag-filters{gap:4px}
 .bag-filters button{height:33px;min-height:33px;font-size:10px}
 .bag-filters small{font-size:9px;margin-left:4px}
 #armoryPanel .gear-list-heading{margin-top:5px;padding:5px 0;font-size:9px;line-height:13px}
 #armoryPanel #inventoryList.bag-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 #armoryPanel .bag-cell{height:55px}
 .bag-pagination{margin-top:6px}
 .bag-pagination button{min-height:31px;height:31px;font-size:10px;padding:3px 8px}
 #bagPageLabel{font-size:9px}
 .bag-filter-empty{min-height:150px;font-size:12px}
 .bag-inspector{overflow:visible;border-left:0;border-top:1px solid #72977942;padding:9px 0 0;margin-top:10px}
 #equippedSlots{display:grid;grid-template-columns:1fr 1fr;gap:5px}
 #armoryPanel .gear-slot{padding:5px;margin:0}
 #armoryPanel .gear-slot b{font-size:9px;line-height:13px}
 #armoryPanel .gear-slot small{font-size:7px;line-height:11px}
 #armoryPanel .gear-slot button{font-size:8px;padding:3px}
}

/* HTML 1.16: small real-action tutorial, no input-blocking full-screen sheet. */
.tutorial-hud{position:fixed;right:88px;top:142px;width:330px;padding:13px 15px;z-index:46;background:#102c25f5;border:1px solid #e1c47f;border-radius:10px;box-shadow:0 6px 28px #0006;color:#e6e9cc;pointer-events:auto}.tutorial-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.tutorial-heading b{font-size:14px;color:#f4d88d}.tutorial-heading button,.tutorial-actions button{min-height:31px;padding:5px 10px;font-size:11px}.tutorial-heading button{background:transparent;color:#b1bda6}.tutorial-hud p{font-size:12px;line-height:1.65;margin:8px 0}.tutorial-hud>small{font-size:10px;color:#9ab59e;display:block}.tutorial-actions{display:flex;gap:8px;margin-top:9px}.tutorial-actions button:first-child{color:#ffe2a1;border-color:#bfa563}.tutorial-actions button:last-child{margin-left:auto;color:#a1b29c;background:transparent}.tutorial-focus{outline:2px solid #f4d781!important;outline-offset:3px;box-shadow:0 0 15px #e7c46b66!important}.tutorial-world-marker{position:fixed;z-index:18;pointer-events:none;transform:translate(-50%,-50%);color:#f7d783;text-align:center}.tutorial-world-marker i{display:block;width:34px;height:23px;border:2px solid currentColor;border-radius:50%;background:#d8b44e22;margin:auto}.tutorial-world-marker span{position:absolute;left:50%;top:28px;transform:translateX(-50%);white-space:nowrap;font-size:11px;line-height:17px;background:#12261ee8;border-radius:4px;padding:1px 5px}.tutorial-world-marker.return-marker{color:#a0e1df}.elite-marker i{width:60px;height:53px;border-style:dashed;background:none}.elite-marker span{top:-24px}.tutorial-entry{display:flex;gap:14px;justify-content:center;margin-top:8px}.tutorial-active .toast{visibility:hidden}.tutorial-active #bunkerPanel{z-index:44}.tutorial-active #armoryButton{opacity:.35}.tutorial-active #bunkerPanel .recruit,.tutorial-active #buildingButton,.tutorial-active #buildingHint,.tutorial-active #bunkerPanel .button-pair{display:none}.tutorial-active #tutorialHUD[hidden]{display:none}
@media(max-width:900px){.tutorial-hud{right:70px;top:98px;width:280px;padding:9px 11px}.tutorial-heading b{font-size:12px}.tutorial-hud p{font-size:11px;line-height:1.45;margin:5px 0}.tutorial-hud>small{font-size:9px}.tutorial-actions{margin-top:6px}.tutorial-actions button,.tutorial-heading button{min-height:32px;font-size:10px;padding:4px 8px}.tutorial-world-marker span{font-size:10px}.tutorial-active #bunkerPanel{width:275px;padding:12px;max-height:calc(100dvh - 125px)}}
@media(max-width:600px){.tutorial-hud{top:96px;left:12px;right:58px;width:auto;padding:8px 10px}.tutorial-active #bunkerPanel{top:245px;max-height:calc(100dvh - 340px)}.tutorial-hud p{font-size:10px}.tutorial-world-marker span{font-size:9px}.tutorial-entry{gap:8px}.tutorial-entry button{font-size:9px}}

/* 1.17 true hit-tested spotlight: holes pass through; painted shade blocks errors. */
.tutorial-spotlight{position:fixed;inset:0;width:100%;height:100%;z-index:47;pointer-events:none;overflow:hidden;touch-action:none}.tutorial-spotlight[hidden]{display:none}.tutorial-shade{fill:rgba(0,5,4,.76);pointer-events:fill;touch-action:none}.tutorial-hole-border{fill:none;stroke:#ffe39c;stroke-width:2.5;pointer-events:none;animation:tutorialPulse 1.3s ease-in-out infinite}.tutorial-hole-arrow{fill:#ffe39c;stroke:#10271e;stroke-width:1;paint-order:stroke;font:bold 27px sans-serif;text-anchor:middle;pointer-events:none}.tutorial-hud{z-index:48}@keyframes tutorialPulse{50%{stroke-opacity:.55;stroke-width:4}}@media(prefers-reduced-motion:reduce){.tutorial-hole-border{animation:none}}

/* 1.18: bounded orange growth items and explicit feeding, inside existing wide bag. */
.quality-4{--quality:#f5a44a;border-color:#d18a3c!important;background:linear-gradient(135deg,rgba(100,62,22,.7),rgba(20,31,26,.9))!important}.quality-4 b,.quality-4 i{color:#ffd698}.growth-panel{padding:9px;border:1px solid #bb803c;border-radius:7px;background:#302719}.growth-panel p{font-size:11px;line-height:1.45;margin:7px 0}.growth-panel>small{font-size:10px;color:#d6ba89}.growth-panel button{font-size:11px}.gear-slot>button{flex:0 0 auto}

/* Independent practice world never advertises campaign progress or unused features. */
.training-world #threatBadge,.training-world .right-tools #armoryButton,.training-world #repairButton{display:none!important}
.training-world .mission #objectiveCounter{color:#d8c790}
.training-world #resultStats b{font-size:22px}
#trainingFirstButton:not([hidden]){margin-bottom:10px}
.tutorial-entry .wide{padding:10px 20px}

.bag-cell.feed-checked{outline:2px solid #f6cd77;outline-offset:-2px;background:#534025}.feed-check{position:absolute;right:4px;top:2px;color:#ffe5a1;font:700 15px sans-serif}.growth-materials{display:block;max-height:64px;overflow:auto;color:#cbb7df;font-size:10px;margin:5px 0}

/* Later campaign entries keep the original menu usable on small displays. */
.campaign-entry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.campaign-entry button{font-size:11px;padding:9px 5px;line-height:1.4}.campaign-entry #continueCampaignButton{grid-column:1/-1}@media(max-width:600px){.campaign-entry{grid-template-columns:1fr}.campaign-entry button{padding:7px}.briefing{max-height:92dvh;overflow:auto}}

.campaign-world .map-caption span:first-child{font-size:7px}.campaign-world .map-caption span:first-child:after{content:none}@media(max-width:900px){.campaign-world .map-caption span:first-child{font-size:6px}}

/* 1.22 ships chapter three only; future entry snapshots are retained, not launched. */
.campaign-entry{grid-template-columns:1fr 1fr}.campaign-entry .start-note{grid-column:1/-1;margin:4px 0;color:#d6c79d}@media(max-width:700px){.campaign-entry{grid-template-columns:1fr}}

/* Standalone finale: dedicated driving HUD, not a playable tank or infantry sidebar. */
body.escape-run>.hud,body.escape-run>.mission,body.escape-run>.right-tools,body.escape-run>.bottom-hud,body.escape-run>.controls-hint,body.escape-run>.minimap,body.escape-run>#bossPanel,body.escape-run>#warningBanner,body.escape-run>#tutorialHUD,body.escape-run>#tutorialPoint,body.escape-run>#tutorialElite{display:none!important}
.escape-hud{position:fixed;z-index:24;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 24px));padding:12px 18px;box-sizing:border-box;background:#102722eb;border:1px solid #9a986c;border-radius:12px;box-shadow:0 8px 30px #0008;color:#f6edce;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.escape-title{display:flex;flex-direction:column;gap:4px}.escape-title b{font-size:20px}.escape-title small{color:#c3ccb3}.escape-metrics{display:flex;gap:18px}.escape-metrics span{font-size:11px;display:flex;flex-direction:column;gap:5px}.escape-metrics b{font-size:17px;font-variant-numeric:tabular-nums}.escape-hud nav{display:flex;gap:5px}.escape-hud nav button{padding:7px 10px}.escape-hud p{flex-basis:100%;font-size:11px;margin:0;color:#f4c58f}.escape-controls{position:fixed;z-index:25;bottom:max(15px,env(safe-area-inset-bottom));left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.escape-controls>div{display:flex;gap:10px;pointer-events:auto}.escape-controls button{width:75px;height:64px;font-size:22px;background:#142d29e8;border:1px solid #ccb98a;border-radius:12px;touch-action:none;user-select:none}.escape-controls button small{display:block;font-size:11px;color:#a8bfae}.escape-controls button.held{background:#5c7d58}.escape-controls p{position:absolute;bottom:0;left:180px;right:180px;text-align:center;font-size:11px;color:#e3ddc4;text-shadow:0 2px 3px #000;pointer-events:none}.escape-run #pausedLabel{z-index:26}.escape-run .toast{z-index:30}
@media(max-width:900px){.escape-hud{padding:8px 10px;gap:8px}.escape-title b{font-size:16px}.escape-title small{font-size:9px}.escape-metrics{gap:12px}.escape-metrics b{font-size:14px}.escape-hud nav button{padding:6px 8px;font-size:11px}.escape-controls button{width:60px;height:53px;font-size:18px}.escape-controls p{left:140px;right:140px;font-size:9px}}
@media(max-width:520px){.escape-hud{justify-content:center}.escape-title{flex-direction:row;align-items:center;gap:12px;flex-basis:100%}.escape-metrics{flex:1;justify-content:space-between}.escape-hud nav{flex-basis:100%;justify-content:center}.escape-controls{left:10px;right:10px;bottom:20px}.escape-controls>div{gap:7px}.escape-controls button{width:58px}.escape-controls p{bottom:60px;left:0;right:0}.escape-run #pausedLabel{max-width:80vw;font-size:24px}}

/* 1.24 compact per-weapon manual / automatic skill controls. */
.ability.weapon-skill{border-color:#b9a8de99;width:76px}.ability.weapon-skill>span{color:#cfb9ff}.ability.weapon-skill b{font-size:11px}.ability.weapon-skill.cooling{opacity:.65}.ability.weapon-auto{width:56px}.ability.weapon-auto>span{color:#a7d5da}.ability.weapon-auto.running{background:#315f5b;border-color:#9cdbd3}.ability.weapon-auto b{font-size:10px}@media(max-width:900px){.ability.weapon-skill{width:62px}.ability.weapon-skill b{font-size:9px}.ability.weapon-auto{width:49px}.ability.weapon-auto b{font-size:8px}}

/* 1.25: focused enemy inspection and per-combat-skill auto controls. */
.enemy-info{position:absolute;left:0;bottom:calc(100% + 10px);width:350px;max-width:calc(100vw - 24px);border-color:#ba837580;background:linear-gradient(135deg,#302925f5,#171f1cf5)}.enemy-info header{margin-bottom:3px}.enemy-info header button{border:0;background:transparent;color:#dfc0a6;font-size:20px;width:26px;height:24px;line-height:20px}.enemy-info>small{font-size:9px;color:#b8a99b}.enemy-info-stats{display:grid;gap:4px;margin:6px 0;font-size:11px}#enemyInfoSkills{font-size:10px;line-height:1.45;color:#d5cbbb}.enemy-info .mini-meter i{background:#c08470}.combat-auto{width:49px}.combat-auto b{font-size:9px}.combat-auto small{font-size:9px}.combat-auto.running{border-color:#91b797;background:#213b31}
@media(max-width:900px){.enemy-info{width:290px;padding:6px 9px;bottom:calc(100% + 6px)}.enemy-info-stats{font-size:9px;gap:3px;margin:4px 0}#enemyInfoSkills{font-size:8px;line-height:1.35}.enemy-info>small{font-size:8px}.combat-auto{width:42px}.combat-auto b{font-size:8px}.combat-auto small{font-size:8px}.abilities{max-width:66vw;flex-wrap:wrap;justify-content:flex-end}}@media(max-width:480px){.enemy-info{width:230px}.abilities{max-width:49vw}.combat-auto{width:40px}}

/* 1.26: rescue crew stays compact; driving controls remain independent touch targets. */
.escape-crew{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;flex:1 0 100%}.escape-crew-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:3px;border:1px solid #74836b;border-radius:6px;background:#10231f}.escape-crew-card>button{min-width:0;border:0;background:transparent;padding:5px 6px;color:#e8e3ca;text-align:left}.escape-crew-card .crew-auto{font-size:10px;text-align:center;padding:2px;border-left:1px solid #74836b55}.escape-crew-card .crew-auto.running{color:#bdec9c;background:#49653755}.crew-name,.crew-state{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.crew-name{font-weight:bold;font-size:11px}.crew-health{display:block;height:3px;margin:3px 0;background:#081310}.crew-health i{display:block;height:100%;background:#8db56c}.escape-crew-card.dead{opacity:.45}.escape-crew-card.no-ability{grid-template-columns:minmax(0,1fr)}.escape-controls #escapeJumpButton{border-color:#b1d591;background:#2b4936e8}.escape-controls #escapeJumpButton:disabled{opacity:.7}.escape-metrics{min-width:0}.escape-metrics span{white-space:nowrap}.escape-controls button{cursor:pointer}
@media(max-width:900px){.escape-crew-card>button{padding:4px}.crew-name,.crew-state{font-size:9px}.escape-crew-card{grid-template-columns:minmax(0,1fr) 27px}.escape-controls p{left:140px;right:210px}.escape-controls #escapeJumpButton{width:68px}.escape-hud{gap:6px}}
@media(max-width:520px){.escape-crew{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.escape-crew-card>button{padding:3px 5px}.crew-name{font-size:10px}.escape-metrics{gap:7px}.escape-metrics b{font-size:13px}.escape-controls>div{gap:4px}.escape-controls button{width:53px}.escape-controls #escapeJumpButton{width:64px}.escape-controls p{left:0;right:0}.escape-hud{top:7px;width:calc(100% - 16px)}}

.escape-crew-card.has-stream{grid-template-columns:minmax(0,1fr) 27px 30px}.escape-crew-card.has-stream.no-ability{grid-template-columns:minmax(0,1fr) 30px}.escape-crew-card .crew-fire{font-size:9px;text-align:center;padding:2px;border-left:1px solid #74836b55}.escape-crew-card .crew-fire.running{color:#b4dfe5;background:#315f6555}

#escapeCrew[hidden]{display:none!important}#escapeCrewToggle{border-color:#6f9884}.escape-hud nav{flex-wrap:wrap}@media(max-width:520px){.escape-hud nav{gap:4px}.escape-hud nav button{padding:6px 7px}}

/* v1.27: bounded permanent progression, menu only. */
.meta-entry{margin-top:10px;color:#d9baff;border-color:#9270b3;background:#2b2036}.meta-entry span{float:right;font-weight:800}.meta-overlay{z-index:180}.meta-card{width:min(780px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:linear-gradient(145deg,#1d2730,#211e2a);border:1px solid #886da4;border-radius:16px;padding:22px;color:#e7dfcf;box-shadow:0 22px 80px #000a}.meta-card header{display:flex;align-items:center;justify-content:space-between}.meta-card h2{margin:8px 0;font-size:26px;letter-spacing:3px}.meta-card header button{font-size:26px;min-width:42px}.meta-balance{display:flex;gap:18px;align-items:center;margin:14px 0;color:#dab3ff}.meta-balance b{font-size:28px}.meta-balance small{color:#aca5af}.meta-shop{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meta-product{border:1px solid #5c5267;background:#141c25;border-radius:9px;padding:13px;display:flex;flex-direction:column;gap:8px}.meta-product strong{color:#e7cafa}.meta-product p{margin:0;font-size:12px;line-height:1.65;color:#c2bfc6;flex:1}.meta-product button{padding:9px;font-weight:700}.meta-rules,#metaStatus{font-size:12px;line-height:1.7;color:#c6bbc9}.meta-rules{margin:14px 0}#metaStatus{min-height:21px;color:#dbb4ff}.hero-info{display:flex;gap:6px;flex-wrap:wrap;max-width:350px;padding:8px 10px;border-color:#769aad;color:#dceeff}.hero-info small{width:100%;color:#c4d9e0}.hero-info span{font-size:11px;color:#abbfcb}@media(max-width:600px){.meta-card{padding:14px}.meta-shop{grid-template-columns:1fr 1fr;gap:7px}.meta-product{padding:9px}.meta-product strong{font-size:13px}.meta-product button{font-size:11px}.meta-card h2{font-size:21px}.meta-balance{margin:8px 0}.meta-rules{font-size:11px}}
.meta-card header{position:sticky;top:-22px;z-index:2;background:#202630;padding:9px 0;border-bottom:1px solid #61516f}.meta-card header button{flex-shrink:0}@media(max-width:600px){.meta-card header{top:-14px}}

/* 1.28 bounded vehicle choices and added ground-cover action. */
.vehicle-branches{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.vehicle-branches button{padding:10px 8px;text-align:left;line-height:1.5}.vehicle-branches b{display:block;color:#f4dc9b;font-size:12px}.vehicle-branches small{font-size:10px;color:#c7d3b9}.vehicle-branches[hidden]{display:none}#recruitShieldButton,#recruitShieldSupplyButton{margin:7px 0}

/* v1.30 independent companions and explicit hero feeding. */
.charmed-panel{border-color:#9174b4}.charmed-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.charmed-panel header>b{min-width:0;overflow-wrap:anywhere}.charmed-header-actions{display:flex;flex:none;gap:4px}.charmed-header-actions button{white-space:nowrap}.charmed-panel button,.hero-info button{padding:5px 8px;font-size:11px}.charmed-panel small{display:block;max-width:490px}.charmed-panel #charmedRoster{display:flex;gap:4px;overflow-x:auto;margin:5px 0}.charmed-panel #charmedRoster button{min-width:64px;white-space:nowrap;border-color:#76668f}.charmed-panel #charmedRoster button.active{border-color:#d4adff;background:#503463}.charmed-panel #charmedRoster small{font-size:10px}.charm{border-color:#a178bb!important}.hero-feed-card{width:min(860px,94vw);max-height:90vh;overflow:auto;background:#19221f;border:1px solid #a282b6;border-radius:15px;padding:22px;box-shadow:0 22px 80px #0009}.hero-feed-card h2{margin:0}.hero-feed-card p{color:#c3c6b5;font-size:13px}.hero-feed-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:43vh;overflow:auto;margin:14px 0}.hero-feed-list button{min-height:66px;text-align:left;padding:9px}.hero-feed-list button small{display:block;font-size:11px;opacity:.8}.hero-feed-list button.checked{outline:2px solid #d7a4ff;background:#4a3155}.hero-feed-confirm{display:grid;gap:9px}.hero-feed-confirm small{max-height:55px;overflow:auto}.hero-feed-confirm label{font-size:12px;color:#ffcb81}.hero-feed-confirm input{width:auto}.hero-feed-overlay{z-index:1000}.hero-feed-overlay[hidden]{display:none!important}@media(max-width:900px){.charmed-panel{max-width:440px}.hero-feed-card{padding:14px;max-height:94vh}.hero-feed-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:35vh}.hero-info #heroFeedOpen{font-size:10px;padding:3px 6px}.charmed-panel #charmedInfo{max-width:360px;font-size:10px}}

.amethyst-hud{display:grid;grid-template-columns:15px auto;gap:0 4px;align-items:center;color:#d3adf3;padding:4px 8px;border-color:#816398;background:#2b2336;min-width:80px}.amethyst-hud strong{font-size:17px}.amethyst-hud small{grid-column:1/3;font-size:9px;white-space:nowrap}.amethyst-hud.unconfirmed{color:#ffbd85}.amethyst-sources{position:fixed;z-index:750;top:78px;left:50%;transform:translateX(-50%);width:min(420px,90vw);padding:16px;background:#251f30;border:1px solid #9871ae;border-radius:12px;box-shadow:0 12px 40px #0008;font-size:12px;color:#e0d5eb}.amethyst-sources p{line-height:1.5}.amethyst-sources small{color:#c0b3ca}@media(max-width:900px){.amethyst-hud{min-width:65px;padding:3px 5px}.amethyst-hud strong{font-size:14px}.amethyst-hud small{font-size:8px}.resources{gap:7px}.amethyst-sources{top:65px}}

/* Developer-only direct finale test, hidden in initial HTML unless exact dev=1. */
.escape-test-entry{display:block;width:100%;margin:10px 0;border-color:#d9b267;background:linear-gradient(110deg,#39422c,#203b31);color:#f1d79c;font-size:15px;font-weight:650;letter-spacing:1px}.escape-test-entry small{display:block;font-size:10px;font-weight:400;letter-spacing:0;line-height:1.5;margin-top:4px;color:#c3cfaf}

/* Three.js is an independent render-only layer; original input canvas and HUD remain. */
#escape3DCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;touch-action:none}
.escape-test-3d{border-color:#8cd6da;background:linear-gradient(110deg,#1e4b50,#203c36);color:#d7f7e6}.escape-3d-status{z-index:180}.escape-3d-status .help-card{max-width:480px}.escape-3d-status p{font-size:13px;line-height:1.7}.escape-3d-status button{margin-top:9px}

/* User BGM volume controls; preserve the v1.32 escape styles above. */
.sound-panel .vol-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;margin-top:14px;color:var(--muted);font-size:13px}.sound-panel .vol-row output{color:var(--gold);font-variant-numeric:tabular-nums}.sound-panel .vol-row input[type=range]{grid-column:1/-1;width:100%;min-height:28px;accent-color:var(--jade);cursor:pointer}
#musicStatus{display:block;margin:12px 0 8px;line-height:1.5;color:var(--muted)}

/* The race is exclusively WebGL; keep the campaign input canvas out of the escape view. */
body.escape-run>#battlefield{visibility:hidden}

/* Chapter six: compact driving HUD, a real pursuing-core health bar and optional crew cards. */
.escape-hud{display:block;width:min(1080px,calc(100% - 24px));padding:9px 12px;border-color:#6c9b91;background:linear-gradient(115deg,#102b2bf0,#172a30ed);top:max(8px,env(safe-area-inset-top));border-radius:10px}
.escape-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.escape-title{gap:2px;min-width:0}.escape-title b{font-size:17px;letter-spacing:1px}.escape-title small{font-size:10px;white-space:nowrap}.escape-heading nav{flex-wrap:nowrap;gap:5px}.escape-heading nav button{font-size:11px;padding:6px 10px;min-height:30px;white-space:nowrap}
.escape-dashboard{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}.escape-metrics{justify-content:space-between;gap:10px}.escape-metrics span{font-size:9px;gap:3px;color:#acbfb8}.escape-metrics b{font-size:14px;color:#e5eed3}.escape-boss{min-width:0}.escape-boss>div:first-child{display:flex;justify-content:space-between;gap:9px;font-size:11px;color:#f2bbb9}.escape-boss>div:first-child span{font-variant-numeric:tabular-nums;white-space:nowrap}.escape-boss-meter{height:5px;background:#12201e;margin:4px 0;border-radius:4px;overflow:hidden}.escape-boss-meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#c55f80,#efab89)}.escape-boss small{display:block;font-size:9px;color:#c5b9bc}.escape-boss.defeated>div:first-child,.escape-boss.defeated small{color:#b5dbac}.escape-boss.defeated .escape-boss-meter{background:#375c46}
.escape-hud #escapeCrew{margin-top:9px}.escape-hud p{margin:7px 0 0;line-height:1.5}.escape-hud #escapeSaveNote{font-size:9px;color:#c5c8ae}.escape-crew-card.incapacitated{border-color:#c8a273;background:#393128;opacity:.8}.escape-crew-card.incapacitated .crew-state{color:#f0c78b}
@media(max-width:900px){.escape-hud{padding:7px 10px;width:calc(100% - 18px)}.escape-title b{font-size:14px}.escape-title small{font-size:9px}.escape-dashboard{gap:14px}.escape-heading{margin-bottom:6px}.escape-heading nav button{padding:5px 8px;font-size:10px;min-height:28px}.escape-metrics b{font-size:12px}.escape-boss>div:first-child{font-size:10px}.escape-controls{bottom:max(10px,env(safe-area-inset-bottom))}.escape-controls button{height:48px}.escape-controls p{bottom:0;font-size:9px}}
@media(max-width:520px){.escape-heading{gap:5px;align-items:flex-start}.escape-title{flex-direction:column;align-items:flex-start;flex-basis:auto;gap:3px}.escape-title b{font-size:12px;letter-spacing:0}.escape-title small{max-width:146px;white-space:normal;font-size:8px}.escape-heading nav{gap:3px;flex-basis:auto;justify-content:flex-end}.escape-heading nav button{font-size:9px;padding:5px;min-width:28px}.escape-dashboard{grid-template-columns:1fr;gap:7px}.escape-metrics span{font-size:8px}.escape-metrics b{font-size:12px}.escape-boss small{font-size:8px}.escape-controls p{bottom:52px}.escape-crew-card>button{min-height:38px}}

/* Main-menu cover: generated scenery only; every title, balance and action is live DOM. */
#overlay.menu-cover{background:linear-gradient(90deg,#03100cc2,#0417133d 25%,#0417134d 75%,#03100c9c),url('assets/menu-background.webp') center center/cover no-repeat;backdrop-filter:none;padding:22px 18px;align-items:center}
.menu-cover .briefing{width:min(650px,100%);padding:20px 30px;background:radial-gradient(ellipse,#031612b3,#03161200 76%);color:#e6dfbf}
.menu-cover .eyebrow{color:#d3bd7c;font-size:10px;letter-spacing:4px}.menu-cover .title-mark{font-size:44px;line-height:1;margin:20px 0 10px;color:#dfc47f}.menu-cover h1{font-family:'Noto Serif SC','Songti SC','STSong',serif;font-size:clamp(44px,6vw,80px);font-weight:700;letter-spacing:.16em;padding-left:.16em;color:#f1d58e;text-shadow:0 3px 2px #0009,0 0 38px #b78b3c38}.menu-cover h2{font-size:15px;letter-spacing:5px;color:#e1d9b8;margin:14px 0 22px}.menu-cover .intro{font-size:15px;line-height:1.9;color:#e4dfca;margin:16px 0}.menu-divider{display:flex;align-items:center;gap:14px;justify-content:center;color:#c5a868;margin:18px auto 20px;width:76%;font-size:15px}.menu-divider:before,.menu-divider:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#ad8c46);flex:1}.menu-divider:after{transform:rotate(180deg)}
.primary-menu{width:100%;display:flex;flex-direction:column;gap:11px}.menu-cover .start-button{width:100%;height:65px;border-radius:3px;border:2px solid #f3d896;outline:1px solid #a98340;outline-offset:3px;background:linear-gradient(112deg,#bd934e,#f3dda3 46%,#c29c55);color:#18231a;font-family:'Noto Serif SC','Songti SC',serif;font-size:25px;font-weight:700;letter-spacing:6px;box-shadow:inset 0 0 0 2px #71522255,0 7px 30px #0008}.menu-cover .start-button:hover:not(:disabled){background:linear-gradient(112deg,#e0bd76,#fff0bb,#d7b674);border-color:#fff0bf}.menu-cover .start-button.menu-continue{background:linear-gradient(115deg,#092e26e6,#0b211bf5);color:#eee0b0;border-color:#bfa364;font-size:20px;outline-color:#735e35}.menu-cover .start-button:disabled{opacity:.48;filter:saturate(.45);cursor:not-allowed}.primary-menu>small{color:#a8baaa;font-size:11px;letter-spacing:.3px;min-height:16px}.menu-secondary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}.menu-secondary button{border-radius:3px;min-height:47px;border:1px solid #b4975e;background:#0b241fe6;color:#e6dcba;font-size:13px}.menu-secondary .meta-entry{margin:0;background:linear-gradient(130deg,#342241ed,#1b1526ed);border-color:#9e7bb3;color:#efe1ff;letter-spacing:1px}.menu-secondary #metaMenuWallet{display:inline-block;color:#d6aff2;margin-left:8px;font-size:18px}.menu-tertiary{display:flex;justify-content:center;gap:28px;margin:12px 0 0}.menu-tertiary button{color:#d6c387;font-size:12px}.menu-cover .start-note{font-size:11px;margin:14px 0;color:#b0c2af}.menu-cover .edition{margin-top:16px;font-size:8px;letter-spacing:3px;color:#a6b09b}.developer-menu{text-align:left;border-top:1px solid #a084414a;margin:14px 0 0;padding-top:10px;font-size:11px;color:#c7b77f}.developer-menu summary{cursor:pointer;padding:6px}.developer-menu button{margin:8px 0 0;font-size:11px;min-height:38px}.developer-menu .escape-test-entry{border:1px solid #947ac3;background:#241f34}
.character-overlay{z-index:130;background:#03110ee6;backdrop-filter:blur(8px)}.character-card{width:min(930px,100%);max-height:calc(100dvh - 30px);overflow:auto;background:linear-gradient(140deg,#102b25f5,#071813f5);border:1px solid #b89a56;border-radius:8px;padding:26px;box-shadow:0 25px 100px #000b}.character-card header{display:flex;justify-content:space-between;align-items:center}.character-card h2{font-family:'Noto Serif SC','Songti SC',serif;font-weight:500;letter-spacing:5px;font-size:31px;margin:10px 0;color:#eddbab}.character-intro{font-size:12px;line-height:1.7;color:#b7c5ae}.character-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.character-option{min-height:220px;border:1px solid #677b64;border-radius:7px;padding:19px 12px;background:linear-gradient(155deg,#24372b,#0b1e19);color:#e2ddbd;text-align:center;position:relative}.character-option.active{border-color:#ead08f;box-shadow:0 0 0 2px #c8a96766,inset 0 0 35px #d1b56912}.character-option.active:after{content:'已选择';position:absolute;right:8px;top:8px;font-size:10px;color:#e9cb87}.character-option .character-symbol{font-size:48px;color:#dfc28a;display:block;line-height:1.3;margin-bottom:10px}.character-option b{display:block;font-size:19px;font-weight:500;letter-spacing:2px}.character-option small{display:block;font-size:11px;line-height:1.6;margin:8px 0;color:#b8c9b5}.character-option p{font-size:11px;line-height:1.8;color:#a5b7a1}.character-option em{display:inline-block;font-size:11px;font-style:normal;border-top:1px solid #8d9c6e44;padding-top:10px;color:#ddc78c}.character-option:disabled{opacity:.55;filter:saturate(.25)}.character-option.siren-option{background:linear-gradient(145deg,#35273e,#15241f)}.siren-option .character-symbol{color:#d3b3ed}.character-status{min-height:38px;color:#d8ceae;font-size:12px;line-height:1.8}.character-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}.character-actions>button{min-height:45px}.character-footnote{display:block;font-size:10px;line-height:1.7;color:#99ae9b;margin-top:15px}.front-menu #soundPanel{z-index:195;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);max-height:80dvh}.charm-heal{border-color:#7caa8a!important}.charm-heal>span{color:#b5e8c7}
@media(max-height:620px) and (min-width:700px){#overlay.menu-cover{align-items:flex-start;padding:12px 18px}.menu-cover .briefing{width:600px;padding:8px 26px}.menu-cover .title-mark{margin:8px 0 5px;font-size:27px}.menu-cover h1{font-size:48px}.menu-cover h2{margin:5px 0 10px;font-size:11px}.menu-cover .intro{font-size:11px;line-height:1.6;margin:8px 0}.menu-divider{margin:8px auto 12px}.menu-cover .start-button{height:44px;font-size:19px}.menu-cover .start-button.menu-continue{font-size:16px}.primary-menu{gap:9px}.primary-menu>small{font-size:9px;min-height:10px}.menu-secondary{margin-top:10px;gap:10px}.menu-secondary button{min-height:37px;font-size:11px}.menu-tertiary{margin:5px 0;gap:20px}.menu-cover .start-note,.menu-cover .edition{margin:6px 0;font-size:8px}.menu-cover .edition{display:none}.character-card{padding:16px 22px}.character-card h2{font-size:24px;margin:5px 0}.character-intro{margin:4px 0}.character-choices{margin:12px 0;gap:10px}.character-option{min-height:145px;padding:12px 8px}.character-option .character-symbol{font-size:28px;margin-bottom:5px}.character-option b{font-size:16px}.character-option small{margin:5px 0}.character-option p{margin:4px 0}.character-option em{padding-top:5px}.character-status{min-height:20px;margin:8px 0}.character-footnote{margin-top:8px}}
@media(max-width:699px){#overlay.menu-cover{padding:18px 16px}.menu-cover .briefing{padding:15px 4px}.menu-cover .eyebrow{font-size:7px;letter-spacing:2px}.menu-cover .title-mark{font-size:34px;margin:14px 0 10px}.menu-cover h1{font-size:clamp(38px,10vw,58px);letter-spacing:.1em;padding-left:.1em}.menu-cover h2{font-size:11px;letter-spacing:3px;margin:12px 0 20px}.menu-cover .intro{font-size:12px}.menu-cover .start-button{height:57px;font-size:22px}.menu-cover .start-button.menu-continue{font-size:18px}.menu-secondary{gap:9px}.menu-secondary button{font-size:11px}.character-card{padding:17px}.character-card h2{font-size:26px}.character-choices{grid-template-columns:1fr;gap:10px;margin:14px 0}.character-option{min-height:100px;padding:14px 14px 14px 76px;text-align:left}.character-option .character-symbol{position:absolute;left:20px;top:25px;font-size:32px}.character-option b{font-size:17px}.character-option small{margin:5px 0}.character-option p{margin:5px 0;font-size:10px}.character-option em{padding-top:5px}.character-actions{align-items:stretch;flex-direction:column-reverse;gap:9px}.character-actions .start-button{width:100%}.character-footnote{font-size:10px}}

/* Siren level-up rewards are real DOM, and pause the existing simulation. */
.siren-choice-overlay{z-index:220;background:rgba(3,9,13,.88);overflow:auto;align-items:center;padding:20px}
.siren-choice-card{width:min(960px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:linear-gradient(145deg,#18292c,#151b29);border:1px solid #b79760;border-radius:14px;box-shadow:0 20px 90px #000b;padding:clamp(18px,3vw,32px);color:#e8e8d6}
.siren-choice-card h2{color:#edcc8e;font-size:clamp(24px,4vw,34px);margin:8px 0}.siren-choice-card>p{line-height:1.6;color:#bdc9c8}
.siren-choice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.siren-choice-option{display:flex;flex-direction:column;gap:10px;min-height:230px;background:linear-gradient(150deg,#253638,#252035);border:1px solid #657b76;border-radius:10px;color:#e8ede5;padding:20px;text-align:left;touch-action:manipulation}.siren-choice-option:hover{border-color:#d8bb83;background:#2c3c3c}.siren-choice-option b{font-size:21px;color:#e1c88e}.siren-choice-option small{color:#a9d5c9}.siren-choice-option p{font-size:15px;line-height:1.7;margin:0;flex:1}.siren-choice-option em{font-style:normal;text-align:center;border-top:1px solid #60736c;padding-top:10px;color:#efe2b8}.siren-choice-note{font-size:12px;max-width:80ch}.siren-choice-card>button{padding:10px 18px;background:#172825;color:#d8e4d5;border:1px solid #5c7168;border-radius:6px}
.siren-skill-actions{display:flex;gap:6px;align-items:stretch;width:min(540px,60vw);max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;pointer-events:auto;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:#8e77a5 #17202a;padding-bottom:5px}.siren-skill-actions[hidden]{display:none}.siren-learned{display:flex;flex-direction:column;flex-shrink:0;max-width:108px}.siren-learned .ability{width:100%;min-width:90px;border-color:#7b668a}.siren-skill-auto{font-size:10px;padding:3px 5px;border:1px solid #5f6574;color:#cfd7db;background:#18202c;border-radius:0 0 5px 5px}.siren-passive{display:flex;flex-direction:column;justify-content:center;padding:7px 9px;background:#222331;border:1px solid #645777;border-radius:6px;max-width:100px;font-size:12px;color:#d8cbea;flex-shrink:0}.siren-passive small{font-size:10px;color:#aab4bf}
@media(max-width:600px){.siren-choice-overlay{padding:10px;align-items:flex-start}.siren-choice-card{max-height:calc(100dvh - 20px);padding:16px}.siren-choice-options{grid-template-columns:1fr;gap:10px;margin:12px 0}.siren-choice-option{min-height:0;padding:14px;gap:6px}.siren-choice-option p{font-size:13px}.siren-choice-option b{font-size:18px}}
@media(max-height:500px) and (min-width:601px){.siren-choice-overlay{padding:10px;align-items:flex-start}.siren-choice-card{max-height:calc(100dvh - 20px);padding:15px}.siren-choice-options{margin:12px 0}.siren-choice-option{padding:12px;min-height:180px}.siren-choice-option p{font-size:12px}.siren-choice-note{font-size:11px}}



/* World-space merchant entry: fixed CSS-size hit target, never part of equipment toolbar. */
.merchant-world-button{position:fixed;z-index:18;transform:translate(-50%,-100%);width:64px;height:32px;min-height:32px;padding:0 10px;border:1px solid #dec17b;border-radius:7px;background:#142d24f5;color:#ffe5a5;font-size:13px;line-height:30px;box-shadow:0 3px 12px #0009;touch-action:manipulation;pointer-events:auto;white-space:nowrap}
.merchant-world-button[hidden]{display:none!important}
.merchant-world-button:focus-visible{outline:2px solid #fff0bd;outline-offset:3px}


/* True simulation cooldown: clockwise radial reveal; no CSS countdown/loading loop. */
.cooldown-host{position:relative;isolation:isolate}
.cooldown-host.cooldown-known:before{content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0deg var(--cooldown-sweep),rgba(0,4,10,.76) var(--cooldown-sweep) 360deg);z-index:0;pointer-events:none}
.cooldown-host>span,.cooldown-host>b,.cooldown-host>small{position:relative;z-index:1}
.cooldown-host.cooldown-active>span:first-child{opacity:.16}
.cooldown-host>.cooldown-value{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;font:700 20px/24px system-ui,sans-serif;font-style:normal;letter-spacing:0;color:#fff3ce;text-shadow:0 2px 4px #000,0 0 3px #000;white-space:nowrap}
.cooldown-host.cooldown-unknown>.cooldown-value{font-size:12px}
.cooldown-host.cooldown-active:disabled{opacity:1;cursor:not-allowed}
.cooldown-host.cooldown-active>b,.cooldown-host.cooldown-active>small{color:#d4d8cd;text-shadow:0 1px 2px #000}
.cooldown-host>.cooldown-value[hidden]{display:none}
.cooldown-ready-flash{animation:cooldownReady .35s ease-out}
@keyframes cooldownReady{from{box-shadow:inset 0 0 18px #f2dda3,0 0 8px #e9d68b}to{box-shadow:inset 0 0 0 transparent}}
.crew-main.cooldown-active>.crew-name{opacity:1}.crew-main>.cooldown-value{top:50%;transform:translate(-50%,-50%);font-size:16px}.crew-main.cooldown-active>.crew-state{opacity:.35}
#escapeJumpButton>.cooldown-value{top:50%;transform:translate(-50%,-50%)}
@media(max-width:900px){.ability>.cooldown-value{top:4px;font-size:17px;line-height:22px}.ability.cooldown-unknown>.cooldown-value{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cooldown-ready-flash{animation:none;outline:1px solid #e9d68b}}

/* Summon portraits: preserve all skill-card sizing and bottom alignment. */
.charmed-panel{max-width:min(440px,calc(100vw - 32px))}.charmed-panel #charmedRoster{gap:5px;margin:5px 0 0;align-items:flex-end;scrollbar-width:thin}.charmed-panel #charmedRoster .summon-card{position:relative;flex:0 0 58px;min-width:58px;width:58px;padding:4px;display:flex;flex-direction:column;gap:4px;white-space:normal;background:#13231f;border:1px solid #76668f;border-radius:5px}.summon-portrait{display:block;width:48px;height:48px;pointer-events:none}.charmed-panel #charmedRoster .summon-card.elite{border-color:#d7b963;box-shadow:inset 0 0 6px #c9a34f44}.summon-card:focus-visible{outline:2px solid #e3c7ff;outline-offset:-2px}.summon-health{display:block;align-self:stretch;height:6px;background:#261e26;border:1px solid #08150f;border-radius:2px;overflow:hidden;pointer-events:none}.summon-health i{display:block;height:100%;background:#80cd8f}.summon-card.low-health .summon-health i{background:#e78c79}.charmed-detail{position:fixed;z-index:1200;box-sizing:border-box;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:10px 12px;border:1px solid #a48bbf;border-radius:7px;background:#172323f5;color:#f2e7d4;box-shadow:0 5px 20px #0009;font-size:12px;pointer-events:auto}.charmed-detail p{margin:5px 0}.charmed-detail small{display:block;line-height:1.4;color:#b9c5c2}.charmed-detail[hidden]{display:none!important}
body.legacy-ui .charmed-panel #charmedRoster{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:100%;gap:5px}body.legacy-ui .charmed-panel #charmedRoster .summon-card{flex:0 0 58px;min-width:58px;min-height:66px}

/* Refund remains readable near the top of the permanent shop at 390px. */
.meta-refund{margin:10px 0 16px;padding:11px;border:1px solid #a082ad;border-radius:8px;background:#302536}.meta-refund button{width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6;padding:10px;font-size:13px}.meta-refund p{font-size:11px;line-height:1.75;margin:7px 0 0;color:#cec0d5}.meta-refund #metaRefundPreview{color:#f1d5ff;font-weight:600}@media(max-width:600px){.meta-refund{padding:9px}.meta-refund button{font-size:12px}.meta-refund p{font-size:10px}}

/* Scroll only the detail popup; roster and skill geometry remain unchanged. */
.charmed-detail{width:300px;max-width:calc(100vw - 16px);max-height:min(480px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain}.unit-detail-attributes{white-space:pre-line;line-height:1.65;font-size:12px;border-top:1px solid #a48bbf55;border-bottom:1px solid #a48bbf55;padding:7px 0;margin:7px 0;color:#d8e2de}

/* Keep repeated-upgrade targets stationary while status and amounts change. */
.meta-card #metaStatus{height:4.25em;min-height:4.25em;max-height:4.25em;overflow:auto;margin:8px 0;box-sizing:content-box}.meta-refund #metaRefundPreview{height:3.5em;min-height:3.5em;max-height:3.5em;overflow:auto;font-variant-numeric:tabular-nums}.meta-product strong{height:2.8em;min-height:2.8em;line-height:1.4;overflow:auto;font-variant-numeric:tabular-nums}.meta-product button,.meta-balance{font-variant-numeric:tabular-nums}

.meta-refund #metaRefundButton{height:52px;min-height:52px;max-height:52px;overflow:auto;box-sizing:border-box}

/* Bag services share one compact row; recipients stay in the accessible label/title. */
#armoryPanel .bag-services .craft-actions{width:100%;flex:1;flex-wrap:nowrap}#armoryPanel .bag-services .craft-actions>button{flex:1 1 0;min-width:0;white-space:nowrap}#armoryPanel .bag-auto-equip-result{margin:0 0 8px;overflow-wrap:anywhere}

/* Squad overview is read-only; action inventory remains the original local pool. */
#armoryPanel .gear-units button[data-bag-overview]{width:auto;min-width:64px;padding:2px 6px}.bag-overview-unit{border:1px solid #56766170;border-radius:6px;padding:6px;margin:6px 0;background:#102b23}.bag-overview-unit header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.bag-overview-unit header>b{font-size:11px;min-width:0;overflow-wrap:anywhere}.bag-overview-unit header button{font-size:10px;padding:3px 7px;min-height:28px;flex-shrink:0}#armoryPanel[data-overview="true"] .bag-inspector{min-width:0}#armoryPanel[data-overview="true"] .bag-cell .cell-index{color:#e5d299;font-size:8px}
#armoryPanel[data-overview="true"] #equippedSlots{display:block;max-height:360px;overflow:auto;touch-action:pan-y}#armoryPanel[data-overview="true"] .bag-overview-unit .gear-slot b{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){#armoryPanel[data-overview="true"] .bag-layout{display:flex;flex-direction:column}#armoryPanel[data-overview="true"] .bag-inspector{order:-1;margin:0 0 8px;border-top:0;border-bottom:1px solid #72977942;padding:0 0 8px}#armoryPanel[data-overview="true"] #equippedSlots{max-height:250px}}

/* Boss-clear rescue action: fixed right rail; original skill sizes are untouched. */
.rescue-exit-action{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:4px;width:164px;min-height:72px;padding:10px 9px;background:linear-gradient(135deg,#3c4b24,#173e31);border:2px solid #e8cd78;box-shadow:0 0 16px #ebc75d44;text-align:left;flex-shrink:0}
.rescue-exit-action>span{grid-row:1/3;font-size:28px;color:#f6df93}.rescue-exit-action>b{font-size:16px;white-space:nowrap;color:#ffedbb}.rescue-exit-action>small{font-size:10px;line-height:1.4;color:#d6e7c4}.rescue-exit-action:disabled{opacity:.78}
body.has-rescue-action.legacy-ui .right-tools{max-height:var(--rescue-tools-height,65vh);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:3px;align-items:center}body.has-rescue-action.legacy-ui .right-tools>.rescue-exit-action{position:sticky;top:0;z-index:2;grid-column:1/-1}body.has-rescue-action.legacy-ui .right-tools>.tool-button,body.has-rescue-action.legacy-ui .right-tools>.zoom-control{flex-shrink:0}
@media(max-width:900px){body.has-rescue-action.legacy-ui .right-tools{width:138px;grid-template-columns:1fr 1fr;justify-items:center}.has-rescue-action .rescue-exit-action{width:130px;min-height:66px;padding:7px 5px;grid-template-columns:18px 1fr}.has-rescue-action .rescue-exit-action>b{font-size:13px}.has-rescue-action .rescue-exit-action>span{font-size:22px}.has-rescue-action .rescue-exit-action>small{font-size:9px}}
@media(max-height:500px) and (min-width:600px){body.has-rescue-action.legacy-ui .right-tools{display:flex;flex-direction:row;align-items:center;width:auto;max-width:calc(100vw - 24px);height:78px;overflow-x:auto;overflow-y:hidden;gap:5px}body.has-rescue-action.legacy-ui .right-tools>.rescue-exit-action{position:static;order:10}body.has-rescue-action.legacy-ui .right-tools>.zoom-control{width:80px}}
/* One stable siren shop slot: unlock and training share button/description geometry. */
.meta-product[data-meta-product="heroSiren"] p{height:9.9em;min-height:9.9em;max-height:9.9em;flex:none;overflow:auto}
