:root{color-scheme:dark;--bg:#0b1412;--panel:#111d19;--panel2:#16231e;--line:#28362f;--line2:#33453b;--text:#e9edde;--muted:#97a79b;--subtle:#64786c;--accent:#bdd780;--accent2:#9dbf69;--danger:#db805b;--gold:#cdb478;--shadow:0 12px 50px #0005;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{background:radial-gradient(ellipse at 50% -10%,#263b2b 0,transparent 45%),var(--bg);overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.app-shell{max-width:1800px;margin:0 auto;min-height:100svh;padding:0 22px 22px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);margin-bottom:16px}.brand{display:flex;align-items:center;gap:14px;min-width:250px}.brand-mark{display:grid;place-items:center;width:41px;height:41px;transform:rotate(-45deg);border:1.5px solid var(--accent);color:var(--accent);box-shadow:inset 0 0 0 4px #1a3123;font-weight:1000;letter-spacing:-4px}.brand-mark span{transform:rotate(45deg);font-size:15px;margin-right:3px}.brand-kicker,.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.65px;color:#a5b5a5}.brand-kicker .accent{color:var(--accent)}.brand h1{font-size:18px;font-weight:900;letter-spacing:1.2px;line-height:1.3}.brand h1 span{color:var(--accent)}.top-metrics{display:flex;align-self:stretch;justify-content:center;gap:0}.metric{min-width:120px;display:flex;flex-direction:column;justify-content:center;padding:0 22px;border-left:1px solid var(--line)}.metric span{font-weight:700;letter-spacing:1.25px;color:var(--subtle);font-size:10px;margin-bottom:5px}.metric strong{font-family:Consolas,"Courier New",monospace;font-size:22px;letter-spacing:-.6px}.top-actions{display:flex;align-items:center;gap:18px}.saved{font-size:9px;letter-spacing:1.05px;font-weight:800;color:var(--muted);white-space:nowrap}.dot,.online-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px;box-shadow:0 0 9px #bdd78070}.icon-btn,.world-tool{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line2);background:#18251e;border-radius:6px;font-weight:850}.content-grid{display:grid;grid-template-columns:minmax(230px,255px) minmax(480px,1fr) minmax(242px,275px);gap:14px;align-items:stretch;min-height:min(870px,calc(100svh - 130px))}.sidebar{min-height:0;display:flex;flex-direction:column;gap:12px}.panel{background:linear-gradient(130deg,#17251e,#101c17 85%);border:1px solid var(--line);border-radius:8px;padding:19px;box-shadow:0 10px 30px #020a0520}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.heading-symbol{font-size:17px;color:#6b806e}.panel h2{font-size:17px;letter-spacing:.1px;font-weight:750;margin:0 0 15px}.resources{display:flex;flex-direction:column;gap:13px}.resource{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px}.res-icon{width:33px;height:33px;border-radius:6px;background:#25352a;display:grid;place-items:center;font-size:19px;font-weight:850}.res-name{font-size:12px;color:#cbd6c7;font-weight:650}.res-rate{font-size:10px;color:var(--subtle);font-variant-numeric:tabular-nums;margin-top:2px}.res-count{font-family:Consolas,monospace;font-size:18px;color:#f4f7eb;font-weight:750}.rate-good{color:#a4cd7c}.rate-bad{color:#e99973}.capacity-line{border-top:1px solid var(--line);margin-top:17px;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.capacity-line span{font-size:9px;color:var(--subtle);font-weight:750;letter-spacing:1px}.capacity-line strong{font-family:Consolas,monospace;font-size:14px}.overview-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:12px;color:#9eb09f}.overview-row strong{color:var(--text);font-family:Consolas,monospace;font-size:12px}.danger-track{height:5px;width:100%;background:#334138;border-radius:4px;overflow:hidden;margin-top:10px}.danger-track>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--danger));width:20%;border-radius:4px}.microcopy{font-size:10px;color:var(--subtle);margin-top:10px;line-height:1.4}.mission-panel{flex:1}.quests{display:flex;flex-direction:column;gap:14px}.quest{display:flex;align-items:flex-start;gap:9px}.quest-check{flex:none;margin-top:1px;display:grid;place-items:center;width:17px;height:17px;border:1px solid #607360;border-radius:3px;font-size:11px;color:var(--accent)}.quest.done .quest-check{background:#60763b;color:#e5f2b6;border-color:#60763b}.quest-name{font-size:12px;font-weight:650;color:#dee8d8}.quest.done .quest-name{text-decoration:line-through;color:#819485}.quest-help{font-size:10px;color:#748979;line-height:1.35;margin-top:3px}.primary-button{border:1px solid #e1edaa;background:linear-gradient(120deg,#c5db8b,#a8c675);color:#1c2b18;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 15px;font-size:11px;letter-spacing:.9px;text-align:left;box-shadow:0 4px 0 #65794c,0 9px 25px #0005}.primary-button:active{transform:translateY(2px);box-shadow:0 2px 0 #65794c}.primary-button strong{display:block;font-size:12px;font-weight:900}.primary-button small{display:block;font-size:9px;letter-spacing:0;margin-top:5px;opacity:.7}.next-day-icon{font-size:27px;font-weight:300}.next-arrow{font-size:20px}.next-day{margin-top:auto}.world-panel{position:relative;border:1px solid #34473b;background:#253728;overflow:hidden;border-radius:9px;box-shadow:var(--shadow);min-height:640px}.world-panel canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.world-panel canvas:active{cursor:grabbing}.world-topbar{position:absolute;top:15px;left:16px;right:16px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}.world-location{background:#0d1814e9;padding:12px 15px;border:1px solid #344b3c;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:1.2px;box-shadow:0 8px 26px #0005}.world-location small{display:block;font-size:9px;color:#879c8a;margin:7px 0 0 15px}.world-tools{display:flex;align-items:center;gap:6px;pointer-events:auto;background:#101c17e6;padding:5px;border:1px solid #344b3c;border-radius:6px}.world-tool{border:0;background:#27382b;width:29px;height:29px;font-size:18px}.world-tool:hover{background:#425741}.world-tools>span{font-family:Consolas,monospace;font-size:11px;min-width:36px;text-align:center}.world-hint{position:absolute;bottom:192px;left:16px;background:#0c1713d6;border:1px solid #3a5143;border-radius:5px;padding:8px 12px;pointer-events:none;color:#d4deca;font-size:9px;letter-spacing:.8px;font-weight:700;z-index:2;max-width:calc(100% - 32px)}.building-toolbar{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid #516a50;background:linear-gradient(#15251ff5,#101d19fc);padding:13px 14px 15px;box-shadow:0 -10px 45px #0007}.toolbar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.toolbar-header h3{font-size:15px;margin-top:3px}.toolbar-actions{display:flex;gap:5px;flex-wrap:wrap}.minor-btn{background:#1c2d23;border:1px solid #394c3c;border-radius:5px;padding:8px 10px;font-size:10px;letter-spacing:.25px;font-weight:800;color:#a4b4a0;white-space:nowrap}.minor-btn.is-active{background:#b9d17b;color:#253520;border-color:#c7de8e}.building-list{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 7px;scrollbar-color:#465849 transparent;scrollbar-width:thin}.building-card{position:relative;flex:none;width:89px;min-height:100px;padding:8px 7px 7px;background:#1b2b23;border:1px solid #34493a;border-radius:7px;text-align:center;transition:background .13s,border .13s}.building-card:hover{border-color:#91b075;background:#243a2b}.building-card.is-selected{border-color:#d0e797;background:#344830;box-shadow:inset 0 0 0 1px #b2ca79}.building-card.is-unaffordable{opacity:.66}.building-emoji{display:block;font-size:28px;line-height:36px;color:#c3d996}.building-name{font-size:10px;font-weight:800;margin-top:4px;white-space:nowrap}.building-cost{font-family:Consolas,monospace;font-size:10px;color:#9bae9a;margin-top:5px;white-space:nowrap}.building-card.is-selected .building-cost{color:#d6e9c7}.inspector-panel{min-height:340px}.inspector-empty{border:1px dashed #395044;background:#1b2c23;min-height:153px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;color:#aabca5;gap:9px}.empty-symbol{font-size:39px;color:#9dbb75}.inspector-empty p{font-size:11px;line-height:1.5;max-width:205px}.inspector-type{font-size:11px;color:#a8bd9f;line-height:1.55;margin:10px 0}.inspector-visual{font-size:37px;background:#24362b;border:1px solid #3c5340;width:70px;height:70px;border-radius:9px;display:grid;place-items:center}.inspector-meta{display:flex;align-items:center;gap:12px}.inspector-data{font-size:11px;line-height:2.1;color:#94a991}.inspector-data strong{font-size:12px;color:var(--text);font-family:Consolas,monospace}.work-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;gap:8px}.work-row>span{font-size:11px;font-weight:650;color:#bccdb7}.stepper{display:flex;align-items:center;gap:8px}.stepper button{background:#324738;width:27px;height:27px;border-radius:5px;border:1px solid #52694b;font-size:18px}.stepper strong{font-family:Consolas,monospace;font-size:14px;min-width:22px;text-align:center}.inspector-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.action-btn{border:1px solid #50694a;background:#293f30;border-radius:5px;font-weight:800;padding:9px 11px;font-size:10px}.action-btn:hover{border-color:#b1cb84}.action-btn.danger{color:#dd987a;border-color:#5b4138}.activity-panel{flex:1;min-height:240px;display:flex;flex-direction:column}.activity{overflow-y:auto;display:flex;flex-direction:column;gap:12px;max-height:360px;padding-right:4px;scrollbar-width:thin;scrollbar-color:#405849 transparent}.event{border-left:2px solid #536b51;padding:1px 0 1px 11px}.event.important{border-color:#b8d47c}.event.alert{border-color:#d37f61}.event-day{font-size:9px;color:#8da58c;font-weight:800;letter-spacing:.7px}.event-text{color:#bfcdbe;font-size:11px;line-height:1.5;margin-top:3px}.save-panel{display:flex;flex-wrap:wrap;gap:6px}.ghost-button{font-size:10px;padding:10px 6px;background:transparent;border:1px solid #304339;border-radius:5px;color:#a7b8a3;flex:1;white-space:nowrap}.ghost-button:hover{border-color:#9dbb82}.mobile-footer{display:none}#toast{position:fixed;z-index:50;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;background:#203629;color:#e9f2df;border:1px solid #68845e;border-radius:6px;padding:12px 18px;box-shadow:0 20px 40px #0009;font-size:12px;font-weight:700;max-width:92vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{border-color:#ac654c;color:#f5c4ad}.modal-backdrop{position:fixed;inset:0;background:#010605c9;z-index:40;display:grid;place-items:center;padding:18px}.modal-backdrop.hidden{display:none}.modal{position:relative;width:min(530px,100%);background:#14241b;border:1px solid #56704b;border-radius:10px;padding:30px;box-shadow:0 30px 120px #000}.modal-close{position:absolute;right:16px;top:14px;background:none;border:0;color:#a8ba9b}.modal h2{font-size:26px;line-height:1.2;margin:16px 0}.modal h2 span{color:var(--accent)}.modal p{font-size:13px;color:#b0c3ac;line-height:1.65;margin-bottom:18px}.modal dl{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:15px;background:#1b2e22;border-radius:6px;margin:0 0 24px}.modal dt{font-weight:900;color:var(--accent);font-size:10px;letter-spacing:.8px}.modal dd{font-size:11px;color:#b3c6b0;line-height:1.5;margin:0}.modal>.primary-button{width:100%;justify-content:center}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#49604e;border-radius:10px}
@media(max-width:1350px){.app-shell{padding:0 12px 12px}.content-grid{grid-template-columns:218px minmax(400px,1fr) 231px;gap:9px}.panel{padding:14px}.metric{min-width:97px;padding:0 15px}.brand{min-width:225px}.brand h1{font-size:16px}.world-hint{bottom:188px}.minor-btn span{display:none}}
@media(max-width:1050px){.topbar{height:77px}.top-metrics .metric{min-width:90px}.content-grid{grid-template-columns:200px minmax(420px,1fr);min-height:760px}.sidebar-right{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;align-items:start}.save-panel{grid-column:1/-1}.activity-panel{min-height:260px}.sidebar-left{min-height:720px}}
@media(max-width:730px){:root{font-size:14px}.app-shell{padding:0 0 92px}.topbar{height:auto;min-height:110px;display:flex;flex-wrap:wrap;gap:9px;padding:11px 12px 10px;margin:0}.brand{min-width:0;flex:1}.brand h1{font-size:16px}.brand-kicker{font-size:8px}.brand-mark{width:34px;height:34px}.top-actions .saved{display:none}.top-metrics{width:100%;order:3;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px}.metric{min-width:auto;flex:1;padding:0 8px;border-left:1px solid var(--line)}.metric:first-child{border-left:0;padding-left:0}.metric span{font-size:8px;margin-bottom:3px}.metric strong{font-size:16px}.content-grid{display:flex;flex-direction:column;gap:0;min-height:0}.world-panel{order:1;border-left:0;border-right:0;border-radius:0;min-height:min(66svh,700px);height:min(66svh,700px)}.world-location{font-size:8px;padding:9px 8px}.world-location small{font-size:8px}.world-topbar{left:7px;right:7px;top:9px}.world-tools{gap:2px}.world-tool{width:25px;height:27px}.world-tools>span{min-width:28px;font-size:9px}.building-toolbar{padding:11px 9px 8px}.toolbar-header{margin-bottom:6px}.toolbar-header h3{font-size:13px}.toolbar-header .eyebrow{font-size:8px}.minor-btn{padding:6px 8px;font-size:13px}.building-card{width:74px;min-height:84px;padding:5px 3px}.building-emoji{font-size:23px;line-height:28px}.building-name{font-size:9px}.building-cost{font-size:9px;margin-top:4px}.world-hint{bottom:167px;left:8px;font-size:8px;padding:7px;white-space:nowrap}.sidebar-left{order:2;display:contents}.sidebar-left .resources-panel{order:2}.sidebar-left .overview-panel{order:4}.sidebar-left .mission-panel{order:5}.sidebar-left .next-day{display:none}.sidebar-right{order:3;display:contents}.sidebar-right .inspector-panel{order:3}.sidebar-right .activity-panel{order:6;min-height:0}.sidebar-right .save-panel{order:7;padding:10px 12px}.panel{margin:8px 12px 0;padding:13px}.resources-panel .resources{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.resource{display:flex;flex-direction:column;gap:3px;text-align:center}.res-icon{height:29px;width:29px;font-size:16px}.res-name{font-size:9px}.res-count{font-size:14px}.res-rate{font-size:9px}.capacity-line{margin-top:13px;padding-top:9px}.inspector-panel{min-height:0}.inspector-empty{min-height:90px}.overview-panel,.mission-panel{min-height:0}.activity{max-height:200px}.mobile-footer{display:block;position:fixed;z-index:10;left:0;right:0;bottom:0;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));background:#101b16f7;border-top:1px solid #344b37;backdrop-filter:blur(14px)}.mobile-footer .primary-button{width:100%;padding:13px 16px}.modal{padding:22px}.modal h2{font-size:23px}#toast{bottom:82px}}
@media(max-width:375px){.brand h1{font-size:14px}.world-location{font-size:7px}.world-location small{font-size:7px}.world-hint{font-size:7px}.toolbar-header h3{font-size:12px}.minor-btn{padding:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v0.2: imperfect intelligence, defensive orders and interactive raid decision */
.intel-box{padding:10px 10px 11px;background:linear-gradient(135deg,#233328,#17241e);border:1px solid #344638;border-left:3px solid #bbad70;border-radius:5px;margin-top:11px}
.intel-eyebrow{display:block;color:#c8b78a;font-size:9px;font-weight:900;letter-spacing:.9px;line-height:1.45}
.intel-box .microcopy{margin-top:8px;font-size:11px;color:#bdc9b7;line-height:1.5}
.security-status{font-size:10px;line-height:1.4;color:#a2c7a1;margin:9px 0}
.security-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.security-actions button{border:1px solid #405844;background:#283b2e;border-radius:5px;font-size:10px;font-weight:800;padding:9px 4px 7px;white-space:nowrap;transition:background .13s}
.security-actions button:hover:not(:disabled){background:#37533d;border-color:#94b175}
.security-actions button small{display:block;font-size:9px;font-weight:600;color:#abbc9e;margin-top:5px}
.security-actions button:disabled{opacity:.45}
.raid-backdrop{z-index:70;background:#090706e9}
.raid-dialog{border-color:#b77758;box-shadow:0 26px 85px #000c,inset 0 0 45px #7f322010;max-width:520px}
.raid-dialog h2{font-size:30px;margin:12px 0 15px;color:#f0b796}
.raid-dialog p{color:#e0c7b8}
.raid-heading{color:#efaf8b}
.raid-intel{padding:12px;background:#301f1b;border:1px solid #68443b;border-radius:6px;font-size:12px;line-height:1.5;color:#e1c6b5}
.raid-actions{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.raid-choice{display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px 15px;border:1px solid #644b3c;background:#2e2b23;border-radius:7px}
.raid-choice:hover:not(:disabled){border-color:#efad79;background:#403329}
.raid-choice strong{font-size:13px;color:#fae5c9}
.raid-choice small{font-size:11px;color:#cab7a9;line-height:1.5}
.raid-choice:disabled{opacity:.35}
.raid-dialog .raid-footnote{font-size:10px;color:#9b9990;margin:14px 0 0}
@media(max-width:730px){.security-actions button{min-height:55px;font-size:11px}.intel-box{margin-top:10px}.raid-dialog{max-height:92svh;overflow-y:auto}.raid-dialog h2{font-size:25px}.raid-choice{padding:12px}}

/* v0.3: individual settlers and work assignments */
.inspector-tabs{display:flex;gap:5px;margin:2px 0 17px}.inspector-tabs button{flex:1;border:1px solid #415647;background:#18291f;color:#a9bdab;border-radius:5px;padding:10px 8px;font-size:10px;font-weight:800;letter-spacing:.7px}.inspector-tabs button.is-active{background:#344832;border-color:#b2ca79;color:#edfbcc}.resident-roster{display:flex;flex-direction:column;gap:5px;max-height:279px;overflow:auto;margin-top:11px}.roster-summary{display:flex;justify-content:space-between;color:#adc3a6;font-size:10px;padding:8px 0;border-bottom:1px solid #35473b}.roster-summary strong{color:#f0f4ce}.resident-line{display:flex;gap:8px;align-items:center;text-align:left;width:100%;background:#1b2d22;border:1px solid #31493b;border-radius:6px;padding:7px 5px;color:#e6eacd}.resident-line:hover,.resident-line.is-picked{border-color:#b2ca79;background:#294332}.person-avatar{display:grid;place-items:center;border:1px solid var(--profession-color);color:var(--profession-color);font-weight:900;background:#253b2d;width:29px;height:29px;border-radius:5px;flex-shrink:0}.person-name{min-width:0;flex:1}.person-name strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-name small{display:block;font-size:9px;color:#b0bcab;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-health{color:#bad4ab;font-family:Consolas,monospace;font-size:10px;flex-shrink:0}.person-health.is-hurt{color:#eea08f}.resident-detail{border-top:1px solid #405441;margin-top:13px;padding-top:13px}.resident-detail h3{font-size:16px;margin:7px 0 0}.resident-bars{display:grid;gap:8px;margin:12px 0}.resident-bars label{font-size:10px;color:#b8c8b1;display:flex;justify-content:space-between;flex-wrap:wrap}.resident-bars b{color:#e1ebcf}.resident-bars progress{display:block;width:100%;height:7px;margin-top:5px;accent-color:#a4c878}.skill-cloud{display:grid;grid-template-columns:1fr 1fr;gap:7px 5px}.skill-cloud span{font-size:10px;color:#b2c4b1}.skill-cloud b{color:#e7f0d1}.resident-subhead{margin-top:16px;margin-bottom:9px}.resident-job{display:block;width:100%;background:#1e3126;color:#f0ebdc;border:1px solid #668058;border-radius:5px;padding:10px 5px;min-width:0;font-size:11px}
@media(max-width:730px){.resident-roster{max-height:250px}.resident-line{padding:9px 8px}.person-name strong{font-size:12px}.resident-job{font-size:13px}}

/* v0.4: directional protection and pathways */
.perimeter-panel{margin-top:13px;padding:12px 10px;border:1px solid #35463b;border-radius:6px;background:#1b2c22}
.perimeter-heading{display:flex;justify-content:space-between;margin-bottom:9px;color:#c5cca9;font-size:9px;font-weight:850;letter-spacing:.5px;gap:5px}
.perimeter-heading span{color:#7f9882;font-size:8px}
#perimeter-report{display:grid;gap:7px}.perimeter-item{display:grid;grid-template-columns:46px minmax(0,1fr) 22px;gap:8px;align-items:center;font-size:10px;color:#c1d1b5}
.perimeter-item strong{font:700 11px Consolas,monospace;color:#dce9b4;text-align:right}.perimeter-track{height:5px;border-radius:9px;background:#33463b;overflow:hidden}
.perimeter-track>span{display:block;height:100%;background:linear-gradient(90deg,#7b946d,#c1d987);border-radius:9px;transition:width .2s}
@media(max-width:730px){.perimeter-item{grid-template-columns:60px minmax(0,1fr) 28px}.perimeter-heading{font-size:10px}}

/* v0.5 · combat command bar: anchored above the building toolbar */
.battle-panel{position:fixed;z-index:120;bottom:24px;left:50%;transform:translateX(-50%);width:min(730px,calc(100vw - 32px));border:1px solid #be8064;background:linear-gradient(145deg,#25352e 0%,#171f1c 94%);border-radius:14px;box-shadow:0 22px 65px #000a,0 0 30px #c8674530;padding:15px 17px 11px;color:#ebeadb}
.battle-panel.hidden{display:none!important}.battle-panel-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;letter-spacing:.09em}.battle-panel-title strong{color:#f3c09b}.battle-live-dot{height:9px;width:9px;display:inline-block;border-radius:50%;background:#f07861;box-shadow:0 0 0 5px #fa785421;animation:battleblink 1s infinite alternate}@keyframes battleblink{to{opacity:.35}}
.battle-count{margin-left:auto;color:#d4d4c5}.battle-count+ .battle-count{margin-left:0}.battle-health{margin-top:11px;display:flex;gap:13px;align-items:center;font-size:12px;color:#c2cbbd}.battle-health strong{color:#f0d5aa}.battle-health-track{height:9px;border-radius:12px;background:#4d3837;flex:1;overflow:hidden}.battle-health-track span{height:100%;display:block;background:linear-gradient(90deg,#a8c57b,#e2b872);transition:width .2s}
.battle-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.battle-controls button{background:#31473c;border:1px solid #697966;border-radius:6px;color:#eaf2dc;padding:10px 12px;font-size:12px;font-weight:bold;cursor:pointer}.battle-controls button:hover{background:#456050}.battle-controls button:disabled{opacity:.45;cursor:not-allowed}#battle-focus{margin:10px 0 0;color:#a9bba9;font-size:11px}
@media(max-width:740px){.battle-panel{bottom:74px;padding:12px;max-height:40vh;overflow-y:auto}.battle-controls button{flex:1 1 43%;padding:10px 7px;font-size:11px}.battle-count{margin-left:0}.battle-health{margin-top:7px}}

/* v0.6: supply management, squads and evacuations */
.armory-panel{border-color:#596349;background:linear-gradient(160deg,#182a22,#16231d)}.armory-note{font-size:11px;color:#bbcbb5;line-height:1.4;margin:8px 0}.armory-actions{display:grid;gap:5px;margin-top:12px}.armory-actions button{border:1px solid #6a7051;background:#2b3e30;padding:10px;border-radius:6px;text-align:left;color:#edf1d1;font-size:11px;font-weight:800}.armory-actions button small{display:block;margin-top:3px;color:#b9bf9c;font-size:10px;font-weight:500}.armory-actions button:disabled{opacity:.4}.armory-actions button:hover:not(:disabled){background:#3c533e}.battle-ammo-line{display:flex;align-items:center;justify-content:space-between;margin:9px 0 0;font:800 11px Consolas,monospace;color:#f5d09d}.battle-ammo-line span{color:#afc0aa;font-weight:600}#battle-evacuate{border-color:#a56a5b;background:#53322f;color:#ffe7d8}.battle-panel{width:min(825px,calc(100vw - 30px))}.battle-controls button{padding:8px 10px;font-size:11px}
@media(max-width:730px){.resources-panel .resources{grid-template-columns:repeat(3,minmax(0,1fr))}.armory-panel{order:5}.sidebar-left .mission-panel{order:6}.battle-panel{max-height:52svh;overflow-y:auto;bottom:68px}.battle-controls button{font-size:10px;flex:1 1 44%;padding:8px 5px}.battle-ammo-line{font-size:10px}}

.battle-toggle{margin-left:auto;background:#273d32;border:1px solid #708273;color:#d7e8c7;padding:6px 9px;border-radius:6px;font-size:10px;font-weight:800;cursor:pointer}.battle-panel.is-compact .battle-controls,.battle-panel.is-compact #battle-focus{display:none}.battle-panel.is-compact{box-shadow:0 8px 30px #000a}.battle-panel.is-compact .battle-health{margin-top:6px}
@media(max-width:730px){.battle-panel.is-compact{max-height:unset;overflow:hidden}.battle-toggle{order:1}.battle-panel-title .battle-count{margin-left:0}}

.world-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #789f6a;border-radius:7px;padding:10px 12px;color:#c5e3a3;text-decoration:none;white-space:nowrap;font:700 11px system-ui;letter-spacing:1px;background:#1b3025}.world-link:hover{background:#294538} @media(max-width:800px){.world-link{font-size:10px;padding:8px;letter-spacing:0}.top-actions{gap:5px}}

html.telegram-checking .app-shell,html.telegram-required .app-shell{display:none}#telegram-gate{display:none;position:fixed;inset:0;z-index:1000;place-items:center;padding:28px;background:radial-gradient(ellipse at 50% 0%,#263b2b 0,transparent 48%),#0b1412;color:#e9edde;text-align:center}html.telegram-checking #telegram-gate,html.telegram-required #telegram-gate{display:grid}#telegram-gate>div{max-width:360px}#telegram-gate .brand-mark{margin:0 auto 24px}#telegram-gate h1{font-size:19px;letter-spacing:1px;margin-bottom:14px}#telegram-gate p{color:#b9c8b4;font-size:14px;line-height:1.65}
