@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Barlow:wght@400;500;600;700&display=swap');
:root{--bg:#101617;--panel:#172021;--line:#ffffff17;--text:#e2e6e1;--dim:#8f9d9b;--gold:#dfb072;--teal:#76c8b4;--red:#ed785e;font-family:Barlow,Arial,sans-serif;color:var(--text);font-size:16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#111818}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button:disabled{cursor:not-allowed}button{border:0}button:hover{filter:brightness(1.15)}[hidden]{display:none!important}#battlefield{width:100vw;height:100vh;display:block;cursor:default;touch-action:none}.screen{position:fixed;inset:0;overflow:auto;background:#151b1b}.menu-art{position:absolute;inset:0;background:linear-gradient(125deg,#293532 0%,#363a32 38%,#73543b 100%);background-position:center;background-size:cover}.menu-art.loaded{background-image:url('keyart.png')}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,21,.98) 0%,rgba(12,20,21,.91) 25%,rgba(12,20,21,.65) 47%,rgba(12,20,21,.06) 85%),linear-gradient(0deg,rgba(7,16,18,.9),transparent 28%)}.menu-grid{pointer-events:none;position:absolute;inset:0;opacity:.08;background-image:linear-gradient(#9baea833 1px,transparent 1px),linear-gradient(90deg,#9baea833 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 70%)}.menu-header,.menu-footer{position:relative;display:flex;justify-content:space-between;align-items:center;margin:0 4vw;height:76px;border-bottom:1px solid var(--line);font-family:'Barlow Condensed',sans-serif;letter-spacing:2px}.wordmark{font-size:24px;font-weight:700}.wordmark b{color:var(--gold);margin-right:10px;font-size:32px}.wordmark i{color:var(--dim);font-size:16px;font-style:normal;letter-spacing:3px;margin-left:10px}.tag{font-size:13px;color:#c2c9c2}.edition{border:1px solid #b4bba658;padding:7px 9px;margin-left:20px}.setup{position:relative;max-width:680px;width:55%;margin:38px 0 54px 6vw}.eyebrow{font-family:'Barlow Condensed',sans-serif;letter-spacing:2px;font-size:13px;font-weight:600;color:var(--gold)}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--gold);margin-right:9px;box-shadow:0 0 14px #dca56077}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(48px,4.8vw,76px);font-weight:700;line-height:.98;letter-spacing:1px;margin:20px 0}h1 em{font-style:normal;color:var(--gold)}.intro{font-size:16px;line-height:1.55;color:#a5b0ad;margin:0 0 27px}.section-label{font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:1.5px;font-weight:600;margin:18px 0 10px;display:flex;gap:12px;align-items:center}.section-label>span{font-size:12px;color:var(--gold);opacity:.8}.section-label>small{margin-left:auto;color:#71817e;font-size:11px;letter-spacing:1px}.factions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faction{display:flex;align-items:center;gap:13px;text-align:left;padding:16px 12px;background:#182222a8;border:1px solid #58625c66;position:relative;transition:.15s}.faction.active{background:#263834d9;border-color:var(--teal)}.faction-icon{font-size:35px;color:var(--teal);line-height:1}.faction-icon.bio{color:var(--red)}.faction strong{display:block;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;font-size:17px}.faction small{font-size:12px;color:var(--dim);display:block;margin-top:5px}.check{display:none;position:absolute;top:7px;right:8px;color:var(--teal);font-size:12px}.active .check{display:block}.maps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.map{padding:0;text-align:left;background:#172122e6;position:relative;border:1px solid #53645a55}.map.active{border-color:var(--gold)}.map canvas{width:100%;height:66px;display:block;opacity:.68}.map.active canvas{opacity:1}.map>span{display:flex;flex-direction:column;padding:10px}.map b{font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:1px}.map small{font-size:12px;color:var(--dim);margin-top:3px}.map>i{position:absolute;right:8px;top:8px;font:11px monospace;color:#c9c2a8}.difficulty-row{display:flex;align-items:center;justify-content:space-between;margin-top:19px}.difficulty-row .section-label{margin:0}.difficulties{display:flex;gap:2px;background:#182222;border:1px solid #3a4743;padding:3px}.difficulties button{font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;background:transparent;font-size:14px;padding:7px 19px;color:#929f9b}.difficulties button.active{background:#ceb083;color:#152022;font-weight:700}.difficulty-description{font-size:12px;color:#9da9a5;text-align:right;margin:8px 0 18px}.primary{width:100%;background:var(--gold);color:#192221;display:flex;justify-content:space-between;align-items:center;padding:17px 22px;font:700 20px 'Barlow Condensed',sans-serif;letter-spacing:2px;box-shadow:0 5px 32px #0003}.primary span{font-size:26px;line-height:1}.setup-foot{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px;color:#758480;margin-top:13px}.art-caption{position:absolute;right:6vw;bottom:15%;border-left:2px solid #d4b17f66;padding-left:20px}.art-caption>span,.art-caption>small{font:12px 'Barlow Condensed',sans-serif;letter-spacing:2px;color:var(--gold)}.art-caption p{font:500 23px/1.3 'Barlow Condensed',sans-serif;letter-spacing:.4px}.art-caption small{color:#a5a99d}.menu-footer{border-top:1px solid var(--line);border-bottom:0;height:55px;font-size:11px;letter-spacing:1.5px;position:relative}.menu-footer button{background:transparent;font:600 13px 'Barlow Condensed';letter-spacing:2px;color:var(--gold)}#hud{position:fixed;inset:0;pointer-events:none}.topbar{height:64px;background:linear-gradient(180deg,#152021fa,#152021ec);border-bottom:1px solid #a9b29a33;display:flex;align-items:center;gap:0;padding:0 20px;pointer-events:auto;box-shadow:0 7px 20px #0003}.brand{background:transparent;font:700 24px 'Barlow Condensed';letter-spacing:2px;padding:0 23px 0 0}.brand>span{color:var(--gold);margin-right:8px}.brand i{color:#6e817c;margin-left:10px}.resource{display:flex;align-items:center;gap:12px;padding:0 24px;border-left:1px solid #ffffff16;height:35px}.resource-icon{font-size:25px;color:var(--gold)}.resource b{display:block;font-size:21px;font-weight:600;line-height:1.1}.resource small{font:10px 'Barlow Condensed';letter-spacing:2px;color:#a0aaa5}.income{color:var(--teal);font-size:12px}.power .resource-icon{font-size:34px;color:var(--teal)}.population .resource-icon{color:#a7b5aa}.top-spacer{flex:1}#game-clock{font-size:14px;letter-spacing:2px;color:#bdc6c1;margin-right:15px}.top-button{height:32px;min-width:32px;background:#243031;border:1px solid #ffffff17;margin-left:5px;font-size:16px}.mission{position:absolute;left:27px;top:91px;text-shadow:0 2px 8px #000}.mission .eyebrow{font-size:12px;letter-spacing:2px}.mission h2{font:600 22px 'Barlow Condensed';letter-spacing:1px;margin:9px 0 6px}.mission p{font-size:13px;color:#b6bfb6;max-width:390px;margin:0}.threat{position:absolute;right:25px;top:94px;width:180px;text-align:right;text-shadow:0 2px 8px #000}.threat>span{font:11px 'Barlow Condensed';letter-spacing:2px;color:#c1c6bc}.threat b{display:block;font:500 16px 'Barlow Condensed';letter-spacing:1px;color:var(--gold);margin:7px 0}.threat>div{height:3px;background:#c2ae811f}.threat i{display:block;height:3px;background:var(--gold);width:15%;transition:width 1s}.command-deck{position:absolute;left:16px;right:16px;bottom:33px;min-height:218px;background:linear-gradient(150deg,#1b2829f7,#131e20f7);border:1px solid #8d9b833e;display:grid;grid-template-columns:242px 255px 1fr;box-shadow:0 0 40px #0004;pointer-events:auto}.panel-title{font-family:'Barlow Condensed';font-size:12px;color:#96a6a0;letter-spacing:1.3px;display:flex;justify-content:space-between;align-items:center}.radar-panel{padding:10px;border-right:1px solid var(--line)}.radar-panel .panel-title{margin-bottom:7px;font-size:11px}.radar-panel .panel-title>span:last-child{font-size:10px;color:#667f78}#minimap{display:block;width:100%;height:150px;background:#0e1719;cursor:crosshair;border:1px solid #ffffff17}.radar-footer{display:flex;align-items:center;gap:12px;font:10px 'Barlow Condensed';letter-spacing:1px;color:#8c9e95;margin-top:7px}.radar-footer i{display:inline-block;width:5px;height:5px;background:var(--teal);margin-right:4px}.radar-footer .hostile i{background:var(--red)}.radar-footer button{margin-left:auto;background:none;color:var(--gold);font:11px 'Barlow Condensed'}.selection-panel{padding:14px 16px;border-right:1px solid var(--line)}.selected-heading{display:flex;align-items:center;margin:6px 0 0;gap:4px;min-height:76px}#portrait{width:78px;height:68px;object-fit:contain}.selected-heading h3{font:600 20px/1 'Barlow Condensed';letter-spacing:.3px;margin:0 0 6px}.selected-heading p{font-size:11px;color:var(--teal);margin:0;line-height:1.3}.health-track{height:3px;background:#ffffff10;margin:5px 0 9px}.health-track i{display:block;height:100%;background:var(--teal);width:0}#selection-description{font-size:12px;line-height:1.4;color:#9dada5;margin:0;min-height:34px}.selection-stats{display:flex;gap:13px;font-size:11px;color:#c6b99c;margin-top:8px}.orders-panel{padding:13px 16px;min-width:0}.orders-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.orders-header>span{font-size:11px;color:var(--gold)}.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px}.action{min-height:69px;min-width:0;background:linear-gradient(140deg,#2b3b3b,#203030);border:1px solid #6a80734d;text-align:left;padding:8px 9px;position:relative;transition:background .15s}.action:hover{background:#344c47;border-color:var(--teal);filter:none}.action:disabled{opacity:.43;filter:grayscale(.65)}.action .action-icon{color:var(--gold);font-size:19px;float:left;margin-right:7px}.action strong{display:block;font:500 14px 'Barlow Condensed';letter-spacing:.3px;margin:1px 0 7px}.action small{font:11px Barlow;color:#acb9b0;display:block;clear:both}.action .shortcut{position:absolute;right:6px;top:4px;font-size:9px;color:#6e8b80}.action.special{border-color:#78b6a477;background:#294139}.action.danger{border-color:#c8776744}.actions-empty{font-size:14px;line-height:1.7;color:#899f97;padding:15px 0}.production{display:flex;gap:7px;margin-top:10px;align-items:center;min-height:24px}.queue-item{flex:1;max-width:150px;background:#0f1b1dcc;padding:5px 7px;position:relative;overflow:hidden;border:1px solid #b7b78522;font-size:10px;display:flex;justify-content:space-between;gap:4px}.queue-item>i{position:absolute;left:0;bottom:0;height:2px;background:var(--gold)}.queue-item button{background:transparent;color:#bba38f;font-size:12px;padding:0 2px}.game-footer{position:absolute;bottom:0;left:0;right:0;height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font:10px 'Barlow Condensed';letter-spacing:1px;color:#8e9d94;background:#111c1cee}.game-footer span>span{margin:0 7px;color:#556b5e}kbd{font:10px 'Barlow Condensed';color:#bbc7bb}.game-footer>span:last-child{color:#adbaaa}.camera-tools{position:absolute;right:18px;bottom:266px;display:flex;align-items:center;gap:0;pointer-events:auto;background:#142223e8;border:1px solid #87948044}.camera-tools button{height:32px;width:32px;background:none;font-size:19px;color:#b7c2b7}.camera-tools>span{font-size:11px;padding:0 6px;color:#91a59a}#notifications{position:absolute;left:28px;bottom:269px;display:flex;flex-direction:column;gap:6px;max-width:440px}.notice{background:#172322eb;border-left:2px solid var(--gold);padding:10px 15px;font-size:13px;box-shadow:0 3px 14px #0003;animation:notice-in .2s ease}.notice.warning{border-color:var(--red);color:#ffb49a}.notice.good{border-color:var(--teal)}#mode-hint{position:absolute;top:190px;left:50%;transform:translateX(-50%);background:#132827ed;border:1px solid #73cbb578;padding:11px 20px;font-size:13px;color:#c8ddcb;white-space:nowrap}.modal{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#061112b8;backdrop-filter:blur(7px);padding:24px}.modal-card{width:620px;max-width:100%;max-height:90vh;overflow:auto;background:linear-gradient(130deg,#243332,#111e20);border:1px solid #9eaf8c66;padding:35px;box-shadow:0 20px 100px #0008}.modal-card h2{font:600 44px 'Barlow Condensed';letter-spacing:1px;margin:10px 0 22px}.modal-card p{font-size:14px;color:#abbab1;line-height:1.6}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.manual-grid h3{font:600 19px 'Barlow Condensed';color:var(--gold);letter-spacing:1px;margin:0 0 8px}.manual-grid p{font-size:13px;margin:0}.manual-controls{margin-top:22px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;line-height:1.9;color:#b0bfb5}.manual-controls kbd{display:inline-block;width:110px;font:12px Barlow;color:var(--gold)}#modal-actions{display:flex;gap:10px;margin-top:25px}#modal-actions button{padding:12px 20px;background:#304540;border:1px solid #869b7444;font:600 17px 'Barlow Condensed';letter-spacing:1px;flex:1}#modal-actions button:first-child{color:#152122;background:var(--gold)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-stats>div{padding:18px 8px;border:1px solid var(--line);text-align:center}.result-stats b{display:block;font:30px 'Barlow Condensed';color:var(--gold)}.result-stats small{font-size:11px;letter-spacing:1px;color:#b3c0b6}@keyframes notice-in{from{opacity:0;transform:translateX(-15px)}to{opacity:1;transform:none}}@media(min-height:920px){.setup{margin-top:6vh}.menu-footer{position:absolute;left:0;right:0;bottom:0}}@media(max-height:790px){.menu-header{height:57px}.setup{margin-top:22px;margin-bottom:25px;max-width:620px}h1{font-size:52px;margin:15px 0}.intro{margin-bottom:16px;font-size:14px}.section-label{margin-top:13px}.faction{padding:12px}.map canvas{height:48px}.map>span{padding:8px}.difficulty-row{margin-top:15px}.primary{padding:12px 20px}.menu-footer{height:42px}.art-caption{bottom:12%}}@media(max-width:1100px){.setup{width:65%;margin-left:4vw}.art-caption{display:none}.resource{padding:0 14px}.brand{padding-right:14px;font-size:20px}.income{display:none}.command-deck{grid-template-columns:200px 205px 1fr}.radar-panel{padding:8px}#minimap{height:144px}.selection-panel{padding:12px}.actions{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))}.action{padding:6px;min-height:62px}.action strong{font-size:13px}.orders-panel{padding:12px}.action .action-icon{font-size:16px}#portrait{width:58px;height:60px}.selected-heading h3{font-size:18px}.mission{top:83px}.threat{top:84px}}@media(max-width:720px){.setup{width:auto;margin:22px 22px 35px}.menu-header{margin:0 22px}.tag{display:none}.menu-shade{background:#0c171bd9}.wordmark i{font-size:12px}.menu-footer{margin:0 22px;font-size:9px}.menu-footer button{font-size:11px}.setup-foot{font-size:8px}.faction{gap:7px}.faction strong{font-size:14px}.faction small{font-size:10px}.faction-icon{font-size:27px}.difficulties button{padding:7px 12px}.section-label{font-size:12px}.section-label>small{font-size:9px}.topbar{padding:0 9px;height:53px}.brand{font-size:0;padding-right:8px}.brand span{font-size:24px;margin:0}.brand i{display:none}.resource{padding:0 8px;gap:7px}.resource b{font-size:16px}.resource-icon{font-size:19px}.resource small{font-size:8px}.population{display:none}#game-clock{font-size:11px;margin-right:4px}.top-button{min-width:27px;height:28px;margin-left:3px}.mission{left:15px;top:70px}.mission h2{font-size:19px}.mission p{font-size:12px;max-width:260px}.threat{display:none}.command-deck{left:6px;right:6px;bottom:22px;grid-template-columns:135px 1fr;min-height:180px}.selection-panel{display:none}.radar-panel{padding:6px}.radar-panel .panel-title{font-size:10px}.radar-panel .panel-title>span:last-child{display:none}#minimap{height:125px}.radar-footer{font-size:9px;gap:7px;flex-wrap:wrap}.radar-footer button{margin-left:0}.orders-panel{padding:9px}.actions{gap:5px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.action{min-height:57px}.action .action-icon{display:none}.action strong{font-size:13px}.action small{font-size:10px}.game-footer{height:21px;padding:0 8px;font-size:8px}.game-footer>span:last-child{display:none}.game-footer span>span{margin:0 3px}kbd{font-size:8px}.camera-tools{bottom:216px}#notifications{bottom:218px;left:12px;max-width:300px}.notice{font-size:12px;padding:8px 11px}.modal-card{padding:24px}.manual-grid{gap:13px}.modal-card h2{font-size:36px}#mode-hint{font-size:11px;padding:8px 10px;max-width:95vw;white-space:normal;top:150px}.orders-header .panel-title{font-size:10px}}

#hud{z-index:3}#menu{z-index:4}.environment-status{position:absolute;top:166px;left:26px;font:11px Barlow,Arial;letter-spacing:1.4px;color:#c5cba9;background:#142320bb;padding:7px 10px;border-left:2px solid #8fbba5}.actions{max-height:162px;overflow-y:auto}.camera-tools button{min-width:32px}@media(max-width:720px){.environment-status{top:137px;left:15px;font-size:9px;max-width:80vw}.actions{max-height:145px}}

.direct-mode .command-deck{display:contents}.direct-mode .selection-panel,.direct-mode .orders-panel,.direct-mode .camera-tools,.direct-mode .game-footer,.direct-mode #mode-hint{display:none!important}.direct-mode .radar-panel{position:fixed;left:20px;bottom:58px;width:165px;height:165px;padding:8px;background:#0b1919ba;border:1px solid #89a88b55}.direct-mode .radar-panel #minimap{height:110px;width:145px}.direct-mode .radar-footer{display:none}.direct-mode #speed,.direct-mode #home-focus{pointer-events:none}.direct-mode #battlefield{cursor:crosshair}#direct-hud{position:fixed;inset:0;z-index:5;pointer-events:none;color:#dce7c9;font-family:Barlow,Arial,sans-serif}#direct-hud[hidden]{display:none}.direct-badge{position:absolute;top:82px;right:24px;text-align:right;font-size:12px;letter-spacing:2px}.direct-badge strong{display:block;font-size:24px;margin:5px 0}.direct-badge span{color:#ddbe80}.direct-vitals{position:absolute;right:24px;bottom:76px;background:#10201edb;padding:16px;width:265px;border:1px solid #82978566}.direct-vitals span,.direct-vitals strong{display:block;margin-bottom:8px}.direct-vitals progress{width:100%;height:12px;accent-color:#a5d99d;margin-bottom:12px}.direct-vitals strong{font-size:14px}.direct-vitals span:last-child{font-size:12px;line-height:1.6;color:#bacbb6}.direct-guide{position:absolute;bottom:15px;width:100%;text-align:center;font:12px monospace;letter-spacing:.5px;background:#10201ece;padding:9px}#direct-exit{pointer-events:auto;position:absolute;right:24px;bottom:42px;color:#dce7c9;background:#203c33;border:1px solid #94b094;padding:7px 12px;cursor:pointer}.direct-mode #notifications{max-width:320px}.direct-mode #hud .operation{max-width:300px}

.direct-badge{left:50%;right:auto;transform:translateX(-50%);text-align:center;width:330px}.direct-badge strong{font-size:20px}

#squad-panel{position:fixed;right:18px;top:205px;width:265px;max-height:calc(100vh - 530px);overflow:auto;background:#142622ed;border:1px solid #6e897255;padding:12px;z-index:4;color:#d6e1cc;font:12px Arial}#squad-panel[hidden],#squad-wheel[hidden]{display:none}#squad-panel strong{letter-spacing:2px;color:#c4cfb1}#squad-panel button,#squad-wheel button{background:#263b32;color:#dce7d4;border:1px solid #657964;padding:7px;cursor:pointer;font:11px Arial}#squad-panel>button{display:block;width:100%;margin:6px 0}.squad-strip{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.squad-member{display:flex;gap:4px;margin:5px 0}.squad-member button:first-child{flex:1;text-align:left}#squad-panel small{display:block;line-height:1.6;color:#a7b89f}.direct-mode #squad-panel{top:230px;max-height:38vh;width:250px}#squad-wheel{position:fixed;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:310px;padding:20px;background:#13261ff5;border:1px solid #d3c38b;color:#e2e8d2;display:grid;gap:10px}#squad-wheel strong{font:12px Arial;letter-spacing:1px}@media(max-width:850px){#squad-panel{top:180px;width:205px;max-height:180px}.direct-mode #squad-panel{top:230px;width:205px}}

.direct-mode #squad-panel{box-sizing:border-box;max-height:min(38vh,calc(100vh - 490px))}



#scope-reticle{position:fixed;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#ff6546;box-shadow:0 0 3px #170c08,0 0 7px #ff654688;pointer-events:none}#scope-reticle[hidden]{display:none}

#voice-subtitle{position:fixed;bottom:220px;left:50%;transform:translateX(-50%);max-width:min(650px,85vw);padding:12px 20px;border-left:3px solid #dba26c;background:rgba(9,19,20,.92);color:#f2eddd;font:600 15px/1.4 system-ui;z-index:110;pointer-events:none;text-align:center;box-shadow:0 8px 35px #0007}#voice-subtitle[hidden]{display:none}.voice-settings label{display:flex;align-items:center;gap:14px;margin:20px 0}.voice-settings input[type=range]{flex:1;accent-color:#dba26c}.voice-settings p{font-size:13px;opacity:.75}.voice-settings button{padding:12px 18px}.voice-settings output{min-width:42px}body.direct-mode #voice-subtitle{bottom:150px}


#mission-log{position:fixed;left:26px;top:195px;z-index:12;pointer-events:auto;max-width:calc(100vw - 52px)}#mission-focus{display:flex;align-items:baseline;gap:14px;padding:4px 0;background:none;border:0;color:var(--gold);font:600 14px/1.4 Barlow,Arial,sans-serif;letter-spacing:.5px;text-align:left;text-shadow:0 1px 4px #000}.mission-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}#mission-focus:hover{color:var(--text)}body.direct-mode #mission-log{top:195px;left:24px}@media(max-width:800px){#mission-log{left:18px;top:195px}#mission-focus{font-size:12px;gap:10px}}
/* Radial squad orders: a dead-center cancel region surrounded by real sectors. */
#squad-wheel{width:min(420px,88vw,75vh);height:min(420px,88vw,75vh);padding:0;display:block;border:0;background:none;filter:drop-shadow(0 12px 26px #000a);font-family:Barlow,Arial}#squad-wheel .command-ring{width:100%;height:100%;overflow:visible}.wheel-segment{fill:#132820f2;stroke:#81977b;stroke-width:1;cursor:pointer;transition:fill .12s}.wheel-segment:hover,.wheel-segment.active,.wheel-segment:focus{fill:#42644b;stroke:#d9dab1;stroke-width:2;outline:none}.wheel-segment[aria-disabled=true]{fill:#18221fe6;stroke:#405047;cursor:default}.wheel-label,.wheel-symbol{fill:#e4ead8;text-anchor:middle;pointer-events:none;font-family:Barlow,Arial}.wheel-label{font-size:12px;font-weight:600}.wheel-symbol{font-size:26px}#squad-wheel .wheel-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:33%;height:33%;border-radius:50%;background:#0e201cf5;border:1px solid #879b76;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}#squad-wheel .wheel-center strong{font-family:Barlow,Arial;font-size:13px}#squad-wheel .wheel-center span{font-size:10px;letter-spacing:2px;color:#b5c9a6}#squad-wheel .wheel-center small{color:#d3b887}.wheel-hint{position:absolute;top:100%;width:110%;left:-5%;text-align:center;font-size:13px;color:#ecedd8;background:#10231fdd;padding:8px;border-radius:4px;pointer-events:none}
.world-launch{margin-top:8px;background:#152f30!important;color:#e5c27f!important;border:1px solid #8c794c!important}#world-return{position:fixed;right:20px;top:70px;z-index:15;padding:10px 15px;background:#153b35;color:#e2d5ae;border:1px solid #63977d;font:600 13px Barlow,Arial;cursor:pointer}#world-screen{position:fixed;inset:0;z-index:40;overflow:auto;background:radial-gradient(ellipse at 40% 35%,#234347,#0b181f 75%);color:#e0e6ce;padding:30px 4vw;font-family:Barlow,Arial}#world-screen[hidden],#world-return[hidden]{display:none}#world-screen header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #66878066}#world-screen h1{font:600 clamp(30px,4vw,54px) 'Barlow Condensed',Arial;margin:8px 0 20px}.world-kicker{color:#bca57b;font-size:11px;letter-spacing:3px}.world-score{font-size:42px;color:#e6c589}.world-score small{font-size:13px}.world-score span{display:block;font-size:13px;text-align:right;margin:8px 0}.world-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:15px}#world-screen button,#world-screen select{padding:10px 14px;background:#20433e;border:1px solid #72978a;color:#ece7cd;font:600 13px Barlow,Arial;cursor:pointer}#world-screen button:hover{background:#376153}.world-toolbar span{font-size:12px;color:#a3b7a9}.world-layout{display:grid;grid-template-columns:minmax(400px,1fr) 320px;gap:28px}.world-map-wrap{background:linear-gradient(135deg,#122b3280,#1c394380);border:1px solid #6b85894a}.world-map-wrap>p{font-size:10px;letter-spacing:2px;text-align:center;color:#8da5a3}.world-map-wrap svg{width:100%;max-height:65vh}.country polygon{stroke:#84a2a2;stroke-width:2;fill:#3a484a;cursor:pointer;transition:fill .2s}.country.allied polygon{fill:#2d6354}.country.enemy polygon{fill:#713f3e}.country.selected polygon{stroke:#f5d398;stroke-width:5}.country.contested polygon{stroke:#d6a651;stroke-dasharray:8 4}.country:hover polygon,.country:focus polygon{filter:brightness(1.3)}.country text{fill:#eef0d9;text-anchor:middle;pointer-events:none}.country-name{font-size:18px;font-weight:600}.country-status{font-size:9px;letter-spacing:1px}#world-detail{padding:22px;background:#0c1b22bd;border:1px solid #6b85894a}#world-detail h2{font:32px 'Barlow Condensed';margin:10px 0}#world-detail p{font-size:13px;line-height:1.6;color:#b3c4bd}#world-detail button,#world-detail select{width:100%;margin-top:10px}.country-stats{display:flex;gap:25px;padding:12px 0}.country-stats b{font-size:22px}.country-stats small{display:block;font-size:9px;color:#a2b8b0}.world-roster{max-height:180px;overflow:auto}.world-roster label{display:flex;gap:8px;padding:6px;font-size:13px}.world-note{font-size:11px!important}.world-feed{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px}.world-feed h3,#world-detail h3{font-size:12px;letter-spacing:1.5px;color:#c9b68c}.world-feed ul{list-style:none;padding:0;font-size:13px;line-height:1.8;color:#a4beb3}.world-feed .hostile{color:#efa08a}.world-message{font-size:13px;color:#e1c791;min-height:20px}.world-welcome{max-width:680px;margin:12vh auto;text-align:center}.world-welcome p{line-height:1.8}.world-welcome button{display:block;margin:15px auto;min-width:260px}@media(max-width:850px){.world-layout{grid-template-columns:1fr}.world-map-wrap svg{max-height:none}.world-feed{grid-template-columns:1fr}#world-screen{padding:20px}.world-score{font-size:25px}}
/* Dune Imperium: preserve the artwork under ownership and focus overlays. */
#world-screen .world-layout{grid-template-columns:minmax(400px,1fr) 285px;gap:22px}
#world-screen .world-map-wrap{background:#261d16;border-color:#ad86544d;align-self:start;overflow:hidden}
#world-screen .world-map-wrap svg{display:block;width:100%;max-height:none}
#world-screen .world-map-wrap>p{color:#c4a574;margin:12px 5px}
.world-artwork{pointer-events:none}
#world-map .country polygon{fill:transparent;stroke:#efd8ac80;stroke-width:1.5;stroke-linejoin:round;transition:fill .15s;vector-effect:non-scaling-stroke;pointer-events:all}
#world-map .country.allied polygon{fill:#20ba8040;stroke:#8bffc9}
#world-map .country.enemy polygon{fill:#d12b334d;stroke:#ff8882}
#world-map .country.selected polygon{stroke:#ffe2a0;stroke-width:3;fill:#eab65420}
#world-map .country.allied.selected polygon{fill:#20ba8050}
#world-map .country.enemy.selected polygon{fill:#d12b3360}
#world-map .country.contested polygon{stroke:#ffd079;stroke-dasharray:7 4}
#world-map .country:hover polygon,#world-map .country:focus-visible polygon{fill:#fff5d92e;filter:none;stroke:#fff1cc;stroke-width:3}
#world-map .country{outline:none}
#world-map .country text{fill:#fff5dc;paint-order:stroke;stroke:#20170ff0;stroke-width:5px;stroke-linejoin:round;font-family:inherit}
#world-map .country-name{font-size:25px;font-weight:700;letter-spacing:.6px}
#world-map .country-status{font-size:12px;font-weight:600;letter-spacing:1px;stroke-width:4px}
#world-map .country.narrow .country-name{font-size:17px;letter-spacing:0}
#world-map .country.narrow .country-status{font-size:9px;letter-spacing:0}
@media(max-width:850px){#world-screen .world-layout{grid-template-columns:1fr}}

/* Ownership is indicated by faction emblems, leaving desert artwork untinted. */
#world-map .country polygon,#world-map .country.allied polygon,#world-map .country.enemy polygon,#world-map .country.selected polygon,#world-map .country.allied.selected polygon,#world-map .country.enemy.selected polygon,#world-map .country:hover polygon,#world-map .country:focus-visible polygon{fill:transparent;stroke:#efd8ac80}
#world-map .country.selected polygon,#world-map .country:hover polygon,#world-map .country:focus-visible polygon{stroke:#ffe2a0;stroke-width:3}
#world-map .country.contested polygon{stroke:#ffd079;stroke-dasharray:7 4}
#world-map .ownership-badge{pointer-events:none}
#world-map .ownership-badge circle{fill:#111c20ed;stroke:#e6d5a7;stroke-width:2}
#world-map .ownership-badge text{font:32px Arial,sans-serif;fill:#efe5c6;stroke:none;text-anchor:middle}
#world-map .ownership-badge.resistance circle{stroke:#a5d7c8}
#world-map .ownership-badge.horde circle{stroke:#e4ad97}
#world-detail button:disabled{opacity:.5;cursor:not-allowed}
#command-sidebar{position:fixed;right:18px;top:205px;bottom:250px;width:291px;z-index:4;display:flex;flex-direction:column;gap:8px;pointer-events:none}#command-sidebar[hidden]{display:none}#command-sidebar>#squad-panel{position:static;box-sizing:border-box;width:100%;max-height:40%;flex:0 1 auto;min-height:65px;margin:0;pointer-events:auto}#production-panel{pointer-events:auto;min-height:145px;flex:1;display:flex;flex-direction:column;padding:11px;background:#142622ed;border:1px solid #6e897255;color:#d6e1cc;font:12px Arial;overflow:hidden}.production-heading{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px}.production-heading strong{font-size:11px;letter-spacing:1.7px;color:#c4cfb1}.production-heading span{color:#a7b89f;white-space:nowrap}.production-message{font-size:11px;color:#a7b89f;margin-bottom:8px}.production-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:auto;min-height:34px;flex:1;align-content:start}.production-unit{display:flex;flex-direction:column;gap:3px;text-align:left;background:#263b32;color:#dce7d4;border:1px solid #657964;padding:7px;cursor:pointer;min-width:0;font:11px Arial}.production-unit small{color:#b3b99d;font-size:10px}.production-unit:disabled{opacity:.45;cursor:default}.production-unit:focus-visible,.production-order button:focus-visible{outline:2px solid #a5e3bb;outline-offset:-2px}.production-orders{overflow:auto;max-height:46%;flex-shrink:0}.production-order{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:3px 6px;padding-top:6px;font-size:11px}.production-order small{color:#a7b89f}.production-order button{border:0;background:#304238;color:#e0d2ba;cursor:pointer}.production-order progress{grid-column:1/-1;width:100%;height:3px;accent-color:#89c3a4;border:0}.direct-mode #production-panel{display:none}.direct-mode #command-sidebar{top:230px;bottom:180px}.direct-mode #command-sidebar>#squad-panel{max-height:100%}@media(max-width:850px){#command-sidebar{width:215px;right:10px;top:180px;bottom:245px}.production-choices{grid-template-columns:1fr}}@media(max-height:650px){#command-sidebar{top:150px;bottom:230px}#command-sidebar>#squad-panel{max-height:32%;min-height:40px}#production-panel{min-height:100px;padding:7px}}

/* Reserve half the remaining sidebar space below production; retain usable height on small screens. */
#command-sidebar::after{content:'';flex:1;min-height:0}.direct-mode #command-sidebar::after{display:none}

.production-group-heading{grid-column:1/-1;margin:7px 0 2px;padding:5px 0;border-bottom:1px solid #65796466;font:700 10px Arial;letter-spacing:1.2px;text-transform:uppercase;color:#c4cfb1}.production-group-heading:first-child{margin-top:0}

#command-sidebar>#squad-panel{display:none!important}#command-sidebar{top:165px}#command-sidebar::after{flex:1.2}@media(max-height:650px){#command-sidebar{top:135px}}

#construction-slot{pointer-events:auto;display:grid;grid-template-columns:1fr 24px;gap:4px;padding:8px;background:#142622ed;border:1px solid #6e897255}#construction-slot[hidden]{display:none}#construction-slot button{background:#263b32;color:#dce7d4;border:1px solid #657964;font:11px Arial;padding:7px;cursor:pointer}#construction-slot button:disabled{opacity:.65;cursor:default}#construction-slot progress{grid-row:2;grid-column:1/-1;width:100%;height:4px;accent-color:#89c3a4}.direct-mode #construction-slot{display:none}

.production-tabs{display:flex;gap:4px;margin:2px 0 8px}.production-tabs button{flex:1;padding:7px;border:1px solid #65796466;background:#1b3029;color:#a7b89f;font:700 11px Arial;cursor:pointer}.production-tabs button[aria-selected="true"]{background:#385342;color:#e5efdb;border-color:#9cbd8e}.production-tabs button:focus-visible{outline:2px solid #a5e3bb}#production-panel #construction-slot{margin-bottom:8px;flex-shrink:0;border-color:#91ac7766}.production-choices:empty{min-height:0}
#production-panel{min-height:235px}.production-choices{min-height:65px}@media(max-height:650px){#command-sidebar{top:110px;bottom:205px}#production-panel{min-height:210px}.production-tabs button{padding:4px}.production-message{margin-bottom:4px}}

/* Centered open crosshair: keep the target visible through the sight. */
#scope-reticle{width:22px;height:22px;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 0 1px #08100e)}
#scope-reticle::before,#scope-reticle::after{content:"";position:absolute;background:linear-gradient(to right,#dcf4df 0 36%,transparent 36% 64%,#dcf4df 64% 100%)}
#scope-reticle::before{left:0;top:10px;width:22px;height:2px}
#scope-reticle::after{left:10px;top:0;width:2px;height:22px;background:linear-gradient(to bottom,#dcf4df 0 36%,transparent 36% 64%,#dcf4df 64% 100%)}

.direct-mode .direct-badge{top:166px}.direct-mode .direct-badge strong{font-size:16px;margin:3px 0}
body.direct-mode[data-tester-mode="true"]:has(#menu[hidden]):after{top:auto;bottom:55px}

.direct-mode .direct-badge{top:204px;background:#0b1919b8;border-radius:3px;padding:4px 8px;font-size:10px;letter-spacing:1px}
.direct-mode .direct-badge{left:24px;right:auto;transform:none;text-align:left;width:265px}
