:root{--bg:#182b25;--panel:#1e322b;--ink:#eee7d3;--muted:#aab4a1;--gold:#dfc387;--border:#c7c19528;--cyan:#79c4d1;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{touch-action:manipulation}button{color:inherit;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}button:not(:disabled){transition:background .15s,border-color .15s,transform .15s}button:not(:disabled):active{transform:translateY(1px)}a{color:inherit;text-decoration:none}.icon{width:21px;height:21px;vertical-align:middle;flex-shrink:0}.hidden{display:none!important}#world{position:fixed;inset:0;display:block;outline:none;cursor:default}#menu{position:fixed;inset:0;background:linear-gradient(90deg,#172c27fa 0%,#172c27f5 29%,#172c2760 52%,transparent 70%);overflow:auto}.masthead{height:94px;display:flex;align-items:center;margin:0 4.3%;border-bottom:1px solid var(--border);gap:65px}.brand{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:21px;letter-spacing:2.3px}.brand small{display:block;font-size:11px;letter-spacing:4.3px;margin-top:4px}.brand-mark{color:var(--gold)}.brand-mark .icon{width:44px;height:44px;stroke-width:1}.masthead nav{display:flex;gap:30px;height:100%;align-items:center}.nav{height:100%;padding:0 3px;font-size:13px;color:var(--muted);position:relative}.nav.active{color:var(--gold)}.nav.active:after{position:absolute;bottom:0;left:0;right:0;height:2px;content:'';background:var(--gold)}.nav:hover{color:var(--ink)}.edition{margin-left:auto;font-size:9px;letter-spacing:1.7px;display:flex;gap:9px;align-items:center;color:#c4c9b8}.live-dot{width:5px;height:5px;border-radius:100%;background:#b3c995;display:inline-block;box-shadow:0 0 0 3px #a6c18c0d}.menu-content{width:465px;margin:36px 0 76px 5.3%;position:relative}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.2px;color:var(--gold)}h1{font-family:var(--serif);font-size:47px;font-weight:400;line-height:1.12;margin:19px 0 14px;letter-spacing:-1.6px}h1 em{color:var(--gold);font-weight:400}.lead{color:#bac4b4;line-height:1.7;font-size:13px;margin:0 0 25px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.7px;font-weight:600;color:#bac6b4;margin-bottom:10px}.section-label span:last-child{color:#809584;font-size:9px}.mission-list{display:grid;gap:7px}.mission-button{display:flex;width:100%;gap:14px;padding:10px 13px;border:1px solid #b6b58c27;align-items:center;text-align:left;background:#25392c78;border-radius:3px}.mission-button:hover{background:#41523a77}.mission-button.selected{border-color:#d9bc7777;background:linear-gradient(95deg,#cfb7781b,#cfb77807)}.mission-number{border:1px solid #b6b58c35;width:32px;height:32px;display:grid;place-items:center;color:#d6bf8a;font-family:var(--serif);font-size:16px}.mission-button.selected .mission-number{background:#dac48f;color:#20362c}.mission-copy{flex:1}.mission-copy strong{font:16px var(--serif);font-weight:400;display:block}.mission-copy small{font-size:10px;color:#96a892;display:block;margin-top:3px}.mission-button>.icon{width:16px;color:var(--gold)}.mission-status{font-size:8px;letter-spacing:.8px;color:#8c9d88}.faction-label{margin-top:20px}.faction-list{display:flex;gap:8px}.faction{flex:1;display:flex;align-items:center;gap:8px;justify-content:center;padding:11px 5px;border:1px solid var(--border);border-radius:3px;font-size:11px;color:#b7c3ad;background:#1a302788}.faction .icon{width:20px;height:20px}.faction.active{border-color:#d5bf7e80;background:#bca36818;color:var(--gold)}.faction-bonus{font-size:10px;min-height:27px;line-height:1.5;color:#aebca5;margin:8px 1px 10px}.settings-row{display:flex;gap:12px;margin-bottom:14px}.settings-row label{flex:1;font-size:9px;letter-spacing:.4px;color:#9caf99}.settings-row input,.settings-row select{display:block;width:100%;border:1px solid var(--border);background:#1428207d;padding:8px 9px;border-radius:2px;color:#c5cebb;margin-top:6px;font-size:11px;letter-spacing:.3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:13px 16px;border:1px solid #d0bc7d69;border-radius:3px;font-size:12px}.button.primary{background:#dec48c;color:#213a2c;font-weight:650;border-color:#dec48c;box-shadow:0 4px 16px #081b1b22}.button.primary:hover{background:#eed6a0}.button.primary .icon{width:17px;height:17px}.button.wide{width:100%}.button.wide span:nth-child(2){flex:1;text-align:left}.button.secondary{background:#21382c9c;color:#c9d0ba;border-color:#c7c19540}.button.secondary:hover{background:#354a37}.online-buttons{display:flex;gap:9px;margin-top:9px}.online-buttons .button{flex:1;padding:11px 6px;font-size:10px}.online-buttons .icon{width:15px;height:15px}.resume-row{display:flex;justify-content:space-between;margin-top:10px}.text-button{color:#d9ca9e;font-size:10px;text-decoration:underline;text-underline-offset:3px;padding:4px}.map-caption{position:absolute;right:6%;top:22%;text-align:right;pointer-events:none;text-shadow:0 2px 14px #152b24}.map-caption .eyebrow{font-size:8px;color:#f0e5c5}.map-caption h2{font-family:var(--serif);font-size:40px;font-weight:400;margin:13px 0;color:#f1e7cd}.map-divider{height:1px;width:95px;background:#d8ce9b88;margin-left:auto}.map-caption p{font-family:var(--serif);font-size:16px;color:#e6dfc0;line-height:1.65;font-style:italic}.map-coordinate{font-size:8px;letter-spacing:2.5px;color:#dcdfbc}.map-note{position:absolute;right:7%;bottom:100px;display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:2px;text-shadow:0 2px 6px #1a2c24}.map-note small{display:block;font:12px var(--serif);letter-spacing:.3px;color:#d2d7b9;margin-top:9px}.compass{text-align:center;font:32px var(--serif);line-height:1.1;color:#e1cf9f}.compass:first-line{font:10px var(--serif)}.menu-footer{position:fixed;bottom:0;left:4.3%;right:4.3%;height:45px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c7c19525;color:#abb69e;font-size:8px;letter-spacing:1.7px;background:linear-gradient(90deg,#172c27d9,transparent)}
/* Battle interface */
#hud{position:fixed;inset:0;pointer-events:none}#hud button,#hud select,#hud input,#hud .command-deck,#hud .objectives-panel,#hud .ally-panel{pointer-events:auto}.game-header{display:flex;align-items:center;justify-content:space-between;height:66px;background:linear-gradient(90deg,#182d26fa,#1c3229f5);border-bottom:1px solid #c6b77660;box-shadow:0 3px 12px #1b2b253b;padding:0 20px;pointer-events:auto;gap:16px}.mini-brand{display:flex;gap:9px;align-items:center;text-align:left;font:12px var(--serif);letter-spacing:1.3px;min-width:138px}.mini-brand small{font-size:8px;letter-spacing:2px}.mini-brand .icon{color:var(--gold);width:30px;height:30px}.resources{display:flex;gap:27px;flex:1;justify-content:center}.resource{display:flex;gap:8px;align-items:center;min-width:70px}.resource .icon{color:#d0c18e;width:23px;height:23px}.resource strong{font-weight:500;font-size:17px;font-variant-numeric:tabular-nums}.resource small{display:block;font-size:8px;color:#a6b29a;letter-spacing:.7px;margin-top:2px}.resource.population .icon{color:#88b7b2}.header-controls{display:flex;gap:8px;align-items:center}#game-clock{font-size:11px;letter-spacing:1px;color:#b5c0a8;padding-right:9px;font-variant-numeric:tabular-nums}.icon-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:3px;font-size:11px;color:#c9cdb6}.icon-button .icon{width:16px;height:16px}.icon-button:hover{background:#b8c0961a}.objectives-panel{position:absolute;top:87px;left:22px;width:270px;padding:17px 19px;background:#20372be8;border:1px solid #c5c39b37;border-radius:4px;box-shadow:0 6px 25px #20372620}.objectives-panel h2{font:23px var(--serif);font-weight:400;margin:9px 0 14px;line-height:1.15}.objectives-panel .eyebrow{font-size:8px;letter-spacing:1.5px}.objective{display:flex;gap:8px;font-size:11px;line-height:1.45;color:#c8d1b7;margin:9px 0}.objective .icon{width:14px;height:14px;margin-top:1px;color:#a6c488}.objective .objective-circle{width:11px;height:11px;border:1px solid #b7b78c70;border-radius:50%;flex-shrink:0;margin:2px}.objective.done{color:#94a88d}.wave-timer{border-top:1px solid var(--border);padding-top:12px;margin-top:14px;display:flex;gap:9px;align-items:center;font-size:10px;color:#d3bb86}.wave-timer .live-dot{background:#d0aa65}.ally-panel{position:absolute;top:86px;right:22px;width:262px;padding:12px 14px;background:#20372be8;border:1px solid #c5c39b37;border-radius:4px}.ally-title{display:flex;align-items:center;gap:7px}.ally-title strong{font-size:11px;font-weight:500;max-width:108px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ally-dot{width:7px;height:7px;background:var(--gold);border-radius:50%}.ally-title small{margin-left:auto;font-size:8px;letter-spacing:.8px;color:#a2b68f}.ally-actions{display:flex;gap:4px;margin-top:12px}.ally-actions button{font-size:9px;flex:1;border:1px solid var(--border);padding:7px 3px;border-radius:2px}.ally-actions button.active{color:var(--gold);background:#c5b06c1c;border-color:#c1ad6a60}.ally-gift{display:flex;gap:5px;align-items:center;margin-top:9px;font-size:9px;color:#b1c0a4}.ally-gift select{background:#263d2d;border:1px solid var(--border);border-radius:2px;font-size:9px;padding:3px;flex:1;color:#ccd1b7}.ally-gift button .icon{width:17px;height:17px}.dialogue{position:absolute;left:50%;bottom:259px;transform:translateX(-50%);max-width:530px;width:45vw;display:flex;align-items:center;gap:13px;background:#20372bef;border:1px solid #d2bc7d50;padding:14px 16px;border-radius:4px;pointer-events:auto;box-shadow:0 6px 30px #17332630}.dialogue-symbol{color:var(--gold)}.dialogue-symbol .icon{width:28px;height:28px}.dialogue>div{flex:1}.dialogue #dialogue-name{font-size:9px;letter-spacing:1px;color:var(--gold);text-transform:uppercase}.dialogue p{font-family:var(--serif);font-size:14px;color:#dedfc5;line-height:1.45;margin:5px 0 0}.dialogue button{color:var(--gold)}.dialogue button .icon{width:17px}.event-feed{position:absolute;bottom:265px;left:23px;max-width:300px;display:flex;flex-direction:column;gap:5px}.event-line{font-size:10px;line-height:1.4;background:#20372be3;border-left:2px solid #c3b579;padding:7px 9px;color:#dedfc6}.mode-hint{position:absolute;left:50%;top:82px;transform:translateX(-50%);background:#1c3129ee;border:1px solid #d2bc7d70;padding:9px 16px;border-radius:3px;font-size:12px;color:#ecdaaf}.paused-banner{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);padding:20px 26px;display:flex;gap:12px;align-items:center;background:#1a3029f5;border:1px solid #c9b6788c;box-shadow:0 10px 40px #112d2933;color:var(--gold);font-size:11px;letter-spacing:1.7px;pointer-events:auto}.paused-banner button{font-size:10px;color:var(--ink);border-left:1px solid var(--border);padding-left:16px}.command-deck{position:absolute;bottom:26px;left:18px;right:18px;height:215px;display:flex;gap:0;border:1px solid #ccbd834c;border-radius:5px;background:linear-gradient(145deg,#20372cf7,#1a3028fc);box-shadow:0 -7px 35px #1b322a40}.selection-panel{width:240px;flex-shrink:0;padding:18px;border-right:1px solid var(--border)}.selection-eyebrow{font-size:8px;letter-spacing:1.5px;color:#aebc9d}.selection-top{display:flex;gap:12px;align-items:center;margin:13px 0}.selection-emblem{width:54px;height:54px;border:1px solid #d0bd7d55;display:grid;place-items:center;background:#d4c0810b;color:var(--gold)}.selection-emblem .icon{width:32px;height:32px;stroke-width:1.2}.selection-top h3{font:20px var(--serif);margin:0 0 5px}.selection-top small{font-size:9px;color:#a4b89b}.selection-desc{font-size:10px;color:#aebb9f;line-height:1.6;margin:0}.healthbar{height:4px;background:#12281f;margin:10px 0 5px}.healthbar>div{height:100%;background:#79b8aa}.health-text{font-size:9px;color:#a8bfa6}.selected-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.selected-chips span{font-size:10px;background:#46583a55;border:1px solid var(--border);padding:3px 5px}.selected-chips .icon{width:12px;height:12px}.action-panel{flex:1;min-width:0;padding:14px 17px}.action-heading{font-size:9px;letter-spacing:1.6px;color:#c0c8ad;display:flex;justify-content:space-between;margin:0 0 12px}.action-heading>span:last-child{font-size:9px;letter-spacing:0;color:#8da389}.actions{display:flex;gap:7px;flex-wrap:wrap;align-content:flex-start;max-height:145px;overflow:auto}.action{position:relative;border:1px solid #c6bf8a35;border-radius:3px;background:#bcc68e0a;padding:9px 4px 6px;width:76px;height:65px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.action:hover{background:#c9c38b21;border-color:#deca8390}.action .icon{width:23px;height:23px;color:#dec68f}.action span{font-size:8px;white-space:nowrap}.action small{font-size:8px;color:#a7b89b}.action.unaffordable{opacity:.45}.action-kbd{position:absolute;right:4px;top:3px;font-size:8px;color:#9cad8f}.action-guide{font:17px var(--serif);color:#d8dbc1;margin:12px 0 6px}.action-guide-note{font-size:11px;color:#9cb08f;line-height:1.7;max-width:460px}.queue{display:flex;gap:6px;margin-top:7px;align-items:center;font-size:9px;color:#a6b797}.queue-unit{display:inline-flex;gap:4px;align-items:center;padding:2px 5px;border:1px solid var(--border);color:#ddcba2}.queue-unit .icon{width:13px;height:13px}.queue button{font-size:9px;color:#ccb985;padding:3px}.minimap-panel{width:230px;flex-shrink:0;border-left:1px solid var(--border);padding:10px 12px}.minimap-heading{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.2px;color:#b8c5a5;margin-bottom:5px}.minimap-heading .icon{width:13px;height:13px}.minimap-heading button{margin-left:auto;color:var(--gold);padding:0}#minimap{width:100%;height:155px;background:#2d4635;border:1px solid #b5b8852a;display:block;cursor:crosshair}.minimap-footer{font-size:7px;letter-spacing:.5px;color:#9eb28e;display:flex;align-items:center;justify-content:space-between;margin-top:6px}.key{width:5px;height:5px;display:inline-block}.key.blue{background:#79c4d1}.key.gold{background:#dfc387}.key.red{background:#cf6e67}.shortcut-strip{position:absolute;bottom:5px;left:28px;right:28px;display:flex;gap:26px;font-size:8px;color:#d2d6b9;text-shadow:0 1px 4px #193027}.shortcut-strip kbd{font:7px var(--sans);color:#e6dab1;margin-right:5px}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#11251fbd;backdrop-filter:blur(7px);padding:25px;overflow:auto}.modal-card{position:relative;width:min(630px,100%);max-height:90vh;overflow:auto;padding:36px 40px;background:linear-gradient(135deg,#263e31,#192e27);border:1px solid #c6b77b70;box-shadow:0 20px 100px #071a1b80;border-radius:5px}.modal-close{position:absolute;right:13px;top:13px}.modal-card h2{font:35px var(--serif);font-weight:400;margin:12px 0 16px;line-height:1.15}.modal-card p{font-size:13px;line-height:1.8;color:#b7c7ac}.modal-card .button{margin-top:12px}.modal-card label{display:block;font-size:11px;color:#bdc9b0;margin:17px 0 7px}.modal-card input{width:100%;padding:12px;background:#13281f77;border:1px solid var(--border);border-radius:3px;color:#eee7d3}.modal-actions{display:flex;gap:9px;margin-top:16px}.modal-actions .button{flex:1}.brief-objective{background:#c6b67b0a;border-left:2px solid var(--gold);padding:12px 16px;font-size:12px;line-height:1.6;color:#e1d2a7;margin:19px 0}.brief-factions{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:11px;color:#b8c7aa;align-items:center}.brief-factions .icon{color:#e1ca8a}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.help-item{background:#b7c48508;border:1px solid var(--border);padding:12px}.help-item strong{display:block;font:17px var(--serif);margin-bottom:6px;color:#d9cca5}.help-item p{font-size:11px;margin:0}.help-key{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:7px 0;font-size:11px;color:#adbf9f}.help-key kbd{font-family:var(--sans);color:#dfc98f}.room-code{font:42px var(--serif);letter-spacing:10px;color:var(--gold);background:#11291e77;border:1px dashed #d3bd7a70;padding:17px;text-align:center;margin:18px 0;user-select:all}.room-player{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px}.room-player .icon{color:var(--gold)}.room-player small{margin-left:auto;font-size:10px;color:#9db68d}.room-hint{font-size:11px!important}.room-link{word-break:break-all;font-size:11px;color:#d8c894;padding:10px;background:#10251f88;border:1px solid var(--border);user-select:all}.toast{position:fixed;bottom:255px;left:50%;transform:translateX(-50%);z-index:60;background:#223b2fec;border:1px solid #d5bc7d80;color:#eee1ba;box-shadow:0 4px 20px #12291d44;border-radius:4px;padding:12px 20px;font-size:12px;max-width:90vw;text-align:center}.result-emblem{color:var(--gold);margin:10px 0}.result-emblem .icon{width:54px;height:54px;stroke-width:1}.result-stats{display:flex;gap:20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0;margin:20px 0}.result-stats strong{display:block;font:25px var(--serif);color:var(--gold)}.result-stats span{display:block;font-size:9px;color:#a8bd9b;margin-top:5px}.online-error{color:#e5a68d!important}.muted{color:#95ab8d!important}
.paused-banner{top:88px;transform:translateX(-50%);padding:10px 14px;font-size:9px;letter-spacing:1px}.paused-banner>.icon{width:16px;height:16px}.tactical-settings{flex:0 0 100%;display:flex;gap:14px;margin-top:3px}.tactical-group{flex:1;min-width:0}.tactical-group>span{display:block;font-size:8px;letter-spacing:1px;color:#a9bb99;margin-bottom:6px}.tactical-group>div{display:flex;gap:4px}.tactical-option{display:flex;flex:1;align-items:center;justify-content:center;gap:5px;padding:7px 5px;border:1px solid #c6bf8a35;border-radius:3px;background:#bcc68e08;white-space:nowrap;font-size:10px;color:#bfceb2}.tactical-option .icon{width:16px;height:16px}.tactical-option.active{background:#dbc08220;border-color:#dbc08290;color:#ead4a0}.tactical-option:hover{background:#c9c38b21}.order-status{color:#d5cea9}.order-tip{margin-left:auto;font-size:9px;color:#8ca98f}.target-summary{display:flex;gap:5px;align-items:center;color:#e9af8e;margin-left:auto}.target-summary .icon{width:14px;height:14px}.actions:has(.tactical-settings){max-height:150px}.queue:has(.order-status){min-height:16px}.queue:has(.order-status) button{border-bottom:1px solid #c8b87c55;padding:0 3px}
@media(max-width:1100px){.tactical-settings{gap:8px}.tactical-option{font-size:8px;gap:3px;padding:6px 3px}.tactical-option .icon{width:13px;height:13px}.tactical-group>span{font-size:7px;letter-spacing:.5px}.order-tip{font-size:8px}}
@media(max-width:760px){.tactical-settings{flex-direction:column;gap:6px}.actions:has(.tactical-settings){max-height:125px;overflow:auto}.tactical-group>span{margin-bottom:3px}.order-tip{display:none}}
@media(min-height:960px){.menu-content{margin-top:55px}.mission-button{padding:13px}.lead{margin-bottom:30px}.faction-label{margin-top:25px}.settings-row{margin-bottom:19px}}
@media(max-height:830px){.masthead{height:76px}.menu-content{margin-top:23px;margin-bottom:55px}h1{font-size:39px;margin:13px 0 10px}.lead{font-size:12px;margin-bottom:17px}.mission-button{padding:7px 11px}.mission-copy strong{font-size:15px}.mission-number{width:28px;height:28px}.faction-label{margin-top:15px}.faction{padding:8px 5px}.faction-bonus{margin:6px 0}.settings-row{margin-bottom:10px}.button{padding:11px 16px}.map-caption h2{font-size:34px}.command-deck{height:199px}.selection-panel{padding:13px 16px}.action-panel{padding:12px}.action{height:60px;width:72px}.actions{max-height:129px}.minimap-panel{padding:8px 10px;width:220px}#minimap{height:143px}.dialogue{bottom:240px}.event-feed{bottom:240px}.toast{bottom:235px}.action-heading{margin-bottom:10px}}
@media(max-width:1100px){.masthead{gap:30px}.masthead nav{gap:19px}.edition{display:none}.menu-content{width:420px}.map-caption{right:4%;top:27%}.map-caption h2{font-size:30px}.map-note{right:4%}.resources{gap:14px}.resource{min-width:57px;gap:5px}.resource strong{font-size:14px}.mini-brand{min-width:116px;font-size:10px}.game-header{padding:0 12px;gap:8px}.header-controls{gap:4px}.selection-panel{width:205px}.minimap-panel{width:190px}.action{width:63px}.action span{font-size:7px}.selection-top h3{font-size:18px}.action-heading>span:last-child{display:none}.command-deck{left:10px;right:10px}.shortcut-strip{gap:15px}.objectives-panel{left:15px;width:245px}.ally-panel{right:15px;width:240px}.dialogue{width:42vw;bottom:237px;left:58%}}
@media(max-width:760px){#menu{background:#182e27df}.menu-content{width:auto;margin:24px 24px 70px}.masthead{margin:0 24px;gap:10px;height:70px}.brand{font-size:17px}.brand small{font-size:9px}.brand-mark .icon{width:32px}.masthead nav{margin-left:auto}.nav{font-size:11px}.nav#credits-btn{display:none}.map-caption,.map-note{display:none}.menu-footer{font-size:6px}h1{font-size:38px}.game-header{height:57px}.mini-brand{min-width:auto}.mini-brand>span:last-child{display:none}.resource small{display:none}.resource .icon{width:16px}.resource{min-width:0}.resources{gap:10px}.resource strong{font-size:11px}#game-clock,#sound-btn{display:none}.header-controls{gap:3px}.icon-button{width:26px;height:27px}.objectives-panel{width:210px;top:70px;padding:11px}.objectives-panel h2{font-size:19px}.ally-panel{top:70px;width:195px;padding:10px}.ally-gift{display:none}.ally-title small{font-size:6px}.command-deck{height:186px;bottom:22px}.selection-panel{width:151px;padding:10px}.selection-emblem{width:34px;height:34px}.selection-emblem .icon{width:24px}.selection-top{gap:7px}.selection-top h3{font-size:16px}.selection-desc{font-size:8px}.selection-top small{font-size:7px}.minimap-panel{width:140px;padding:7px}#minimap{height:130px}.minimap-heading{font-size:6px}.minimap-footer{font-size:5px}.action{width:53px;height:57px}.action .icon{width:19px;height:19px}.action small{font-size:6px}.action span{font-size:6px}.actions{gap:4px;max-height:125px}.action-panel{padding:10px 7px}.action-heading{font-size:7px}.dialogue{display:none}.event-feed{bottom:220px;max-width:240px}.shortcut-strip{font-size:6px;gap:10px;left:14px}.shortcut-strip kbd{font-size:6px}.shortcut-strip span:nth-child(n+5){display:none}.modal-card{padding:28px 22px}.modal-card h2{font-size:28px}.help-grid{grid-template-columns:1fr}.toast{bottom:220px}}

#join-faction{width:100%;padding:12px;background:#1c3027;border:1px solid var(--border);border-radius:3px;color:#eee7d3}#join-error:empty{display:none}#join-form .button{margin-top:16px}

#hud:has(#paused-banner:not(.hidden)) .mode-hint{top:140px}

.audio-switch{display:flex!important;align-items:center;gap:10px;font-size:14px!important}.audio-switch input{width:18px!important;height:18px;accent-color:#dfc58c}.modal-card input[type=range]{padding:0;accent-color:#dfc58c}.modal-card output{float:right;color:#e7cc8d}.audio-samples{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.audio-samples .button{flex:1;padding:10px}.audio-samples button:disabled{opacity:.4}

/* Independent browser preferences: scaling changes the HUD, never the world coordinates. */
:root{--ui-scale:1}#hud{zoom:var(--ui-scale)}.modal-card{zoom:var(--ui-scale);max-height:calc(90vh / var(--ui-scale));width:min(630px,calc(94vw / var(--ui-scale)))}
.campaign-list{display:grid;gap:9px;max-height:300px;overflow:auto}.saved-campaign{display:grid;gap:7px;text-align:left;padding:15px;border:1px solid var(--border);background:#c6bf8a09;border-radius:4px}.saved-campaign strong{color:var(--gold);font:20px var(--serif)}.saved-campaign span,.saved-campaign small{font-size:12px;color:var(--muted)}.saved-campaign:hover{background:#c6bf8a1a}
.resume-row{flex-wrap:wrap;gap:6px 17px}#personal-key{font-family:monospace;font-size:12px}.binding-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.binding-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;border-bottom:1px solid var(--border);padding:5px 0}.binding-key{min-width:55px;border:1px solid #d3bd7a80;border-radius:3px;padding:7px;color:var(--gold)}#binding-status{min-height:24px;color:var(--gold)}#interface-scale{width:100%;padding:12px;background:var(--panel);color:var(--ink);border:1px solid var(--border)}
.idle-workers{font-size:11px;white-space:nowrap;border:1px solid var(--border);padding:8px;border-radius:3px}.event-alert{pointer-events:auto;text-align:left;cursor:pointer}.event-alert:hover{background:#425a3f}.event-alert span{color:var(--gold);white-space:nowrap}
.binding-list{max-height:min(300px,32vh);overflow:auto;padding-right:8px}.compact-hud .event-feed{left:auto;right:15px;max-width:220px}.selection-top h3{overflow-wrap:anywhere}
.compact-hud .selection-emblem{width:32px;height:32px;flex-shrink:0}.compact-hud .selection-emblem .icon{width:22px;height:22px}.compact-hud .selection-top{gap:8px}.compact-hud .selection-top h3{font-size:16px;overflow-wrap:normal}
.compact-hud .mini-brand>span:last-child{display:none}.compact-hud .mini-brand{min-width:30px}.compact-hud .game-header{padding:0 8px;gap:6px}.compact-hud .resources{gap:8px}.compact-hud .resource{min-width:0}.compact-hud .resource small{font-size:8px}.compact-hud .header-controls{gap:3px}.compact-hud #game-clock{display:none}.compact-hud .selection-panel{width:170px}.compact-hud .minimap-panel{width:165px}.compact-hud .objectives-panel{width:225px}.compact-hud .ally-panel{width:220px}.compact-hud .command-deck{height:215px}.compact-hud .actions{max-height:145px}.compact-hud .dialogue,.compact-hud .event-feed{bottom:250px}.compact-hud .selection-panel{overflow:auto}
@media(max-width:760px){.binding-list{grid-template-columns:1fr}.idle-workers{font-size:9px;padding:5px}.compact-hud .resource small{display:none}.compact-hud .selection-panel{width:135px}.compact-hud .minimap-panel{width:130px}.compact-hud .objectives-panel{width:185px}.compact-hud .ally-panel{width:180px}.modal-actions{flex-wrap:wrap}.masthead nav{gap:12px}}

#ally-directive{display:block;font-size:10px;color:#d4ca9f;line-height:1.4} #ally-directive:empty{display:none}.ally-actions + .ally-actions{margin-top:4px}
