/* Imperial command room: one visual language across the entire game. */
:root{--bg:#101216;--panel:#191c22;--deep:#22262d;--border:#3b3c40;--text:#f0ede7;--muted:#b6b4ae;--gold:#dfab72;font-family:'Segoe UI',Arial,sans-serif}
body{background:var(--bg)}button,select{background:#26292f;border-color:#45474d;border-radius:3px;line-height:1.35;font-size:.875rem;transition:background .16s,border-color .16s,box-shadow .16s}button:hover:not(:disabled){background:#36383e;border-color:#bd9067;box-shadow:0 2px 10px #0003}button.primary,.account-signin{background:linear-gradient(#ecc38e,#ce955e);border-color:#e4b782;color:#241b14}button.primary:hover:not(:disabled){background:#f2cc9b}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #edbd89;outline-offset:3px}button:disabled{opacity:.42}.quiet{background:#1e2127}
.workspace{grid-template-columns:290px minmax(0,1fr) 330px}.leftpanel,.leftpanel.open,.rightpanel.command-deck{background:linear-gradient(120deg,#24272e,#171a20 45%);padding:22px 18px;border-color:#51453a;scrollbar-width:thin;scrollbar-color:#665243 #171a20}.leftpanel{box-shadow:8px 0 28px #0004}.rightpanel.command-deck{box-shadow:-8px 0 28px #0004}.brand{font-family:Georgia,serif;color:#f0e2ce;letter-spacing:2px}.brandmark{color:#dfab72}.brand small{color:#a7a9ad;letter-spacing:3px}.topbar{border-color:#4d453e;gap:16px}.topbar nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:6px}.topbar nav button{font-size:.875rem;padding:9px 5px}.matchstatus #phase{color:#dfab72;letter-spacing:1.5px;font-size:.75rem}.matchstatus strong{font-family:Georgia,serif;font-size:2.2rem;color:#f1e5d1}.matchstatus #season{padding:6px 9px;border:1px solid #50483e;color:#d8c6af;align-self:center;font-size:.75rem}
.resources{gap:9px;border-color:#4b4540;padding:18px 0}.resources div{background:#11151b;border:1px solid #353940;border-left:2px solid #a77953;padding:11px 10px 22px;position:relative;min-height:66px}.resources span{color:#bcb7ad;font-size:.75rem;letter-spacing:.6px}.resources b{font-size:1.2rem;font-variant-numeric:tabular-nums;color:#f2dfc2}.resources .resource-rate{color:#9ea5a6;font-size:.75rem}.speedlabel{font-size:.875rem}.speedlabel select{font-size:.875rem;background:#20232a}.sectionlabel{font-size:.75rem;letter-spacing:1.5px;color:#e0c6a3;line-height:1.6}.divider{background:#3f3b36;margin:22px 0}.abilities{gap:7px}.abilities button{background:#242830;border-color:#45464c;font-size:.875rem}.abilities small{color:#baa286;font-size:.75rem}.advice,.regiondesc,.selection-column .regiondesc,.command-tip,.research-note,.equipmentInfo{color:#b7babf;font-size:.875rem;line-height:1.65}.regiontitle,.selection-column .regiontitle{font-family:Georgia,serif;color:#f2e2cb;font-size:1.8rem}.command-tabs{gap:6px;background:#101319;padding:5px;border:1px solid #383a40;border-radius:4px}.command-tabs button{background:transparent;border-color:transparent;font-size:.875rem;padding:12px 5px}.command-tabs button[aria-selected=true]{background:#44362b;border-color:#b2855d;color:#f6d8b2}.command-tabs span{font-size:.75rem;color:#c8b297}.command-content{padding-top:16px}.command-group-title,.roster-heading{font-size:.75rem;color:#d2ad82;letter-spacing:1.3px}.buildgrid,.recruitgrid{gap:8px}.buildgrid button,.recruitgrid button{background:linear-gradient(150deg,#30343c,#23262d);border-color:#46484e;font-size:.875rem;min-height:80px;text-align:left;padding:12px 9px}.buildgrid small,.recruitgrid small{color:#c4b39e;font-size:.75rem;line-height:1.6;margin-top:7px}.industry-panel{border-color:#4c443d}.industry-stocks{gap:8px}.industry-stocks span{background:#10151b;border:1px solid #383c42;padding:10px;font-size:.75rem;color:#c7bcae}.industry-stocks b{color:#e9bb87;font-size:1.5rem}.industry-stocks small{font-size:.75rem}.campaign-status,.order-briefing,.development-card{background:#11171e;border-color:#41444b;color:#dfdfdc;border-radius:3px}.development-card{border-left-color:#c49a6b}.development-card strong,.phase-caption,.objective-meter b{color:#edc79c}.campaign-status p,.order-briefing p,.development-card,.objective-meter{font-size:.875rem}.objective-meter span,.order-briefing small{font-size:.75rem;color:#b6bcc2}.army-row{background:#232830;border-color:#424850;border-radius:3px;padding:13px}.army-row strong{font-size:.875rem;color:#e7dfd2}.army-row small,.army-metrics{font-size:.75rem;color:#b9c0c7}.score-part progress{accent-color:#d8a26b}.score-part progress::-webkit-progress-value{background:#d8a26b}.score-part progress::-webkit-progress-bar{background:#10151c}.score-part span{font-size:.75rem}.score-part b{color:#e7b77d}.worker-focus{font-size:.875rem}.worker-focus:hover:not(:disabled){color:#e8b782;background:none}.workforce-summary,.workforce-row,.owned-region{border-color:#42464b}.queue{color:#d4c2aa;font-size:.75rem}
.side-map-settings{background:#161b22;border-color:#41454b;padding:12px}.side-map-settings summary{color:#dfb888;font-size:.875rem}.leftpanel .maptools button{font-size:.75rem;background:#252a32}.leftpanel .maplegend,.leftpanel .controlhint,.leftpanel .terrain-status,.leftpanel footer{color:#aeb6bf;text-shadow:none}.leftpanel .controlhint{font-size:.75rem}.maparea{background:#111722}.maparea>.minimap-frame,body.map-expanded .maparea>.minimap-frame{background:#151b23ed;border-color:#a78560;border-radius:3px;box-shadow:0 8px 32px #0006}.country-tooltip{background:#161d26ef;border-color:#c59b69;color:#f4e5cd;border-radius:3px;font-size:.875rem}.country-label,.region-label{font-family:'Segoe UI',Arial,sans-serif}.return-interface,.mobilepanels button{background:#1d232ced!important;border-color:#a78560!important;color:#ebd4b7!important}
.overlay{background:radial-gradient(ellipse at 65% 25%,#36414c99,#060a10ed 70%);backdrop-filter:blur(10px)}.startcard{max-width:1180px;grid-template-columns:340px 1fr;background:#1b2027;border:1px solid #7a6148;border-radius:4px;box-shadow:0 30px 110px #0009}.startheading{padding:48px 34px;background:linear-gradient(155deg,#303943,#161c23);border-color:#5f4c3a;position:relative}.startheading:before{content:'';position:absolute;left:34px;top:32px;width:48px;height:3px;background:#d2a06b}.startheading h1{font:3.2rem/1.08 Georgia,serif;letter-spacing:-1px;margin:30px 0;color:#f2e5d0}.eyebrow{color:#e1b17c;font-size:.75rem;letter-spacing:2px}.startheading p{color:#b9c3cb;font-size:1rem;line-height:1.8}.startsetup{padding:34px}.factioncards{gap:12px}.factioncard{background:#252d35;border-color:#4b535b;border-radius:3px;padding:125px 18px 18px;min-height:260px;overflow:hidden;transition:background .18s,border-color .18s,box-shadow .18s}.factioncard.selected{background:#393128;border-color:#dfb47c;box-shadow:inset 0 0 0 1px #dfb47c,0 5px 22px #0005}.biome-art{height:108px;filter:saturate(.82) contrast(1.07)}.factioncard .factionname{font-size:1.5rem;color:#f2dfc2}.factioncard .region{font-size:.75rem;color:#b6c2cc}.factioncard .role{font-size:.875rem;line-height:1.5;color:#d5dde2}.factioncard .budget{top:119px;right:12px;font-size:.75rem;color:#d9b687;background:#15191fe0;padding:4px 7px}.account-start{border-color:#4a4844}.account-start p{font-size:.875rem;color:#c6c8c7}.account-start button{font-size:.875rem}.startbottom{border-color:#51483e}.startbottom p{font-size:.875rem;color:#e1d6c6}.startbottom span,.firststeps{font-size:.75rem;color:#afb9c2}.firststeps{border-color:#48474a;line-height:1.7}.startbottom .primary{font-size:1rem;padding:16px 26px;border-radius:3px}
dialog,.endcard{background:#1b2129;border-color:#957453;border-radius:4px;box-shadow:0 25px 80px #0007}dialog::backdrop{background:#060b13cc}.dialoghead h2{color:#ead4b7;font-family:Georgia,serif}.guideentry,.history-row,.rule-list li{border-color:#414751}.guideentry h3,.rule-list strong,.rule-list li::marker,.phase-grid small,.history-row b{color:#e6b780}.phase-grid article,.lobby-seat,.plan-doctrine{background:#252c34;border-color:#47505a;border-radius:3px}.plan-doctrine{border-left-color:#c4925b}.infotext,.rule-list p,.phase-grid p,.plan-doctrine,.lobby-seat small{color:#c3ccd2}.lobby-countdown{color:#e5bb88}#profileForm input{background:#111820;border-color:#5a6370}.account-signin{color:#251d15}.history-row small{color:#b3bec9}#toast{background:#141c26f5;color:#f1dfc5;border:1px solid #d0a574;border-radius:3px;box-shadow:0 10px 35px #0007;padding:14px 20px;font-size:.875rem}
@media(min-width:1700px){.workspace{grid-template-columns:310px minmax(0,1fr) 360px}.panel{padding:25px 22px}}
@media(min-width:801px) and (max-width:1100px){.workspace{grid-template-columns:245px minmax(0,1fr) 280px}.leftpanel,.rightpanel.command-deck{padding:16px 12px}}
@media(max-width:800px){.workspace{display:block}.leftpanel.open,.rightpanel.command-deck.open{width:min(335px,calc(100vw - 55px))}.startcard{display:block;max-width:640px}.startheading{padding:28px}.startheading:before{display:none}.startheading h1{font-size:2.5rem;margin:16px 0}.startsetup{padding:22px}.factioncard{padding:100px 12px 14px;min-height:230px}.biome-art{height:87px}.factioncard .budget{top:93px}.factioncard .factionname{font-size:1.3rem}.factioncard .role{font-size:.875rem}.startbottom{flex-direction:column;align-items:stretch}.startbottom .primary{width:100%}.account-start>div{display:grid;grid-template-columns:1fr}.mobilepanels button{font-size:.875rem}.resources span,.resources .resource-rate{font-size:.75rem}}
/* A compact preparation screen gives the civilization choice the main space. */
.startcard{display:block}.startheading{padding:30px 34px;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.startheading:before{top:25px}.startheading .eyebrow{grid-column:1/-1;margin-top:8px}.startheading h1{font-size:2.7rem;margin:8px 0}.startheading p{align-self:center;margin:0}.startbottom .primary{background:linear-gradient(#ecc38e,#ce955e);border-color:#e4b782}.firststeps{background:#131a23;border-color:#41464e;color:#b6c0ca}.biome-art{border-bottom-color:#5a6065}.factioncard .budget{border-color:#897055}.factioncard:hover:not(:disabled){background:#303942;border-color:#c2a17d}.account-start button:disabled{background:#20252d}.worker-focus:hover:not(:disabled){box-shadow:none}.score-row{border-color:#42464c}.score-row .score{color:#e3b781}.selection-column{border-color:#4c4540}
@media(max-width:800px){.startheading{display:block;padding:24px}.startheading h1{font-size:2.2rem;margin:15px 0}.factioncards{grid-template-columns:repeat(2,minmax(0,1fr))}.startheading p{font-size:.875rem}.factioncard .region{min-height:40px}.startsetup{padding:18px}.factioncard .budget{font-size:.75rem}}
[hidden]{display:none!important}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.mode-picker button{padding:14px;font-size:.875rem}.mode-picker button[aria-pressed=true]{background:#44362b;border-color:#dfb47c;color:#f3d6b0}.mode-description{font-size:.875rem;line-height:1.6;color:#b7c3cb;margin:10px 0 22px}.watch-panel{padding-top:4px}.watch-empires{display:grid;gap:9px}.watch-empire{display:grid;gap:7px;width:100%;text-align:left;border-left:3px solid var(--empire);background:#1f2730;padding:13px}.watch-empire.active{border-color:var(--empire);background:#2b3035}.watch-empire strong{display:flex;justify-content:space-between;gap:8px;font-size:.875rem}.watch-empire b{color:#e0bb89;font-size:.75rem;font-variant-numeric:tabular-nums}.watch-empire span,.watch-empire small{font-size:.75rem;line-height:1.5;color:#c0c9ce}.watch-empire em{font-size:.75rem;color:#edc494;font-style:normal}.watch-intent{padding:12px;border-left:2px solid #bb9467;background:#151b23;font-size:.875rem;line-height:1.7;color:#cad2d7}.watch-events{padding:0;list-style:none;display:grid;gap:0}.watch-events li{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #383e46;font-size:.75rem;line-height:1.6}.watch-events time{color:#d4b182;font-variant-numeric:tabular-nums}.rules-summary{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.rules-summary span{border:1px solid #65503d;background:#272b30;padding:10px;font-size:.875rem;color:#e4c399}.rule-group{border:1px solid #49505a;border-radius:3px;margin:12px 0;background:#202630}.rule-group>summary{padding:16px;cursor:pointer;color:#ebc698;font-size:1rem}.rule-group>summary small{float:right;font-size:.75rem;color:#afb9c4}.rule-group .rule-list{margin:0;padding:0 18px 12px 42px}.spectator-mode .abilities,.spectator-mode #retreat,.spectator-mode #trainCivilian,.spectator-mode [data-worker-role]{display:none}.spectator-mode .workforce-row{grid-template-columns:1fr auto}.spectator-mode .score-row.you{background:#2d3035}.spectator-mode .advice{color:#c8cdd0}
@media(max-width:600px){.mode-picker{grid-template-columns:1fr}.rule-group>summary small{float:none;display:block;margin-top:5px}}
.technology-levels{display:grid;gap:10px;margin:14px 0 20px}.technology-levels>div{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#141b23;border:1px solid #424b55;font-size:.875rem}.technology-levels b{color:#e5ba84;font-weight:500;font-variant-numeric:tabular-nums}.technology-levels progress{grid-column:1/-1;width:100%;height:5px;accent-color:#c89b66}
.war-command{margin-top:16px;padding-top:12px;border-top:1px solid #b5a06b33}.war-command select,.quality-choice select{width:100%;background:#13272d;color:#e5dbc5;padding:9px;border:1px solid #8f815950;border-radius:5px}.diplomatic-row{padding:9px;margin:6px 0;background:#152a30;border:1px solid #c9b37322;border-radius:5px}.diplomatic-row strong,.diplomatic-row small{display:block}.diplomatic-row small,.diplomatic-row p{font-size:11px;color:#bdc6bb;line-height:1.5}.diplomatic-row div{display:flex;gap:4px;flex-wrap:wrap}.diplomatic-row button{font-size:10px;padding:7px}.proposal{border-color:#d7b775}.quality-choice{display:block;margin-top:10px;font-size:11px}
/* The map owns touch gestures; panels keep their normal scrolling behavior. */
.world3d-canvas{touch-action:none;user-select:none;-webkit-user-select:none}
.camera-controls{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:12;display:grid;grid-template-columns:1fr 1fr;width:130px;gap:5px;padding:7px;background:#111b22e8;border:1px solid #8f7958;border-radius:6px;box-shadow:0 4px 14px #0005}
.camera-controls button{min-height:42px;font-size:23px;touch-action:manipulation}
.camera-controls #worldView{grid-column:1/-1;font-size:12px;min-height:40px;padding:6px}
@media(max-width:700px){.camera-controls{left:7px;width:110px;padding:5px}.camera-controls #worldView{font-size:11px}}

/* Decisions, advisor questions and world votes */
.council{position:absolute;top:12px;right:12px;z-index:6;display:flex;flex-direction:column;gap:8px;width:min(330px,calc(100% - 24px));max-height:calc(100% - 250px);overflow:auto;pointer-events:none}
.council>*{pointer-events:auto;flex-shrink:0}
.council-card{position:relative;background:#1b2027f2;border:1px solid #5a4b33;border-left:3px solid #e2b866;border-radius:4px;padding:10px 12px 12px;box-shadow:0 6px 22px #0008;color:#e7dfd2;overflow:hidden}
.council-card.advice{border-left-color:#6fc3a5}.council-card.vote{border-left-color:#8fb4e8}
.council-card header{display:flex;justify-content:space-between;font-size:.6875rem;letter-spacing:.08em;color:#c9b182}.council-card header b{color:#f0d79a;font-variant-numeric:tabular-nums}
.council-card h3{margin:4px 0 2px;font-size:1rem;color:#f4ead6}.council-card p{margin:0 0 8px;font-size:.8125rem;line-height:1.4;color:#c5cbd1}
.council-options{display:grid;gap:6px}.council-options.two{grid-template-columns:1fr 1fr}
.council-options button{text-align:left;background:#262c35;border:1px solid #47505b;border-radius:3px;padding:7px 9px;color:#eee6d6;cursor:pointer;min-height:44px}
.council-options button:hover:not(:disabled),.council-options button:focus-visible{background:#333b46;border-color:#e2b866;outline:none}
.council-options button:disabled{opacity:.5;cursor:not-allowed}
.council-options strong{display:block;font-size:.875rem}.council-options small{display:block;font-size:.75rem;color:#b9c0c7;line-height:1.35}
.council-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#e2b866;transition:width .25s linear}
.council-votes{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-bottom:8px;font-size:.75rem}.council-votes span{display:flex;align-items:center;gap:6px}.council-votes i{width:8px;height:8px;border-radius:50%;background:var(--empire)}.council-votes b{margin-left:auto;color:#f0d79a;font-weight:600}
.council-note{margin:0!important}.council-log{background:#1b2027d9;border:1px solid #3a4049;border-radius:4px;padding:6px 10px;display:grid;gap:2px}.council-log small{font-size:.6875rem;color:#aeb6be}
.council-laws{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}.council-laws span{font-size:.6875rem;background:#31445c;color:#d8e6fa;border-radius:10px;padding:1px 8px}
.army-label{position:absolute;left:0;top:0;white-space:nowrap;font-size:.6875rem;line-height:1;padding:3px 6px;border-radius:3px;background:#12171dd9;color:#eee6d6;border-bottom:2px solid;pointer-events:none}
.army-label.picked{background:#f4e4b6;color:#1a1f25;font-weight:600}
.select-box{position:absolute;border:1px solid #fff4cf;background:#fff4cf22;pointer-events:none;z-index:5}
.army-row.picked{border-color:#f0d79a;background:#3a3423}
@media (max-width:900px){.council{width:calc(100% - 24px);top:8px;right:12px;max-height:55%}}

/* Match length choice and era progress */
.length-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.length-choice button{text-align:left;background:#232830;border:1px solid #424850;border-radius:4px;padding:9px 11px;color:#e7dfd2;cursor:pointer;min-height:44px}
.length-choice button[aria-pressed="true"]{border-color:#e2b866;background:#3a3423}
.length-choice strong{display:block;font-size:.875rem}.length-choice small{display:block;font-size:.75rem;color:#b9c0c7;line-height:1.35}
.era-next{display:grid;gap:5px;margin:8px 0 12px;padding:9px 10px;border:1px solid #47505b;border-radius:4px;background:#1f242b}
.era-next>strong{font-size:.8125rem;color:#f0d79a}.era-next small{font-size:.6875rem;color:#aeb6be;line-height:1.4}
.era-next .score-part.done span{color:#8fd3a8}
/* Language: the start screen has its own switch above the overlay; the page stays hidden until the first translation pass. */
html.lang-pending body{visibility:hidden}#startLangToggle{position:fixed;top:12px;right:12px;z-index:1000;min-width:44px;padding:6px 10px;font-weight:700;letter-spacing:1px}#startOverlay.hidden~#startLangToggle{display:none}
