/* World operations: a persistent playfield with contextual controls. */
.brand { border:0; padding:0; background:transparent; color:inherit; cursor:pointer; text-align:left; }
.world-shell { --stage-ink:#dce8ea; --stage-muted:#98b0ba; --stage-line:#354d5b; --stage-gold:#e6bd77; }
.world-shell .workspace { background:#0d1e2c; }
.world-shell .sidebar { background:#101d29; border-color:#354451; }
.world-shell .nav-btn { color:#acbdc5; }
.world-shell .nav-btn.active { background:#293b48; color:#f0d69f; box-shadow:inset 3px 0 #dbb46b; }
.world-shell .nav-label,.world-shell .brand-note,.world-shell .sidebar-footer,.world-shell .sidebar-button { color:#a2b4bc; }
.world-shell .phase-mini,.world-shell .locked-navigation,.world-shell .menu-progress { border-color:#40515c; }
.world-shell .menu-progress { background:#192b37; color:#cbd7da; }
.world-shell .menu-progress p,.world-shell .menu-progress button,.world-shell .menu-progress small,.world-shell .company-scale { color:#bacbd0; }
.world-shell .topbar { background:#152733; border-color:#354b57; box-shadow:none; color:#e3ebeb; }
.world-shell .org-name,.world-shell .org-resources strong,.world-shell .date { color:#e1e9e8; }
.world-shell .org-context,.world-shell .org-resources,.world-shell .date small { color:#acbec5; }
.world-shell .org-avatar { background:#314a58; color:#e9d3a4; }
.world-shell .icon-btn { background:#203744; border-color:#526773; color:#dce7e7; }
.world-shell .top-actions .pill { color:#d9c38c; border-color:#746b4b; background:transparent; }
.world-shell .company-barometer .metrics { background:#192f3d; border-color:#3b5260; }
.world-shell .company-barometer .metric { color:#e2eaeb; border-color:#3b5260; }
.world-shell .company-barometer .metric-label,.world-shell .company-barometer .metric-note,.world-shell .barometer-caption { color:#adbec4; }
.world-shell .company-barometer .metric-value { color:#f0e5ce; }
.world-shell .barometer-caption>span:first-child,.world-shell .barometer-more { color:#c6d5da; }
.world-shell .company-barometer .gain .metric-value { color:#9ed6bf; }
.world-shell .company-barometer .loss .metric-value { color:#f3ae90; }
.content[data-page=world] { padding:0 0 90px; color:var(--stage-ink); }
.world-command { min-width:0; background:#0d1e2c; }
.command-heading { height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 24px; border-bottom:1px solid #334b5b; }
.command-heading small { color:#98aeb9; font-size:10px; letter-spacing:2px; }
.command-heading small span { color:#93bda8; letter-spacing:.8px; margin-left:15px; }
.command-heading h1 { color:#ebeee7; font-size:22px; letter-spacing:-.6px; margin:4px 0 0; }
.command-phase { display:flex; align-items:center; gap:14px; }
.command-phase span { color:#d9bc83; font-size:10px; letter-spacing:1.5px; padding:7px 10px; border:1px solid #695d46; }
.command-phase strong { color:#b8c9ce; font-size:12px; }
.world-theater { display:grid; grid-template-columns:minmax(0,1fr) 272px; min-height:450px; height:calc(100dvh - 420px); max-height:780px; }
.theater-map { position:relative; overflow:hidden; border:0; border-radius:0; background:#102433; margin:0; min-width:0; box-shadow:inset 0 0 100px #081724; }
.theater-map:after { content:''; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 80px #07162399; }
.theater-map .map-canvas { position:absolute; inset:42px 0 37px; background:radial-gradient(ellipse at 65% 40%,#243d4b 0%,#112837 65%,#0c202e 100%); min-height:0; aspect-ratio:auto; }
.theater-map .world-map { width:100%; height:100%; display:block; transition:transform .35s ease; }
.theater-map .map-land { fill:#304c5b; stroke:#81929a; stroke-width:.65; stroke-opacity:.78; }
.theater-map .map-land.selected { fill:#76674b; stroke:#f4d293; stroke-width:1.2; }
.theater-map .map-grid { stroke:#66818d; opacity:.12; }
.theater-map .map-route { stroke:#79a9b4; opacity:.48; stroke-width:1.1; stroke-dasharray:5 7; animation:network-flow 36s linear infinite; }
.theater-map .map-route.bright { stroke:#d4bf8e; opacity:.7; }
.theater-map .map-route.warn { stroke:#ef9877; opacity:.95; stroke-width:2; }
.theater-map .map-node>circle { fill:#203f50; stroke:#b5cccf; stroke-width:1; }
.theater-map .map-node .node-icon { stroke:#c4dde1; }
.theater-map .map-node text { fill:#d7e4e2; font-size:10px; paint-order:stroke; stroke:#142a38; stroke-width:3px; stroke-linejoin:round; }
.theater-map .map-node.selected>circle:not(.halo),.theater-map .home-node>circle:not(.halo) { fill:#d3ae66; stroke:#f1dbb0; }
.theater-map .map-node.selected .halo { fill:#d4ac5e; opacity:.15; stroke:#dfbf7d; animation:headquarters-pulse 4s ease-in-out infinite; }
.theater-map .map-node:focus-visible { outline:none; }
.theater-map .map-node:focus-visible>circle { stroke:#fff6c5; stroke-width:3; }
.theater-map .map-ocean { fill:#668794; opacity:.6; font-size:12px; letter-spacing:5px; }
.theater-map .map-top { position:absolute; top:0; left:0; right:0; z-index:2; height:42px; background:#142c3b; border-bottom:1px solid #3b5360; padding:5px 13px; }
.theater-map .map-title { color:#adc4ce; font-size:11px; }
.theater-map .tab-group { border:0; background:#102431; padding:2px; }
.theater-map .tab { color:#afc1c9; background:transparent; font-size:10px; border:0; padding:6px 9px; }
.theater-map .tab.active { color:#f1d294; background:#354754; box-shadow:none; }
.theater-map .map-info { top:15px; left:16px; color:#91b3c0; background:transparent; border:0; font-size:10px; }
.theater-map .map-credit { color:#a8bbc5; bottom:8px; right:12px; font-size:10px; }
.theater-map .map-credit a { color:#b6c9d1; }
.theater-map .map-coords { bottom:9px; left:14px; color:#809da9; font-size:10px; }
.theater-map .map-legend { position:absolute; bottom:0; left:0; right:0; height:37px; padding:5px 13px; border-top:1px solid #36515f; color:#a4bbc6; background:#142c3a; font-size:10px; }
.theater-map .legend-border { border-color:#b4c2c6; }
.theater-map .legend-line { background:#8eb7c0; }
.theater-map select { background:#203a4b; color:#dfebe9; border-color:#5b6f7a; font-size:10px; padding:3px 8px; }
.map-tools { position:absolute; top:62px; right:15px; z-index:3; display:flex; gap:5px; }
.map-tools button { height:30px; min-width:30px; display:flex; align-items:center; justify-content:center; gap:4px; background:#152c3ce8; color:#d1dfe3; border:1px solid #657a85; cursor:pointer; font:inherit; font-size:11px; }
.map-tools button:first-child { padding:0 8px; }
.map-tools button:disabled { opacity:.4; cursor:default; }
.map-mission { position:absolute; left:17px; bottom:67px; z-index:4; width:275px; background:#132838f5; border:1px solid #6f7464; border-top:2px solid #d4b071; box-shadow:0 10px 25px #07101a55; }
.mission-kicker { font-size:10px; display:flex; justify-content:space-between; color:#e5c586; padding:11px 13px 0; }
.mission-kicker span { font-size:10px; letter-spacing:1.3px; color:#9cb29c; }
.map-mission .beginner-guide { background:transparent; border:0; padding:12px 13px 7px; margin:0; box-shadow:none; display:block; }
.map-mission .guide-title>small,.map-mission .guide-title>.text-button,.map-mission .guide-facts,.map-mission .guide-progress { display:none; }
.map-mission .beginner-guide h2 { font-size:16px; color:#ecede4; line-height:1.5; }
.map-mission .beginner-guide>p { color:#acc1cb; font-size:11px; line-height:1.7; margin:8px 0 10px; }
.map-mission .guide-actions { margin:10px 0 0; max-width:none; justify-content:flex-start; }
.map-mission .guide-actions .btn { min-height:35px; padding:8px 12px; font-size:11px; }
.map-mission .guide-actions .btn-primary { background:#d1ab65; color:#17272e; border-color:#f2d394; }
.map-mission .guide-actions .btn:not(.btn-primary) { background:#213c4d; color:#d8e4e5; border-color:#4c6877; }
.mission-links { border-top:1px solid #364c58; display:flex; justify-content:space-between; margin:4px 12px 5px; padding-top:3px; }
.mission-links .btn { color:#acc2cb; font-size:10px; }
.map-orders { position:absolute; top:102px; left:17px; z-index:3; display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #80704b; background:#423c2be6; color:#edcf91; font:inherit; font-size:10px; cursor:pointer; }
.map-orders span { color:#d7c49f; }
.theater-sidebar { background:#162c3b; border-left:1px solid #405866; padding:15px; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#536e7c #162c3b; }
.stage-section-label { display:flex; justify-content:space-between; font-size:10px; letter-spacing:1.3px; color:#a4bac5; }
.stage-section-label span { letter-spacing:0; color:#d5c69e; }
.campus-art { display:block; width:100%; height:105px; margin:0; }
.campus-art text { fill:#8aaab7; font-size:10px; letter-spacing:1.1px; }
.headquarters-name { display:flex; flex-direction:column; gap:4px; }
.headquarters-name strong { font-size:17px; color:#f1e4c9; }
.headquarters-name>span { color:#9eb5be; font-size:10px; }
.headquarters-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:13px 0 17px; }
.headquarters-stats div { display:flex; flex-direction:column; gap:5px; }
.headquarters-stats small { color:#9fb6c2; font-size:10px; }
.headquarters-stats b { font-size:15px; font-weight:600; color:#e1e6df; }
.headquarters-stats em { font-style:normal; font-size:10px; color:#a5b8be; }
.selected-region { border-block:1px solid #3c5360; padding-top:12px; }
.selected-region .panel { border:0; border-radius:0; background:transparent; margin:0; color:#d1e0e2; box-shadow:none; }
.selected-region .region-cover { background:transparent; padding:11px 0 5px; border:0; }
.selected-region .region-cover .eyebrow { display:none; }
.selected-region .region-cover h2 { color:#e8e6d7; font-size:18px; margin:0 0 5px; }
.selected-region .region-city { color:#a3bbc4; font-size:10px; }
.selected-region .region-facts { padding:0 0 10px; }
.selected-region .fact-row { font-size:10px; padding:6px 0; border-color:#354e5b; }
.selected-region .fact-row .label { color:#b3c6ce; }
.selected-region .fact-row strong { color:#d3ddd8; font-size:10px; }
.selected-region .helper { display:none; }
.selected-region .btn { min-height:28px; padding:7px; font-size:10px; background:#263f4e; color:#d6e3e4; border-color:#577180; }
.agi-horizon { padding:14px 0 0; }
.agi-horizon>div { display:flex; align-items:center; gap:9px; }
.agi-horizon small { font-size:10px; color:#c6ad7b; letter-spacing:1px; }
.agi-horizon strong { color:#c1d4da; font-size:11px; font-weight:500; }
.agi-horizon span { margin-left:auto; font-size:12px; color:#d8c38e; }
.agi-horizon>i,.operation-task>i { height:3px; background:#354f5d; display:block; margin-top:10px; overflow:hidden; }
.agi-horizon>i em,.operation-task>i em { height:100%; display:block; background:#d6b477; }
.agi-horizon p { font-size:10px; color:#9fb6c1; margin:8px 0 0; }
.agi-horizon .btn { color:#c0cfcf; padding:8px 0 0; font-size:10px; }
.operations-dock { display:grid; grid-template-columns:1.2fr 1fr 1fr; background:#182f3d; border-block:1px solid #48616c; min-height:103px; }
.operation-research { display:flex; min-width:0; }
.operation-task { display:block; width:100%; min-width:0; color:#d6e3e5; background:transparent; border:0; border-right:1px solid #435967; padding:15px 20px; cursor:pointer; font:inherit; text-align:left; }
.operation-task:last-child { border-right:0; }
.operation-task:hover { background:#233d4d; }
.operation-task>span { display:flex; justify-content:space-between; gap:8px; color:#a1bac5; font-size:10px; }
.operation-task>span b { font-size:10px; color:#c5b88d; font-weight:500; }
.operation-task>strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; color:#e2e7e1; margin:8px 0; font-weight:600; }
.operation-task>small { display:block; font-size:10px; color:#a8bdc6; }
.operation-task.has-event { box-shadow:inset 0 3px #cb9166; background:#3a352b55; }
.world-news { display:flex; align-items:center; gap:20px; padding:12px 20px; min-height:39px; background:#101f2d; border-bottom:1px solid #364c59; }
.world-news>span { color:#d0af76; font-size:10px; letter-spacing:1.5px; }
.world-news button { display:flex; gap:8px; align-items:center; max-width:30%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background:transparent; border:0; color:#bbced4; font:inherit; font-size:10px; cursor:pointer; }
.world-news small { color:#7f9aa9; font-size:10px; }
.world-news b { color:#d2b373; }
.world-reports { padding:18px 24px; color:#d9e2de; }
.world-reports .atlas-dossier { color:#c6d6d9; background:#162d3c; border-color:#4e6570; }
.world-reports .atlas-dossier[open] { background:#e9e6db; color:#29352e; }
.world-report-summary { display:grid; gap:10px; }
.world-report-summary:empty { display:none; }
.world-shell .turnbar { background:#142633; border-color:#516572; box-shadow:0 -4px 25px #08141f55; color:#d9e3df; }
.world-shell .turn-status strong { color:#e0e8e4; }
.world-shell .turn-detail,.world-shell .save-hint { color:#a7bfc7; }
.world-shell .turn-actions>.btn { background:#203e4e; color:#c7dce2; border-color:#536e7d; }
.world-shell .turn-actions>.btn-primary { color:#172730; background:#ddb875; border-color:#f2cf8b; padding-inline:28px; }
.world-shell .turn-actions>.btn-primary:hover { background:#f0cc8d; }
.world-shell .content button:focus-visible { outline:2px solid #f1d298; outline-offset:3px; }
.world-command.turn-arrived .operations-dock { animation:turn-arrival .8s ease-out; }
@keyframes network-flow { to { stroke-dashoffset:-240; } }
@keyframes headquarters-pulse { 50% { opacity:.27; } }
@keyframes turn-arrival { from { box-shadow:inset 0 4px #edcf8d; } to { box-shadow:inset 0 0 transparent; } }
@media(min-width:1600px) { .world-theater { grid-template-columns:minmax(0,1fr) 290px; } }
@media(max-width:1230px) { .world-theater { grid-template-columns:minmax(0,1fr) 248px; } .theater-sidebar { padding:12px; } .map-mission { width:240px; } .map-mission .beginner-guide h2 { font-size:14px; } .operation-task { padding:13px; } .theater-map .map-title { display:none; } .theater-map .map-top { justify-content:flex-start; } }
@media(max-height:850px) and (min-width:821px) { .world-theater { min-height:400px; } .campus-art { height:100px; } .headquarters-stats { margin:10px 0; } .selected-region .fact-row { padding:4px 0; } }
@media(max-width:1000px) { .world-theater { grid-template-columns:minmax(0,1fr) 226px; } .command-heading { padding-inline:18px; } .map-mission { width:216px; left:12px; bottom:62px; } .map-mission .beginner-guide>p { font-size:10px; } .map-mission .guide-actions .btn { padding:7px; font-size:10px; } .map-title { display:none; } .map-legend .legend-item { font-size:10px; } .world-news { gap:10px; } }
@media(max-width:820px) { .world-theater { grid-template-columns:1fr; height:auto; max-height:none; min-height:0; } .theater-map { height:560px; } .theater-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:14px; overflow:visible; border-left:0; border-top:1px solid #3e5969; padding:16px; } .agi-horizon { grid-column:1/-1; } .selected-region { border:0; padding:0; } .map-mission { width:255px; } .command-phase { gap:8px; } .command-phase strong { display:none; } .world-news button { max-width:43%; } .world-news button:last-child { display:none; } }
@media(max-width:580px) { .command-heading { height:60px; padding:10px 13px; } .command-heading h1 { font-size:19px; } .command-heading small { font-size:10px; letter-spacing:1px; } .command-heading small span { margin-left:6px; font-size:10px; } .command-phase span { font-size:10px; padding:6px; letter-spacing:1px; } .theater-map { height:560px; } .theater-map .map-canvas { inset:43px -180px 37px -80px; } .theater-map .map-top { padding:5px 8px; } .theater-map .tab { padding:7px 12px; font-size:10px; } .map-mission { width:calc(100% - 26px); left:13px; bottom:68px; } .map-mission .beginner-guide { padding:10px 12px 7px; } .map-mission .beginner-guide>p { font-size:11px; } .map-mission .guide-actions .btn { font-size:11px; } .mission-links { margin-bottom:2px; } .theater-map .map-legend { padding-inline:9px; gap:9px; } .theater-map .map-info { left:90px; top:12px; } .theater-map .map-credit { right:190px; } .theater-map .map-coords { display:none; } .theater-sidebar { gap:12px; padding:13px; } .campus-art { height:95px; } .headquarters-name strong { font-size:14px; } .headquarters-stats { gap:4px; } .headquarters-stats small { font-size:10px; } .headquarters-stats b { font-size:12px; } .headquarters-stats em { font-size:10px; } .selected-region .fact-row { font-size:10px; padding-block:5px; } .selected-region .fact-row strong { font-size:10px; } .selected-region .region-city { font-size:10px; } .operations-dock { grid-template-columns:1fr; } .operation-task { border-bottom:1px solid #3e5968; padding:14px 17px; } .operation-task>strong { font-size:13px; } .operation-task>small { font-size:10px; } .world-news { padding:12px 13px; flex-wrap:wrap; gap:11px; } .world-news button { max-width:100%; font-size:10px; } .world-news button:nth-child(3) { display:none; } .world-reports { padding:12px; } .world-report-summary .feature-lesson { background:#f4f0e2; } .map-orders { top:102px; left:12px; right:12px; justify-content:space-between; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .theater-map .map-route,.theater-map .map-node.selected .halo,.world-command.turn-arrived .operations-dock { animation:none; } .theater-map .world-map { transition:none; } }

.map-mission .guide-title { display:block; }.map-mission .guide-title>div>small,.map-mission .guide-title>.btn { display:none; }.world-news .settlement-pulse { color:#b8cad2; font-size:10px; letter-spacing:0; white-space:nowrap; }.settlement-pulse b { color:#e1c795; margin-left:5px; font-weight:500; }.mission-ending { padding:13px;color:#dbe3e1; }.mission-ending strong { color:#ead7b0; }.mission-ending p { font-size:11px;line-height:1.6; }.mission-ending .btn { color:#172730;background:#dbb772; }
.selected-region .fact-row { margin:0; min-height:0; line-height:1.4; }
.world-reports .atlas-dossier>summary { color:#c6d6d9; }
.world-reports .atlas-dossier[open]>summary { color:#354a3a; }
@media(max-width:580px) {
 .theater-map { height:auto; min-height:0; display:flex; flex-direction:column; }
 .theater-map .map-top { position:relative; order:0; flex-shrink:0; }
 .theater-map .map-canvas { position:relative; inset:auto; width:100%; height:280px; flex-shrink:0; order:1; }
 .theater-map .map-info { left:12px; top:10px; }
 .theater-map .map-credit { right:12px; }
 .theater-map .map-legend { position:relative; order:2; flex-shrink:0; }
 .map-tools { top:58px; right:12px; }
 .map-mission { position:relative; left:auto; bottom:auto; width:auto; margin:13px; order:4; }
 .map-orders { position:relative; top:auto; left:auto; right:auto; margin:12px 13px 0; order:3; }
}
.map-mission .quest-tracker { display:flex; align-items:center; gap:8px; padding:8px 12px; margin:8px 0 0; background:#203746; border:0; color:#b9cdd5; }
.map-mission .quest-tracker-copy { min-width:0; }
.map-mission .quest-tracker-copy>small,.map-mission .quest-tracker-copy>span,.map-mission .quest-tracker-actions>.btn-quiet { display:none; }
.map-mission .quest-tracker-copy>strong { font-size:10px; color:#c6d1d2; line-height:1.5; }
.map-mission .quest-tracker-actions>.btn { padding:5px 7px; font-size:10px; color:#d5c293; background:#1a2d3b; border-color:#52616a; white-space:nowrap; }
.map-mission .guide-title { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.map-mission .guide-title>.btn { display:inline-flex; align-items:center; justify-content:center; min-width:22px; min-height:22px; width:22px; height:22px; flex-shrink:0; padding:0; color:#b8cbd3; background:#253f4d; border:1px solid #657c86; font-size:0; }
.map-mission .guide-title>.btn:after { content:'?'; font-size:12px; }
