/* Illustrated edition: navy enamel, brushed gold, and painted battlefield art. */
/* Keep decisions reachable when a dialog is taller than the screen. */
dialog[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden}
dialog .dialog-header,dialog .dialog-footer{flex:none}
dialog .dialog-body{overflow:auto;min-height:0;overscroll-behavior:contain}
:root{--bg:#071326;--panel:#0b1c34;--panel2:#142941;--line:#8d754547;--muted:#a0acbc;--text:#e2dfd4;--gold:#dbc18a;--green:#bdd7a1;--red:#e6a29c;--blue:#a5cce1;--frame:#b69a60;--enamel:linear-gradient(125deg,#112841f7,#071426fa 65%,#10243af7)}
body{background:#071326}button{border-radius:1px}h1,h2,h3,.brand-title{color:var(--gold)}.eyebrow{color:#bda779;font-family:Georgia,serif;letter-spacing:1.8px}.primary{background:linear-gradient(#cfb47d,#a68a53);color:#111d2e;border-color:#ead39d;box-shadow:inset 0 0 0 2px #4f412c55,0 2px 7px #0004;font-family:Georgia,serif;letter-spacing:.6px}.primary:hover:not(:disabled){background:linear-gradient(#f1d59a,#c9ab6c);box-shadow:0 0 16px #ddbb7033,inset 0 0 0 2px #4f412c55}.secondary,.quiet-button{background:linear-gradient(#1b314a,#0d2038);border-color:#b8a06a66;color:var(--gold)}.secondary:hover:not(:disabled),.quiet-button:hover:not(:disabled){background:#233b53;border-color:var(--gold)}.icon-button{color:var(--gold);border-color:#b49a5c3d}.link-button{color:#e7cc90}button:disabled{opacity:.55}.pill{background:#d8b76c08;border-color:#b79b5c45;color:#c9bb99;border-radius:1px}.positive{color:#bad59b}.negative{color:#e6a29c}.small-copy{color:#aeb9c7}
.art-sprite{display:block;flex:none;background-image:var(--art);background-size:var(--art-size);background-position:var(--art-position);background-repeat:no-repeat;width:80px;height:80px;pointer-events:none}.portrait-art{border:1px solid #bca06a;box-shadow:0 0 0 2px #071326,0 0 0 3px #bca06a44;object-fit:cover}.unit-art,.building-art,.city-art{filter:drop-shadow(0 4px 3px #0006)}
.masthead{height:54px;padding:0 20px;background:linear-gradient(90deg,#071326,#122941 50%,#071326);border-bottom:1px solid #8c714b99;box-shadow:0 1px 0 #efcf8f19;z-index:4}.brand{padding:0;border:0}.brand img{width:33px;height:33px;filter:sepia(.3) brightness(1.18)}.brand b{color:var(--gold);font:30px Georgia,serif;letter-spacing:2px}.brand-title{font-size:11px;letter-spacing:2.2px}.brand-title small{color:#a4b0c0;font-size:5px;letter-spacing:2.1px}.brand-rule{background:#c4a76b66;height:28px}.campaign-stamp{color:#c0af87;font-family:Georgia,serif;letter-spacing:1.5px;font-size:9px;display:flex;gap:12px;align-items:center}#national-portrait .portrait-art{width:34px;height:34px;border-radius:50%;opacity:.9}.header-actions .quiet-button{font:10px Georgia,serif;padding:7px 13px;letter-spacing:.6px}.header-actions .icon-button{padding:6px}
.resource-bar{height:47px;padding-left:101px;background:linear-gradient(#0e2139,#0a192d);border-bottom:1px solid #a0875447;overflow-x:auto;scrollbar-width:none}.resource{padding:0 22px;min-width:142px;gap:10px;border-color:#9d824530}.resource>.icon{width:28px;height:28px;padding:5px;border:1px solid #d1b67c69;border-radius:50%;background:#c8a65b12;filter:drop-shadow(0 2px 3px #0008)}.resource small{font:8px Georgia,serif;letter-spacing:1.2px;color:#bdad88}.resource strong{font:20px Georgia,serif;color:#ead6ab}.resource .yield{font-size:8px}.resource.morale-resource{min-width:170px}.resource-end{font-size:9px;color:#c9b583}.resource-end button{color:#d9c18d}
.command-bar{height:60px;padding:0 20px 0 104px;background:linear-gradient(100deg,#10253d,#07172b);border-bottom:1px solid #ba9e65aa;position:relative;z-index:3}.command-bar:after{content:'';position:absolute;left:0;right:0;bottom:3px;border-bottom:1px solid #cdb27b22;pointer-events:none}.operation-title h1{font:23px Georgia,serif;letter-spacing:.4px}.operation-title .eyebrow{font-size:7px;letter-spacing:2px}.theatre-controls{border:1px solid #c2a66a5c;background:#071326;padding:2px}.theatre-controls button{font:10px Georgia,serif;color:#b2b4b7;letter-spacing:.4px;padding:6px 13px}.theatre-controls .active{background:linear-gradient(#cfb47d2b,#cfb47d0d);color:#ead2a0;box-shadow:inset 0 -2px #c2a66a}.turn-controls #turn-info{font:10px Georgia,serif;color:#ddc593;letter-spacing:1px}.turn-controls small{font:8px Georgia,serif;color:#aab6c6;letter-spacing:1px}.end-turn{min-width:145px;padding:8px 14px;font-size:13px}.end-turn span{font-size:19px}
.game-layout{position:relative;display:block;flex:1;min-height:0;background:#113c57}.central{position:absolute;inset:0;display:block}.map-shell{position:absolute;inset:0;min-height:0;background:#163d56}#world-map{position:absolute;inset:0;width:100%;height:100%}.side-nav{position:absolute;left:13px;top:15px;bottom:17px;width:68px;z-index:12;gap:3px;padding:8px 5px;background:var(--enamel);border:1px solid #c4a66d91;box-shadow:inset 0 0 0 3px #071326,inset 0 0 0 4px #c4a66d28,0 5px 20px #0006}.nav-item{width:56px;min-height:55px;gap:4px;padding:8px 3px;color:#b8b9ae;font:8px Georgia,serif;letter-spacing:.2px}.nav-item .icon{height:22px;width:22px;color:#ceb57c}.nav-item.active{background:linear-gradient(90deg,#d3b77424,#b2954d0a);border:1px solid #c3a46377;color:#ffe3ac;box-shadow:inset 2px 0 #e7cb8e}.nav-item:last-child{margin-top:auto}.nav-item:hover:not(:disabled){background:#c3a46319}
.map-caption{left:104px;top:22px;padding:9px 16px 10px 10px;background:linear-gradient(90deg,#07182bd4,#07182b00);gap:12px}.map-caption strong{font:24px Georgia,serif;color:#f1dfb5;text-shadow:0 2px 4px #071326;letter-spacing:.3px}.map-caption .eyebrow{font-size:8px;letter-spacing:2.5px;color:#ddc490}.map-caption div>span:last-child{font:8px Georgia,serif;letter-spacing:.3px;color:#d0d1c9}.map-caption-line{background:linear-gradient(transparent,#f0d191,transparent);height:57px;width:1px}.map-tools{right:353px;top:22px;border-color:#bfa16b8f;background:#091a30eb;box-shadow:inset 0 0 0 2px #020d1b8c,0 4px 10px #0005;padding:3px}.map-tools button{font:9px Georgia,serif;letter-spacing:.6px;color:#cbb786}.map-tools button.active{background:#d1b57828;color:#f3dba7}.map-legend{left:105px;bottom:158px;border:1px solid #b9a06b66;background:#08192be6;color:#ddc99e;font:8px Georgia,serif;letter-spacing:.5px;padding:6px 10px;gap:13px}.friendly{background:#164861}.allied{background:#557273}.hostile{background:#803e41}.map-hint{left:106px;bottom:141px;max-width:65%;font:8px Georgia,serif;color:#e4d3b2;text-shadow:0 1px 3px #000;background:#0a19266e;padding:2px 6px}.map-zoom{right:353px;bottom:159px;background:#081a30ed;border:1px solid #b79c63aa;box-shadow:0 3px 12px #0005}.map-zoom button{width:30px;height:31px;color:#e2c88e;border-color:#b69a5033}.inspector-toggle{display:none}
.inspector{position:absolute;right:16px;top:16px;bottom:16px;width:310px;z-index:11;background:var(--enamel);border:1px solid #c7ab70b3;box-shadow:inset 0 0 0 3px #071326,inset 0 0 0 4px #c7ab7030,0 8px 32px #0007;scrollbar-color:#a58d5a #07172a;scrollbar-width:thin}.inspector:before,.view-panel:before{content:'◆';position:absolute;top:2px;left:50%;transform:translateX(-50%);color:#d5b777;font-size:10px;pointer-events:none}.inspector-section{padding:18px 19px;border-color:#b49b6333}.inspector-section:first-of-type{padding-top:23px;padding-bottom:14px}.inspector .section-label{font:8px Georgia,serif;color:#cbb47e;letter-spacing:1.3px;margin-bottom:11px}.country-heading{margin-bottom:12px;gap:12px}.country-heading h2{font:23px Georgia,serif}.country-heading small{color:#b2a480;font:7px Georgia,serif;letter-spacing:1.3px}.cabinet-portrait{width:55px;height:55px;border-radius:50%}.overview-grid{gap:7px 15px}.overview-grid strong{font:20px Georgia,serif;color:#e1c994}.overview-grid small{font:7px Georgia,serif;letter-spacing:.8px;color:#aab6c4}.overview-grid strong small{font:10px Georgia,serif;color:#b3b6b7}.inspector-title{text-align:center;font:27px Georgia,serif;letter-spacing:1px}.inspector-subtitle{text-align:center;color:#b3bccc;font:8px Georgia,serif;letter-spacing:1px}.city-portrait,.unit-portrait{height:135px;margin:0 0 4px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 78%,#cbb57422,transparent 67%);position:relative;overflow:hidden}.city-portrait .art-sprite,.unit-portrait .art-sprite{width:180px;height:180px}.unit-portrait{height:125px}.unit-portrait .art-sprite{width:170px;height:170px}.stat-row{text-align:center;margin:14px 0 11px}.stat-row strong{font:21px Georgia,serif;color:#e5d1a8}.stat-row small{color:#adb8c7;font:7px Georgia,serif;letter-spacing:.6px}.progress-track{height:3px;border-radius:0;background:#3d4750}.progress-track span{background:linear-gradient(90deg,#967943,#e4cb90)}.building-tags{display:grid;grid-template-columns:1fr 1fr;gap:4px 7px;margin-top:14px}.facility{display:flex;align-items:center;gap:5px;min-width:0}.facility .art-sprite{width:32px;height:32px;background-color:#bca36410;border:1px solid #bfa56445;border-radius:50%;filter:none}.facility>span:not(.art-sprite){border:0;background:none;padding:0;font:9px Georgia,serif;line-height:1.25;color:#bcb6a4}.inspector-buttons button{font:10px Georgia,serif;letter-spacing:.1px;padding:8px}.stack-unit{background:#1b304452;border-color:#bd9e5c25}.stack-unit .unit-art{width:42px;height:42px;flex:none}.stack-unit.active{border-color:#d5b97b99;background:#bca06113}.stack-unit span:not(.art-sprite){font:11px Georgia,serif;color:#d1c6ab}.stack-unit small{font:8px Georgia,serif;color:#a6b5c6}.target-list button{background:#763e4022;border-color:#ca8c6870;color:#efd5aa;font:11px Georgia,serif}.target-list small{color:#c3b39b;font:8px Georgia,serif}.dispatch-entry p{color:#aebac7;font-size:10px}.dispatch-entry small{color:#b3996c;font:7px Georgia,serif}.dispatch-entry{border-color:#b49b631c}
.command-deck{position:absolute;left:101px;right:348px;bottom:15px;height:116px;z-index:10;padding:9px 10px;gap:12px;border:1px solid #ba9b63a6;background:linear-gradient(110deg,#0a192ded,#10263de8);box-shadow:inset 0 0 0 2px #071326,0 5px 22px #0006}.deck-intro{width:76px;padding-top:1px}.deck-intro .eyebrow{font:7px Georgia,serif;letter-spacing:1.3px}.deck-intro h2{font:18px Georgia,serif;line-height:1.12;margin:6px 0 8px;color:#e3ce9f}.deck-intro small{font:8px Georgia,serif;color:#b9b4a5}.order-pips{gap:4px}.order-pips i{height:3px;width:19px;background:#3d4a59}.order-pips i.on{background:linear-gradient(90deg,#b79658,#f4d595)}.cards{gap:7px;padding:0 0 2px;scrollbar-width:thin;scrollbar-color:#aa8d56 transparent;min-width:0}.command-card{padding:7px 9px;gap:4px;min-width:145px;max-width:none;width:auto;border:1px solid #b99a5c8c;border-radius:1px;background:linear-gradient(125deg,#22344b,#0c1c32);overflow:hidden;isolation:isolate}.command-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102039e8,#10203940)}.command-card:hover:not(:disabled){background:linear-gradient(125deg,#304760,#112941);transform:translateY(-1px);border-color:#ecd09b}.command-card .card-art{position:absolute;right:-16px;top:-10px;width:115px;height:115px;opacity:.45;z-index:-2;filter:sepia(.2)}.card-meta{color:#d6be85}.card-meta span{font:7px Georgia,serif;letter-spacing:1px}.card-meta .icon{height:14px;width:14px;color:#d4b77a}.command-card strong{font:14px Georgia,serif;line-height:1.1;color:#f3dfb1;max-width:100%}.command-card p{font-size:8px;line-height:1.45;color:#c3cad0;max-width:150px;margin-top:1px}.card-order{font:6px Georgia,serif;color:#d6b982;letter-spacing:1px;bottom:4px;right:7px}
.view-panel{z-index:9;inset:17px 348px 148px 101px;background:var(--enamel);padding:25px;border:1px solid #c6a76db0;box-shadow:inset 0 0 0 3px #071326,inset 0 0 0 4px #c6a76d26,0 7px 25px #0006;scrollbar-color:#ac8f54 #071326}.view-heading{margin-bottom:21px;gap:15px}.view-heading h2{font:29px Georgia,serif;letter-spacing:.3px;color:#e5cfa0}.view-heading p{color:#b0bbc9;font-size:11px}.view-emblem{color:#c3a571!important}.tabs{border-color:#bfa36a55;gap:7px;margin-bottom:16px;padding-bottom:8px}.tabs button{font:11px Georgia,serif;letter-spacing:.5px;color:#b4b2a5;padding:8px 12px}.tabs .active{border-color:transparent;background:#b5984f14;color:#ecd29b;box-shadow:inset 0 -2px #d5b578}.select-row label{font:8px Georgia,serif;letter-spacing:1px;color:#b49f79}select,input{background:#0c2039;border-color:#a58b5766;color:#decda7;font-size:11px;border-radius:1px}option{background:#0e2039;color:#e5d4b0}.branch-heading{color:#d4ba80;font:11px Georgia,serif;letter-spacing:1.4px}.branch-heading:after{background:linear-gradient(90deg,#c7a76966,transparent)}.catalogue{gap:12px;grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.catalogue-card,.commander-card{background:linear-gradient(135deg,#18324a99,#0a1a30);border-color:#b69b6566;border-radius:1px}.catalogue-card.locked{background:#0a1c32;border-color:#9d875344}.catalogue-card h3,.commander-card h3{color:#e1c999}.catalogue-card p{color:#acb9c8}.catalogue-card .card-heading>.icon{color:#cfb782}.catalogue-card .card-footer button{font:11px Georgia,serif}.cost-list{color:#d4c29c;font:9px Georgia,serif;gap:9px}.cost-list .icon{color:#c4b286}.requirement{color:#a4afbe;font-size:9px}.info-banner,.project-banner{background:linear-gradient(105deg,#b69c5112,#122c452e);border-color:#c7a66566;color:#c3c9ce;border-radius:1px}.project-banner .art-sprite{width:43px;height:43px}.project-banner strong{font:13px Georgia,serif;color:#e2cda0}.roster-row{background:linear-gradient(100deg,#1b3349,#0c1e35);border-color:#b99d5c50;padding:8px 13px}.roster-row>.art-sprite{width:64px;height:64px;margin:-6px 0}.roster-name strong{font:17px Georgia,serif;color:#e2cca2}.roster-stats{font:10px Georgia,serif;color:#c6b891}.roster-name small{font:8px Georgia,serif}.officer-portrait{width:65px;height:65px;float:left;margin:0 15px 10px 0}.commission-form{background:#132a4155;border-color:#b19a614a}.tech-card.completed{background:#54746114;border-color:#b7ce8970}.morale-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#1c3e56,#0c1d32);border-color:#bfa26977;gap:22px}.society-portrait{width:95px;height:115px;margin:-23px 0 -23px -23px;border:0;box-shadow:none;opacity:.9}.morale-number{font-size:57px;color:#edcf8c}.morale-hero h3{color:#e6cfa2}.morale-hero p{color:#b0bfd0}.effect-box{background:linear-gradient(120deg,#1b354b,#0d1e33);border-color:#baa06855}.effect-box strong{color:#e3ca97}.effect-box small{color:#b3bfca;font:8px Georgia,serif;letter-spacing:.8px}.supply-table{color:#c8c9c7}.supply-table th{color:#d4bc87;font:9px Georgia,serif;letter-spacing:.5px;border-color:#b49a5b80}.supply-table td{border-color:#b49a5b22}.manual h3,.manual summary{color:#e0c793}.manual p,.manual li{color:#bdc7d2}.manual details{border-color:#b69b6044;background:#132b4244}.manual th,.manual td{border-color:#b69b6033}.empty-state{border-color:#b9a06355}
body[data-view="industry"] .view-panel{right:auto;width:380px;padding:20px 15px 22px}.production-header{text-align:center;margin:1px 0 12px}.production-header .eyebrow{font-size:8px;letter-spacing:1.8px}.production-header h2{font:27px Georgia,serif;letter-spacing:2px;text-transform:uppercase;margin:5px 0 4px;color:#ead3a2}.ornament{display:block;color:#d4ba81;font-size:10px;position:relative}.ornament:before,.ornament:after{content:'';display:inline-block;vertical-align:middle;width:30%;height:1px;margin:0 12px;background:linear-gradient(90deg,transparent,#c7a76b)}.ornament:after{transform:rotate(180deg)}body[data-view="industry"] .select-row{gap:8px;flex-wrap:wrap;margin:0 0 12px}body[data-view="industry"] .select-row label{width:100%;text-align:center;font-size:7px}body[data-view="industry"] .select-row select{flex:1;min-width:120px;padding:6px;font:12px Georgia,serif}body[data-view="industry"] .select-row .quiet-button{padding:7px 8px;font:9px Georgia,serif}.production-tabs{display:flex;margin-bottom:10px;padding:0;gap:0}.production-tabs button{flex:1;text-transform:uppercase;font-size:12px;letter-spacing:1px;padding:9px 3px}.production-note{font:10px/1.6 Georgia,serif;color:#9eacbe;text-align:center;margin:6px 4px 12px}.production-list{display:flex;flex-direction:column;gap:6px}.production-item{display:flex;gap:10px;padding:10px 8px;background:linear-gradient(110deg,#24364bba,#10233b99);border:1px solid #b4a07866;box-shadow:inset 0 0 0 2px #0714274f;position:relative}.production-item:hover{background:linear-gradient(110deg,#304760bd,#142b43);border-color:#d3b57b}.production-image{width:66px;height:66px;flex:none;margin-top:4px;border:1px solid #bca26b8c;border-radius:50%;background:radial-gradient(ellipse,#e2c7861c,#071426);box-shadow:0 3px 9px #0006;overflow:hidden}.production-image .art-sprite{width:67px;height:67px}.production-copy{min-width:0;flex:1}.production-name{display:flex;align-items:baseline;gap:5px;justify-content:space-between}.production-name h3{font:12px Georgia,serif;text-transform:uppercase;letter-spacing:.5px;margin:0;color:#e5d0a3;line-height:1.35}.production-name>span{font:6px Georgia,serif;color:#c0ab79;white-space:nowrap;letter-spacing:.3px}.production-copy p{font-size:9px;line-height:1.5;color:#b4bdc9;margin:4px 0 6px}.production-copy .cost-list{gap:9px;row-gap:4px}.production-order{display:flex;align-items:center;gap:8px;margin-top:7px}.production-order button{padding:4px 8px;font:9px Georgia,serif;flex:none}.production-order .requirement{font:8px/1.35 Georgia,serif;margin:0;color:#abb6c4}.production-item.locked .production-image{opacity:.75}.production-item.locked .secondary{background:#10243c;color:#adbaa9;border-color:#a68f5544}
.status-bar{height:23px;background:#071326;border-color:#ad915d6b;color:#a99a7b;font:7px Georgia,serif;letter-spacing:.6px;z-index:15}.status-bar b{color:#c8af79}.status-bar .live-dot{background:#d6bd82}.toast{background:linear-gradient(130deg,#142e47,#07182c);border:1px solid #dfbd78;color:#f1dcae;box-shadow:0 8px 28px #0008;border-radius:1px}.toast.error{background:#3b2631;border-color:#da9e78;color:#f8dbc0}.busy{background:#061326ec}.busy strong{color:#e6cb95}.spinner{border-color:#c1a26333;border-top-color:#e4c68b}
dialog{background:var(--enamel);border:1px solid #d0b27a;border-radius:1px;box-shadow:0 20px 100px #000b,inset 0 0 0 3px #071326,inset 0 0 0 4px #ccad7338;width:min(810px,94vw);scrollbar-color:#ad9059 #08192c;scrollbar-width:thin}dialog::backdrop{background:#031020bd;backdrop-filter:blur(5px)}.dialog-header{padding:22px 25px 17px;border-color:#b69b6155}.dialog-header h2{font:29px Georgia,serif;color:#e8cfa0;letter-spacing:.5px}.dialog-header .icon-button{background:#582b39;border-color:#ba8f66;color:#edca97;padding:3px}.dialog-body{padding:22px 25px}.dialog-body p{color:#b6c0cd}.dialog-footer{border-color:#b69b6155;background:#07162a;padding:16px 25px}.dialog-footer button{font:12px Georgia,serif}.setup-banner{position:relative;isolation:isolate;background:linear-gradient(90deg,#06162ceb,#06162c11),url('/assets/art/campaign-v2.png') center 53%/cover;border:1px solid #b99f6866;padding:22px 24px;margin:-5px 0 20px;min-height:130px}.setup-banner .eyebrow{font-size:7px;color:#f3d9a1}.setup-banner h3{font:29px Georgia,serif;margin:6px 0;color:#ffe8b8;text-shadow:0 2px 5px #000}.setup-banner p{font:11px Georgia,serif!important;color:#d8dacd!important}.faction-options{gap:12px}.faction-option{padding:0;position:relative;min-height:240px;overflow:hidden;border-color:#bca26966;background:#102640;display:flex;justify-content:flex-end}.faction-option>.portrait-art{position:absolute;inset:0;width:100%;height:100%;border:0;box-shadow:none;background-size:300% 200%}.faction-details{position:relative;z-index:1;width:100%;padding:65px 12px 12px;background:linear-gradient(transparent,#061426e6 34%,#061426fa);display:flex;flex-direction:column;gap:5px}.faction-details .faction-badge{position:absolute;right:9px;top:46px;width:25px;height:28px;font-size:9px}.faction-option strong{color:#eed6a0;font:20px Georgia,serif}.faction-option small{font:7px Georgia,serif;letter-spacing:1.3px}.faction-option p{font:10px/1.5 Georgia,serif;margin:0;color:#c0cad2}.faction-option.selected{border-color:#ffda8b;box-shadow:0 0 0 2px #c2a66b44}.faction-option.selected:after{content:'◆';position:absolute;top:9px;right:10px;color:#ffe2a2;text-shadow:0 2px 4px #000}.setup-fields label{color:#c4b087;font:9px Georgia,serif;letter-spacing:.7px}.setup-note{background:#b6974910;border-color:#cdb078;color:#adb9c8!important}.battle-side{background:radial-gradient(ellipse at 50% 20%,#a3915b24,#091a30);border-color:#b59c5e66;padding:10px 14px 20px}.battle-side>.art-sprite{width:150px;height:150px;margin:auto}.battle-side h3{margin:5px 0 10px}.battle-side strong{color:#efd6a2}.battle-modifiers .pill{font-size:9px}.save-options button{background:linear-gradient(125deg,#20384f,#0b1d34);border-color:#bfa36866}.save-options strong{color:#e6cfa1}
.campaign-dialog{width:min(1000px,94vw)}.campaign-dialog .dialog-body{padding:0}.campaign-dialog .dialog-header{background:#08192f;padding:16px 24px 12px}.campaign-dialog .dialog-header h2{font-size:28px;letter-spacing:3px;text-transform:uppercase;margin:3px 0}.campaign-dialog .dialog-header .eyebrow{font-size:8px;letter-spacing:2px}.campaign-menu-scene{height:390px;position:relative;background:linear-gradient(90deg,#071426a8,transparent 75%),linear-gradient(0deg,#071426,transparent 30%),url('/assets/art/campaign-v2.png') center center/cover}.campaign-menu-title{position:absolute;left:38px;top:51px;text-shadow:0 2px 6px #061326}.campaign-menu-title .eyebrow{color:#f0d7a4;font-size:9px}.campaign-menu-title h3{font:52px/1.1 Georgia,serif;color:#ffe5af;margin:19px 0 16px}.campaign-menu-title p{font:14px Georgia,serif;letter-spacing:2px;color:#f1dfc0}.campaign-menu-bottom{padding:0 30px 26px;display:flex;gap:28px;align-items:center}.menu-advisor{display:flex;gap:14px;align-items:center;flex:1}.menu-advisor>.portrait-art{width:66px;height:66px;border-radius:50%}.menu-advisor strong{display:block;font:21px Georgia,serif;color:#e6c99a;margin:6px 0}.menu-advisor small{font:10px Georgia,serif;color:#aab8c8}.menu-advisor .eyebrow{font-size:7px}.campaign-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:330px}.campaign-menu-actions button{font:12px Georgia,serif;padding:9px 12px}.campaign-menu-actions .primary{grid-column:1/-1}.campaign-menu-actions .quiet-button{grid-column:1/-1}
@media(min-width:1700px){.inspector{width:330px}.view-panel{right:369px}.command-deck{right:369px}.map-tools,.map-zoom{right:374px}.command-card p{font-size:9px}.command-card strong{font-size:15px}.resource{min-width:160px}.nav-item{min-height:63px}}
@media(max-width:1200px){.campaign-stamp{display:none}.resource{padding:0 16px;min-width:126px}.inspector{width:280px;right:12px}.command-deck{right:309px;left:93px}.view-panel{left:93px;right:309px;padding:22px}.map-tools,.map-zoom{right:310px}.command-bar{padding-left:95px;gap:18px}.resource-bar{padding-left:92px}.theatre-controls button{padding:6px 9px}.map-caption{left:94px}.side-nav{left:10px;width:65px}.nav-item{width:53px}.deck-intro{width:70px}.map-legend,.map-hint{left:95px}.end-turn{min-width:125px}.theatre-controls{display:flex}.inspector-section{padding:17px 16px}.map-caption strong{font-size:21px}.map-tools{top:112px}body[data-view="industry"] .view-panel{width:350px}}
@media(max-width:1000px) and (min-width:761px){.inspector{width:245px}.view-panel{right:273px;left:88px;padding:20px 16px}.command-deck{right:273px;left:88px}.map-tools,.map-zoom{right:275px}.theatre-controls{display:none}.resource-bar{padding-left:75px}.resource{min-width:112px;padding:0 12px}.resource.morale-resource{min-width:147px}.country-heading h2{font-size:20px}.cabinet-portrait{width:47px;height:47px}.overview-grid{gap:9px}.overview-grid small{font-size:6px}.view-heading h2{font-size:26px}.morale-hero{flex-wrap:wrap}.society-portrait{display:none}.roster-stats{gap:7px}.view-heading .view-emblem{display:none}.deck-intro{width:65px}.side-nav{width:62px}.nav-item{min-height:53px;width:50px}.catalogue{grid-template-columns:1fr}.map-caption{left:88px}body[data-view="industry"] .view-panel{width:335px}.resource-end{display:none}}
@media(max-width:760px){.masthead{height:49px;padding:0 10px;gap:6px}.brand img{height:27px;width:27px}.brand b{font-size:24px;letter-spacing:1px}.brand>span{gap:8px}.brand-title{font-size:8px;letter-spacing:1.3px}.brand-title small{font-size:4px;letter-spacing:.8px}.brand-rule{height:23px}.header-actions .quiet-button{font:8px Georgia,serif;padding:6px 8px}.header-actions .icon-button{padding:4px;border:0}.header-actions .icon{height:16px;width:16px}.campaign-stamp{display:none}.resource-bar{height:47px;padding-left:0}.resource{min-width:101px;padding:0 10px;gap:7px}.resource>.icon{width:23px;height:23px;padding:4px}.resource small{font-size:7px;letter-spacing:.6px}.resource strong{font-size:18px}.resource .yield{font-size:7px}.resource.morale-resource{min-width:130px}.resource-end{display:none}.command-bar{height:61px;padding:0 11px;gap:8px}.operation-title h1{font-size:20px}.operation-title .eyebrow{font-size:6px;letter-spacing:1.5px}.theatre-controls{display:none}.turn-controls{gap:10px}.turn-controls #turn-info{font-size:8px;letter-spacing:.6px}.turn-controls small{font-size:6px}.end-turn{min-width:96px;padding:7px 9px;font-size:11px;gap:12px}.end-turn span{font-size:16px}.side-nav{left:6px;top:10px;bottom:9px;width:46px;padding:5px 3px;gap:4px}.nav-item{width:37px;min-height:51px;padding:7px 1px;font-size:6px;gap:4px;letter-spacing:0}.nav-item .icon{width:19px;height:19px}.map-caption{left:59px;top:12px;padding:6px 8px;gap:8px}.map-caption strong{font-size:20px;letter-spacing:0}.map-caption .eyebrow{font-size:6px;letter-spacing:1.5px}.map-caption div>span:last-child{font-size:6px}.map-caption-line{height:45px}.map-tools{right:11px;top:94px;padding:2px}.map-tools button{font-size:8px;padding:5px 7px}.map-zoom{right:11px;bottom:170px}.map-zoom button{width:29px;height:29px}.map-legend{left:61px;bottom:171px;font-size:7px;gap:8px;max-width:calc(100% - 106px);padding:5px 7px}.map-legend .lane-legend{display:none}.map-hint{left:61px;bottom:145px;font:7px/1.4 Georgia,serif;max-width:67%;padding:3px 5px}.command-deck{left:60px;right:9px;bottom:9px;height:121px;padding:7px;gap:8px}.deck-intro{width:53px;padding-top:3px}.deck-intro .eyebrow{font-size:6px;letter-spacing:.6px}.deck-intro h2{font-size:14px;margin:7px 0 10px}.deck-intro small{font-size:7px}.order-pips{gap:3px}.order-pips i{width:14px}.command-card{min-width:139px;padding:8px;gap:4px}.command-card strong{font-size:14px}.command-card p{font-size:9px;line-height:1.4}.card-meta span{font-size:6px}.card-order{font-size:6px;bottom:5px}.command-card .card-art{width:120px;height:120px}.inspector{display:none;position:absolute;right:9px;top:10px;bottom:141px;width:min(300px,calc(100% - 68px));max-height:none;z-index:21;box-shadow:0 8px 30px #000a}.inspect-open .inspector{display:block}.inspector-mobile-close{display:grid;place-items:center;position:sticky;float:right;top:7px;z-index:4;margin:7px;width:25px;height:25px;line-height:1;font-size:20px;background:#5d2937;border:1px solid #c2a46a;color:#e9cc93}.inspector-toggle{display:block;position:absolute;right:11px;bottom:137px;z-index:12;background:#0d2441ed;border:1px solid #c4a571;padding:5px 8px;font:8px Georgia,serif;color:#e0c68d}.inspect-open .inspector .section-label{padding-right:20px}.view-panel{inset:10px 9px 140px 60px;padding:22px 15px 40px}.view-heading h2{font-size:25px}.view-heading p{font-size:10px}.view-heading .view-emblem{display:none}.catalogue{grid-template-columns:1fr}.select-row{flex-wrap:wrap;gap:9px}.select-row select{min-width:130px}.roster-row{gap:9px;padding:8px}.roster-row>.art-sprite{width:48px;height:48px}.roster-name strong{font-size:14px}.roster-stats{font-size:9px;gap:5px;flex-direction:column}.roster-stats span:last-child{display:none}.roster-row>.icon{display:none}.roster-name small{font-size:7px}.tabs{gap:2px}.tabs button{font-size:9px;padding:7px 8px}.morale-hero{padding:18px 14px;gap:15px;flex-wrap:wrap}.society-portrait{width:72px;height:86px;margin:-18px 0 0 -14px}.morale-number{font-size:49px}.morale-hero h3{font-size:22px}.morale-hero p{font-size:10px}.effect-grid{gap:5px}.effect-box{padding:10px 8px}.effect-box small{font-size:6px}.effect-box strong{font-size:20px}.supply-table th,.supply-table td{font-size:9px;padding:9px 3px}.supply-table td:first-child{gap:4px}.supply-table .icon{width:14px}.supply-table button{padding:5px 3px;font-size:7px}.commander-card{padding:14px}.officer-portrait{width:48px;height:48px;margin-right:10px}.commander-card .spread{flex-direction:column;align-items:start;gap:4px}.commander-card h3{font-size:18px}.status-bar{height:21px;padding:0 8px;font-size:6px;letter-spacing:.1px}.status-bar>span:nth-child(2){display:none}.status-bar b{font-size:5px}.production-header h2{font-size:25px}body[data-view="industry"] .view-panel{inset:10px 9px 140px 60px;width:auto;padding:19px 10px 30px}.production-name h3{font-size:11px}.production-name{flex-wrap:wrap;gap:2px}.production-name>span{font-size:6px}.production-image{width:49px;height:49px}.production-image .art-sprite{width:50px;height:50px}.production-item{gap:8px;padding:9px 7px}.production-copy p{font-size:8px}.production-order{flex-wrap:wrap;gap:4px}.production-tabs button{font-size:10px;letter-spacing:.8px}.production-note{font-size:9px}.production-copy .cost-list{font-size:8px;gap:7px}.dialog-header{padding:18px 19px 12px}.dialog-header h2{font-size:25px}.dialog-body{padding:17px 18px}.dialog-footer{padding:14px 18px}.dialog-footer button{font-size:10px;padding:8px 10px}.faction-options{grid-template-columns:1fr 1fr;gap:9px}.faction-option{min-height:230px}.faction-option strong{font-size:18px}.faction-option p{font-size:9px}.faction-details{padding-left:10px;padding-right:10px}.setup-banner{padding:18px 16px;min-height:122px}.setup-banner h3{font-size:25px}.setup-banner .eyebrow{font-size:6px}.setup-fields{gap:12px}.setup-fields label{font-size:8px}.battle-columns{grid-template-columns:1fr 21px 1fr;gap:7px}.battle-side{padding:8px 7px 14px}.battle-side>.art-sprite{width:104px;height:104px}.battle-side h3{font-size:16px}.battle-side strong{font-size:22px}.battle-side small{font-size:7px}.campaign-menu-scene{height:320px;background-position:center}.campaign-menu-title{left:22px;top:35px}.campaign-menu-title h3{font-size:41px}.campaign-menu-title .eyebrow{font-size:7px}.campaign-menu-title p{font-size:11px}.campaign-menu-bottom{flex-direction:column;align-items:stretch;padding:0 22px 24px;gap:23px}.campaign-menu-actions{min-width:0}.menu-advisor>.portrait-art{width:52px;height:52px}.menu-advisor strong{font-size:20px}.campaign-dialog .dialog-header h2{font-size:24px}.campaign-dialog .dialog-header{padding:17px 20px}.campaign-dialog .dialog-header .eyebrow{font-size:6px;letter-spacing:1.4px}}
@media(max-height:750px) and (min-width:761px){.nav-item{min-height:43px;padding:5px 2px;gap:2px}.nav-item .icon{width:19px;height:19px}.side-nav{gap:2px}.map-caption{top:15px}.command-deck{height:107px}.view-panel{bottom:137px}.map-hint{bottom:130px}.map-legend{bottom:148px}.map-zoom{bottom:150px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation-duration:.01ms!important}}
.facility .art-sprite{background-image:var(--art);background-size:var(--art-size);background-position:var(--art-position)}
@media(max-width:760px){.deck-intro{display:flex;flex-direction:column;justify-content:center;padding-top:0}.deck-intro .eyebrow{font-size:5px;white-space:nowrap;letter-spacing:.4px}.deck-intro h2{font-size:13px;line-height:1.12;margin:7px 0}.deck-intro small{font-size:7px;white-space:nowrap}.order-pips{margin:5px 0 6px}}
.catalogue-card .card-heading>.art-sprite{width:82px;height:82px;margin:-12px 0 -8px -5px}.chain-card>.art-sprite{width:110px;height:110px;margin:-10px auto -3px}.tech-card{min-height:250px}
.research-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px;align-items:start}.research-branch{min-width:0}.research-branch>.branch-heading{margin-top:5px;font-size:9px;letter-spacing:.9px}.research-branch .catalogue{grid-template-columns:1fr;gap:12px}.research-branch .catalogue-card{padding:13px;min-height:270px}.research-branch h3{font-size:17px}.research-branch .card-heading>.art-sprite{width:75px;height:75px}.research-branch .card-footer button{font-size:10px}.research-branch .requirement{font-size:8px}@media(max-width:760px){.research-branches{grid-template-columns:1fr}.research-branch .catalogue-card{min-height:215px}}
.deck-intro{display:flex;flex-direction:column;justify-content:center;padding-top:0}.deck-intro .eyebrow{white-space:nowrap}.deck-intro h2{line-height:1.05;margin:5px 0}.deck-intro small{white-space:nowrap;line-height:1.1}@media(max-height:750px) and (min-width:761px){.inspector-section:first-of-type{padding-top:16px;padding-bottom:11px}.country-heading{margin-bottom:9px}.cabinet-portrait{width:42px;height:42px}.overview-grid{gap:5px 12px}.overview-grid strong{font-size:18px}.inspector .section-label{margin-bottom:8px}.city-portrait,.unit-portrait{height:96px}.city-portrait .art-sprite,.unit-portrait .art-sprite{width:132px;height:132px}.inspector-title{font-size:24px}.stat-row{margin:11px 0 8px}.inspector-section{padding:15px 17px}.inspector-buttons{margin-top:9px}}

/* Responsive controls and a focused unit inspector, verified in Edge. */
.map-tools select{font:10px Georgia,serif;letter-spacing:.3px;padding:5px 4px;min-width:80px;border:0;border-left:1px solid #b69a5055;background:#10243a;color:var(--gold)}
.inspector[data-selection="unit"] .nation-summary{padding:13px 17px 10px}
.inspector[data-selection="unit"] .nation-summary .overview-grid,
.inspector[data-selection="unit"] .nation-summary .country-heading small{display:none}
.inspector[data-selection="unit"] .nation-summary .country-heading{margin-bottom:0}
.inspector[data-selection="unit"] .nation-summary .country-heading h2{font-size:19px}
.inspector[data-selection="unit"] .nation-summary .cabinet-portrait{width:32px;height:32px}
.unit-stack-toggle{margin-top:12px;border-top:1px solid #b49b6333;padding-top:10px}
.unit-stack-toggle summary{cursor:pointer;color:var(--gold);font:11px Georgia,serif;padding:4px 0}
.unit-stack-toggle summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-height:750px) and (min-width:761px){
  .map-tools{top:16px}
  .map-zoom{flex-direction:row;bottom:146px}
  .map-zoom button{border-bottom:0;border-right:1px solid #b69a5033}
  .map-caption{max-width:240px}
}
@media(max-width:1000px) and (max-height:750px) and (min-width:761px){.map-caption{display:none}}
@media(max-height:650px){
  dialog .dialog-header{padding:12px 20px 8px}
  dialog .dialog-header h2{font-size:23px;margin:4px 0}
  dialog .dialog-footer{padding:10px 20px}
  .battle-side>.art-sprite{width:90px;height:90px}
  .battle-columns{margin-top:0;margin-bottom:12px}
}
@media(max-width:760px){
  .map-tools select{font-size:9px;min-height:28px}
  .map-tools button{min-height:28px}
}
