:root{--bg:#0b1820;--panel:#111f28;--panel2:#172a34;--panel3:#213440;--line:#2a3d46;--text:#e8eee9;--muted:#93a6ab;--accent:#e7b75c;--teal:#73b7ad;--red:#e9958b;--tile:57px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}button,select{touch-action:manipulation}[hidden]{display:none!important}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#0d1c25;border-bottom:1px solid #31434a;gap:14px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:12px;background:var(--accent);color:#152229;display:flex;align-items:center;justify-content:center;font-weight:950;font-size:21px;letter-spacing:-2px;position:relative}.brand-star{position:absolute;bottom:5px;right:5px;font-size:9px;letter-spacing:0}.brand strong{display:block;font-weight:790;letter-spacing:-.4px;font-size:17px}.brand small{display:block;color:#92abb3;font-size:9px;letter-spacing:1.3px;margin-top:3px}.top-right{display:flex;align-items:center;gap:12px;font-size:11px}.connection{color:var(--teal);font-size:11px;white-space:nowrap}.pill{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:12px 14px;white-space:nowrap;display:flex;gap:12px}.pill strong{font-size:13px}.muted{color:var(--muted)}.world-pill{letter-spacing:1px;color:#adbabf;font-size:9px}.layout{display:grid;grid-template-columns:278px minmax(400px,1fr) 285px;min-height:calc(100vh - 75px)}.left-panel,.right-panel{background:var(--panel);padding:24px 18px;overflow:hidden}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.eyebrow{color:var(--accent);font-size:10px;font-weight:780;letter-spacing:1.9px;margin-bottom:7px}.left-panel h1{font-size:24px;margin:6px 0 2px;line-height:1.2;letter-spacing:-.8px;overflow-wrap:anywhere}.subtext{color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 15px}.metric{background:#1b2d36;padding:15px 16px;border:1px solid #29404b;display:flex;flex-direction:column;gap:5px;margin-top:8px;border-radius:9px}.metric.primary{background:#25362f;border-color:#566043}.metric span{font-size:10px;letter-spacing:1.1px;color:#aabbb8}.metric strong{font-size:23px;letter-spacing:-.5px}.metric:not(.primary) strong{font-size:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 11px}h2{font-size:15px;margin:0;font-weight:760;letter-spacing:-.2px}.text-button{background:none;border:0;color:var(--accent);font-size:12px}.guide{margin:0 0 10px}.build-list{display:grid;gap:8px}.build-button{display:flex;align-items:center;width:100%;padding:10px;text-align:left;background:#1b303a;color:var(--text);border:1px solid #34505b;border-radius:10px;gap:10px;min-height:61px}.build-button:hover,.build-button.selected{border-color:var(--accent);background:#293c40}.build-icon{background:#273e44;width:37px;height:37px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:22px}.build-main{flex:1;min-width:0}.build-main b{display:block;font-size:12px}.build-main small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.build-cost{color:var(--accent);font-weight:700;font-size:11px}.divider{height:1px;background:var(--line);margin:22px 0}.steps p{font-size:12px;line-height:1.4;color:#b7c5c9;margin:0 0 11px;display:flex;gap:10px}.steps b{color:var(--accent)}.prototype-note{font-size:10px;color:#83969b;line-height:1.6;background:#1b2c34;padding:12px;border:1px dashed #3e5158;border-radius:9px;margin-top:18px}.center-panel{padding:25px 22px;min-width:0}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 17px}.map-heading h2{font-size:24px}.map-heading p{color:var(--muted);font-size:12px;margin:7px 0 0}.field-actions{display:flex;align-items:center;gap:5px}.mode-label{color:var(--accent);font-size:10px;border:1px solid #755b36;padding:10px 12px;border-radius:7px;white-space:nowrap;margin-right:5px}.small-btn{background:#192d36;color:var(--text);border:1px solid var(--line);border-radius:8px;width:36px;height:37px;font-size:20px}.alert{border:1px solid #985c4c;background:#422c2b;color:#ffe4d6;font-size:12px;border-radius:8px;padding:11px;margin-bottom:12px}.map-scroll{overflow:auto;border:1px solid #344949;border-radius:13px;background:#213129;overscroll-behavior:contain;scrollbar-color:#425a56 transparent}.map-inner{padding:35px 25px 16px;min-width:max-content;background:radial-gradient(circle at 20% 5%,#334c40 0,transparent 38%),repeating-linear-gradient(45deg,#283d33 0px,#283d33 32px,#2b4034 33px,#2b4034 64px);position:relative}.map-watermark{font-size:10px;letter-spacing:2px;color:#aec5af;margin:0 0 17px;text-align:center}.oilfield{display:grid;grid-template-columns:repeat(12,var(--tile));grid-template-rows:repeat(9,var(--tile));gap:3px;position:relative}.cell{padding:0;border:1px solid rgba(189,209,171,.15);border-radius:5px;background:rgba(113,139,102,.14);color:var(--text);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.cell:not(.occupied):hover,.cell.cursor{background:rgba(231,183,92,.25);border-color:var(--accent)}.cell.occupied{background:#31483e;border-color:#638172}.cell.is-selected{border:2px solid var(--accent);background:#43513c;box-shadow:0 0 0 2px #e7b75c55}.cell.link-target{box-shadow:inset 0 0 0 2px var(--teal)}.cell .building-emoji{font-size:calc(var(--tile)*.49);filter:drop-shadow(0 2px 3px #101a19)}.cell .building-label{position:absolute;bottom:0;left:1px;right:1px;text-align:center;background:#102921d9;color:#e9eee2;font-size:calc(var(--tile)*.13);line-height:1.4;white-space:nowrap}.cell .level{position:absolute;top:3px;right:3px;background:#1b2c31;color:#c5d7c7;font-size:9px;padding:2px 4px;border-radius:3px}.cell.in-progress{opacity:.65}.cell .construction{position:absolute;top:1px;left:4px;font-size:12px}.cell.hq{background:#7c6542!important;border-color:#baa375}.cell.hq .building-emoji{font-size:calc(var(--tile)*.55)}.map-coordinates{margin-top:17px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:#b1c6b5}.map-coordinates span{color:#8fa999}.bottom-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:14px;margin-top:18px}.box{background:#13232d;border:1px solid var(--line);border-radius:11px;padding:0 14px 13px}.box .section-head{margin-top:16px}.section-meta{font-size:10px;color:#8da1a7}.issue-list{display:grid;gap:8px}.issue{font-size:12px;line-height:1.4;padding:9px 10px;background:#2d302b;border-left:3px solid var(--accent);border-radius:4px}.issue.good{border-color:var(--teal);background:#22372f}.standing{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:11px 3px;border-bottom:1px solid var(--line)}.standing:last-child{border:0}.standing.you{color:var(--accent)}.standing b{font-size:12px}.inspector-empty{font-size:12px;line-height:1.65;color:var(--muted);border:1px dashed #35505b;padding:24px 12px;text-align:center;border-radius:10px;margin-top:14px}.empty-graphic{font-size:40px;color:var(--accent);line-height:1.2;margin-bottom:12px}.facility-heading{display:flex;align-items:center;gap:12px;margin-top:20px}.facility-icon{width:58px;height:58px;font-size:31px;background:#293d3d;display:flex;align-items:center;justify-content:center;border-radius:12px}.facility-heading h3{margin:0;font-size:18px}.facility-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.detail-row{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-row span:first-child{color:var(--muted)}.detail-row b{text-align:right}.action-button{border:0;border-radius:8px;background:var(--accent);color:#14222a;font-size:12px;font-weight:800;padding:13px 14px;min-height:44px;width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:11px}.action-button:hover{background:#f5c97a}.secondary-button{width:100%;background:#253942;color:var(--text);border:1px solid #557078;border-radius:8px;min-height:44px;font-size:12px;padding:10px;margin-top:10px;text-align:left}.secondary-button:hover{border-color:var(--accent)}.select-product{width:100%;height:44px;border-radius:8px;background:#20333d;color:var(--text);border:1px solid #43616a;padding:9px;margin:8px 0}.label{color:#8fa7af;letter-spacing:1px;font-size:10px;display:block;margin-top:17px}.route{font-size:11px;border:1px solid #38535b;background:#223740;border-radius:7px;padding:9px;display:flex;gap:5px;justify-content:space-between;align-items:center;margin-top:7px;line-height:1.4}.route button{background:#293d45;color:#f4bdac;border:0;border-radius:6px;min-width:33px;min-height:30px}.inventory{display:grid;gap:6px;margin-top:11px}.inventory-item{display:flex;align-items:center;gap:8px;font-size:11px}.inventory-item b{min-width:77px;font-weight:500}.meter{height:7px;background:#293a43;border-radius:9px;flex:1;overflow:hidden}.meter i{display:block;height:100%;background:#daa958;border-radius:9px}.events{display:grid;gap:10px;margin-top:13px}.event{border-bottom:1px solid var(--line);padding:0 0 10px;font-size:11px;line-height:1.55;color:#cad4d4}.event small{display:block;color:#7f969e;margin-top:5px}.backdrop{position:fixed;inset:0;background:rgba(1,9,13,.83);display:grid;place-items:center;z-index:10;padding:16px}.onboard-modal{background:#14262e;border:1px solid #4e6669;border-radius:15px;box-shadow:0 25px 80px #0009;padding:30px;width:min(440px,100%)}.onboard-modal h2{font-size:29px;letter-spacing:-.7px;margin:10px 0}.onboard-modal p{color:#adc0c1;font-size:13px;line-height:1.7}.onboard-modal label{font-size:10px;letter-spacing:1.4px;color:#c4d1cc;display:block;margin:25px 0 8px}.onboard-modal input{background:#0b1a22;border:1px solid #5d777e;border-radius:7px;width:100%;padding:14px;color:var(--text);font-size:15px}.onboard-modal small{display:block;color:#819aa1;margin-top:16px;font-size:10px;line-height:1.5}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 20px);background:#28413c;color:#f0e9d2;border:1px solid #789989;border-radius:8px;box-shadow:0 10px 30px #0008;padding:13px 18px;z-index:20;font-size:12px}@media(max-width:1240px){.layout{grid-template-columns:245px minmax(350px,1fr)}.right-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.right-panel>.divider{display:none}.right-panel>#inspector{grid-row:2/5}.right-panel>.section-head{grid-column:2}.right-panel>#events{grid-column:2;grid-row:3}.center-panel{padding:19px}}@media(max-width:780px){.topbar{height:auto;min-height:67px;padding:10px 12px}.brand-mark{width:37px;height:37px;font-size:18px}.brand strong{font-size:15px}.brand small{font-size:8px}.world-pill,.connection{display:none}.top-right{gap:0}.pill{padding:10px;gap:6px}.layout{display:flex;flex-direction:column}.center-panel{order:1;padding:17px 11px}.left-panel{order:2;border:0;border-top:1px solid var(--line);padding:20px}.right-panel{order:3;display:block;border:0;border-top:1px solid var(--line);padding:20px}.map-heading{align-items:flex-start}.map-heading h2{font-size:20px}.map-heading p{font-size:11px;max-width:240px}.mode-label{font-size:9px;padding:9px 7px}.field-actions{flex-wrap:wrap;justify-content:flex-end}.map-scroll{margin:0 -2px}.map-inner{padding:18px 15px 11px}.bottom-grid{grid-template-columns:1fr}.build-list{grid-template-columns:repeat(2,minmax(0,1fr))}.build-button{gap:7px;padding:8px}.build-cost{font-size:10px}.build-icon{width:32px;height:32px;font-size:19px}.map-coordinates span{display:none}}@media(max-width:390px){.build-list{grid-template-columns:1fr}.brand small{letter-spacing:.5px}.mode-label{display:none}}

.quick-build{height:38px;max-width:178px;min-width:133px;background:#243b41;color:#f1dfb2;border:1px solid #876f42;padding:0 10px;border-radius:8px;font-size:11px;font-weight:760}.quick-build option{background:#15252e;color:#e8eee9}@media(max-width:780px){.map-heading{flex-wrap:wrap}.field-actions{justify-content:flex-start;width:100%}.quick-build{max-width:none;min-width:170px}.mode-label{margin-left:auto}}

/* Account access, shared across desktop, tablet, and phone */
.account-name{color:#d6e4de;font-size:11px;white-space:nowrap}
.logout-btn{color:#e7b75c;background:#21323a;border:1px solid #64706b;border-radius:8px;padding:10px;font-size:11px;min-height:38px}
.logout-btn:hover{border-color:#e7b75c}
.auth-modal{max-height:calc(100dvh - 24px);overflow-y:auto;width:min(460px,100%);padding:25px}
.auth-modal h2{font-size:26px}.auth-modal p{margin:7px 0 13px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#0e2028;border:1px solid #39545b;border-radius:10px;padding:4px;gap:4px;margin:14px 0 8px}
.auth-tabs button{background:transparent;border:0;color:#9eb3b8;border-radius:7px;padding:11px 6px;font-size:12px;font-weight:700}
.auth-tabs button.active{background:#2d4950;color:#f7d89c}
.auth-form label{margin:14px 0 6px}.auth-form input{padding:11px 12px;font-size:14px}.auth-form .action-button{margin-top:18px}
.claim-notice{border:1px solid #55775b;border-radius:10px;background:#243b35;padding:12px;font-size:12px;line-height:1.5;color:#d1e3d1}.claim-notice b{display:block;margin-top:4px}
@media(max-width:780px){.account-name{max-width:90px;overflow:hidden;text-overflow:ellipsis}.logout-btn{padding:8px;font-size:10px}.top-right{gap:4px}.auth-modal{padding:20px}}
@media(max-width:390px){.account-name{display:none}}

/* v0.3 regional command view */
.world-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:20px;border-bottom:1px solid #344a4e;padding-bottom:14px}
.world-tabs button{font:700 12px inherit;min-height:42px;padding:10px 17px;border-radius:8px;background:#21373d;border:1px solid #456267;color:#bbced1;font-weight:750;cursor:pointer}
.world-tabs button.active{background:#bb934f;color:#10252b;border-color:#d3aa62}
.world-coords{margin-left:auto;color:#a0b5ad;font-size:10px;letter-spacing:1.1px}
.region-section .map-heading{margin-bottom:15px}.region-section .map-heading h2{font-size:23px;margin:5px 0}.region-status{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#142d32;border:1px solid #42605d;padding:12px 16px;border-radius:10px;margin-bottom:12px;font-size:12px;flex-wrap:wrap}
.region-status strong{color:#e4c080}.region-status button{border:1px solid #b9816b;color:#eec2b2;border-radius:7px;background:#3e292a;padding:10px 13px;cursor:pointer;min-height:40px}
.regional-scroll{overflow:auto;max-height:650px;border:1px solid #596953;border-radius:12px;overscroll-behavior:contain;background:#273630}
.regional-scene{width:1600px;height:900px;position:relative;isolation:isolate}
.regional-scene canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.region-pins{position:absolute;inset:0;pointer-events:none}
.region-pin{position:absolute;transform:translate(-50%,-50%);border:2px solid #e1c17b;box-shadow:0 0 0 4px #10262ca3,0 4px 12px #0008;background:#a16240;border-radius:100%;height:19px;width:19px;padding:0;cursor:pointer;pointer-events:auto}
.region-pin.own{background:#58cfbb;border-color:#dbfff5;width:26px;height:26px;z-index:2}
.region-pin.protected:not(.own){background:#7b83aa;border-color:#c6cee4}
.region-pin.selected{box-shadow:0 0 0 6px #d3a35eaa,0 4px 15px #000a}
.region-pin .pin-label{position:absolute;top:24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;color:#fff1cf;text-shadow:0 2px 3px #000,0 0 6px #000;font-weight:750}
.region-orient{position:absolute;right:22px;bottom:17px;letter-spacing:1.3px;font-size:10px;color:#e0d0a0;background:#172e2fc9;border:1px solid #a58e68;padding:10px 12px;border-radius:6px}
.region-legend{display:flex;flex-wrap:wrap;gap:20px;margin:11px 3px 17px;font-size:11px;color:#aebfc0}
.region-legend span{display:flex;align-items:center;gap:8px}.mark{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #e1c17b;background:#aa683b}.mark-own{background:#58cfbb}.mark-peace{background:#7b83aa}
.region-intel{border:1px solid #3b5558;border-radius:10px;background:#142830;padding:17px;margin-bottom:18px;color:#c4d3d1;font-size:12px;min-height:86px}
.intel-title{font-size:17px;font-weight:750;color:#f4e3bd;margin-bottom:7px}.intel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.intel-cell{background:#253840;border-radius:8px;padding:12px 10px}.intel-cell small{display:block;color:#9eb4b9;font-size:10px;margin-bottom:6px}.intel-cell b{font-size:13px}
.intel-controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.intel-controls label{font-size:11px;color:#9cb9b7;display:flex;flex-direction:column;gap:7px;min-width:145px;flex:1}.intel-controls select{background:#20353d;color:#fff2d6;border:1px solid #536c70;border-radius:7px;padding:11px;min-height:42px;max-width:100%}.intel-controls button{background:#be985d;border:0;color:#18272b;font-size:12px;font-weight:800;border-radius:7px;min-height:42px;padding:10px 16px;cursor:pointer}.intel-controls button:disabled{opacity:.4;cursor:not-allowed}.intel-warning{color:#e5b6a3;font-size:11px;margin:10px 0}
@media(max-width:780px){.regional-scroll{max-height:470px}.region-intel{padding:13px}.region-status{padding:12px}.intel-grid{grid-template-columns:1fr 1fr}.world-coords{width:100%;margin-left:0}.world-tabs{margin-bottom:15px}}

.region-status .secondary-button{width:auto;margin:0;flex-shrink:0;text-align:center;min-width:140px}.region-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px;color:#b2c5c4;font-size:11px}.region-toolbar button{cursor:pointer;border:1px solid #7c866a;background:#2a4648;color:#f7e2b1;border-radius:7px;min-height:36px;padding:8px 13px;font-size:11px}

/* v0.4 viewport layout and game-style camera. The page no longer scrolls on desktop. */
@media (min-width: 1001px) {
  html, body { height:100%; overflow:hidden; }
  .topbar {height:64px; padding:0 16px;}
  .layout {height:calc(100dvh - 64px); min-height:0; grid-template-columns:clamp(205px,16.5vw,265px) minmax(0,1fr) clamp(225px,17vw,280px); grid-template-rows:minmax(0,1fr);}
  .left-panel,.right-panel {min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:14px 12px 22px; scrollbar-width:thin; scrollbar-color:#38545a transparent;}
  .left-panel h1 {font-size:20px;}
  .metric {padding:9px 12px; margin-top:6px;}
  .metric strong {font-size:19px;}
  .metric:not(.primary) strong{font-size:16px;}
  .center-panel {padding:12px 14px; min-height:0; display:flex; flex-direction:column; overflow-y:auto; scrollbar-width:thin;}
  .center-panel.region-active {overflow:hidden;}
  .center-panel.region-active .bottom-grid {display:none;}
  .center-panel.region-active .world-tabs {flex:0 0 auto;}
  .region-section:not([hidden]) {display:flex; flex-direction:column; flex:1 1 auto; min-height:0;}
  .region-section .map-heading {flex:0 0 auto; margin-bottom:6px;}
  .region-section .map-heading h2 {font-size:20px; margin:2px 0;}
  .region-section .map-heading p {margin:2px 0 0; font-size:11px;}
  .region-section .eyebrow {font-size:9px;}
  .region-status {padding:7px 10px; margin:0 0 7px; flex:0 0 auto; font-size:11px;}
  .region-status button {padding:6px 10px; min-height:32px;}
  .region-toolbar {flex:0 0 auto; margin-bottom:7px;}
  .regional-scroll {flex:1 1 230px; min-height:180px; max-height:none;}
  .region-legend {flex:0 0 auto; margin:7px 3px;}
  .region-intel {flex:0 0 auto; min-height:0; max-height:142px; overflow-y:auto; margin:2px 0 0; padding:10px; scrollbar-width:thin;}
  .region-intel .intel-title {font-size:14px;}
  .region-intel .intel-grid {margin:5px 0; gap:5px;}
  .region-intel .intel-cell {padding:7px;}
  .region-intel p {margin:6px 0;}
  .region-intel .secondary-button {min-height:32px; margin-top:5px;}
  .world-tabs {margin-bottom:8px; padding-bottom:7px;}
  .world-tabs button {min-height:34px; padding:7px 12px;}
  .build-button {min-height:49px; padding:7px; gap:6px;}
  .build-icon {width:30px;height:30px;font-size:19px;}
  .build-main small {font-size:9px;}
  .section-head {margin:14px 0 8px;}
  .divider {margin:14px 0;}
}
@media (min-width:1001px) and (max-width:1240px){
  .layout {display:grid;grid-template-columns:215px minmax(0,1fr) 235px;grid-template-rows:minmax(0,1fr)}
  .right-panel {grid-column:3;grid-row:1;}
}
/* Pointer-gesture viewport: visual camera movement, not native scrollbars. */
.regional-scroll {overflow:hidden;position:relative;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;scrollbar-width:none;}
.regional-scroll:active {cursor:grabbing;}
.regional-scroll.dragging, .regional-scroll.dragging * {cursor:grabbing!important;}
.regional-scene {position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;}
.region-toolbar {flex-wrap:wrap;}
.map-controls {display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
.region-toolbar .map-controls button {min-height:32px;padding:5px 10px;}
.region-toolbar #regionZoomIn,.region-toolbar #regionZoomOut {font-size:18px;font-weight:700;min-width:32px;padding:2px 8px;}
#regionZoomLabel {color:#cfbd8d;min-width:37px;text-align:center;font-weight:700;}
@media (max-width:1000px) { .regional-scroll {height:min(62vh,560px);max-height:none;min-height:300px;} }
@media (max-width:780px) { .region-toolbar {align-items:flex-start;gap:8px;} .region-toolbar >span {font-size:10px;} .regional-scroll {height:min(58dvh,500px);min-height:280px;} }

/* Region intelligence/cartel panel tabs */
.region-detail-tabs{display:flex;gap:7px;margin-top:4px;align-items:center;}
.region-detail-tabs button{background:#20363b;color:#9fbdbe;border:1px solid #405b5f;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:720;cursor:pointer;}
.region-detail-tabs button.active{background:#ad8a51;color:#11242b;border-color:#d4ad64;}
.region-intel[hidden]{display:none!important}
.region-intel input{background:#20353d;color:#fff2d6;border:1px solid #536c70;border-radius:7px;padding:11px;min-height:42px;max-width:100%}
.cartel-invitation{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 0;border-top:1px solid #35535a;flex-wrap:wrap}
.cartel-invitation>span{display:flex;gap:7px;}
.cartel-invitation .secondary-button{min-height:32px;margin:0;width:auto;padding:6px 10px;}
@media(min-width:1001px){.region-intel{max-height:115px;min-height:0;}.region-detail-tabs{flex:0 0 auto;}.region-section .region-intel{flex:0 0 auto;}}
/* v0.5 industrial field art and readable physical production connections */
.map-scroll{background:#9b896b;border-color:#726c56;scrollbar-width:thin;}
.map-inner{background:
  linear-gradient(130deg,transparent 38%,#85786055 39%,#baaa8450 42%,transparent 44%),
  repeating-linear-gradient(-21deg,transparent 0px,transparent 125px,#665e4b22 128px,#d1bd9140 137px,transparent 146px),
  radial-gradient(ellipse at 80% 22%,#b1a07b 0%,transparent 55%),
  repeating-linear-gradient(30deg,#9b8765 0px,#aa9270 4px,#9a8666 12px,#a18c6d 28px);
  border-radius:12px;min-width:max-content;
}
.map-watermark,.map-coordinates{color:#35392f;text-shadow:0 1px 1px #e1cb9e;}
.map-coordinates span{color:#444e3d;}
.oilfield{isolation:isolate;gap:3px;}
.oilfield .cell{background:rgba(77,65,47,.08);border:1px solid rgba(76,63,42,.06);border-radius:4px;overflow:visible;}
.oilfield .cell:not(.occupied):hover,.oilfield .cell.cursor{background:#f0d79f66;outline:2px solid #e9b75f;outline-offset:-3px;}
.oilfield .cell.occupied{background:linear-gradient(140deg,#7e806e80,#6a776b99);border:1px solid #8e8568aa;box-shadow:inset 1px 1px #c2b3949e,0 4px 8px #3a302c36;}
.oilfield .cell.is-selected{outline:3px solid #efbb60;outline-offset:-3px;border-color:#f8d48a;box-shadow:0 0 0 3px #c68c3966,0 5px 8px #473e2c88;}
.oilfield .cell.link-target{outline:3px solid #71ddce;outline-offset:-3px;}
.oilfield .cell.hq{background:linear-gradient(120deg,#888d7d,#6f796e)!important;border-color:#b1a174;}
.facility-art{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;z-index:3;filter:drop-shadow(0 3px 2px #24252357);pointer-events:none;}
.facility-art svg{width:100%;height:calc(100% - 6px);display:block;}
.cell .building-label{background:#172b2cde;color:#f6e7c6;z-index:4;font-size:calc(var(--tile)*.125);letter-spacing:.35px;bottom:0;line-height:1.55;border-radius:0 0 3px 3px;}
.cell .level,.cell .construction{z-index:5;}
.pipeline-overlay{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:visible;}
.facility-icon{width:70px;height:65px;background:linear-gradient(130deg,#798879,#3f5957);border:1px solid #576f6b;overflow:hidden;flex-shrink:0;padding:2px;}
.facility-icon svg{width:100%;height:100%;}
.oilfield-yield{color:#e9c98e;background:#2b413c;padding:10px;border-left:3px solid #cca366;border-radius:4px;font-size:11px;line-height:1.5;}
.pipes-toggle{width:auto!important;min-width:80px;padding:5px 8px;font-size:10px!important;white-space:nowrap;}
.region-legend .basin-chip{color:#edcca0;}
.region-legend .basin-chip i{display:inline-block;width:13px;height:13px;background:#dba44c;border:2px dashed #f5d393;border-radius:50%;box-shadow:0 0 9px #ddb45c6e;}
.region-pin{z-index:3;}
.region-pin .pin-label{background:#203139bb;border-radius:4px;padding:3px 6px;top:24px;}
.region-pin.own{box-shadow:0 0 0 5px #163d3eb9,0 0 0 9px #f4d58c4a;}
@media (min-width:1001px) {.center-panel:not(.region-active) .map-scroll{max-height:calc(100dvh - 195px);}}
@media (max-width:780px){.pipes-toggle{min-height:37px;}.facility-art{filter:none;}}

/* Empty plots are still interactable, but the board-game lattice stays hidden until building. */
.oilfield .cell:not(.occupied){background:transparent;border-color:transparent;}
.oilfield.placing .cell:not(.occupied){background:#f2d9a91f;border:1px dashed #514d3977;}
.oilfield .cell:not(.occupied):focus-visible{outline:3px solid #f7d17a;outline-offset:-3px;background:#efcf8960;}

.build-icon{padding:1px;} .build-icon svg{width:100%;height:100%;display:block;}

/* v0.5.1: angled 2.5D lots and structures. World logic keeps its 12 x 9 coordinates. */
.map-scroll{background:#ad9673;}
.map-inner{background:radial-gradient(ellipse at 22% 12%,#c3b18b 0%,transparent 58%),repeating-linear-gradient(145deg,#a79170 0,#a79170 12px,#a99675 13px,#b4a080 28px);min-width:max-content;}
.oilfield{display:block!important;position:relative;isolation:isolate;gap:0;}
.oilfield-ground{position:absolute;left:0;top:0;z-index:0;pointer-events:none;}
.oilfield .cell,.oilfield .cell.occupied,.oilfield .cell.hq{position:absolute!important;display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;outline:0!important;padding:0;overflow:visible;pointer-events:none;transform:none;}
.oilfield .cell .lot-pad{position:absolute;inset:0;display:block;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:transparent;border:0;pointer-events:auto;}
.oilfield.placing .cell:not(.occupied) .lot-pad{background:#dbc28b49;border:0!important;}
.oilfield .cell:not(.occupied):hover .lot-pad,.oilfield .cell:not(.occupied):focus-visible .lot-pad{background:#fbe2a37b;box-shadow:inset 0 0 10px #f4bc5d;}
.oilfield .cell.occupied .lot-pad{background:#6c7b7165;box-shadow:inset 0 0 12px #253f3766;}
.oilfield .cell.is-selected .lot-pad{background:#c6a15b8a;filter:drop-shadow(0 0 7px #f9d48e);}
.oilfield .cell.link-target .lot-pad{background:#6bbdb866;}
.oilfield .cell .facility-art{position:absolute;bottom:15%;left:2%;width:96%;height:220%;display:block;pointer-events:auto;filter:drop-shadow(0 7px 3px #241b1777);}
.oilfield .cell .facility-art svg{display:block;width:100%;height:100%;}
.oilfield .cell .building-label{position:absolute;bottom:-13%;left:50%;transform:translateX(-50%);width:auto;min-width:58px;padding:2px 5px;white-space:nowrap;border-radius:4px;background:#1c3535e8;font-size:9px;pointer-events:none;}
.oilfield .cell .level{position:absolute;top:-132%;right:12%;z-index:3;pointer-events:none;}
.oilfield .cell .construction{position:absolute;top:-85%;right:4%;pointer-events:none;}
.oilfield .pipeline-overlay{z-index:3;}
.oilfield .cell{--tile:60px;}
@media(max-width:780px){.oilfield .cell .facility-art{filter:drop-shadow(0 4px 2px #241b1760);}}
/* Growing 2.5D regional sites + player-designed crests. */
.region-pin,.region-pin.own,.region-pin.protected:not(.own){width:86px;height:74px;border:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible;z-index:4;}
.region-pin .company-site-art{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 3px #0009);}
.region-pin.own .company-site-art{filter:drop-shadow(0 3px 4px #45beabac);}
.region-pin.selected{outline:3px solid #f4c876;outline-offset:1px;border-radius:14px;box-shadow:none;}
.region-pin .company-crest{position:absolute;right:1px;top:1px;width:29px;height:29px;border:2px solid #e9d7a4;border-radius:50%;background:var(--crest-color);color:#142f32;display:grid;place-items:center;font-size:18px;font-weight:900;box-shadow:0 3px 5px #0008;}
.region-pin .pin-label{top:65px;left:50%;max-width:155px;overflow:hidden;text-overflow:ellipsis;background:#192b2ce6;border:1px solid #b7a17b78;padding:3px 6px;border-radius:5px;font-size:11px;}
.region-pin.protected .company-crest{outline:2px solid #8796d5;outline-offset:2px;}
.emblem-editor{display:flex;flex-wrap:wrap;gap:8px;align-items:end;background:#19343b;padding:10px;border:1px solid #43616a;border-radius:9px;margin-top:8px;}
.emblem-editor label{font-size:10px;color:#c2d1c9;display:flex;flex-direction:column;gap:4px;}
.emblem-editor select{background:#172930;color:#f6eac9;padding:8px;border:1px solid #567475;border-radius:6px;min-height:37px;}
.emblem-editor button{background:#c8a364;color:#142429;border:0;border-radius:6px;padding:10px;font-size:11px;font-weight:800;min-height:37px;}

/* v0.5.2: smaller regional sites for dense worlds + oilfield view rotation controls */
.field-rotate-label{color:#cfbd8d;font-size:11px;font-weight:700;min-width:78px;text-align:center;}
@media (max-width:780px){.field-rotate-label{display:none;}}
.region-pin,.region-pin.own,.region-pin.protected:not(.own){width:58px;height:50px;z-index:4;}
.region-pin.site-tier-2{width:62px;height:53px;}
.region-pin.site-tier-3{width:66px;height:56px;}
.region-pin.site-tier-4{width:70px;height:60px;}
.region-pin .company-site-art{filter:drop-shadow(0 3px 2px #0009);}
.region-pin.own .company-site-art{filter:drop-shadow(0 2px 4px #45beabac);}
.region-pin .company-crest{right:-2px;top:-2px;width:22px;height:22px;font-size:13px;border-width:2px;box-shadow:0 2px 4px #0008;}
.region-pin .pin-label{top:48px;max-width:125px;padding:2px 5px;font-size:10px;}
.region-pin.selected{outline-width:2px;outline-offset:0;border-radius:10px;}

/* v0.5.3: larger regional viewport, compact company markers, inspector-only naming */
@media (min-width:1001px){
  .center-panel.region-active .region-section{gap:0;}
  .regional-scroll{height:min(74vh,780px);min-height:520px;}
}
.region-pin,.region-pin.own,.region-pin.protected:not(.own){width:26px;height:24px;z-index:4;overflow:visible;}
.region-pin.site-tier-2{width:28px;height:25px;}
.region-pin.site-tier-3{width:30px;height:27px;}
.region-pin.site-tier-4{width:32px;height:29px;}
.region-pin .company-site-art{width:100%;height:100%;display:block;filter:drop-shadow(0 1px 2px #000b);}
.region-pin.own .company-site-art{filter:drop-shadow(0 1px 3px #45beabac);}
.region-pin .company-crest{right:-3px;top:-3px;width:11px;height:11px;font-size:0;border-width:1px;box-shadow:0 1px 2px #0008;color:transparent;}
.region-pin .pin-label{display:none!important;}
.region-pin.selected{outline-width:2px;outline-offset:1px;border-radius:8px;}
.rename-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin:10px 0 14px;}
.rename-input{background:#20353d;color:#fff2d6;border:1px solid #536c70;border-radius:7px;padding:10px;min-height:40px;}
.rename-btn{background:#c8a364;color:#142429;border:0;border-radius:7px;padding:10px 12px;font-size:11px;font-weight:800;min-height:40px;}
.rename-btn.secondary{background:#243942;color:#e8eee9;border:1px solid #557078;}
@media (max-width:780px){.rename-row{grid-template-columns:1fr 1fr;}.rename-input{grid-column:1/-1;}}

/* v0.5.4: high-definition 2.5D field, uncluttered buildings, continuous ground placement */
.oilfield .cell .building-label,.oilfield .cell .level{display:none!important;}
.oilfield .cell .facility-art{height:176%;bottom:9%;left:7%;width:86%;filter:drop-shadow(0 5px 4px #211d167c);}
.oilfield .cell.occupied .lot-pad{background:transparent;box-shadow:none;}
.oilfield .cell.is-selected .lot-pad{background:#d0b36c68;filter:drop-shadow(0 0 6px #f1c063);}
.oilfield .cell:not(.occupied){display:none;}
.placement-surface{position:absolute;inset:0;cursor:crosshair;z-index:1;touch-action:manipulation;}
.oilfield:not(.placing) .placement-surface{cursor:default;}
.placement-preview{position:absolute;z-index:400;pointer-events:none;display:grid;place-items:center;width:50px;height:26px;clip-path:polygon(50% 0%,100% 50%,50% 100%,0 50%);font-weight:900;font-size:14px;}
.placement-preview.valid{background:#81ce9b8c;color:#134032;}
.placement-preview.invalid{background:#dd6b628c;color:#4e211c;}
.regional-inspector-heading{display:flex;gap:8px;align-items:center;margin:14px 0 8px;}
.regional-inspector-heading h3{font-size:14px;margin:0;line-height:1.35;overflow-wrap:anywhere;}
.regional-inspector-heading p{font-size:10px;color:#92a7ad;margin:4px 0;}
.regional-mini-site{width:64px;height:50px;flex:0 0 64px;}
.regional-mini-site svg{width:100%;height:100%;}
.regional-intel-list{margin:12px 0;border:1px solid #34505b;border-radius:8px;padding:6px 10px;}
.regional-intel-list>div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #34505b;font-size:11px;gap:8px;}
.regional-intel-list>div:last-child{border:0;}
.regional-intel-list span{color:#a7bac0;}
.intel-caveat{font-size:11px;line-height:1.55;color:#d2bc89;background:#263530;padding:10px;border-left:3px solid #c79f51;border-radius:5px;}

/* v0.5.5 field camera and focused inspector control */
.map-scroll{overflow:hidden!important;position:relative!important;height:clamp(350px,calc(100dvh - 286px),760px);max-height:none!important;touch-action:none;overscroll-behavior:contain;cursor:grab;user-select:none;}
.map-scroll.dragging,.map-scroll.dragging *{cursor:grabbing!important;}
.map-inner{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;}
.map-scroll .placement-surface{cursor:crosshair;}
.map-scroll.dragging .placement-surface{cursor:grabbing;}
#fitField{font-size:11px;font-weight:800;width:40px;}
.field-zoom-label{color:#e5c988;font-size:10px;white-space:nowrap;min-width:38px;text-align:center;}
.oilfield .cell .facility-name-tip{position:absolute;left:50%;bottom:112%;transform:translateX(-50%);max-width:170px;min-width:max-content;white-space:nowrap;background:#0e2832e8;border:1px solid #dfbb74;color:#fff1cd;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:700;z-index:20;pointer-events:none;display:none;filter:drop-shadow(0 3px 4px #0009);}
.oilfield .cell.is-selected .facility-name-tip,.oilfield .cell:hover .facility-name-tip,.oilfield .cell:focus-visible .facility-name-tip{display:block;}
.region-section .region-intel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:130px;max-height:225px;}
@media(min-width:1001px){.region-section .region-intel{max-height:225px;min-height:140px;flex:0 0 165px;}}
@media(max-width:1000px){.map-scroll{height:min(62dvh,620px);} .region-section .region-intel{max-height:320px;}}
@media(max-width:780px){.map-scroll{height:min(62dvh,540px);min-height:300px;}.field-zoom-label{display:none;}}

.oilfield .cell:hover{z-index:1001!important;}

@media(min-width:1001px){
 .region-section .regional-scroll{min-height:235px;height:auto;flex:1 1 250px;}
 .region-section .region-intel{min-height:150px;max-height:230px;flex:0 0 175px;}
}

/* v0.6: management views and refresh-stable editors */
.world-tabs{flex-wrap:wrap;gap:7px;}
.management-section{overflow:auto;min-height:0;flex:1;padding:8px 2px 20px;}
.studio-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 4px 22px;}
.studio-hero h2{font-size:25px;margin:0 0 8px;}
.studio-hero p{font-size:12px;color:#a3b8bb;line-height:1.5;margin:0;}
.studio-grid,.mil-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;margin-bottom:18px;}
.studio-controls,.studio-preview,.mil-panel{background:#142b32;border:1px solid #385258;border-radius:12px;padding:17px;}
.studio-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:start;}
.studio-controls label,.mil-panel form label{font-size:11px;color:#d6ded9;display:flex;flex-direction:column;gap:7px;}
.studio-controls select,.mil-panel select,.mil-panel input{background:#223941;border:1px solid #547177;border-radius:7px;padding:10px;color:#f9edcd;width:100%;min-height:40px;}
.studio-controls .action-button,.studio-controls p{grid-column:1/-1;}
.hero-identity{height:225px;display:flex;justify-content:center;align-items:center;}
.hero-identity svg{height:215px;width:220px;}
.identity-variants{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.identity-variants>div{text-align:center;font-size:11px;text-transform:capitalize;color:#acc0bb;}
.identity-variants svg{height:70px;max-width:100%;}
.rank-label{background:#283936;border:1px solid #a2874e;border-radius:8px;padding:12px;color:#f0c984;font-weight:800;font-size:13px;min-width:200px;}
.rank-label small{display:block;font-weight:400;color:#b9bbb2;margin-top:5px;}
.mil-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 18px;}
.mil-stats>div{background:#1e333b;padding:13px;border-radius:9px;border:1px solid #42595b;display:grid;gap:6px;}
.mil-stats span,.equipment-row small,.template-row small,.arsenal-item small{display:block;color:#94abad;font-size:10px;}
.mil-stats b{font-size:17px;color:#f0d198;}
.mil-panel h3{font-size:16px;margin:0 0 11px;}
.mil-panel .muted{font-size:11px;line-height:1.5;}
.equipment-row,.template-row,.arsenal-item{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #304a50;font-size:11px;justify-content:space-between;}
.equipment-row>div,.template-row>div{flex:1;min-width:0;}
.equipment-row>span{color:#d7b780;white-space:nowrap;}
.equipment-row select,.template-row select{width:80px;min-width:70px;padding:6px;min-height:33px;}
.equipment-row button,.template-row button,.inline-actions button{background:#c5a05d;color:#17282e;border:0;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:800;min-height:34px;}
.mil-panel button:disabled{opacity:.45;}
.mil-panel form{display:grid;gap:10px;}
#formationSlots{display:flex;flex-wrap:wrap;gap:7px;min-height:55px;}
.slot-button{color:#eadcbf;background:#29424a;border:1px solid #648081;border-radius:6px;padding:7px 10px;font-size:11px;}
.inline-actions{display:flex;gap:7px;align-items:center;}
.inline-actions select{flex:1;}
@media(max-width:950px){.studio-grid,.mil-grid{grid-template-columns:1fr;}.mil-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.studio-hero{align-items:flex-start;flex-wrap:wrap;}}
@media(max-width:500px){.studio-controls{grid-template-columns:1fr;}.mil-stats{grid-template-columns:1fr 1fr;}.equipment-row{flex-wrap:wrap;}.identity-variants svg{height:48px;}}
/* v0.6.1: independent equipment market and reusable military formation page */
.market-nav{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px;}
.market-nav button{background:#233a43;color:#cbdcda;border:1px solid #537178;padding:10px 13px;border-radius:7px;font-weight:750;font-size:12px;}
.market-nav button.active{background:#c4a05c;color:#132832;border-color:#dfbb77;}
.market-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(110px,1fr));gap:8px;margin-bottom:14px;}
.market-filters input,.market-filters select,.market-seller input,.market-seller select{min-width:0;width:100%;min-height:41px;background:#20363f;color:#eceddf;border:1px solid #527078;border-radius:7px;padding:9px;font-size:12px;}
.market-help{background:#273934;border:1px solid #5a6753;border-radius:8px;padding:12px;font-size:12px;line-height:1.5;color:#e0cfac;margin-bottom:12px;}
.market-results{background:#142b32;border:1px solid #385258;border-radius:10px;padding:3px 15px;max-height:600px;overflow:auto;overscroll-behavior:contain;}
.market-row{display:grid;grid-template-columns:minmax(160px,1fr) 160px 170px;align-items:center;gap:10px;padding:11px 3px;border-bottom:1px solid #304a50;font-size:12px;}
.market-row:last-child{border:0;}.market-row-main{min-width:0}.market-row-main small,.market-row-price small,.supplier-row small{display:block;color:#91aab0;margin-top:5px;font-size:10px;line-height:1.4;}
.market-row-price strong{color:#ebce92;}.market-row-controls{display:flex;gap:6px;justify-content:flex-end;align-items:center;}
.market-row-controls select{min-width:65px;background:#243b43;color:#fff1d0;border:1px solid #527078;padding:7px;border-radius:6px;}
.market-row-controls button,.supplier-row button{background:#c7a25c;color:#15282f;border:0;border-radius:6px;font-size:11px;padding:9px 10px;font-weight:800;min-width:72px;}
.market-row-controls button:disabled,.supplier-row button:disabled{opacity:.45;}
.market-licenses{background:#142b32;border:1px solid #385258;border-radius:10px;margin:0 0 14px;padding:15px;}
.market-licenses h3{margin:0 0 8px;}.market-licenses .muted{font-size:11px;}.supplier-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #385258;padding:10px 0;font-size:12px;}
.supplier-row>div{min-width:0}.market-seller{margin-top:16px;}.market-seller form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:end;}.market-seller label{display:grid;gap:6px;font-size:11px;color:#b4c9cd;}.market-seller .action-button{margin:0;min-height:42px;}
.arsenal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;}.arsenal-grid .arsenal-item{border:1px solid #304a50;border-radius:8px;padding:11px;}
@media(max-width:1120px){.market-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.market-row{grid-template-columns:1fr 125px;}.market-row-controls{grid-column:1/-1;justify-content:flex-start;}.market-seller form{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.market-row{grid-template-columns:1fr;}.market-row-controls{grid-column:auto;}.market-filters,.market-seller form{grid-template-columns:1fr;}.supplier-row{flex-wrap:wrap;}}

/* v0.6.2: licensed suppliers have distinct license and equipment panes. */
.supplier-subnav{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap;}
.supplier-subnav button{background:#20353d;color:#d4e0da;border:1px solid #5b7374;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:750;}
.supplier-subnav button.active{background:#b99b5d;color:#142730;border-color:#e4bd79;}
#marketLicenses{max-height:440px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
#marketLicenses .supplier-row:last-child{border-bottom:0;}

/* v0.6.3: at-a-glance supplier cards; use only the Military Market pane's scroller. */
#marketLicenses{max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important;}
.supplier-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.supplier-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;background:#203841;border:1px solid #44636a;border-radius:10px;padding:13px;}
.supplier-flag{font-size:28px;line-height:1.2;grid-row:span 2;}
.supplier-card-text{min-width:0;display:grid;gap:4px;}
.supplier-card-text b{font-size:13px;color:#f1e3c5;}.supplier-card-text small{font-size:10px;color:#a7c0c3;line-height:1.4;}
.supplier-card button{grid-column:1/-1;width:100%;min-height:39px;}
@media(max-width:700px){.supplier-cards{grid-template-columns:1fr;}}
/* Compact HOI4-inspired formation design. Keep gameplay underneath server-authoritative. */
.formation-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-height:unset!important;}
.formation-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:77px;min-width:0;padding:7px 3px;background:#1d3138;color:#a8c1c2;border:1px dashed #58787d;border-radius:9px;gap:5px;text-align:center;font-size:11px;}
.formation-cell strong{font-weight:750;font-size:11px;overflow-wrap:anywhere;line-height:1.2;}
.formation-cell small{font-size:9px;opacity:.8;}
.formation-cell.filled{background:#304940;border:1px solid #9aaf81;color:#f9e7bb;}
.formation-cell.chosen{outline:2px solid #e0b462;outline-offset:1px;}
.formation-tools{display:flex;gap:8px;}.formation-tools button{flex:1;border:1px solid #648081;border-radius:7px;background:#29424a;color:#e8dfc4;padding:9px;font-size:11px;}
.formation-summary{background:#203a39;border-left:3px solid #d0ad6a;padding:10px;font-size:11px;line-height:1.6;color:#e3dbc7;}
.recruitment-note{margin-bottom:14px;}.recruitment-note p{color:#afc3c3;font-size:11px;line-height:1.65;}.recruitment-note b{color:#f1d59b;}
#manpowerBreakdown{font-weight:700;}
@media(max-width:500px){.formation-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.supplier-card button{background:#c7a25c;color:#15282f;border:0;border-radius:7px;font-weight:800;font-size:11px;cursor:pointer;}
.supplier-card button:disabled{opacity:.45;cursor:not-allowed;}

/* v0.6.4 clear military inventory / reusable formation blueprints */
.arsenal-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0;}
.arsenal-tabs button{color:#b7d2ce;background:#223b43;border:1px solid #45666b;padding:6px 10px;border-radius:6px;font-size:11px;}
.arsenal-tabs button.active{color:#192c2f;background:#e5bb68;border-color:#f1c878;font-weight:800;}
.arsenal-grid .arsenal-item{align-items:center;line-height:1.6;}
.arsenal-grid .arsenal-item small{display:block;color:#a8bec2;font-size:10px;line-height:1.5;max-width:370px;}
.blueprint-card{background:#152e37;border:1px solid #45616a;padding:11px;border-radius:8px;margin:9px 0;min-width:0;}
.blueprint-card b{display:block;color:#f2d29a;font-size:13px;}
.blueprint-card small{display:block;color:#afbec2;font-size:10px;margin-top:5px;line-height:1.5;}
.blueprint-controls{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.blueprint-controls button,.blueprint-controls select{background:#29444c;color:#f5edd5;border:1px solid #587175;padding:9px;border-radius:7px;font-size:11px;min-height:35px;}
.blueprint-controls button:nth-of-type(2){background:#e4b65f;color:#12272a;font-weight:800;}
.blueprint-controls button:disabled{opacity:.36;}
.stock-status{font-size:11px;margin:8px 0;line-height:1.5;}
.stock-status.good{color:#9be0c4;}.stock-status.short{color:#f3b58d;}
.unit-card{border:1px solid #3a585e;background:#18323b;border-radius:8px;padding:9px;margin:8px 0;}
.unit-card summary{color:#f6d795;font-weight:750;font-size:12px;cursor:pointer;line-height:1.6;}
.unit-card p{font-size:11px;}
.unit-loadout{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;}
.unit-loadout>div{background:#243e45;padding:8px;border-radius:6px;line-height:1.6;}
.unit-loadout b{display:block;font-size:11px;}.unit-loadout small{color:#a4bdbe;display:block;font-size:9px;}
.supplier-flag{display:block!important;width:52px!important;height:36px!important;min-width:52px;line-height:1!important;}
.supplier-flag svg{display:block;width:52px;height:35px;filter:drop-shadow(0 1px 2px #0008);}
.equipment-stats{margin-top:5px;max-width:420px;}
.equipment-stats summary{font-size:10px;cursor:pointer;color:#e2bd80;}
.equipment-stats small{font-size:10px;color:#aecac6;line-height:1.55;}
@media(max-width:780px){.unit-loadout{grid-template-columns:1fr}.blueprint-controls select{max-width:100%}}

/* v0.6.5 Military Headquarters: task-based navigation and dense visual hierarchy. */
.pf-hq-hero{padding:6px 2px 12px;}
.pf-hq-nav{display:flex;gap:7px;align-items:center;margin:0 0 10px;padding:4px;background:#0e2229;border:1px solid #2d4b53;border-radius:11px;flex-wrap:wrap;}
.pf-hq-nav button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid transparent;color:#bdd0d1;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:760;min-height:40px;}
.pf-hq-nav button.active{background:#d3aa64;color:#13272b;border-color:#eac586;}
.pf-hq-tabpane[hidden]{display:none!important;}
.pf-hq-summary{margin-bottom:11px;}
.pf-hq-summary>div{grid-template-columns:auto 1fr;align-items:center;column-gap:9px;row-gap:4px;padding:10px;}
.pf-hq-summary>div svg{grid-row:span 2;color:#cfb27a;}.pf-hq-summary>div span{font-size:10px;}.pf-hq-summary>div b{font-size:16px;}
.pf-hq-panel{margin:0 0 11px;padding:14px;min-width:0;}
.pf-panel-head{margin-bottom:10px;}.pf-panel-head h3{margin:0 0 4px;}.pf-panel-head p{color:#9db7ba;font-size:11px;line-height:1.5;margin:0;}
.pf-overview-panel{padding-bottom:12px;}
.pf-overview-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.pf-overview-actions button{display:flex;gap:9px;align-items:center;text-align:left;padding:11px 12px;border:1px solid #48666b;border-radius:8px;background:#203941;color:#e7dcc7;font-weight:730;font-size:12px;min-height:48px;}
.pf-overview-actions button svg{color:#e3bd78;flex-shrink:0;}.pf-overview-actions button:hover{border-color:#d5af70;}
.pf-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-items:start;}.pf-mini-unit{padding:10px 0;border-top:1px solid #324c52;font-size:12px;}
.pf-mini-unit b{font-size:12px;color:#f2d496;}.pf-mini-unit .pf-training-progress{margin-top:6px;}
.pf-health-items{display:grid;gap:8px;}.pf-health-items div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #29474e;padding:7px 0;color:#a8babc;font-size:11px;}.pf-health-items b{color:#f3ddb2;font-size:11px;}
.pf-health-items+p{margin-bottom:0;line-height:1.65;}
.pf-designer-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start;}
.pf-formation-form{gap:8px!important;}.pf-formation-form label{gap:5px!important;}.pf-formation-form .formation-grid{margin-top:4px;}
.pf-formation-form .formation-cell{min-height:70px;padding:8px 4px;gap:3px;}.pf-formation-form .formation-cell svg{color:#e9c77d;}
.pf-formation-form .formation-cell small{font-size:9px;}.pf-formation-form .formation-cell strong{font-size:11px;}
.pf-formation-form .formation-summary{display:flex;flex-direction:column;gap:3px;margin:4px 0 2px;padding:9px;font-size:11px;line-height:1.45;}
.pf-formation-form .formation-summary .short{color:#f5ad87;}.pf-formation-form .formation-summary .good{color:#a7dfc3;}
.pf-formation-form .action-button{margin-top:3px;}.pf-formation-form .secondary-button{margin-top:0;}
.pf-blueprint-title{display:flex;align-items:center;gap:8px;}.pf-blueprint-title svg{color:#e7bb6c;}
.pf-blueprint-title b{margin:0;}.pf-unit{padding:0;border-radius:9px;overflow:hidden;margin-bottom:10px;}
.pf-unit summary{padding:12px;display:flex;align-items:center;gap:11px;list-style:none;}.pf-unit summary::-webkit-details-marker{display:none;}.pf-unit summary::after{content:'▾';color:#9fb7b9;font-size:14px;margin-left:auto;}.pf-unit:not([open]) summary::after{content:'▸';}
.pf-unit-icon{display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;border-radius:8px;background:#29454a;color:#e4b96e;}
.pf-unit-heading{display:grid;gap:4px;min-width:0;flex:1;}.pf-unit-heading b{font-size:13px;color:#ffe5a9;}.pf-unit-heading small{font-size:10px;color:#abc3c6;line-height:1.4;}
.pf-unit-state{font-size:10px;color:#e6c789;background:#2e4140;border:1px solid #54685b;border-radius:5px;padding:5px 7px;white-space:nowrap;}
.pf-unit-body{padding:0 12px 12px;}.pf-unit-body h4{font-size:12px;margin:12px 0 9px;color:#d7e3da;}
.pf-training-progress{display:grid;gap:5px;font-size:11px;margin-top:6px;}.pf-progress-info{display:flex;justify-content:space-between;color:#c3d8d1;gap:8px;}.pf-progress-info b{color:#ebc57f;}
.pf-progress-track{height:8px;background:#294249;border:1px solid #395b61;border-radius:12px;overflow:hidden;}.pf-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#56958b,#efbe65);transition:width .2s ease;border-radius:12px;}
.pf-training-progress small{color:#95b0b1;font-size:10px;line-height:1.4;}
.pf-unit-facts{display:flex;flex-wrap:wrap;gap:12px;color:#a5b9bb;font-size:10px;line-height:1.45;padding:7px 0;}
.pf-kit-item{display:flex;gap:8px;align-items:center;}.pf-kit-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;background:#38535a;color:#e6bb70;border-radius:6px;}
.pf-arsenal-card{display:flex;gap:9px;align-items:center;min-width:0;}.pf-arsenal-card>div{flex:1;min-width:0;}.pf-arsenal-card>strong{color:#f1ca83;white-space:nowrap;}.pf-arsenal-card b{font-size:12px;}
/* Compact procurement cards: flag and text never collide, and one native scroller only. */
.supplier-card{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:11px 12px;align-items:center;min-height:96px;}
.supplier-flag{grid-row:auto;align-self:center;}.supplier-card-text{gap:3px;padding-left:3px;}.supplier-card-text small{line-height:1.28;}
.supplier-card button{grid-column:3;min-width:145px;width:auto;min-height:36px;padding:8px 10px;}
.supplier-cards{gap:8px;margin-top:10px;}
@media(max-width:1220px){.supplier-card{grid-template-columns:52px minmax(0,1fr);}.supplier-card button{grid-column:1/-1;width:100%;}}
@media(max-width:900px){.pf-designer-layout,.pf-overview-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.pf-overview-actions{grid-template-columns:1fr 1fr;}.pf-hq-nav{gap:3px;}.pf-hq-nav button{padding:9px 10px;}.pf-hq-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.supplier-card{grid-template-columns:58px minmax(0,1fr) auto;}.supplier-card button{grid-column:3;width:auto;min-width:120px;}}
@media(max-width:530px){.pf-overview-actions{grid-template-columns:1fr;}.supplier-card{grid-template-columns:52px minmax(0,1fr);}.supplier-card button{grid-column:1/-1;width:100%;}.pf-unit-state{font-size:9px;}.pf-hq-nav button span{font-size:10px;}}

/* v0.6.6 compact paged catalog and field-contract dispatch */
.market-results{max-height:none;overflow:visible;}
.pf-market-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 2px 15px;color:#aebebc;font-size:12px;flex-wrap:wrap;}
.pf-market-pager button,.pf-contract-card button,.pf-duty button,.pf-region-mission-form button{border:1px solid #61777b;border-radius:7px;background:#244149;color:#f5e5bd;padding:9px 12px;font-size:12px;cursor:pointer;}
.pf-market-pager button:disabled,.pf-contract-card button:disabled,.pf-duty button:disabled,.pf-region-mission-form button:disabled{opacity:.45;cursor:not-allowed;}
.pf-rep-note{color:#b8d2c7!important;}
.pf-ops-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
.pf-ops-filters label,.pf-region-mission-form label{color:#b4caca;font-size:12px;display:grid;gap:6px;}
.pf-ops-filters select,.pf-region-mission-form select,.pf-duty select{background:#20363e;color:#e9f0e7;border:1px solid #527076;padding:9px;min-width:0;border-radius:7px;}
.pf-ops-contracts{display:grid;gap:10px;}.pf-contract-card{background:#1d3540;border:1px solid #355660;padding:13px;border-radius:10px;display:flex;gap:12px;align-items:center;justify-content:space-between;}
.pf-contract-card b{display:block;color:#eaeacb;font-size:14px;margin-bottom:4px;}.pf-contract-card small{display:block;color:#b0c4c6;line-height:1.45;margin-top:3px;}
.pf-faction-reputation{margin-top:14px;background:#263b38;border:1px solid #557268;border-radius:10px;padding:12px;font-size:12px;line-height:1.5;}
.pf-faction-reputation p{margin:5px 0;color:#abbcbb;}.pf-duty{margin-top:14px;padding:12px;background:#1b343d;border-radius:9px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;}.pf-duty strong{flex-basis:100%;}
.pf-xp-progress .pf-progress-track i{background:linear-gradient(90deg,#789eb9,#eabf67);}
.pf-mission-pin{position:absolute;transform:translate(-50%,-50%);width:23px;height:23px;background:#283d49;border:2px solid #e8c070;color:#fff4bf;border-radius:50%;font-size:18px;font-weight:bold;cursor:pointer;pointer-events:auto;z-index:6;display:grid;place-items:center;padding:0;box-shadow:0 2px 8px #0009;}
.pf-mission-pin:hover,.pf-mission-pin:focus-visible{transform:translate(-50%,-50%) scale(1.2);}
.pf-region-mission-form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:9px;align-items:end;margin:10px 0;}
@media(max-width:900px){.pf-region-mission-form{grid-template-columns:repeat(2,minmax(0,1fr));}.pf-ops-filters{grid-template-columns:1fr;}.pf-contract-card{align-items:flex-start;flex-direction:column;}}

/* v0.6.7: paginated two-column procurement, country missions with no extra scrollbar */
#marketResults.market-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:transparent;border:0;padding:0;max-height:none;overflow:visible;}
#marketResults .market-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:start;background:#183039;border:1px solid #3e5860;border-radius:9px;padding:12px;margin:0;min-width:0;}
#marketResults .market-row-main{grid-column:1/2;min-width:0;}
#marketResults .market-row-price{grid-column:2;grid-row:1;white-space:nowrap;text-align:right;font-size:11px;}
#marketResults .market-row-controls{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:3px;}
#marketResults .market-row-controls button{min-width:115px;}
.supplier-card{min-height:0;}
.supplier-card .supplier-browse{background:#2c4a53;color:#e9e3ce;border:1px solid #53757a;}
@media(max-width:1120px){#marketResults.market-results{grid-template-columns:1fr;}}
.pf-mission-workspace{display:grid;grid-template-columns:225px minmax(0,1fr);gap:12px;margin-top:12px;}
.pf-country-list{display:flex;flex-direction:column;gap:4px;padding:7px;background:#132831;border:1px solid #35505a;border-radius:9px;}
.pf-country-option{display:grid;grid-template-columns:36px 1fr;align-items:center;text-align:left;gap:4px 8px;padding:8px;color:#d4e5df;background:transparent;border:1px solid transparent;border-radius:7px;font-size:11px;}
.pf-country-option small{grid-column:2;color:#a7b4ba;font-size:10px;}
.pf-country-option.active{background:#314b4d;border-color:#c49c55;}
.pf-country-flag,.pf-country-heading .pf-country-flag{display:block;width:32px;height:23px;}
.pf-country-flag svg{width:100%;height:100%;object-fit:contain;}
.pf-country-heading{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #405c64;background:#1b343d;border-radius:8px;}
.pf-country-heading .pf-country-flag{width:48px;height:34px;flex:none;}
.pf-country-heading h3{margin:0 0 5px;font-size:16px;}.pf-country-heading p{margin:0;font-size:11px;color:#abc0c2;line-height:1.5;}
.pf-mission-filters{display:flex;align-items:center;gap:12px;margin:12px 0;}.pf-mission-filters label{font-size:11px;display:flex;flex-direction:column;gap:5px;flex:1;}
.pf-mission-filters select{background:#203943;color:#e9e9d9;border:1px solid #51717a;border-radius:6px;padding:9px;max-width:100%;}
.pf-mission-offers{display:grid;gap:10px;}
.pf-mission-card{padding:15px;background:#172d36;border:1px solid #37545e;border-radius:9px;}
.pf-mission-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}.pf-mission-head h4{margin:0;font-size:14px;}.pf-mission-badge{font-size:10px;color:#dec389;white-space:nowrap;}
.pf-mission-card p{font-size:11px;color:#b6c3c5;margin:8px 0;}.pf-mission-facts{display:flex;flex-wrap:wrap;gap:5px;}.pf-mission-facts span{font-size:10px;color:#c4d7d7;background:#273f47;padding:5px 7px;border-radius:4px;}
.pf-mission-bottom{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;}.pf-mission-bottom button{border:0;border-radius:6px;background:#c7a25c;color:#172329;padding:10px;font-weight:800;font-size:11px;min-width:115px;}.pf-mission-bottom button:disabled{opacity:.5;}
@media(max-width:950px){.pf-mission-workspace{grid-template-columns:1fr;}.pf-country-list{flex-direction:row;overflow-x:auto;flex-wrap:nowrap;}.pf-country-option{flex:0 0 135px;}.pf-mission-filters{flex-direction:column;align-items:stretch;}}
@media(max-width:620px){.pf-mission-bottom{flex-direction:column;align-items:stretch;}.pf-mission-bottom button{width:100%;}.pf-country-heading{align-items:flex-start;}}

/* v0.6.8: separate intelligence/cartel tools, compact identity, mission visibility */
.company-rank{display:inline-flex;margin:0 0 9px;padding:5px 9px;background:#2b3833;border:1px solid #a68850;border-radius:6px;color:#e8bc6c;font-size:11px;font-weight:800;letter-spacing:.2px;}
.hq-upgrade-benefits{padding:10px 12px;background:#213b36;border-left:3px solid #dfae5c;border-radius:5px;color:#c7ddce;font-size:11px;line-height:1.55;}
.legacy-region-controls[hidden]{display:none!important;}
.region-section .regional-scroll{flex:1 1 auto;min-height:350px;max-height:none;}
.region-section{min-height:0;}
.pf-intel-layout,.pf-cartel-columns{display:grid;grid-template-columns:minmax(175px,240px) minmax(0,1fr);gap:14px;min-height:0;}
.pf-intel-targets,.pf-intel-report,.pf-cg-card{background:#142b34;border:1px solid #3a5960;border-radius:11px;padding:15px;min-width:0;}
.pf-intel-targets{display:grid;gap:6px;align-content:start;}
.pf-intel-targets button,.pf-cartel-listing{background:#203a42;color:#e7ece8;border:1px solid #385c62;padding:11px;text-align:left;border-radius:7px;width:100%;display:flex;gap:11px;align-items:center;}
.pf-intel-targets button.active,.pf-cartel-listing.selected{border-color:#d5ab65;background:#33413b;}
.pf-intel-targets b,.pf-intel-targets small,.pf-cartel-listing b,.pf-cartel-listing small{display:block;overflow-wrap:anywhere;}
.pf-intel-targets small,.pf-cartel-listing small{color:#a1bec0;font-size:10px;margin-top:4px;line-height:1.5;}
.pf-intel-report h3,.pf-cg-card h3{font-size:18px;margin:0 0 9px;}
.pf-intel-report h4,.pf-cg-card h4{font-size:13px;margin:16px 0 8px;}
.pf-intel-report p,.pf-cg-card p{font-size:12px;line-height:1.6;color:#afc1c3;}
.pf-intel-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;}
.pf-intel-stats>div{padding:10px;background:#203741;border:1px solid #35535a;border-radius:7px;min-width:0;}
.pf-intel-stats small,.pf-intel-stats strong{display:block;overflow-wrap:anywhere;}
.pf-intel-stats small{font-size:10px;color:#a0b7b9;margin-bottom:6px;}.pf-intel-stats strong{font-size:12px;}
.pf-cartel-listing{margin-bottom:8px;}.pf-cartel-avatar{display:block;flex:0 0 42px;width:42px;height:46px;}.pf-cartel-avatar svg,.pf-cartel-badge svg{width:100%;height:100%;}
.pf-cartel-head{display:flex;gap:15px;align-items:center;margin-bottom:18px;}.pf-cartel-badge{width:80px;height:90px;flex:0 0 80px;}.pf-cartel-head small{color:#d3a960;font-size:11px;}
.pf-cartel-member{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #38535b;padding:10px 0;flex-wrap:wrap;font-size:12px;}.pf-cartel-member span b,.pf-cartel-member span small{display:block;}.pf-cartel-member span small{color:#a5b8b8;margin-top:4px;}.pf-cartel-member select{width:auto;}
.pf-cartel-member button{width:auto;min-height:32px;margin:0;}.pf-cg-card .pf-cg-card{margin-top:16px;padding:13px;background:#20353e;}
.pf-cartel-editor,.pf-rank-editor{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center;}.pf-cartel-editor input,.pf-cartel-editor textarea,.pf-cartel-editor select,.pf-rank-editor input{color:#eef4f1;background:#14262e;border:1px solid #547078;padding:10px;border-radius:7px;min-width:0;}.pf-cartel-editor textarea{width:100%;resize:vertical;}.pf-cartel-editor button,.pf-rank-editor button{background:#d8b267;color:#15252b;padding:10px 14px;border:0;border-radius:7px;font-size:12px;font-weight:700;}
.pf-cartel-preview{width:80px;height:80px;}.pf-cartel-preview svg{width:100%;height:100%;}.pf-rank-editor{border-top:1px solid #41565d;padding:12px 0;}.pf-rank-editor>label:first-child{font-size:11px;font-weight:800;display:flex;flex-direction:column;gap:6px;}.pf-rank-perm{display:flex;gap:5px;align-items:center;font-size:11px;color:#c4d5d4;}.pf-rank-perm input{accent-color:#d1ab64;}
.pf-deployed-banner{display:flex;flex-direction:column;gap:4px;background:#233d45;color:#ffe6a7;border-left:3px solid #e2b465;margin-top:10px;padding:9px 12px;border-radius:6px;font-size:12px;}
.pf-deployed-banner span{color:#cddbd7;font-size:11px;}.pf-early-button{background:#493c2f;border:1px solid #b08a57;color:#ffdbad;border-radius:7px;padding:8px 10px;margin:10px 0;font-size:11px;}
@media(max-width:950px){.pf-intel-layout,.pf-cartel-columns{grid-template-columns:1fr;}.pf-intel-targets{display:flex;overflow:auto;}.pf-intel-targets button{flex:0 0 180px;}.pf-intel-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:550px){.pf-intel-stats{grid-template-columns:1fr 1fr;}.pf-cartel-head{align-items:flex-start;}.pf-cartel-badge{width:55px;height:70px;flex-basis:55px;}.pf-rank-editor{display:grid;grid-template-columns:1fr 1fr;}.pf-rank-perm{grid-column:span 2;}}
/* v0.6.9: compact visual procurement and formation reports */
.equipment-art{display:inline-flex;width:96px;min-width:96px;height:63px;align-items:center;justify-content:center;border-radius:8px;overflow:hidden}
.equipment-illustration{width:100%;height:100%;display:block}
.market-row-main{display:flex;flex-direction:column;min-width:0}
.market-row-main .equipment-art{float:left}
.pf-equipment-head{display:flex;align-items:center;gap:10px}
.pf-kit-item .equipment-art{width:80px;min-width:80px;height:50px}
.arsenal-item .equipment-art{width:75px;min-width:75px;height:48px}
.pf-mission-report{padding:13px 15px;border:1px solid #436267;background:#213942;border-radius:9px;margin:8px 0;display:grid;gap:5px}
.pf-mission-report strong{color:#f1cf7e}.pf-mission-report small{color:#adc7c4}
.pf-mission-reports{margin-top:14px;border-top:1px solid #405b60;padding-top:10px}
.pf-reinforcement-info{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:9px 0}
.pf-reinforcement-info button{min-height:34px}
.pf-role-strip{background:#2b4148;border:1px solid #52686b;border-radius:8px;padding:12px;margin:10px 0;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.pf-roster-card{background:#152e36;border-radius:8px;padding:12px;margin-bottom:10px}
.pf-roster-card .pf-cartel-member{padding:6px 0}
.pf-rep-note strong{color:#e2c07a}
@media(max-width:950px){.equipment-art{width:70px;min-width:70px;height:48px}}

.pf-mission-latest{padding:12px 15px;background:#2a3d40;border:1px solid #a68e60;border-radius:9px;color:#ead9b0;font-size:12px;font-weight:700;margin:8px 0 12px;line-height:1.5}
.pf-mission-latest.mission-success{border-color:#5c9c8b;background:#233c37;color:#c9e8d6}

.pf-legacy-militia{border:1px solid #455b60;padding:10px;border-radius:8px;margin:12px 0;background:#1d3139}.pf-legacy-militia summary{color:#b7c7c7;cursor:pointer;font-size:11px;font-weight:700}.pf-legacy-militia button{margin-top:7px}

/* v0.7.0 company-first navigation and oilfield registry */
.pf-company-head{display:flex;align-items:center;gap:9px;margin:6px 0 9px;min-width:0}
.pf-company-heading{min-width:0;flex:1}.pf-company-heading h1{margin:0;overflow-wrap:anywhere;font-size:19px}
.pf-company-crest{flex:0 0 50px;width:50px;height:55px;display:flex;align-items:center;justify-content:center;padding:3px;background:#172e35;border:1px solid #af8e50;border-radius:10px;color:#edcb85;cursor:pointer}
.pf-company-crest svg{width:100%;height:100%;display:block}.pf-cartel-crest{display:flex;width:32px;height:38px;flex:0 0 32px}.pf-cartel-crest svg{width:100%;height:100%}
.pf-command-links{display:flex;gap:7px;flex-wrap:wrap;padding:9px 14px;background:#152933;border-bottom:1px solid #405861}.pf-command-links[hidden]{display:none!important}
.pf-command-links button{padding:8px 12px;border-radius:6px;border:1px solid #4b6970;color:#d1e0df;background:#223840;font-weight:700}
.pf-command-links button.active{background:#cca65f;color:#192a32}
.pf-field-manager{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;border:1px solid #36545b;background:#132b34;padding:10px 12px;margin:12px 0;border-radius:10px}
.pf-field-manager label{display:block;font-size:11px;color:#b8c8cd;margin-bottom:4px}
.pf-field-location{flex:1 1 245px}.pf-field-rename{display:flex;gap:8px;flex:1 1 250px}
.pf-field-manager select,.pf-field-manager input,.pf-land-office select,#startingSite{background:#213b43;border:1px solid #577479;border-radius:6px;padding:9px;color:#f4e8cf;min-width:0;max-width:100%}
.pf-field-location select{width:100%}.pf-field-rename input{flex:1 1 155px;min-width:0}
.pf-field-manager button,.pf-land-office button{background:#c8a25f;border:none;color:#17272f;padding:9px 12px;font-weight:800;border-radius:6px;cursor:pointer}
.pf-field-manager #fieldReadOnly{color:#f2bb76;font-size:11px;margin-left:4px}
.pf-land-office{margin:6px 0 10px}.pf-land-office #landOffice:not([hidden]){display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0;padding:12px;border:1px solid #4d6c67;background:#223a3e;border-radius:8px;font-size:12px}
#startingSiteWrap{margin:8px 0 14px}#startingSiteWrap label{display:block;color:#eac789;margin-bottom:7px}#startingSite{width:100%}#startingSiteWrap small{color:#9eb9c0;display:block;margin-top:5px}
.world-tabs #fieldTab,.world-tabs #regionTab,.world-tabs #identityTab,.world-tabs #missionsTab,.world-tabs #espionageTab{display:none!important}
@media (max-width:680px){.pf-field-rename{width:100%}.pf-field-manager{gap:6px}.pf-command-links button{flex:1}.pf-company-crest{flex-basis:42px;width:42px;height:46px}}

.pf-intel-targets button{display:flex;align-items:center;gap:8px;text-align:left}
.pf-intel-logos{display:flex;gap:3px;align-items:center;min-width:45px}.pf-intel-logos svg{width:24px;height:30px;max-width:24px}
.pf-intel-company-mark{display:flex;gap:10px;align-items:center}.pf-intel-company-mark svg{width:52px;height:58px}
.pf-cartel-crest .company-crest{font-size:19px;background:#394a3c;border:1px solid #d1b879;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}

.pf-map-company-logo{position:absolute;right:-3px;top:-6px;z-index:9;width:15px;height:18px;filter:drop-shadow(0 1px 2px #000c)}.pf-map-company-logo svg{width:100%;height:100%;display:block}

/* v0.7.1 selectable, evenly spaced regional land parcels */
.region-available-sites{position:absolute;inset:0;pointer-events:none;z-index:2}
.pf-open-site{position:absolute;transform:translate(-50%,-50%);width:13px;height:13px;padding:0;border:2px solid #f7db91;border-radius:50%;background:#b68b43d9;box-shadow:0 0 0 2px #1c343abb,0 2px 5px #0008;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.pf-open-site:hover,.pf-open-site:focus-visible,.pf-open-site.chosen{background:#ffda78;width:18px;height:18px;outline:2px solid #fff0b5;outline-offset:2px;z-index:3}
.pf-land-office #landOffice:not([hidden]){display:flex;align-items:center;gap:9px}
#fieldSiteChoice{color:#f4ce80;font-weight:750;font-size:12px;min-width:180px}
#purchaseField:disabled{opacity:.45;cursor:not-allowed}
/* Keep the artwork visible, but let the terrain receive construction clicks. */
.oilfield.placing .cell.occupied,.oilfield.placing .cell.occupied *, .oilfield.placing .cell.occupied .facility-art, .oilfield.placing .cell.occupied .lot-pad{pointer-events:none!important;}
.oilfield.placing .placement-surface{z-index:4}
.oilfield.placing .pipeline-overlay{pointer-events:none}
.pf-company-cartel-name{display:block;color:#dbb97b;font-size:11px;font-weight:700;margin-top:3px;line-height:1.35;overflow-wrap:anywhere;max-width:100%;}
.pf-company-head{align-items:flex-start}
.pf-command-unit{display:flex;gap:14px;justify-content:space-between;align-items:center}
.pf-command-unit small{display:block;color:#a6c0c0;font-size:10px;margin-top:4px}
.pf-command-unit strong{white-space:nowrap;color:#f3c778}
@media(max-width:780px){.pf-land-office #landOffice:not([hidden]){align-items:stretch}.pf-open-site{width:17px;height:17px}.pf-command-unit{align-items:flex-start}}

/* v0.7.2 compact oil-business navigation and in-game dialogs */
body:not(.pf-in-field) .pf-build-only{display:none!important;}
body:not(.pf-in-field) .left-panel .steps,body:not(.pf-in-field) .left-panel .prototype-note{display:none!important;}
.pf-field-title{flex:0 1 240px;min-width:125px;}
.pf-field-title h2{font-size:clamp(15px,1.25vw,20px);line-height:1.1;margin:3px 0;}
.pf-inline-status{flex:1;min-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#203831;border:1px solid #456653;border-radius:7px;color:#c8e6d1;padding:9px;font-size:11px;}
.pf-inline-status.has-issues{background:#463729;color:#ffdc98;border-color:#886847;}
#quickBuild{display:none!important;}
#fieldSection .map-heading{gap:8px;align-items:center;margin-bottom:8px;}
#fieldSection .field-actions{flex:0 0 auto;}
.pf-issues-hidden{display:none!important;}
.pf-rankings{padding:18px;background:#152933;border:1px solid #35505a;border-radius:10px;}
.pf-rankings>h2{font-size:20px;margin:0;}
.pf-rankings>p{font-size:12px;color:#a6c0bc;}
.pf-rankings .standing{max-width:800px;padding:14px 8px;}
.pf-dialog{max-width:min(460px,calc(100vw - 32px));width:100%;background:#172b35;color:#e8e6d8;border:1px solid #69807a;border-radius:13px;padding:23px;box-shadow:0 25px 80px #000a;}
.pf-dialog::backdrop{background:#000b;backdrop-filter:blur(2px);}
.pf-dialog h2{margin:0 0 14px;font-size:20px;}.pf-dialog p{font-size:13px;line-height:1.6;}
.pf-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}
.pf-dialog-actions button{padding:11px 20px;border-radius:7px;min-width:100px;font-weight:700;}
.pf-dialog-actions .pf-cancel{background:#263d48;color:#fff;border:1px solid #4c676a;}
.pf-dialog-actions .pf-accept{background:#d8ad60;color:#15252c;border:0;}
@media(max-width:950px){#fieldSection .map-heading{flex-wrap:wrap;}.pf-field-title{flex:1;}.pf-inline-status{order:3;flex-basis:100%;}.field-actions{max-width:100%;}}

/* v0.7.3: compact company-wide forces and oilfield-specific terrain. */
.pf-hq-summary{gap:6px!important;margin:5px 0 9px!important}
.pf-hq-summary>div{padding:8px 10px!important;min-height:44px!important}
.pf-hq-hero{margin-bottom:6px!important;padding:6px 0!important}
.pf-hq-panel{padding:11px!important}
.pf-hq-panel .pf-panel-head{margin-bottom:7px!important}
.pf-hq-panel .pf-panel-head p{margin:3px 0!important}
.pf-units-panel .pf-unit{margin:5px 0!important}
.pf-unit summary{padding:7px 9px!important;gap:7px!important;min-height:44px}
.pf-unit-icon{width:28px!important;height:28px!important;flex-basis:28px!important}
.pf-unit-heading{gap:1px!important}.pf-unit-heading b{font-size:12px!important}.pf-unit-heading small{font-size:9px!important}
.pf-unit-state{padding:4px 6px!important}
.pf-unit-body{padding:4px 9px 9px!important}
.pf-formation-form{gap:5px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pf-formation-form label{min-width:0;gap:2px!important}
.pf-formation-form .pf-subunit-picker,.pf-formation-form #formationSlots,.pf-formation-form .formation-tools,.pf-formation-form #formationSummary{grid-column:1/-1}
.pf-formation-form input,.pf-formation-form select{padding:7px!important;min-height:32px!important}
.pf-formation-form .formation-grid{gap:5px!important}
.pf-formation-form .formation-cell{min-height:47px!important;padding:4px 3px!important;gap:1px!important}
.pf-formation-form .formation-cell svg{width:14px;height:14px}
.pf-formation-form .formation-cell strong{font-size:10px!important}
.pf-formation-form .formation-cell small{font-size:8px!important}
.pf-formation-form .formation-summary{font-size:10px!important;padding:6px 8px!important;line-height:1.3!important}
.pf-formation-form .formation-tools button,.pf-formation-form button{padding:7px!important;min-height:29px!important;font-size:10px!important}
.pf-formation-form #saveBlueprint,.pf-formation-form #newBlueprint{margin:0!important}
.pf-arsenal-panel .arsenal-tabs{gap:4px!important;margin-bottom:6px!important}
.pf-arsenal-panel .arsenal-tabs button{padding:5px 7px!important;font-size:10px!important}
.pf-arsenal-panel .arsenal-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:6px!important}
.pf-stock-model{display:block!important;margin:0!important;padding:0!important;min-width:0}
.pf-stock-model summary{display:flex;align-items:center;gap:6px;padding:6px;cursor:pointer;list-style:none;min-width:0}
.pf-stock-model summary::-webkit-details-marker{display:none}
.pf-stock-model summary .equipment-art{width:54px!important;min-width:54px!important;height:38px!important}
.pf-stock-model .pf-stock-title{min-width:0;flex:1}
.pf-stock-model .pf-stock-title b{font-size:11px}
.pf-stock-model .pf-stock-title small{font-size:9px;line-height:1.24!important}
.pf-stock-model summary>strong{font-size:12px}
.pf-stock-batches{border-top:1px solid #436168;padding:7px;font-size:10px;color:#b4cac7}
.pf-stock-batches>div{display:flex;justify-content:space-between;gap:7px;padding:3px 0}
.pf-intel-holdings{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px}
.pf-intel-field{padding:10px;border:1px solid #40606a;background:#203942;border-radius:9px}
.pf-intel-field-top{display:grid;gap:3px}.pf-intel-field-top strong{color:#f4d39d;font-size:12px}
.pf-intel-field-top small{font-size:10px;color:#b4c8c6}
.pf-intel-field-facilities{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.pf-intel-field-facilities span{padding:3px 5px;font-size:10px;color:#b8cdca;background:#152e36;border:1px solid #36555e;border-radius:5px}
.pf-intel-field-facilities b{color:#eac58c}
.oilfield-ground{z-index:0!important;pointer-events:none!important}
@media(max-width:760px){.pf-formation-form{grid-template-columns:1fr!important}.pf-intel-holdings{grid-template-columns:1fr}}

/* Company rank is already displayed beneath the company name; do not repeat in C&C. */
.pf-hq-hero .rank-label{display:none}
.pf-hq-hero h2{font-size:20px!important}
.pf-hq-nav{margin-bottom:5px!important}
.pf-blueprint-title b{font-size:11px!important}
.blueprint-card{padding:8px!important;margin:5px 0!important}
.blueprint-card small{margin-top:2px!important;font-size:9px!important}
.blueprint-controls{gap:5px!important}


/* v0.7.4: denser market, national contracts, and saved units. Scroll within
   the main pane only. The CSS does not remove details, permissions, or prices. */
#mapScroll{transition:background-color .25s ease}
#fieldScene.map-inner{background:var(--pf-outside-terrain,repeating-linear-gradient(145deg,#a79170 0,#a79170 13px,#b4a080 28px))!important}
#marketRoot .studio-hero,#missionsRoot .studio-hero{margin-bottom:8px!important;gap:8px}
#marketRoot .studio-hero h2,#missionsRoot .studio-hero h2{font-size:19px;margin-bottom:3px}
#marketRoot .studio-hero p,#missionsRoot .studio-hero p{font-size:10px;line-height:1.35}
#marketRoot .market-nav{gap:5px;margin-bottom:7px}
#marketRoot .market-nav button,#marketRoot .supplier-subnav button{padding:7px 10px;font-size:11px}
#marketRoot .market-filters{gap:6px;margin-bottom:7px}
#marketRoot .market-filters :is(input,select){min-height:32px;padding:6px;font-size:11px}
#marketRoot .market-help{padding:7px 10px;margin-bottom:7px;font-size:10px;line-height:1.35}
#marketRoot #marketResults.market-results{gap:5px}
#marketRoot #marketResults .market-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:7px 9px;min-height:83px;align-content:center}
#marketRoot #marketResults .market-row-main{grid-column:1;grid-row:1/3;align-self:center}
#marketRoot #marketResults .pf-equipment-head{gap:6px}
#marketRoot #marketResults .equipment-art{width:66px!important;min-width:66px!important;height:42px!important}
#marketRoot #marketResults .market-row-main b{font-size:11px}
#marketRoot #marketResults .market-row-main small{font-size:9px;margin-top:2px;line-height:1.25}
#marketRoot #marketResults .equipment-stats{margin-top:2px;font-size:9px}
#marketRoot #marketResults .equipment-stats summary{font-size:9px}
#marketRoot #marketResults .market-row-price{grid-column:2;grid-row:1;align-self:start;min-width:94px;font-size:11px}
#marketRoot #marketResults .market-row-price small{font-size:9px;margin-top:1px}
#marketRoot #marketResults .market-row-controls{grid-column:2;grid-row:2;align-self:end;gap:4px;margin:0}
#marketRoot #marketResults .market-row-controls select{min-width:48px;padding:5px;font-size:10px}
#marketRoot #marketResults .market-row-controls button{min-width:92px;min-height:28px;padding:5px 7px;font-size:10px}
#marketRoot .pf-market-pager{margin:5px 1px;gap:5px;font-size:10px}
#marketRoot .pf-market-pager button{padding:6px 10px;font-size:10px}
#marketLicenses>h3{font-size:14px;margin:6px 0 3px}
#marketLicenses>p{font-size:10px;margin:3px 0 7px}
#marketLicenses .supplier-cards{gap:6px;margin-top:6px}
#marketLicenses .supplier-card{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;grid-template-rows:auto auto;column-gap:8px!important;row-gap:2px!important;padding:7px 9px!important;min-height:64px!important;align-items:center}
#marketLicenses .supplier-flag{width:39px!important;min-width:39px!important;height:27px!important;grid-column:1;grid-row:1/3}
#marketLicenses .supplier-flag svg{width:39px;height:27px}
#marketLicenses .supplier-card-text{grid-column:2;grid-row:1/3;gap:1px!important;padding:0!important}
#marketLicenses .supplier-card-text b{font-size:11px}
#marketLicenses .supplier-card-text small{font-size:9px;line-height:1.17}
#marketLicenses .supplier-card>button{grid-column:3!important;width:148px!important;min-width:0!important;min-height:27px!important;height:27px;padding:4px 6px;font-size:9px}
#marketLicenses .supplier-card>button:not(.supplier-browse){grid-row:1}
#marketLicenses .supplier-card>button.supplier-browse{grid-row:2}
/* National contracting keeps every supplier visible, without a giant one-column list. */
#missionsRoot .pf-mission-workspace{grid-template-columns:260px minmax(0,1fr);gap:8px;margin-top:7px}
#missionsRoot .pf-country-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:4px;padding:5px}
#missionsRoot .pf-country-option{display:grid;grid-template-columns:27px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 4px;padding:5px;font-size:10px;line-height:1.1;min-width:0}
#missionsRoot .pf-country-option>.pf-country-flag{grid-column:1;grid-row:1/3;width:24px;height:18px}
#missionsRoot .pf-country-option>small{grid-column:2;grid-row:2;font-size:9px}
#missionsRoot .pf-country-heading{padding:7px 9px;gap:8px}
#missionsRoot .pf-country-heading .pf-country-flag{width:39px;height:27px}
#missionsRoot .pf-country-heading h3{font-size:13px;margin-bottom:2px}
#missionsRoot .pf-country-heading p{font-size:9px;line-height:1.3}
#missionsRoot .pf-mission-filters{gap:8px;margin:6px 0;font-size:10px}
#missionsRoot .pf-mission-filters select{padding:6px;font-size:10px}
#missionsRoot .pf-mission-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#missionsRoot .pf-mission-card{padding:8px;display:flex;flex-direction:column;gap:5px}
#missionsRoot .pf-mission-card h4{font-size:12px}
#missionsRoot .pf-mission-card p{margin:1px 0;font-size:10px;line-height:1.3}
#missionsRoot .pf-mission-facts{gap:3px}
#missionsRoot .pf-mission-facts span{font-size:9px;padding:3px 4px}
#missionsRoot .pf-mission-bottom{margin-top:auto;align-items:flex-end;gap:4px;font-size:10px}
#missionsRoot .pf-mission-bottom button{min-width:85px;padding:6px 8px;font-size:10px}
#missionsRoot .pf-mission-latest{padding:7px 10px;margin:5px 0 7px;font-size:10px}
#missionsRoot .pf-mission-reports{margin-top:7px;padding-top:6px}
/* Reusable blueprints must remain operable even in a narrow side panel. */
#pfSavedTemplates.blueprint-card{display:grid}
#pfSavedTemplates .blueprint-card{padding:6px 8px!important;margin:4px 0!important;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;align-items:center}
#pfSavedTemplates .blueprint-card .pf-blueprint-title{grid-column:1;grid-row:1;gap:4px}
#pfSavedTemplates .blueprint-card .pf-blueprint-title svg{width:14px;height:14px}
#pfSavedTemplates .blueprint-card>small{grid-column:1;font-size:9px!important;margin:0!important;line-height:1.2}
#pfSavedTemplates .blueprint-card .stock-status{grid-column:2;grid-row:1/4;font-size:9px;margin:0;max-width:115px;text-align:right}
#pfSavedTemplates .blueprint-card .blueprint-controls{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:4px;margin-top:4px}
#pfSavedTemplates .blueprint-controls :is(button,select){min-height:27px!important;padding:5px!important;font-size:9px!important;margin:0!important;max-width:100%}
#pfSavedTemplates .blueprint-controls button:nth-of-type(2){min-width:61px}
@media(max-width:1050px){#missionsRoot .pf-mission-workspace{grid-template-columns:1fr}#missionsRoot .pf-country-list{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}#missionsRoot .pf-country-option{min-width:0}#marketLicenses .supplier-card{grid-template-columns:37px minmax(0,1fr) auto!important}}
@media(max-width:760px){#marketRoot #marketResults.market-results{grid-template-columns:1fr}#missionsRoot .pf-country-list{grid-template-columns:repeat(2,minmax(0,1fr))}#missionsRoot .pf-mission-offers{grid-template-columns:1fr}#marketLicenses .supplier-cards{grid-template-columns:1fr}#marketLicenses .supplier-card{grid-template-columns:37px minmax(0,1fr) auto!important}}
@media(max-width:470px){#pfSavedTemplates .blueprint-card .stock-status{grid-column:1/-1;grid-row:auto;text-align:left;max-width:none}#pfSavedTemplates .blueprint-card .blueprint-controls{grid-template-columns:repeat(2,minmax(0,1fr))}#marketLicenses .supplier-card{grid-template-columns:34px minmax(0,1fr)!important}#marketLicenses .supplier-card>button{grid-column:1/-1!important;grid-row:auto!important;width:100%!important}}

/* v0.7.5 regional movements and terrain silhouettes */
.pf-landscape{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:5px}
.pf-landscape svg{width:100%;height:100%;display:block}
#fieldScene #map{z-index:1}
.pf-region-forces{position:absolute;inset:0;pointer-events:none;z-index:12}
.pf-moving-force{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:2px solid #f0dda6;border-radius:7px;color:#fff6d7;background:#8d563e;box-shadow:0 2px 9px #061a1dcf;min-width:26px;min-height:27px;padding:2px;font-size:17px;font-weight:800;cursor:pointer}
.pf-moving-force.own{background:#287c77;border-color:#bbf2dc}
.pf-moving-force:hover,.pf-moving-force:focus-visible{scale:1.15;outline:2px solid #e8bb5b}
.pf-warfare-orders{border:1px solid #416064;background:#183139;padding:8px 10px;border-radius:9px;margin-bottom:7px;display:grid;gap:7px}
.pf-war-intro{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:11px;color:#adcac7}.pf-war-intro b{color:#e9c789;font-size:12px}
.pf-war-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(170px,1.15fr) auto;gap:8px;align-items:center}
.pf-war-controls select{min-width:0;width:100%;background:#233e49;color:#f1e7cc;border:1px solid #59757b;padding:9px;border-radius:6px;font-size:11px}
.pf-war-controls button{border:0;border-radius:6px;background:#d0a562;color:#17252a;padding:9px 12px;font-size:11px;font-weight:800;white-space:nowrap}
.pf-war-target{font-size:11px;color:#d6cbb0;overflow-wrap:anywhere}.pf-war-status{display:flex;gap:8px;flex-wrap:wrap}.pf-war-status span{font-size:10px;color:#abe2cf;background:#214a4d;border-radius:5px;padding:4px 7px}.pf-war-last{font-size:10px;color:#e4c8a9;margin:0}
@media(max-width:820px){.pf-war-controls{grid-template-columns:1fr}.pf-war-intro span{font-size:10px}.pf-warfare-orders{padding:7px}}

.pf-force-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}

/* v0.7.6 world selection / map-first company creation */
#onboard:has(#registerForm:not([hidden])) .auth-modal{width:min(810px,calc(100% - 18px));max-height:min(94dvh,970px)}
.pf-starting-map{position:relative;width:100%;aspect-ratio:3/2;max-height:385px;overflow:hidden;border:1px solid #56716c;border-radius:9px;background:#355a5f;margin-top:7px}
.pf-starting-map canvas{width:100%;height:100%;position:absolute;inset:0}
.pf-starting-pins{position:absolute;inset:0}
.pf-starting-pin{position:absolute;transform:translate(-50%,-50%);border:1px solid #253b3a;border-radius:50%;width:11px;height:11px;background:#e9b65b;padding:0;box-shadow:0 0 0 2px #f0e0a255;cursor:pointer;z-index:1}
.pf-starting-pin:hover,.pf-starting-pin:focus-visible{z-index:2;transform:translate(-50%,-50%) scale(1.55);outline:2px solid #fbe5ad}
.pf-starting-pin.chosen{background:#55e2c4;box-shadow:0 0 0 5px #f7d876aa;z-index:3;width:13px;height:13px}
.pf-starting-pin.taken{display:block;background:#8b4a4c;border-color:#f4c5b7;box-shadow:0 0 0 2px #25171abf;cursor:not-allowed;pointer-events:none;z-index:0}
.pf-starting-pin.taken::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:2px;background:#f7dfd5;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 1px #3f191f}
.pf-starting-pin.taken::before{content:'';position:absolute;left:50%;top:50%;width:8px;height:2px;background:#f7dfd5;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 0 0 1px #3f191f}
.pf-starting-pin.taken.self{background:#49606a;border-color:#bcd4da}
.pf-starting-choice{color:#f3cc83;background:#193740;border:1px solid #526a6a;border-radius:5px;padding:8px 10px;font-size:13px}
@media(max-width:550px){.pf-starting-map{max-height:none}.pf-starting-pin{width:9px;height:9px}}

/* v0.7.6 consolidated operation planner */
.pf-attack-options{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}.pf-attack-options label[hidden]{display:none}
.pf-ops-status{border-left:3px solid #b9a369;background:#243b40;padding:9px 12px;border-radius:4px;line-height:1.6}
.pf-ops-panel>.action-button{max-width:400px}
@media(max-width:680px){.pf-attack-options{grid-template-columns:1fr}.pf-ops-panel>.action-button{max-width:none;width:100%}}

.pf-ops-history{border:1px solid #486466;border-radius:7px;padding:9px 12px;margin-top:12px;color:#c6d8d3;font-size:12px}.pf-ops-history summary{cursor:pointer;color:#e8c379;font-weight:700}.pf-ops-history>div{padding:7px 0;border-top:1px solid #3c5658}

/* v0.7.7 Region planning & diplomatic status: no duplicate map-wide control bars. */
.pf-regional-left-tools{margin:15px 0 8px;display:grid;gap:9px;border-top:1px solid #35494e;padding-top:13px}
.pf-regional-left-tools h2{font-size:14px}.pf-regional-left-tools .pf-land-office{margin:0}
.pf-regional-left-tools .pf-land-office button{width:100%;min-height:36px;font-size:11px}
.pf-regional-left-tools #landOffice:not([hidden]){display:grid;gap:7px;margin:0;padding:9px;font-size:11px}
.pf-regional-left-tools .region-status{display:grid;gap:6px;margin:0;justify-content:stretch;padding:9px 10px;font-size:11px}
.pf-end-peace{width:100%;border:1px solid #9d7661;background:#402e2d;color:#f1cbbb;padding:7px;font-size:10px;border-radius:6px}
.pf-peace-summary{color:#eec78d;font-size:11px;font-weight:650;line-height:1.45}.pf-incoming-alert{color:#ffb6a7;font-size:10px;line-height:1.4;margin:3px 0}
.pf-regional-left-tools .pf-warfare-orders{margin:0;padding:10px;gap:7px;display:grid;grid-template-columns:1fr}
.pf-regional-left-tools .pf-warfare-orders h3{margin:0;color:#e7c48a;font-size:13px}
.pf-war-label{font-size:10px;color:#b8cfcf;display:grid;gap:4px}
.pf-war-label select{font-size:11px;padding:8px;min-width:0;width:100%;border-radius:6px;border:1px solid #536e70;background:#233b45;color:#f2f0e4}
.pf-war-hint{margin:0;font-size:10px;line-height:1.45;color:#a9bdbe}.pf-regional-left-tools .action-button{margin:2px 0;min-height:36px}
.pf-global-warning{width:100%;border:1px solid #d98274;color:#ffe0cf;background:#4c2e29;border-radius:8px;text-align:left;font-size:11px;font-weight:750;margin-top:8px;padding:10px}
.pf-dip-card{border:1px solid #36555f;background:#172e39;border-radius:10px;padding:15px;margin:11px 0}
.pf-dip-card h3{font-size:15px;color:#f0d7a2;margin:0 0 9px}.pf-dip-card p{color:#b9cbce;font-size:12px;line-height:1.5}
.pf-safe{color:#a6e3b7}.pf-unprotected{color:#efb2a3}.pf-incoming-active{border-color:#b56c57;background:#372b2c}
.pf-dip-entry{background:#273f4a;border:1px solid #527077;border-radius:8px;padding:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px;margin-top:8px}.pf-dip-entry b{color:#fff2c4}
.pf-dip-entry strong{color:#f3b1a3;margin-left:auto}.pf-dip-relation{padding:10px 2px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #345059;font-size:12px}.pf-dip-relation span{color:#aac4c7;text-align:right}
.pf-dip-report{border:1px solid #3e5763;padding:12px;border-radius:8px;margin:8px 0;background:#1c3640}.pf-dip-report h4{font-size:13px;margin:0 0 5px}.pf-dip-report p{font-size:11px;margin:5px 0}
.pf-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.pf-report-grid span{background:#284651;padding:8px;border-radius:5px;display:grid;gap:4px;font-size:11px}.pf-report-grid small{font-size:10px;color:#b2c7ca}
.pf-cartel-join{background:#22383d;border:1px solid #516a6a;padding:12px;margin-top:12px}.pf-cartel-join h4{margin:0 0 5px}
@media(max-width:750px){.pf-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-dip-relation{display:grid;gap:5px}.pf-dip-relation span{text-align:left}}

/* v0.7.8: named map selection, ceasefire markers, compact diplomatic intelligence */
.pf-field-ceasefire {position:absolute;left:-12px;top:-15px;z-index:12;line-height:1;font-size:14px;pointer-events:none;filter:drop-shadow(0 1px 3px #001820);}
.region-pin.protected .company-site-art{filter:drop-shadow(0 0 2px #a6c8ee) drop-shadow(0 1px 2px #000a)}
.pf-dip-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;gap:12px}
.pf-dip-header h2{font-size:21px;margin:0 0 3px}
.pf-dip-header p{font-size:11px;color:#a5c0c3;margin:0}
.pf-dip-top{display:grid;grid-template-columns:1fr 1.15fr;gap:9px}
.pf-dip-card{margin:0 0 9px;padding:11px 13px}
.pf-dip-card h3{font-size:13px;margin:0 0 6px}
.pf-dip-card p{font-size:11px;line-height:1.4;margin:4px 0}
.pf-protection-compact{display:flex;align-items:center;gap:12px;min-height:78px}
.pf-protection-detail{flex:1;min-width:0}.pf-protection-detail strong{font-size:12px}
.pf-status-crest{width:48px;height:48px;flex:0 0 48px;border:1px solid #8da0b8;border-radius:10px;background:#2a424b;display:grid;place-items:center;font-size:25px}
.pf-status-crest.active{color:#badfc4;background:#203d38;border-color:#5c9e7f}
.pf-status-crest.expired{color:#e5b3a0;background:#402f33;border-color:#8b5f59}
.pf-small-danger{font-size:10px;padding:5px 8px;min-height:28px;border:1px solid #a77a64;border-radius:5px;background:#44332f;color:#f1d0b4}
.pf-count{font-size:11px;font-weight:600;color:#adced0;background:#294451;padding:2px 7px;border-radius:30px;margin-left:4px}
.pf-dip-incoming{min-width:0;max-height:185px;overflow:auto}
.pf-dip-entry{padding:5px 7px;gap:5px;margin-top:5px}.pf-dip-entry strong{font-size:11px}
.pf-relation-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pf-relation-zone{min-width:0;border:1px solid #577079;border-radius:8px;padding:9px;background:#203843}
.pf-relation-zone.hostile{border-color:#965351;background:#392c34}
.pf-relation-zone.neutral{border-color:#8f7d50;background:#34372f}
.pf-relation-zone.allied{border-color:#477f68;background:#253b36}
.pf-relation-zone-title{display:flex;align-items:center;gap:7px;font-size:11px}
.pf-relation-zone-title small{margin-left:auto;opacity:.8}
.pf-relation-dot{width:9px;height:9px;background:#e36d68;border-radius:50%}
.pf-relation-zone.neutral .pf-relation-dot{background:#e3c16b}
.pf-relation-zone.allied .pf-relation-dot{background:#77ce96}
.pf-relation-emblems{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;min-height:42px}
.pf-relation-company{position:relative;display:inline-block;width:40px;height:41px;cursor:help}
.pf-relation-company svg{width:100%;height:100%;display:block}
.pf-relation-company:focus-visible{outline:2px solid #f7ce82}
.pf-relation-shield{position:absolute;top:-7px;right:-8px;font-size:12px;filter:drop-shadow(0 1px 2px #000)}
.pf-relation-empty{color:#82999b;font-size:10px}
.pf-dip-footnote{font-size:10px!important;margin:7px 0 0!important;color:#b9ced0}
.pf-dip-history{margin-bottom:0}
.pf-report-row{border:1px solid #415b62;border-radius:7px;background:#1e3941;margin:5px 0;overflow:hidden}
.pf-report-summary{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(165px,1fr) auto;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:11px;list-style:none}
.pf-report-summary::-webkit-details-marker{display:none}
.pf-report-summary:before{content:'▸';margin-right:3px;position:absolute;display:none}
.pf-report-row[open] .pf-report-summary{border-bottom:1px solid #3d5660;background:#2a444c}
.pf-report-heading{min-width:0;display:grid;gap:2px}
.pf-report-heading strong{color:#f1d7a6;font-size:12px}
.pf-report-heading small{color:#a4c0c2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-report-casualties{color:#bdd3d5;font-size:11px}
.pf-report-outcome{font-size:10px;border:1px solid #658d78;padding:4px 9px;border-radius:5px;color:#b7e4be;background:#253f38;min-width:62px;text-align:center}
.pf-report-outcome.loss{color:#f0b2a8;border-color:#a46b65;background:#472d32}
.pf-report-details{padding:8px 12px;font-size:11px}
.pf-report-details p{margin:3px 0 7px}
.pf-report-pairs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pf-report-pairs span{display:grid;gap:3px;border:1px solid #35515a;border-radius:5px;background:#28414a;padding:7px}
.pf-report-pairs small{font-size:9px;color:#aac4c7}
.pf-report-pairs b{font-size:11px;color:#f0e3c8}
@media(max-width:980px){.pf-dip-top{grid-template-columns:1fr}.pf-relation-zones{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-report-summary{grid-template-columns:1fr auto}.pf-report-casualties{grid-column:1 / -1;grid-row:2}}
@media(max-width:670px){.pf-relation-zones{grid-template-columns:1fr}.pf-report-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-protection-compact{flex-wrap:wrap}.pf-report-summary{padding:7px}}

.pf-regional-left-tools .region-status{padding:5px 8px;gap:5px}
.pf-peace-summary{display:flex;gap:8px;align-items:center}
.pf-ceasefire-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:5px;background:#28453e;border:1px solid #709d83;font-size:14px}
.pf-ceasefire-icon.expired{background:#443739;border-color:#956a60}
.pf-peace-label{font-size:10px;color:#e5c79b;line-height:1.3}

/* v0.7.9: server-backed unread menu counters and cartel diplomacy */
.world-tabs>button{position:relative;overflow:visible}
.world-tabs .pf-unread-count{position:absolute;right:-7px;top:-8px;min-width:18px;height:18px;padding:0 4px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#d82e3e;color:white;font-size:11px;font-weight:800;line-height:1;box-shadow:0 0 0 2px #0b1820;z-index:3;pointer-events:none;font-family:system-ui,sans-serif}
.world-tabs .pf-unread-count[hidden]{display:none!important}
.pf-cartel-diplomacy{margin-top:12px}
.pf-cartel-relationship-list{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}
.pf-cartel-treaty{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:6px;background:#142e39;border:1px solid #325462;font-size:13px}
.pf-cartel-treaty.war{border-color:#97515a}.pf-cartel-treaty.alliance{border-color:#4f8065}
.pf-cartel-treaty.pending{margin-bottom:6px}.pf-cartel-treaty-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pf-cartel-treaty-form select{flex:1;min-width:125px;max-width:230px}
.pf-dip-formal{margin:8px 0}.pf-dip-formal p{margin:3px 0 8px}.pf-formal-line{font-size:13px;padding:4px 8px}
.pf-formal-line.hostile{border-left:3px solid #d96b76}.pf-formal-line.allied{border-left:3px solid #71bb84}

/* v0.7.10: compact emblem-based cartel diplomacy directory */
.pf-cartel-hero-v2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.pf-cartel-hero-v2 h2{font-size:19px;margin:0 0 3px}.pf-cartel-hero-v2 p{margin:0;color:#a9c4c6;font-size:11px;line-height:1.4}
.pf-cartel-hero-v2>small{white-space:nowrap;color:#ddb977;background:#293b39;border:1px solid #76684b;border-radius:6px;padding:5px 9px}
.pf-cartel-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:9px}
.pf-cartel-zone{min-width:0;background:#122b35;border:1px solid #3b5660;border-left:3px solid #c9a763;border-radius:8px;padding:9px 11px}
.pf-cartel-zone.hostile{border-left-color:#d16972}.pf-cartel-zone.allied{border-left-color:#69ac85}
.pf-cartel-zone h3{font-size:12px;font-weight:800;margin:0 0 7px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.pf-cartel-zone.hostile h3{color:#efadb3}.pf-cartel-zone.neutral h3{color:#e4c98c}.pf-cartel-zone.allied h3{color:#acdfb5}
.pf-cartel-zone h3 span{font-size:11px;padding:1px 5px;border-radius:9px;background:#2b444a;color:#e5ece8}
.pf-cartel-zone-items{display:flex;align-items:stretch;flex-wrap:wrap;gap:6px;min-height:41px}
.pf-cartel-zone-items>.muted{font-size:11px;align-self:center}
.pf-cartel-emblem-item{padding:3px 7px 3px 5px;display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;border:1px solid #355760;border-radius:6px;background:#203943;color:#eef2ed;text-align:left;cursor:pointer}
.pf-cartel-emblem-item.selected{border-color:#e9ba6b;background:#3b483f;box-shadow:inset 0 0 0 1px #bd985c}
.pf-cartel-emblem-item:focus-visible{outline:2px solid #e9bb70;outline-offset:2px}
.pf-cartel-emblem-item .pf-cartel-avatar{width:31px;height:34px;flex:0 0 31px}
.pf-cartel-emblem-name{font-size:11px;line-height:1.25;font-weight:750;overflow-wrap:anywhere}
.pf-cartel-emblem-name small{display:block;font-size:9px;color:#d1b174;margin-top:3px}
.pf-cartel-detail-v2{padding:12px 14px}
.pf-cartel-selected-head{display:flex;align-items:center;gap:12px;min-width:0}
.pf-cartel-selected-logo{width:57px;height:63px;flex:0 0 57px}.pf-cartel-selected-logo svg{width:100%;height:100%}
.pf-cartel-selected-copy{min-width:0}.pf-cartel-selected-copy h3{font-size:16px;margin:0 0 4px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.pf-cartel-selected-copy p{margin:0 0 4px;font-size:11px;line-height:1.3}.pf-cartel-selected-copy small{font-size:10px;color:#d3b47d}
.pf-cartel-status-label{font-size:10px;font-weight:700;border-radius:5px;padding:3px 7px;background:#4c402d;color:#f3d18c}
.pf-cartel-status-label.hostile{background:#543037;color:#ffd0d0}.pf-cartel-status-label.allied{background:#294d3d;color:#c1eacd}
.pf-cartel-selected-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:9px 0 0;padding:9px 0;border-top:1px solid #36545b}
.pf-cartel-action-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pf-cartel-action-row button,.pf-cartel-selected-actions>button,.pf-cartel-application button{min-height:30px;padding:6px 10px;margin:0;width:auto;font-size:11px}
.pf-cartel-war-button{background:#57343a;border:1px solid #a66a70;color:#ffd7d4;border-radius:6px;font-weight:750}
.pf-cartel-pending-note{font-size:11px;color:#f0c886}
.pf-cartel-fold{border-top:1px solid #345159;margin-top:9px;padding:0 1px;min-width:0}
.pf-cartel-fold>summary{cursor:pointer;list-style-position:inside;padding:10px 1px;color:#e0ca94;font-size:12px;font-weight:800}
.pf-cartel-fold>summary::marker{color:#d6b36d}.pf-cartel-fold[open]>summary{padding-bottom:6px}
.pf-cartel-fold>.muted{font-size:11px;margin:0 0 9px}
.pf-cartel-fold .pf-cartel-fold{margin-left:8px}
.pf-cartel-roster .pf-cartel-member{padding:7px 0}.pf-cartel-application{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid #3c5961;background:#203841;border-radius:6px;padding:7px 9px;margin:4px 0;font-size:11px}
.pf-cartel-mini-form{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0}
.pf-cartel-mini-form input,.pf-cartel-mini-form select{min-width:145px;flex:1 1 160px;padding:8px;color:#e5f0ed;background:#1a333c;border:1px solid #53747c;border-radius:6px}
.pf-cartel-mini-form button{width:auto;flex:0 0 auto;min-height:32px;background:#d8b267;color:#182931;border-radius:6px;font-weight:800;padding:6px 12px}
.pf-cartel-alert-v2{margin:6px 0 10px;padding:9px}.pf-cartel-alert-v2 h4{margin:0 0 5px}
@media(max-width:800px){.pf-cartel-zones{grid-template-columns:1fr}.pf-cartel-zone-items{min-height:0}.pf-cartel-zone{padding:7px 9px}.pf-cartel-selected-head{align-items:flex-start}.pf-cartel-hero-v2{align-items:flex-start}}
/* v0.7.11 Your cartel is not an ally of itself. */
.pf-cartel-own-strip{margin:5px 0 10px;padding:7px;background:#192e34;border:1px solid #4b6a67;border-radius:8px;display:flex;gap:8px}
.pf-cartel-own-strip .pf-cartel-emblem-item{display:flex;align-items:center;gap:8px}
.pf-cartel-own-strip .pf-cartel-emblem-item small{display:block;color:#9cb6b2}
/* Airbase & single-aircraft flight management */
.pf-air-bases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.pf-air-base{border:1px solid #466267;border-radius:8px;background:#203940;padding:9px;display:grid;gap:5px;min-width:0}
.pf-air-base b{font-size:12px;color:#f1dfa7}.pf-air-base small{font-size:11px;color:#acc4c6}
.pf-air-form{display:grid;grid-template-columns:2fr 1fr 2fr auto;align-items:end;gap:8px;margin-top:10px}
.pf-air-form label{display:grid;gap:5px;font-size:11px;color:#a6c4c7}.pf-air-form select{width:100%;min-width:0;background:#203940;color:#ecede3;padding:9px;border:1px solid #527075;border-radius:6px}
.pf-air-form button{margin:0;min-height:36px;white-space:nowrap}
.pf-air-report{display:grid;gap:5px;border:1px solid #41616b;border-radius:8px;padding:10px;margin-top:7px;background:#1b323b;font-size:12px}
.pf-air-report.incoming{border-color:#ad6458;background:#3d292d}.pf-air-report small{color:#b4cbd0}.pf-air-report summary{cursor:pointer;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}
@media(max-width:1050px){.pf-air-form{grid-template-columns:1fr 1fr}.pf-air-bases{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pf-air-form,.pf-air-bases{grid-template-columns:1fr}}

/* Air Operations and listening post map overlays */
.pf-air-base-buttons{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 10px}
.pf-base-choice{flex:1 1 160px;max-width:265px;min-width:125px;padding:8px 10px;background:#18373e;color:#ecf2e9;border:1px solid #426268;border-radius:6px;text-align:left;cursor:pointer}
.pf-base-choice.active,.pf-base-choice:hover{border-color:#edbd66;background:#354735}
.pf-base-choice small{display:block;opacity:.8;line-height:1.35;font-size:.72rem;margin-top:3px}
.pf-air-compact{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) auto;align-items:end;gap:8px}
.pf-air-marker{z-index:18!important;border:1px solid #93c5cc!important;background:#24495e!important;color:#e4fbff!important;box-shadow:0 0 0 2px #162a31,0 0 12px #5bb1ce55;font-weight:800!important}
.pf-air-marker.rival{background:#694038!important;border-color:#e8a38c!important;color:#fff0e3!important}
.pf-air-marker:hover{transform:translate(-50%,-50%) scale(1.16)}
@media(max-width:750px){.pf-air-compact{grid-template-columns:1fr 1fr}.pf-air-compact button{grid-column:span 2}}

/* v0.7.13: restrained newspaper layout and coordinated-deployment fields */
.pf-gazette-header{text-align:center;padding:20px 14px 14px;border-bottom:3px double #af986b}
.pf-gazette-header h2{font-family:Georgia,serif;font-size:clamp(22px,3vw,38px);letter-spacing:.02em;margin:5px 0}
.pf-gazette-kicker{font-size:11px;letter-spacing:.14em;color:#d7c18d}
.pf-gazette-header p{margin:3px 0;color:#9bb2b1}
.pf-gazette-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;color:#dfc58a}
.pf-gazette-editions{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 12px}
.pf-gazette-editions button.active{background:#cba65f;color:#13232c}
.pf-gazette-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;padding:4px 10px 18px}
.pf-gazette-issue{grid-column:1/-1;border-bottom:1px solid #546666;padding:8px;color:#d9c591;letter-spacing:.08em;font-size:12px}
.pf-gazette-story{background:#192e36;border:1px solid #3a555d;border-radius:7px;padding:14px;min-height:130px}
.pf-gazette-story h3{font-family:Georgia,serif;color:#e7dfca;margin:6px 0;font-size:19px}
.pf-gazette-story small{letter-spacing:.09em;text-transform:uppercase;color:#d7ae67}
.pf-gazette-story p{line-height:1.5;color:#adc3c4;margin-bottom:0}
.pf-gazette-empty{grid-column:1/-1;text-align:center;padding:40px 20px;color:#bacbcb}
.pf-war-label input[type=number],.pf-air-form input[type=number]{width:100%;min-width:0;background:#1d3541;border:1px solid #567079;color:#f5e9d2;border-radius:5px;padding:8px}

@media (min-width:1100px){.pf-air-form{grid-template-columns:1.3fr 1.8fr 1.3fr auto}}

/* 0.7.14: mobile-first visual stock-lot picker; no towering native dropdown. */
#sellerPanel .pf-seller-lots{margin:8px 0 10px;max-height:270px;overflow-y:auto;scrollbar-width:thin}
#sellerPanel .pf-seller-lot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:7px}
#sellerPanel .pf-seller-lot{display:flex;align-items:center;gap:8px;min-width:0;padding:7px;text-align:left;color:var(--text,#e6e7d8);border:1px solid #42636a;background:#203b43;border-radius:8px;cursor:pointer}
#sellerPanel .pf-seller-lot.active{background:#345347;border:2px solid #e7b85c;padding:6px}
#sellerPanel .pf-seller-lot .equipment-art{flex:0 0 69px;max-width:69px;min-height:40px}
#sellerPanel .pf-seller-lot-label{display:flex;flex-direction:column;min-width:0;gap:3px}
#sellerPanel .pf-seller-lot-label b{font-size:11px;overflow-wrap:anywhere}
#sellerPanel .pf-seller-lot-label small{font-size:9px;line-height:1.25;color:#acc7c8}
#sellerPanel .pf-seller-order{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,130px) minmax(120px,180px) auto;gap:9px;align-items:end}
#sellerPanel .pf-seller-selected{font-size:11px;font-weight:600;padding-bottom:8px}
#sellerPanel .pf-seller-order label{font-size:10px}
#sellerPanel .pf-seller-order input{width:100%}
@media(max-width:880px){#sellerPanel .pf-seller-order{grid-template-columns:repeat(2,minmax(0,1fr))}#sellerPanel .pf-seller-selected{grid-column:1/-1}}
@media(max-width:520px){#sellerPanel .pf-seller-lot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#sellerPanel .pf-seller-lot{flex-direction:column;align-items:flex-start}#sellerPanel .pf-seller-order{grid-template-columns:1fr}}

/* Offensive orders live in the compact left regional command drawer. */
.pf-offense-mode-chips,.pf-air-mission-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:4px 0 8px}
.pf-offense-mode-chips button,.pf-air-mission-chips button{font-size:10px;line-height:1.3;padding:8px 5px;border:1px solid #51676c;background:#203e47;color:#e2ebe6;min-width:0;border-radius:6px;cursor:pointer}
.pf-offense-mode-chips button.active,.pf-air-mission-chips button.active{background:#c59e50;color:#081923;border-color:#ecc66e;font-weight:700}
.pf-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.pf-war-hint{overflow-wrap:anywhere}

/* v0.7.15: ammunition purchasing and readable operation timing */
.pf-sam-resupply{margin:9px 0;padding:11px 13px;background:#18323b;border:1px solid #59746a;border-radius:8px}
.pf-sam-resupply-title{font-size:13px;font-weight:800;color:#e5bc67;margin-bottom:4px}
.pf-sam-resupply p{font-size:11px;line-height:1.5;margin:5px 0 9px}
.pf-sam-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pf-sam-controls select{background:#20363f;color:#e7e9e3;border:1px solid #658087;border-radius:6px;padding:8px}
.pf-sam-controls button{background:#e6b65f;color:#111b21;border:0;border-radius:6px;padding:9px 15px;font-weight:800;cursor:pointer}
.pf-sam-controls button:disabled{opacity:.5;cursor:not-allowed}
.pf-ammo-card{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:5px}
.pf-ammo-card span{font-weight:700;color:#eec479}.pf-ammo-card small{line-height:1.45!important}
.pf-op-timeline{background:#19343e;border:1px solid #466a70;border-radius:6px;padding:9px;margin:8px 0;display:flex;flex-direction:column;gap:5px;font-size:11px;line-height:1.45;color:#d4e4e4}
.pf-op-timeline strong{color:#e4ba65;font-size:12px}
.pf-op-timeline em{font-style:normal;color:#b8cace}


/* Disable explanations: the wrapper receives hover even if the button cannot. */
.pf-action-hint { position:relative; cursor:help; }
.pf-action-hint:hover::after,.pf-action-hint:focus-visible::after {content:attr(data-block-reason);pointer-events:none;position:absolute;z-index:101;bottom:calc(100% + 7px);left:0;max-width:min(390px,80vw);width:max-content;white-space:normal;background:#111e27;border:1px solid #b4a064;color:#f5e5bd;font:12px/1.5 system-ui,sans-serif;padding:8px 10px;border-radius:6px;box-shadow:0 5px 15px #0008;}
.pf-action-hint:focus-visible { outline:2px solid #d5ab5e;outline-offset:2px;}
.pf-sam-national-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:10px;}
.pf-sam-national-card{padding:10px 12px;border:1px solid #47606d;border-radius:6px;background:#142b34;display:flex;flex-direction:column;gap:4px;}
.pf-sam-national-card small{color:#9fbcc9;line-height:1.4;}
.pf-sam-national-card .pf-sam-order{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px;}
.pf-sam-national-card .pf-sam-order button{background:#e9b956;border:1px solid #f4d17b;color:#081a24;border-radius:5px;padding:8px 10px;font-weight:700;}
.pf-sam-national-card select{background:#203a43;color:#effbff;padding:8px 4px;}

.pf-build-hover{min-width:0;width:100%}.pf-build-hover>.build-button{height:100%;width:100%;}

.pf-action-wrapper{display:inline-block;max-width:100%;width:100%;vertical-align:middle}.pf-action-wrapper>.action-button{width:100%}.pf-action-wrapper>.build-button{width:100%}
/* National SAM ammunition uses the same paged equipment catalog as other goods. */
.pf-sam-market-icon{display:grid;place-items:center;min-width:56px;height:42px;border:1px solid #42606a;border-radius:7px;color:#d5ad61;font-size:28px;background:#203c42}
.pf-sam-stepper{display:flex;gap:3px;align-items:center;min-height:35px}
.pf-sam-stepper button{background:#29454d;color:#ebdbb8;border:1px solid #56737a;border-radius:5px;padding:7px 9px;min-width:27px;font-weight:700}
.pf-sam-stepper button:disabled{opacity:.35}
.pf-sam-stepper output{min-width:26px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:#e7f1ed}
@media(max-width:780px){.pf-sam-market-row{flex-wrap:wrap}.pf-sam-market-row .market-row-controls{flex:1;justify-content:flex-end}}
/* Timed intelligence office and covert-operation management */
.pf-spy-office,.pf-spy-missions,.pf-spy-queue,.pf-spy-reports,.pf-spy-holdings{padding:12px;background:#19323b;border:1px solid #42606a;border-radius:9px;margin:0 0 13px}
.pf-spy-office{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.pf-spy-office>div:first-child strong{color:#f3d59f}
.pf-spy-office p{font-size:11px;margin:5px 0}
.pf-spy-posture{flex:1 1 100%;display:grid;gap:7px;border-top:1px solid #41616a;padding-top:10px}
.pf-spy-posture>small,.pf-spy-note{font-size:11px;color:#a8c0bf}
.pf-spy-buttons{display:flex;gap:7px;flex-wrap:wrap}
.pf-spy-action{display:inline-flex;position:relative}
.pf-spy-action button{background:#314b50;border:1px solid #54737a;border-radius:6px;color:#e8f1ec;padding:8px 10px;cursor:pointer}
.pf-spy-action button.active,.pf-spy-mission button:not(:disabled){background:#cfa85b;color:#0b2229;font-weight:700}
.pf-spy-action button:disabled{cursor:not-allowed;opacity:.6}
.pf-spy-field{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:8px 0;color:#b9d0cc;font-size:11px}
.pf-spy-select{background:#203d46;border:1px solid #56747c;color:#f1ebdc;padding:8px;border-radius:6px;max-width:100%;min-width:175px}
.pf-spy-status{color:#dcca9d!important;font-size:11px!important}
.pf-spy-warning{color:#f9bc9e!important}
.pf-spy-mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:9px}
.pf-spy-mission{background:#203c45;border:1px solid #42626a;border-radius:8px;padding:11px;display:grid;gap:7px;align-content:start}
.pf-spy-mission strong{color:#edd0a0;font-size:13px}.pf-spy-mission p{margin:0;font-size:11px;line-height:1.5}.pf-spy-mission small{color:#bcd0ca}
.pf-spy-report{background:#203c45;border:1px solid #45636a;border-radius:7px;padding:9px;margin:7px 0}
.pf-spy-report strong,.pf-spy-report small{display:block;font-size:11px}.pf-spy-report small{color:#a8bdbe;margin:4px 0}.pf-spy-report p{margin:5px 0}
.pf-spy-line{padding:8px;margin:4px 0;background:#22404a;border-radius:5px;color:#d8e4df;font-size:11px}
.pf-spy-holdings .pf-intel-field{margin:7px 0}
/* Emplacement equipment is chosen with compact buttons, not a select. */
.pf-sam-system-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:9px 0 12px}
.pf-sam-system-wrap{min-width:0;position:relative}
.pf-sam-system-button{width:100%;height:100%;min-height:43px;font-size:10px;line-height:1.35;text-align:left;background:#1d3941;color:#cce2df;border:1px solid #466770;border-radius:6px;padding:6px;overflow-wrap:anywhere}
.pf-sam-system-button.active{border-color:#edbc67;background:#4c4935;color:#fff0c7}
.pf-sam-system-button:disabled{opacity:.58}

/* v0.7.18 wider political/terrain chart with independent interactive city layer */
.pf-region-city-layer{position:absolute;inset:0;pointer-events:none;z-index:3}
.pf-region-city{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;background:transparent;border:0;padding:5px;cursor:pointer;pointer-events:auto;color:#f8e8be;z-index:2}
.pf-city-dot{width:6px;height:6px;border:1.5px solid #2b4140;border-radius:50%;background:#f9dda4;box-shadow:0 0 0 1px #e9ca9875;flex-shrink:0}
.pf-city-label{font:650 11px system-ui;line-height:1.1;text-shadow:-1px -1px 2px #1b3430,2px 2px 3px #1b3430,0 0 5px #0b2223;white-space:nowrap;display:none;position:absolute;left:13px;bottom:12px;pointer-events:none}
.pf-region-city.major .pf-city-label,.pf-region-city:hover .pf-city-label,.pf-region-city:focus-visible .pf-city-label,.pf-region-city.selected .pf-city-label{display:block}
.pf-region-city:hover,.pf-region-city:focus-visible,.pf-region-city.selected{z-index:6}
.pf-region-city:hover .pf-city-dot,.pf-region-city:focus-visible .pf-city-dot,.pf-region-city.selected .pf-city-dot{width:10px;height:10px;background:#ffd18b;box-shadow:0 0 0 4px #e7b4625c}
.pf-region-city:focus-visible{outline:2px solid #ffe0ac;border-radius:6px}
.pf-city-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px}
.pf-city-stats .intel-cell{padding:8px 10px}
.pf-city-stats .intel-cell b{font-size:12px}
.pf-city-inspector-title{font-size:16px;color:#edd6a8;margin:0 0 8px}
.region-pins{z-index:4}
.pf-region-forces{z-index:5}
/* Unified market quantity stepper for vehicles, aircraft, ammunition and small arms. */
.pf-market-stepper{display:inline-flex;gap:3px;align-items:center;justify-content:center;min-width:117px}
.pf-market-stepper button{min-width:25px;min-height:28px;padding:4px 6px;font-weight:800;border:1px solid #587a81;background:#29424a;color:#f3dfb3;border-radius:5px}
.pf-market-stepper .pf-market-plus-ten{min-width:34px}
.pf-market-stepper output{font-weight:750;font-size:12px;color:#f0e7d6;min-width:18px;text-align:center}
.pf-market-stepper button:disabled{opacity:.4;cursor:default}
@media(max-width:780px){.pf-city-label{font-size:10px}.pf-city-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.region-legend .mark-city{background:#f9dda4;border-color:#d5af6e;width:9px;height:9px}

/* Trade routes: quiet by default, interactive at all zoom levels. */
.pf-region-convoys{position:absolute;inset:0;z-index:8;pointer-events:none}
.pf-convoy-pin{position:absolute;transform:translate(-50%,-50%);background:#264b50;border:1.5px solid #e6c06f;border-radius:9px;min-width:27px;min-height:25px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;color:#ffdb92;box-shadow:0 2px 9px #102a30b0;font-size:14px}
.pf-convoy-pin.own{border-color:#54d5cd}.pf-convoy-pin.selected{box-shadow:0 0 0 3px #ffdf9999,0 2px 9px #102a30b0}
.pf-convoy-pin:focus-visible{outline:3px solid #fff1af}
.pf-pipeline-note{display:grid;gap:6px;padding:11px 12px;background:#234438;border:1px solid #558878;border-radius:8px;color:#e6dfba;font-size:12px;line-height:1.5}
.pf-pipeline-note strong{color:#f7d992;font-size:12px}
.pf-escort-choice{width:100%;min-height:37px}
.pf-escort-hint{font-size:11px;color:#acc6c7;line-height:1.5;margin:5px 0 11px}

.pf-region-city:not(.major):not(.selected){display:none}
.regional-scene.city-detail-zoom .pf-region-city:not(.major){display:flex}

.pf-convoy-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7;overflow:visible}

/* v0.7.21: map contacts about half their previous visual footprint, with a larger invisible hit target. */
.pf-moving-force{min-width:14px;min-height:14px;padding:0 1px;border-width:1px;border-radius:5px;font-size:10px;box-shadow:0 1px 4px #061a1d99}
.pf-convoy-pin{min-width:14px;min-height:14px;border-width:1px;border-radius:5px;font-size:9px;box-shadow:0 1px 4px #102a3099}
.pf-moving-force::after,.pf-convoy-pin::after{content:'';position:absolute;inset:-7px}

#pf-pwa-update{position:fixed;z-index:99999;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:500px;box-sizing:border-box;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #e8b95e;background:#17343c;color:#f3f5e9;box-shadow:0 5px 20px #000b;padding:12px 16px;border-radius:12px;font-size:13px}
#pf-pwa-update span{flex:1 1 100%}#pf-pwa-update button{border:1px solid #b5a477;border-radius:7px;padding:8px 12px;background:#e8b95e;color:#10222a;font-weight:bold;cursor:pointer}#pf-pwa-update button:last-child{background:#28414a;color:#e5e5d5}

/* v0.7.23 visual identity. Half-size cursor with accurate upper-left click hotspot; preserve map drag, text entry, and disabled cursors. */
.brand img.brand-mark{display:block;width:44px;height:44px;object-fit:contain;background:transparent;box-shadow:none;border:0;border-radius:0;flex:0 0 auto}
@media(max-width:780px){.brand img.brand-mark{width:37px;height:37px}}
html,body{cursor:url('/cursor-24.png') 1 1,auto}
button:not(:disabled),a[href],summary,select{cursor:url('/cursor-24.png') 1 1,pointer}
input:not([type="checkbox"]):not([type="radio"]),textarea{cursor:text}
button:disabled{cursor:not-allowed}

/* v0.7.26: returning from logout shows the world-entry surface, not another player's map. */
.pf-entry-screen[hidden],.pf-map-ad-slot[hidden]{display:none!important}
body.pf-entry-mode .layout{display:none!important}
body.pf-entry-mode .top-right .pill:not(.world-pill){display:none}
.pf-entry-screen{min-height:calc(100dvh - 64px);display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,#1c4247,#0b1921 75%);overflow-y:auto}
.pf-entry-card{width:min(520px,100%);background:#142a32;border:1px solid #42636a;border-radius:16px;padding:clamp(22px,4vw,42px);text-align:center;box-shadow:0 18px 65px #0008}
.pf-entry-logo{max-width:100%;object-fit:contain;display:block;margin:0 auto 15px}
.pf-entry-card h1{font-size:clamp(26px,4vw,36px);margin:10px 0;color:#f5e9d6}
.pf-entry-card>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#b3c9ca}
.pf-entry-world{margin:24px 0 17px;border:1px solid #4d6969;border-radius:8px;padding:14px;background:#1d3941;display:grid;gap:6px}
.pf-entry-world>span{font-size:10px;letter-spacing:1px;color:#e7b763;text-transform:uppercase}
.pf-entry-world strong{font-size:17px;color:#f1e3c4}
.pf-entry-world small{font-size:11px;color:#a9c4c3}
.pf-entry-actions{display:flex;gap:12px;flex-wrap:wrap}
.pf-entry-actions button{flex:1 1 150px;min-height:46px;border:1px solid #c79a52;background:#eaba65;color:#10262b;font-weight:800;border-radius:7px;cursor:pointer}
.pf-entry-actions button:first-child{background:#26444a;color:#f2dfbe;border-color:#64858a}
.pf-entry-actions button:hover{filter:brightness(1.1)}
/* One reserved placement below the regional map; not live AdSense inventory. */
.pf-map-ad-slot{flex:0 0 auto;min-height:56px;max-height:88px;margin:7px 0 0;border:1px dashed #6c765d;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 15px;background:#192d30;color:#a9bbb5;text-align:center;font-size:11px}
.pf-ad-eyebrow{font-size:9px;font-weight:800;letter-spacing:1px;color:#dfbe7f}
@media(max-width:780px){.pf-map-ad-slot{flex-direction:column;gap:4px;padding:8px 10px}.pf-entry-screen{min-height:calc(100dvh - 67px)}}

/* v0.7.27: separate account/world selection and reserved sponsored placements */
.pf-entry-card[hidden],.pf-account-hub[hidden],.pf-ad-preview[hidden]{display:none!important}
.pf-entry-screen{position:relative;isolation:isolate;background:linear-gradient(155deg,#132c35,#0a1820)}
.pf-entry-map-canvas{position:fixed;z-index:-1;inset:64px 0 0;width:100%;height:calc(100dvh - 64px);object-fit:cover;opacity:.17;filter:saturate(.75) blur(1.5px);pointer-events:none}
.pf-entry-screen:before{content:'';position:fixed;inset:64px 0 0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#081820b3,#112e356e,#081820b3)}
.pf-entry-card,.pf-account-hub{position:relative;z-index:1}
.pf-account-link{cursor:pointer;border:1px solid #46666d;border-radius:8px;background:#213940;color:#ebd8a6;min-height:37px;padding:8px 11px;font-size:12px;font-weight:700}
.pf-account-link:hover,.pf-account-link:focus-visible{border-color:#e8b75e;outline-offset:2px}
.pf-account-hub{width:min(940px,100%);padding:clamp(17px,3vw,30px);background:#132832ee;border:1px solid #527079;border-radius:16px;box-shadow:0 20px 65px #0008;display:grid;gap:16px}
.pf-hub-header{display:flex;justify-content:space-between;align-items:center;gap:22px}
.pf-hub-header h1{font-size:clamp(23px,3vw,34px);margin:8px 0 5px;color:#f0e4cd}
.pf-hub-header p,.pf-hub-note,.pf-hub-panel p{font-size:12px;color:#acc4c7;line-height:1.65;margin:7px 0}
.pf-hub-header img{object-fit:contain}
.pf-hub-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #456066;padding-bottom:12px}
.pf-hub-nav button,.pf-hub-footer button,.pf-hub-action{background:#203b43;border:1px solid #507079;color:#e2e7dc;min-height:40px;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}
.pf-hub-nav button.active,.pf-hub-action.accent{background:#dfaf60;border-color:#edc47e;color:#15272c}
.pf-hub-action:disabled{cursor:not-allowed;opacity:.58}
.pf-hub-content{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.pf-hub-content>.pf-hub-note,.pf-hub-content>.pf-world-list,.pf-hub-content>.pf-hub-actions{grid-column:1/-1}
.pf-hub-panel{padding:17px;border:1px solid #3b5a61;border-radius:10px;background:#1a363f}
.pf-hub-panel h2{font-size:17px;margin:0 0 10px;color:#f1e2c8}
.pf-hub-stat{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding:9px 0;border-bottom:1px solid #3b575b;font-size:12px}
.pf-hub-stat span{color:#acc0c4}.pf-hub-stat strong{color:#e4d9ba;text-align:right;font-weight:700;max-width:65%}
.pf-hub-actions,.pf-hub-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.pf-world-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.pf-world-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;padding:22px;min-height:130px;background:linear-gradient(130deg,#244e4c,#18333c)}
.pf-world-card strong{font-size:19px;color:#ffe2a0}.pf-world-card span{font-size:12px;color:#b6cccd}.pf-world-card small{font-size:11px;color:#f0bc71}
.pf-ad-preview{margin:12px 0 0;border:1px dashed #6f775f;background:#183138;border-radius:8px;min-height:58px;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;gap:10px;color:#a9c0c2;font-size:11px}
@media(max-width:650px){.pf-account-hub{padding:16px}.pf-hub-stat{align-items:flex-start}.pf-hub-header img{width:56px;height:56px}.pf-entry-map-canvas{inset:67px 0 0;height:calc(100dvh - 67px)}}

.pf-auth-back{width:100%;margin-top:15px;background:transparent;color:#b3cbd0;padding:11px;border:1px solid #49646c;border-radius:8px;cursor:pointer}
.pf-auth-back:hover{color:#fff0cd;border-color:#eaba65}

/* v0.7.28 - small, readable cross-title rewards icon; currency remains disabled. */
.pf-vc-summary{display:flex;align-items:center;gap:11px;margin:9px 0;padding:12px;border:1px solid #86683c;background:linear-gradient(120deg,#364034,#1c343e);border-radius:9px}
.pf-vc-summary>img{width:48px;height:48px;object-fit:contain;flex:0 0 48px}
.pf-vc-summary>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.pf-vc-summary strong{font-size:14px;color:#f5ce87}
.pf-vc-summary small{font-size:11px;color:#b8ced0}
.pf-vc-nav-icon{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:4px}
.management-section>.pf-ad-preview{margin-top:18px;min-height:64px;flex-shrink:0;clear:both}

/* v0.7.31: account is separate from world company creation. */
.pf-join-form{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.pf-join-form #companyField,.pf-join-form #startingSiteWrap{display:flex;flex-direction:column;gap:8px;min-width:0}
.pf-join-form #companyName{width:100%;min-height:40px;border-radius:6px;background:#102832;border:1px solid #507079;color:#f0e4ce;padding:10px}
.pf-join-form #startingMap{width:100%;aspect-ratio:16/9;min-height:215px;max-height:none;overflow:hidden}
.pf-join-form #startingMap canvas{display:block;width:100%;height:100%}
.pf-join-form .pf-starting-pin{width:9px;height:9px}
.pf-join-form #startingWorldInfo{display:none}
.pf-join-form #startingWorld{display:none}
.pf-join-form label[for="startingWorld"]{display:none}
.pf-join-form button[type="submit"]{margin-top:9px}
@media(min-width:840px){.pf-account-hub{width:min(1100px,96vw)}}
/* Company setup is now a world-join action, not part of studio signup. */
#onboard:has(#registerForm:not([hidden])) .auth-modal{width:min(460px,calc(100% - 18px))}
.pf-hub-panel:has(.pf-join-form){grid-column:span 1}
@media(min-width:900px){.pf-hub-panel:has(.pf-join-form){min-width:480px}}

/* v0.7.32 district-based map / studio-wide entry */
.pf-entry-world[hidden]{display:none!important}
.pf-entry-mode .world-pill{display:none!important}
#startingDistrictSelect,#regionDistrictSelect{width:100%;min-height:36px;background:#213f46;color:#e9e6d5;border:1px solid #50737a;border-radius:6px;padding:6px;margin:7px 0}
.pf-cartel-commerce{padding:15px;margin-top:12px;border:1px solid #456670;border-radius:9px;background:#17343b}
.pf-cartel-commerce h3{margin:0 0 7px}
.pf-trade-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 0;border-bottom:1px solid #355158}
.pf-trade-form label{font-size:12px;display:flex;flex-direction:column;gap:4px;color:#c5d5d8;flex:1 1 140px}
.pf-trade-form input,.pf-trade-form select{width:100%;min-width:0;padding:9px;background:#243f48;color:#fff;border:1px solid #50717a;border-radius:5px}
.pf-trade-form button{padding:10px 16px}
.pf-trade-line{border-top:1px solid #34515a;padding:10px 2px;display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}

.pf-district-inspector{border:1px solid #526f75;background:#1b363d;border-radius:8px;padding:9px;margin:9px 0}.pf-district-inspector h4{margin:0 0 8px;color:#e9c477}

/* v0.7.33 - selectable geographic district shapes, crisp high-res canvas */
.pf-district-hotspots{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible;}
.pf-district-hotspots .pf-district-hit{fill:transparent;stroke:transparent;stroke-width:1.4;pointer-events:visibleFill;cursor:pointer;transition:fill .12s;}
.pf-district-hit:hover,.pf-district-hit:focus-visible{fill:#f7d48b24;stroke:#f1d79d8c;outline:none;}
.pf-district-hit.selected{fill:#f0bd651b;stroke:#fbd58e88;}
/* Give regional districts a larger working viewport without changing game coordinates. */
@media(min-width:1001px){.region-section .regional-scroll{min-height:540px;}}
.pf-starting-map canvas{image-rendering:auto;}

/* v0.7.34: consistent compact company/cartel commerce panels */
.pf-trade-dashboard{margin:12px 0;padding:14px;background:#17313a;border:1px solid #46666f;border-radius:9px;min-width:0}
.pf-trade-dashboard .pf-trade-head h3{font-size:16px;margin:0 0 5px;color:#f4e8cf}
.pf-trade-dashboard .pf-trade-head p{font-size:11px;color:#a7c3c8;margin:0 0 12px;line-height:1.45}
.pf-trade-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;align-items:start}
.pf-trade-stack{display:flex;flex-direction:column;gap:10px;min-width:0}
.pf-trade-action-card,.pf-trade-feed{padding:12px;background:#19363f;border:1px solid #40616b;border-radius:8px;min-width:0}
.pf-trade-action-card h4,.pf-trade-feed h4{font-size:13px;color:#f2d495;margin:0 0 9px}
.pf-trade-dashboard .pf-trade-hint{margin:0 0 10px;font-size:10px;line-height:1.45;color:#aec4c5}
.pf-trade-compact-form{margin:0;padding:0;display:block;min-width:0}
.pf-trade-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:end;min-width:0}
.pf-trade-fields label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:11px;color:#c2d9dc;font-weight:600}
.pf-trade-fields input,.pf-trade-fields select{display:block;width:100%;min-width:0;min-height:34px;margin:0;padding:6px 8px;border:1px solid #57747d;border-radius:6px;background:#203d46;color:#f3f4ee;font-size:12px}
.pf-trade-submit-row{display:flex;justify-content:flex-end;margin-top:10px}
.pf-trade-dashboard button.pf-trade-primary{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:96px;max-width:100%;min-height:32px;margin:0;padding:6px 11px;background:#e3b65f;border:1px solid #e5c37f;border-radius:6px;color:#142831;font-size:11px;font-weight:800;cursor:pointer}
.pf-trade-dashboard button.pf-trade-secondary{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:30px;margin:0;padding:5px 10px;background:#23444d;border:1px solid #66858b;border-radius:6px;color:#e3f1ed;font-size:11px;font-weight:700;cursor:pointer}
.pf-trade-dashboard button:focus-visible{outline:2px solid #eebf6a;outline-offset:2px}
.pf-trade-dashboard button:hover:not(:disabled){filter:brightness(1.1)}
.pf-trade-offer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #35525d;min-width:0}
.pf-trade-offer:first-of-type{border-top:0}
.pf-trade-offer-copy{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:11px;overflow-wrap:anywhere}
.pf-trade-offer-copy strong{color:#f3e7cc}
.pf-trade-offer-copy small,.pf-trade-event span{color:#a9c3c7;font-size:10px}
.pf-trade-event{display:flex;flex-direction:column;gap:4px;padding:7px 0;border-top:1px solid #35525d;font-size:11px;overflow-wrap:anywhere}
.pf-trade-event:first-of-type{border-top:0}
.pf-trade-event strong{color:#e2d6b8;font-size:11px;text-transform:capitalize}
.pf-trade-dashboard .pf-trade-empty{font-size:11px;color:#a5bdc0;margin:5px 0 0;line-height:1.5}
.pf-trade-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
.pf-trade-stat{background:#193740;border:1px solid #41636c;border-radius:8px;padding:10px;min-width:0;display:flex;flex-direction:column;gap:5px}
.pf-trade-stat small{font-size:10px;color:#9dbbbf}.pf-trade-stat strong{font-size:12px;color:#f4d69b;overflow-wrap:anywhere}
.pf-trade-fold{border:1px solid #41616b;background:#152f38;border-radius:9px;padding:0 11px 11px;margin:9px 0}
.pf-trade-fold>summary{cursor:pointer;color:#e9c786;padding:10px 0;font-size:12px;font-weight:800}
.pf-trade-fold:not([open]){padding-bottom:0}
.pf-trade-action-grid,.pf-trade-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
@media(max-width:1100px){.pf-trade-columns,.pf-trade-action-grid,.pf-trade-feed-grid{grid-template-columns:1fr}.pf-trade-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pf-trade-fields{grid-template-columns:1fr}.pf-trade-stats{grid-template-columns:1fr 1fr}.pf-trade-dashboard{padding:10px}.pf-trade-action-card,.pf-trade-feed{padding:10px}}

/* v0.7.35: less scrolling on the two trading pages. Hide nothing behind an
   inactive company/cartel operation; active offers stay easy to find. */
.pf-dip-fold{min-width:0;background:#152e38;border:1px solid #40616b;border-radius:8px;margin:6px 0;overflow:hidden}
.pf-dip-fold>summary{padding:9px 13px;cursor:pointer;color:#e3c98f;font-weight:800;font-size:12px;line-height:1.4}
.pf-dip-fold[open]>summary{border-bottom:1px solid #3e5c65}
.pf-dip-fold>.pf-dip-card{margin:0;border:0;border-radius:0;padding:10px}
.pf-dip-fold .pf-relation-emblems{min-height:28px;margin-top:4px}
.pf-dip-fold .pf-relation-company{width:31px;height:32px}
.pf-dip-fold .pf-relation-zone{padding:7px 9px}
.pf-dip-top .pf-dip-card{margin-bottom:5px}
.pf-dip-top .pf-protection-compact{min-height:62px;gap:9px}
.pf-dip-top .pf-status-crest{width:36px;height:36px;flex-basis:36px;font-size:19px}
.pf-dip-top .pf-dip-incoming{max-height:128px}
.pf-company-commerce{margin:5px 0 7px;padding:11px}
.pf-company-commerce .pf-trade-head p{margin-bottom:8px}
.pf-company-trade-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}
.pf-company-trade-actions .pf-trade-action-card{height:100%;display:flex;flex-direction:column;padding:10px}
.pf-company-trade-actions .pf-trade-compact-form{margin-top:auto}
.pf-company-trade-actions .pf-trade-hint{margin:0 0 7px}
.pf-company-trade-actions .pf-trade-fields{gap:7px}
.pf-company-trade-actions .pf-trade-fields input,.pf-company-trade-actions .pf-trade-fields select{min-height:31px}
.pf-company-trade-actions .pf-trade-submit-row{margin-top:7px}
.pf-company-pending{margin:7px 0}
.pf-company-pending .pf-trade-feed{padding:9px}
.pf-company-trade-history{margin:8px 0 0}
.pf-trade-dashboard .pf-trade-action-card{padding:10px}
.pf-trade-dashboard .pf-trade-action-card h4{margin-bottom:5px}
.pf-trade-dashboard .pf-trade-hint{margin-bottom:6px}
.pf-trade-dashboard .pf-trade-fields{gap:7px}
.pf-trade-dashboard .pf-trade-submit-row{margin-top:7px}
.pf-trade-dashboard .pf-trade-fold{margin:7px 0;padding:0 9px 9px}
.pf-trade-dashboard .pf-trade-fold:not([open]){padding-bottom:0}
.pf-trade-dashboard .pf-trade-fold>summary{padding:8px 0}
.pf-trade-dashboard .pf-trade-stats{gap:7px;margin:7px 0}
.pf-trade-dashboard .pf-trade-stat{padding:8px;gap:2px}
.pf-trade-dashboard .pf-trade-action-grid,.pf-trade-dashboard .pf-trade-feed-grid{gap:8px}
.pf-cartel-page-nav{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 10px;border-bottom:1px solid #375760;padding-bottom:9px}
.pf-cartel-page-tab{cursor:pointer;border:1px solid #54747a;background:#233c45;color:#ddedeb;border-radius:7px;min-height:34px;padding:6px 12px;font-size:12px;font-weight:750}
.pf-cartel-page-tab:hover{filter:brightness(1.15)}
.pf-cartel-page-tab.active{background:#e4b461;color:#192930;border-color:#efc783}
.pf-cartel-page-tab:focus-visible,.pf-dip-fold>summary:focus-visible,.pf-trade-fold>summary:focus-visible{outline:2px solid #edbd72;outline-offset:2px}
.pf-cartel-page-nav+.pf-cartel-commerce{margin-top:2px}
.pf-cartel-page-nav~.pf-cartel-zones{margin-top:5px}
.pf-cartel-page-nav~.pf-cartel-detail-v2{margin-top:6px}
@media(max-width:980px){.pf-company-trade-actions{grid-template-columns:1fr}}
@media(max-width:680px){.pf-dip-top{grid-template-columns:1fr}.pf-company-trade-actions{grid-template-columns:1fr}.pf-cartel-page-nav{gap:5px}.pf-cartel-page-tab{flex:1 1 125px}}
