
/* SOURCE: style.css */
/*
Theme Name: Space 2047 HD Edition Modular
Theme URI: https://space2047.com/
Author: Benjamin Arthur Robinson
Description: Modular Space 2047 isometric game theme with separated interface, gameplay, dialogue, map and control components.
Version: 6.1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: space-2047-hd-edition-modular
*/

:root {
  --s2047-bg: #06121f;
  --s2047-panel: rgba(7, 20, 34, 0.9);
  --s2047-text: #f7fbff;
  --s2047-accent: #ffd84d;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--s2047-bg); }
body { color: var(--s2047-text); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow: hidden; }
button { font: inherit; }

/* v3.15.2 automatic mobile canvas recovery */
#s2047-canvas.s2047-canvas-repairing{opacity:.72}
.s2047-menu-grid button[data-action="repair-display"]{border-color:rgba(112,224,255,.65);background:rgba(17,74,92,.38)}

/* v3.15.5 clean installer package with readable responsive speech bubbles */
.s2047-dialogue{overflow-wrap:anywhere}

/* v3.16.0 conversation history */
.s2047-speech-history-list{display:grid;gap:12px;max-height:min(58vh,520px);overflow:auto;margin:14px 0;padding-right:4px}.s2047-speech-entry{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px}.s2047-speech-entry h3{margin:0 0 2px;font-size:1rem}.s2047-speech-entry small{display:block;opacity:.72;margin-bottom:7px}.s2047-speech-entry p{margin:0;overflow-wrap:anywhere;line-height:1.45}@media(max-width:520px){.s2047-speech-history{width:calc(100% - 20px);max-width:none}.s2047-speech-history-list{max-height:55vh}}


/* v3.16.5 conversation browser controls */
.s2047-dialogue-position{margin:.25rem 0 .75rem;opacity:.72;font-size:.9rem}.s2047-dialogue-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.s2047-dialogue-actions button{min-width:0}.s2047-dialogue-actions button[data-action="dialogue-close"]{font-weight:700}@media(max-width:520px){.s2047-dialogue-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.s2047-dialogue-actions button[data-action="dialogue-close"]{grid-column:1/-1}}


/* 3.16.6 conversation playback mode */
.s2047-dialogue-playback{display:flex;flex-wrap:wrap;gap:.55rem 1rem;align-items:center;margin:.65rem 0;padding:.6rem;border:1px solid rgba(255,255,255,.22);border-radius:.65rem;background:rgba(0,0,0,.18)}
.s2047-dialogue-playback label{display:flex;align-items:center;gap:.45rem;margin:0}
.s2047-dialogue-playback select{min-height:2.5rem;padding:.35rem .55rem;border-radius:.45rem}
@media(max-width:560px){.s2047-dialogue-playback{display:grid;grid-template-columns:1fr}.s2047-dialogue-playback select{width:100%}}

/* v3.16.7: Conversation clue board and clue export. */

/* v3.16.8: Conversation clue case folders. */

/* v3.17.0 conversation case briefs */
.s2047-case-brief{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;margin:0 0 12px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(0,0,0,.14)}.s2047-case-brief label{display:grid;gap:5px;font-weight:600}.s2047-case-brief input,.s2047-case-brief textarea{width:100%;min-width:0;padding:9px;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.24);color:inherit;font:inherit}.s2047-case-brief textarea{resize:vertical}.s2047-case-meter{grid-column:1/-1;height:10px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.s2047-case-meter span{display:block;height:100%;background:var(--s2047-accent);transition:width .2s ease}@media(max-width:620px){.s2047-case-brief{grid-template-columns:1fr}}


/* v3.17.3 evidence connections and case conclusions */
.s2047-case-conclusion{grid-column:1/-1}.s2047-case-conclusion textarea{min-height:88px}.s2047-close-case{grid-column:1/-1;justify-self:start}.s2047-evidence-links{margin:.55rem 0;padding:.55rem .7rem;border-left:3px solid var(--s2047-accent);background:rgba(255,255,255,.06);font-size:.9rem;overflow-wrap:anywhere}.s2047-clue-card-controls select:last-child{flex:1 1 240px;min-width:180px}@media(max-width:560px){.s2047-close-case{width:100%}.s2047-clue-card-controls select:last-child{width:100%;min-width:0}}

/* v3.17.4 case deadlines and automatic progress */

/* 3.17.9 Guided investigation setup */
.s2047-case-wizard{margin:1rem 0;padding:1rem;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(10,18,38,.92)}
.s2047-case-wizard-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.s2047-case-wizard-heading h4{margin:0}
.s2047-case-wizard-heading button{min-width:2.5rem}
.s2047-case-wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.s2047-case-wizard-grid label{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.s2047-case-wizard-grid input,.s2047-case-wizard-grid select,.s2047-case-wizard-grid textarea{width:100%;box-sizing:border-box}
.s2047-case-wizard-grid textarea{resize:vertical}
.s2047-wizard-wide{grid-column:1/-1}
.s2047-case-wizard-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}
.s2047-date-wrap{display:flex;width:100%;box-sizing:border-box}
.s2047-date-wrap input{min-width:0}
@media (max-width:680px){.s2047-case-wizard-grid{grid-template-columns:1fr}.s2047-wizard-wide{grid-column:auto}.s2047-case-wizard-actions button{flex:1 1 100%}}

/* 3.18.0 Portable investigation template library */
.s2047-case-wizard-actions button[data-action="speech-case-template-export"],
.s2047-case-wizard-actions button[data-action="speech-case-template-import"] { min-width: 10rem; }
@media (max-width: 560px) { .s2047-case-wizard-actions button { width: 100%; } }


/* 3.18.1 Organised investigation template library */
.s2047-template-count,.s2047-template-preview{margin:.15rem 0;padding:.55rem .7rem;border:1px solid rgba(255,255,255,.18);border-radius:.65rem;background:rgba(0,0,0,.2)}
.s2047-template-count{font-size:.9rem;font-weight:700}
.s2047-template-preview{font-size:.9rem;opacity:.9}
@media (max-width:620px){.s2047-template-count,.s2047-template-preview{grid-column:1/-1}}

/* 3.18.2 Categorised template library */
.s2047-template-count{grid-column:1/-1}.s2047-template-preview{grid-column:1/-1}


/* v3.18.3 investigation template usage insights */
.s2047-template-insights{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:.75rem;background:rgba(255,255,255,.045)}
.s2047-template-insights-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:center}
.s2047-template-insights ol{margin:.6rem 0 0;padding-left:1.4rem;display:grid;gap:.35rem}
.s2047-template-insights li{display:flex;justify-content:space-between;gap:.75rem;align-items:center}
.s2047-template-insights li span{overflow-wrap:anywhere}
@media(max-width:560px){.s2047-template-insights-heading,.s2047-template-insights li{align-items:flex-start;flex-direction:column;gap:.2rem}}


/* v3.18.4 personal investigation template reviews */
.s2047-template-review{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(220px,1fr);gap:10px;padding:10px;border:1px solid rgba(255,216,77,.32);border-radius:12px;background:rgba(255,255,255,.035)}
.s2047-template-review label{display:flex;flex-direction:column;gap:5px}
.s2047-template-review textarea{resize:vertical;min-height:64px}
@media(max-width:620px){.s2047-template-review{grid-template-columns:1fr}}

/* v3.18.5 template version history */
.s2047-template-versions{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:12px;align-items:end;padding:12px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(0,0,0,.18)}
.s2047-template-versions p{margin:.35rem 0 0;opacity:.82}
.s2047-template-versions label,.s2047-template-versions select{width:100%}
@media(max-width:640px){.s2047-template-versions{grid-template-columns:1fr}}

/* v3.18.6 Template version comparison */
.s2047-template-version-diff{grid-column:1/-1;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px;background:rgba(0,0,0,.18)}
.s2047-template-version-diff ul{margin:8px 0 0;padding-left:20px;display:grid;gap:10px}
.s2047-template-version-diff li{display:grid;gap:3px}
.s2047-template-version-diff span{display:block;overflow-wrap:anywhere}
.s2047-version-before{opacity:.72;text-decoration:line-through}
.s2047-version-after{font-weight:600}
@media (max-width:600px){.s2047-template-version-diff{padding:10px}.s2047-template-version-diff ul{padding-left:18px}}


/* v3.18.7 selective template field restore */
.s2047-version-restore-hint{margin:.45rem 0 0;opacity:.86}
.s2047-version-field-choice{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%}
.s2047-version-field-choice input{margin:0;flex:0 0 auto}
.s2047-version-field-choice strong{overflow-wrap:anywhere}
@media(max-width:520px){.s2047-version-field-choice{align-items:flex-start}}


/* v3.18.8 two-version template comparison and merge */
.s2047-template-versions{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.s2047-template-versions .s2047-template-version-diff{grid-column:1/-1}
.s2047-template-version-diff li{border-left:3px solid rgba(255,216,77,.65);padding-left:.65rem}
@media(max-width:560px){.s2047-template-versions{grid-template-columns:1fr}.s2047-template-version-diff li span{overflow-wrap:anywhere}}

/* v3.18.9 protected template versions and notes */
.s2047-template-versions textarea{width:100%;resize:vertical;min-height:4.5rem}
.s2047-template-versions option{font-variant-numeric:tabular-nums}


/* v3.19.0 portable template version archives */
.s2047-template-versions select{min-width:0}
.s2047-template-versions p{overflow-wrap:anywhere}

/* v3.19.1 searchable template version browser */
.s2047-template-version-browser{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(2,minmax(150px,.8fr));gap:10px;align-items:end}
.s2047-template-version-browser label{display:grid;gap:5px}
.s2047-template-version-browser input,.s2047-template-version-browser select{width:100%;min-width:0}
@media(max-width:680px){.s2047-template-version-browser{grid-template-columns:1fr}}


/* v3.19.2 filtered template version bulk actions */
.s2047-case-wizard-actions button[data-action$="-visible"]{border-style:dashed}
@media (max-width:640px){.s2047-case-wizard-actions button[data-action$="-visible"]{width:100%}}

/* v3.19.3 tagged template version library */
.s2047-template-version-browser{grid-template-columns:minmax(170px,1.4fr) repeat(3,minmax(135px,.75fr))}
.s2047-template-versions input[type="text"]{width:100%;min-width:0}
@media(max-width:760px){.s2047-template-version-browser{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.s2047-template-version-browser{grid-template-columns:1fr}}

/* v3.19.5 template release approval workflow */
#s2047-template-version-channel-filter,#s2047-template-version-channel{min-width:10rem}

#s2047-template-version-approval-filter,#s2047-template-version-approval{min-width:10rem}
#s2047-template-version-reviewer{min-width:12rem}

/* v3.19.6 template release readiness and changelog */
.s2047-template-version-readiness{border:1px solid rgba(255,216,77,.42);border-radius:12px;padding:12px;background:rgba(255,216,77,.07)}
.s2047-release-readiness-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.s2047-template-version-readiness ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:10px 0 0;padding:0;list-style:none}.s2047-template-version-readiness .is-ready{color:#bff7c8}.s2047-template-version-readiness .is-missing{color:#ffd7a8}.s2047-template-version-readiness small{display:block;margin-top:8px;opacity:.82}

/* v3.19.8 release supersession and withdrawal */
.s2047-template-versions textarea#s2047-template-version-withdrawal-reason{min-height:4.5rem}

/* 3.19.11 dependency graph */
.s2047-template-dependency-graph ol{margin:.55rem 0;padding-left:1.35rem}.s2047-template-dependency-graph li{display:grid;grid-template-columns:minmax(5rem,.35fr) 1fr;gap:.65rem;padding:.35rem .25rem;border-bottom:1px solid rgba(255,255,255,.12)}.s2047-template-dependency-graph li.is-blocked{font-weight:700}.s2047-template-dependency-graph li span{overflow-wrap:anywhere}@media(max-width:680px){.s2047-template-dependency-graph li{grid-template-columns:1fr;gap:.15rem}}

/* 3.19.14 retirement execution tracker */
.s2047-retirement-checklist{display:grid;gap:.55rem;margin:.65rem 0}.s2047-retirement-checklist label{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem;border:1px solid rgba(255,255,255,.18);border-radius:.55rem;background:rgba(0,0,0,.18)}.s2047-retirement-checklist input{margin-top:.18rem;min-width:1.1rem;min-height:1.1rem}.s2047-retirement-checklist span{line-height:1.3}

/* 3.19.15 retirement sign-off and audit trail */
.s2047-retirement-audit{margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.18)}.s2047-retirement-audit p{margin:.45rem 0;padding:.5rem .6rem;border-radius:.45rem;background:rgba(0,0,0,.18)}.s2047-retirement-audit time{font-weight:700}.s2047-retirement-audit span{opacity:.88}

/* v3.20.0 movement, facing and laser update */
.s2047-actions button[data-action="laser"]{border-color:rgba(255,110,110,.7);background:rgba(110,20,28,.45)}

/* v3.21.0 precision laser feedback */
.s2047-hud button[data-action="laser"]{font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,102,70,.38)}

/* v3.24.0 salvage feedback */
#s2047-salvage{font-weight:800;color:#b9f3ff}
#s2047-modules{color:#d8f7ff}

/* v3.25.0 living-world and breakable-scenery update */

/* v3.35.0 Moonline route challenge consoles and complete Moonline save persistence */

/* v4.55.1 Gameplay Integration Pass II — multi-asset maintenance and worker queue */
.s2047-integration-layout{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(280px,1.28fr);gap:14px;margin:14px 0}
.s2047-integration-target-list{display:grid;gap:8px;align-content:start}
.s2047-integration-asset{display:grid;gap:3px;text-align:left;width:100%;padding:11px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(0,0,0,.22);color:inherit}
.s2047-integration-asset span,.s2047-integration-asset small{font-size:.82rem;opacity:.78;text-transform:capitalize}
.s2047-integration-asset.is-selected{border-color:var(--s2047-accent);box-shadow:inset 0 0 0 1px rgba(255,216,77,.34);background:rgba(255,216,77,.1)}
.s2047-integration-queue{margin-top:13px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(0,0,0,.18)}
.s2047-integration-queue h3{margin:0 0 8px}.s2047-integration-queue ol{display:grid;gap:7px;margin:0;padding-left:1.45rem}.s2047-integration-queue li{padding:5px 6px}.s2047-integration-queue li.is-active{border-left:3px solid var(--s2047-accent);background:rgba(255,216,77,.08)}.s2047-integration-queue li span{float:right;font-variant-numeric:tabular-nums}
@media(max-width:700px){.s2047-integration-layout{grid-template-columns:1fr}.s2047-integration-target-list{grid-template-columns:repeat(3,minmax(0,1fr))}.s2047-integration-asset{padding:8px}.s2047-integration-asset strong{font-size:.82rem}.s2047-integration-asset span{font-size:.72rem}}
@media(max-width:480px){.s2047-integration-target-list{grid-template-columns:1fr}.s2047-integration-queue li span{float:none;display:block}}


/* v4.55.2 Gameplay Integration Pass III — contextual world assets and worker travel */
.s2047-integration-proximity{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center;margin:.7rem 0;padding:.7rem;border:1px solid rgba(143,233,255,.3);border-radius:.75rem;background:rgba(143,233,255,.08)}
.s2047-integration-proximity strong{color:#fff}.s2047-integration-proximity span{opacity:.82}.s2047-integration-proximity button{padding:.5rem .7rem}
.s2047-integration-asset.is-nearby:before{content:"NEARBY";justify-self:start;font-size:.65rem;font-weight:800;letter-spacing:.08em;color:#06121f;background:#8fe9ff;border-radius:999px;padding:.15rem .4rem}
.s2047-worker-route{display:grid;gap:.3rem;margin-top:.45rem}.s2047-worker-route progress{width:100%}.s2047-worker-route small{opacity:.78}
.s2047-world-prompt{position:fixed;left:50%;bottom:92px;z-index:66;transform:translateX(-50%);max-width:min(520px,calc(100% - 24px));padding:.7rem .9rem;border:1px solid rgba(143,233,255,.55);border-radius:999px;background:rgba(5,18,31,.94);box-shadow:0 8px 28px rgba(0,0,0,.4);text-align:center}
.s2047-world-prompt[hidden]{display:none}.s2047-world-prompt kbd{padding:.15rem .35rem;border-radius:.3rem;background:rgba(255,255,255,.14)}
@media(max-width:520px){.s2047-integration-proximity{grid-template-columns:1fr}.s2047-world-prompt{bottom:132px;border-radius:.8rem}}


/* v4.55.3 Gameplay Integration Pass IV — world markers, hazards and field feedback */
.s2047-integration-hazard{margin:.65rem 0 0;padding:.55rem .7rem;border-radius:.55rem;font-weight:750;font-size:.86rem}
.s2047-integration-hazard[hidden]{display:none}.hazard-electrical{border-color:#85d9ff;background:rgba(72,181,255,.15)}.hazard-leak{border-color:#80f1c0;background:rgba(61,205,148,.15)}.hazard-navigation{border-color:#ffcb68;background:rgba(255,177,42,.15)}
.s2047-integration-target.hazard-electrical .s2047-integration-target-graphic{box-shadow:0 0 24px rgba(92,199,255,.55)}.s2047-integration-target.hazard-leak .s2047-integration-target-graphic{box-shadow:0 0 24px rgba(79,231,165,.45)}.s2047-integration-target.hazard-navigation .s2047-integration-target-graphic{box-shadow:0 0 24px rgba(255,178,45,.45)}
.s2047-integration-asset em{display:block;margin-top:.25rem;font-size:.68rem;font-style:normal;font-weight:800;color:#ffd978}
.s2047-field-events{margin-top:13px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(0,0,0,.16)}.s2047-field-events h3{margin:0 0 8px}.s2047-field-events ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.s2047-field-events li{display:grid;grid-template-columns:4.2rem 1fr;gap:.55rem;padding:.4rem .5rem;border-radius:.45rem;background:rgba(255,255,255,.045)}.s2047-field-events time{font-variant-numeric:tabular-nums;opacity:.65}.s2047-field-events .event-arrival{border-left:3px solid #8fe9ff}.s2047-field-events .event-complete{border-left:3px solid #8fffb1}
.s2047-world-asset-markers{position:fixed;inset:0;z-index:54;pointer-events:none}.s2047-world-asset-markers[hidden]{display:none}.s2047-world-asset-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:grid;gap:.1rem;min-width:7.6rem;padding:.38rem .5rem;border:1px solid rgba(255,255,255,.42);border-radius:.6rem;background:rgba(4,15,29,.88);box-shadow:0 7px 18px rgba(0,0,0,.32);color:#fff;font:inherit;text-align:center}.s2047-world-asset-marker span{font-size:.69rem;font-weight:800}.s2047-world-asset-marker small{font-size:.62rem;opacity:.72}.s2047-world-asset-marker.state-operational{border-color:#8fffb1}.s2047-world-asset-marker.state-damaged,.s2047-world-asset-marker.state-destroyed{border-color:#ff8c79}.s2047-world-asset-marker.is-nearby{outline:3px solid rgba(143,233,255,.28);animation:s2047-marker-pulse 1.35s ease-in-out infinite}.s2047-world-asset-marker.hazard-electrical:before,.s2047-world-asset-marker.hazard-leak:before,.s2047-world-asset-marker.hazard-navigation:before{content:"!";position:absolute;right:-.42rem;top:-.42rem;width:1.15rem;height:1.15rem;border-radius:50%;background:#ffd45e;color:#151006;font-size:.75rem;font-weight:900;line-height:1.15rem}.s2047-prompt-hazard{display:inline-block;margin-left:.3rem;padding:.1rem .35rem;border-radius:999px;background:rgba(255,95,70,.18);color:#ffb1a4;font-size:.78rem;font-weight:800}
@keyframes s2047-marker-pulse{50%{transform:translate(-50%,-50%) scale(1.04)}}
@media(max-width:620px){.s2047-world-asset-marker{min-width:5.8rem;padding:.3rem}.s2047-world-asset-marker span{font-size:.6rem}.s2047-field-events li{grid-template-columns:3.6rem 1fr}}
@media(prefers-reduced-motion:reduce){.s2047-world-asset-marker.is-nearby{animation:none}}


/* v4.55.4 Gameplay Integration Pass V — isolation, hazard clearance and return to service */
.s2047-integration-meters{grid-template-columns:repeat(5,minmax(0,1fr))}
.s2047-integration-asset em{display:block;margin-top:.25rem;font-size:.66rem;font-style:normal;font-weight:900;letter-spacing:.06em;color:#8fffb1}
.s2047-world-asset-marker.is-isolated{border-color:#8fe9ff;background:rgba(7,43,58,.92)}
.s2047-world-asset-marker.state-awaiting-restart{border-color:#ffd45e}
.s2047-prompt-safe{display:inline-block;margin-left:.3rem;padding:.1rem .35rem;border-radius:999px;background:rgba(80,220,170,.16);color:#9dffd6;font-size:.78rem;font-weight:900}
.s2047-field-events .event-isolation{border-left:3px solid #8fe9ff}.s2047-field-events .event-restart{border-left:3px solid #ffd45e}
.s2047-fx-isolate,.s2047-fx-restart{width:105px;height:105px;border:5px dashed #8fe9ff;border-radius:18px;transform:translate(-50%,-50%) rotate(0);animation:s2047-isolation-out .7s ease-out forwards}
.s2047-fx-restart{border-style:solid;border-color:#8fffb1;border-radius:50%}
@keyframes s2047-isolation-out{to{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(2.3)}}
@media(max-width:620px){.s2047-integration-meters{grid-template-columns:1fr 1fr}.s2047-integration-meters span:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.s2047-fx-isolate,.s2047-fx-restart{animation-duration:.01ms!important}}


/* v4.55.5 Gameplay Integration Pass VI — functional testing and commissioning */
.s2047-integration-meters{grid-template-columns:repeat(6,minmax(0,1fr))}
.s2047-world-asset-marker.state-testing{border-color:#78c8ff;background:rgba(8,39,74,.92)}
.s2047-world-asset-marker.state-test-failed{border-color:#ff6f6f;background:rgba(76,15,22,.94)}
.s2047-world-asset-marker.state-awaiting-signoff{border-color:#c99cff;background:rgba(46,22,72,.94)}
.s2047-field-events .event-test-pass{border-left:3px solid #8fffb1}.s2047-field-events .event-test-fail{border-left:3px solid #ff6f6f}.s2047-field-events .event-signoff{border-left:3px solid #c99cff}
.s2047-fx-test,.s2047-fx-fault,.s2047-fx-commission{width:112px;height:112px;transform:translate(-50%,-50%);animation:s2047-commission-out .75s ease-out forwards}
.s2047-fx-test{border:6px double #8fffb1;border-radius:50%}.s2047-fx-fault{border:7px solid #ff6f6f;clip-path:polygon(45% 0,58% 0,58% 41%,100% 41%,100% 56%,58% 56%,58% 100%,45% 100%,45% 56%,0 56%,0 41%,45% 41%)}.s2047-fx-commission{border:6px solid #c99cff;border-radius:18px;box-shadow:0 0 30px #c99cff}
@keyframes s2047-commission-out{to{opacity:0;transform:translate(-50%,-50%) scale(2.8) rotate(25deg)}}
@media(max-width:720px){.s2047-integration-meters{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.s2047-fx-test,.s2047-fx-fault,.s2047-fx-commission{animation-duration:.01ms!important}}

/* Capital Delivery & Benefits Office */
#s2047-capital-delivery-launch{position:fixed;right:18px;bottom:186px;z-index:9997;padding:10px 14px;border:1px solid #8fe8ff;border-radius:8px;background:#071925;color:#fff;font-weight:700}
.s2047-capital-delivery{display:none;position:fixed;inset:5vh 5vw;z-index:9998;overflow:auto;padding:18px;background:rgba(4,15,23,.97);color:#fff;border:1px solid #4ec5e8;border-radius:14px;box-shadow:0 20px 70px #000}
.s2047-capital-delivery.is-open{display:block}.s2047-capital-delivery header{display:flex;justify-content:space-between;font-size:1.2rem}.s2047-capital-delivery button,.s2047-capital-delivery select{margin:4px;padding:8px;border-radius:6px}.s2047-capital-delivery .cp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:15px}.s2047-capital-delivery article{padding:12px;border:1px solid #28677a;border-radius:10px;background:#0b2532}.s2047-capital-delivery .cp-meters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.s2047-capital-delivery .cp-meters span{padding:7px 9px;background:#123644;border-radius:7px}
@media(max-width:700px){.s2047-capital-delivery{inset:2vh 2vw;padding:12px}#s2047-capital-delivery-launch{right:8px;bottom:170px}}
@media(prefers-reduced-motion:reduce){.s2047-capital-delivery *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Space 2047 HD Edition v5.12.25 — high-contrast popup and menu text repair */
#s2047-v51222-popup,
#s2047-v51222-popup *:not(svg):not(path),
#s2047-v51220-shell,
#s2047-v51220-shell *:not(svg):not(path) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#s2047-v51222-popup button,
#s2047-v51222-popup [role="button"],
#s2047-v51222-popup select,
#s2047-v51222-popup option,
#s2047-v51222-popup input,
#s2047-v51220-shell button,
#s2047-v51220-shell [role="button"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}
#s2047-v51222-popup button,
#s2047-v51222-popup [role="button"],
#s2047-v51222-popup select,
#s2047-v51220-shell button,
#s2047-v51220-shell [role="button"] {
  background-color: #102d43 !important;
  border-color: #4ba9ca !important;
}
#s2047-v51222-popup button:disabled,
#s2047-v51222-popup [aria-disabled="true"],
#s2047-v51222-popup .is-disabled,
#s2047-v51220-shell button:disabled,
#s2047-v51220-shell [aria-disabled="true"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: #53616c !important;
  border-color: #7c8992 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
#s2047-v51222-popup a,
#s2047-v51222-popup label,
#s2047-v51222-popup p,
#s2047-v51222-popup span,
#s2047-v51222-popup strong,
#s2047-v51222-popup small,
#s2047-v51222-popup h1,
#s2047-v51222-popup h2,
#s2047-v51222-popup h3,
#s2047-v51222-popup h4,
#s2047-v51222-popup li,
#s2047-v51220-shell a,
#s2047-v51220-shell label,
#s2047-v51220-shell p,
#s2047-v51220-shell span,
#s2047-v51220-shell strong,
#s2047-v51220-shell small,
#s2047-v51220-shell h1,
#s2047-v51220-shell h2,
#s2047-v51220-shell h3,
#s2047-v51220-shell h4,
#s2047-v51220-shell li {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}


/* Space 2047 HD Edition v5.12.26 — smooth player-following landscape camera */
#s2047-game-canvas, .s2047-game-canvas { touch-action: none; }

/* Space 2047 HD Edition v5.53.5 — branded information drawer heading */
#s2047-v51220-panel > header h2 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  text-align: center !important;
}
#s2047-v51220-panel > header h2::before {
  content: "SPACE 2047" !important;
  display: block !important;
  color: #8fe8ff !important;
  -webkit-text-fill-color: #8fe8ff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

/* v5.73.0 outdoor seated state hook */
body.s2047-player-seated-outdoors #s2047-player-sprite,body.s2047-player-seated-outdoors .s2047-player-sprite{transform:scaleY(.82) translateY(10px);transform-origin:center bottom}


/* v5.94.2 universal starship travel console */
.s2047-flight-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(1,5,16,.88);display:flex;align-items:center;justify-content:center;padding:18px}
.s2047-flight-panel{width:min(960px,96vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#102b4c,#071323);border:2px solid #62d9ff;border-radius:18px;box-shadow:0 0 40px rgba(74,210,255,.45);padding:20px;color:#fff}
.s2047-flight-panel h2{margin:0 0 10px;color:#ffe77a;font-size:clamp(1.25rem,3vw,2rem)}
.s2047-flight-warning,.s2047-flight-ready{padding:10px 12px;border-radius:10px;font-weight:800}.s2047-flight-warning{background:#712437}.s2047-flight-ready{background:#176445}
.s2047-flight-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.s2047-flight-actions button,.s2047-flight-grid button{min-height:48px;border:1px solid #73dcff;border-radius:10px;background:#173c65;color:#fff;font-weight:800;padding:10px 14px;cursor:pointer}
.s2047-flight-actions button:hover,.s2047-flight-grid button:hover{background:#275b90}.s2047-flight-grid button:disabled{opacity:.45;cursor:not-allowed}
.s2047-flight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}
@media(max-width:600px){.s2047-flight-overlay{padding:7px}.s2047-flight-panel{padding:13px;max-height:96vh}.s2047-flight-grid{grid-template-columns:1fr}.s2047-flight-grid button{min-height:54px;text-align:left}}

/* v5.98.2 connected-room transition polish */
#s2047-canvas{transition:filter .16s ease,opacity .16s ease}
@media (prefers-reduced-motion:reduce){#s2047-canvas{transition:none}}


/* SOURCE: assets/css/game.css */
.s2047-game { position: fixed; inset: 0; min-height: 100dvh; background: radial-gradient(circle at 50% 0%, #193c59 0, #07131f 52%, #02060b 100%); overflow: hidden; touch-action: none; }
#s2047-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.s2047-hud { position: absolute; z-index: 5; top: max(12px, env(safe-area-inset-top)); left: 14px; right: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; pointer-events: none; }
.s2047-title-card { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(4,16,27,.82); box-shadow: 0 12px 34px rgba(0,0,0,.28); backdrop-filter: blur(10px); }
.s2047-hud strong { letter-spacing: .12em; color: #ffe177; font-size: clamp(.76rem, 2vw, 1rem); }
.s2047-hud span { opacity: .82; font-size: clamp(.68rem, 1.8vw, .88rem); }
.s2047-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; pointer-events: auto; }
.s2047-actions button, .s2047-dialogue button { min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; color: #fff; background: rgba(4,16,27,.9); box-shadow: 0 8px 24px rgba(0,0,0,.24); cursor: pointer; }
.s2047-status { position: absolute; z-index: 5; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); padding: 8px 14px; border-radius: 999px; background: rgba(4,16,27,.82); border: 1px solid rgba(255,255,255,.16); font-size: .82rem; white-space: nowrap; max-width: calc(100vw - 330px); overflow: hidden; text-overflow: ellipsis; }
.s2047-joystick-zone { position:absolute; z-index:10; left:max(20px,env(safe-area-inset-left)); bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px)); width:clamp(190px,24vw,280px); height:clamp(190px,24vw,280px); display:grid; place-items:center; pointer-events:auto; touch-action:none; }
.s2047-joystick { position:relative; width:78%; height:78%; border-radius:50%; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.s2047-joystick-ring { position:absolute; inset:0; border-radius:50%; border:3px solid rgba(255,255,255,.35); background:radial-gradient(circle,rgba(255,255,255,.09) 0 18%,rgba(4,16,27,.74) 20% 68%,rgba(255,225,119,.15) 70% 100%); box-shadow:0 16px 42px rgba(0,0,0,.42),inset 0 0 30px rgba(255,255,255,.08); backdrop-filter:blur(7px); }
.s2047-joystick-ring::before,.s2047-joystick-ring::after { content:""; position:absolute; left:50%; top:12%; bottom:12%; width:2px; background:rgba(255,255,255,.13); transform:translateX(-50%); }
.s2047-joystick-ring::after { left:12%; right:12%; top:50%; bottom:auto; width:auto; height:2px; transform:translateY(-50%); }
.s2047-joystick-knob { position:absolute; left:50%; top:50%; width:39%; height:39%; margin-left:-19.5%; margin-top:-19.5%; display:grid; place-items:center; border-radius:50%; border:3px solid #fff0a5; background:linear-gradient(145deg,#ffe177,#d7aa24); color:#251c00; font-weight:950; font-size:.72rem; letter-spacing:.08em; box-shadow:0 10px 25px rgba(0,0,0,.38),inset 0 2px 7px rgba(255,255,255,.72); transition:transform 60ms linear; pointer-events:none; }
.s2047-joystick.is-active .s2047-joystick-ring { border-color:#ffe177; box-shadow:0 16px 45px rgba(0,0,0,.5),0 0 0 6px rgba(255,225,119,.1); }
.s2047-action-cluster { position:absolute; z-index:11; right:max(22px,env(safe-area-inset-right)); bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px)); width:clamp(220px,27vw,330px); height:clamp(205px,25vw,300px); pointer-events:none; }
.s2047-action-cluster button { position:absolute; display:grid; place-items:center; align-content:center; gap:2px; width:clamp(70px,8vw,92px); height:clamp(70px,8vw,92px); border:2px solid rgba(255,255,255,.42); border-radius:50%; color:#fff; background:rgba(4,16,27,.91); box-shadow:0 12px 30px rgba(0,0,0,.38); touch-action:manipulation; user-select:none; -webkit-user-select:none; pointer-events:auto; cursor:pointer; }
.s2047-action-cluster button b { font-size:1.45rem; line-height:1; }
.s2047-action-cluster button span { font-size:.64rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.s2047-action-cluster .action-interact { right:0; bottom:0; width:clamp(86px,10vw,112px); height:clamp(86px,10vw,112px); border-color:#fff0a5; background:#ffe177; color:#251c00; }
.s2047-action-cluster .action-run { left:0; bottom:0; }
.s2047-action-cluster .action-inventory { right:4%; top:0; }
.s2047-action-cluster .action-menu { left:8%; top:2%; }
.s2047-action-cluster button:active,.s2047-action-cluster button.is-active { transform:scale(.92); border-color:#fff0a5; background:#ffe177; color:#251c00; }
.s2047-help { position: absolute; z-index: 4; left: 16px; bottom: max(18px, env(safe-area-inset-bottom)); padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(4,16,27,.72); font-size: .74rem; line-height: 1.45; opacity: .86; }
.s2047-panel { position: absolute; z-index: 20; width: min(430px, calc(100vw - 28px)); padding: 22px; border: 1px solid rgba(255,255,255,.22); border-radius: 18px; background: rgba(4,16,27,.96); box-shadow: 0 24px 80px rgba(0,0,0,.55); backdrop-filter: blur(12px); }
.s2047-panel h2 { margin: 0 0 12px; color: #ffe177; }
.s2047-panel h3 { margin: 0 0 8px; }
.s2047-panel p { margin: 0; line-height: 1.55; }
.s2047-quest { top: 84px; left: 14px; }
.s2047-dialogue { left: 50%; bottom: 92px; transform: translateX(-50%); }
.s2047-dialogue button { margin-top: 18px; background: #ffe177; color: #271e00; font-weight: 800; }
.s2047-panel-close { position: absolute; top: 9px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 10px; color: #fff; background: rgba(255,255,255,.1); font-size: 1.4rem; }
@media (max-width: 720px) {
  .s2047-help { display:none; }
  .s2047-actions button { min-width: 40px; min-height: 40px; padding: 0 10px; }
  .s2047-actions button[data-action="zoom-out"], .s2047-actions button[data-action="zoom-in"] { display:none; }
  .s2047-joystick-zone { width:190px; height:190px; left:4px; bottom:max(4px,env(safe-area-inset-bottom)); }
  .s2047-action-cluster { width:205px; height:190px; right:8px; bottom:max(8px,env(safe-area-inset-bottom)); }
  .s2047-action-cluster button { width:66px; height:66px; }
  .s2047-action-cluster .action-interact { width:82px; height:82px; }
  .s2047-status { left: 12px; right: 230px; transform:none; max-width:none; text-align:center; }
  .s2047-title-card span { display:none; }
  .s2047-dialogue { bottom: 170px; }
}

.s2047-inventory,.s2047-menu { top:50%; left:50%; transform:translate(-50%,-50%); }
.s2047-menu-grid { display:grid; gap:10px; }
.s2047-menu-grid button { min-height:48px; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(255,255,255,.08); color:#fff; font-weight:800; }
@media (max-width:520px){
 .s2047-status{bottom:198px;left:12px;right:12px;max-width:none;transform:none;}
 .s2047-title-card{max-width:55vw;}
 .s2047-actions{max-width:42vw;}
 .s2047-action-cluster button span{font-size:.56rem;}
}


/* 2.0 Beta interface foundation */
.s2047-title-card small{display:block;margin-top:3px;color:#b9d8e8;font-size:11px;font-weight:700;letter-spacing:.04em}
.s2047-minimap-wrap{position:fixed;right:max(18px,env(safe-area-inset-right));top:88px;width:154px;padding:8px;border:1px solid rgba(165,224,255,.32);border-radius:16px;background:rgba(3,13,24,.84);backdrop-filter:blur(10px);z-index:8;box-shadow:0 10px 32px rgba(0,0,0,.32)}
.s2047-minimap-wrap canvas{display:block;width:138px;height:138px;border-radius:10px;background:#07111d}
.s2047-minimap-wrap span{display:block;padding-top:5px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c9e9f6}
.s2047-minimap-wrap[hidden]{display:none!important}
.s2047-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.s2047-menu-grid button[data-action="new-game"]{border-color:rgba(255,119,119,.55)}
.s2047-actions button,.s2047-menu-grid button{transition:transform .15s ease,background .15s ease,border-color .15s ease}
.s2047-actions button:hover,.s2047-menu-grid button:hover{transform:translateY(-1px)}
body.s2047-reduced-motion .s2047-actions button,body.s2047-reduced-motion .s2047-menu-grid button{transition:none}
@media(max-width:760px){.s2047-minimap-wrap{top:104px;right:10px;width:112px;padding:6px}.s2047-minimap-wrap canvas{width:98px;height:98px}.s2047-minimap-wrap span{font-size:9px}.s2047-title-card small{font-size:9px}.s2047-menu-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.s2047-actions button,.s2047-menu-grid button{transition:none!important}}


/* 2.2 Beta survival-lite and inventory controls */
.s2047-inventory{max-height:min(76vh,640px);overflow:auto}
.s2047-inventory h3{margin:18px 0 8px;color:#c9e9f6}
.s2047-inventory-items{display:grid;gap:8px;margin-top:14px}
.s2047-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06)}
.s2047-item-row span{min-width:0;overflow-wrap:anywhere}
.s2047-item-row button{min-width:70px;min-height:38px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850;cursor:pointer}

.s2047-travel-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}.s2047-travel-buttons button{min-height:48px;text-align:left}.s2047-travel-buttons button:disabled{opacity:.45;cursor:default}

.s2047-contract-list{display:grid;gap:10px;margin-top:12px}.s2047-contract-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-contract-row h3,.s2047-contract-row p{margin:0}.s2047-contract-row p{margin-top:4px;font-size:.9rem;opacity:.86}.s2047-contract-row button{min-width:110px}@media(max-width:560px){.s2047-contract-row{grid-template-columns:1fr}.s2047-contract-row button{width:100%}}

.s2047-contact-list{display:grid;gap:10px;margin-top:12px}.s2047-contact-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-contact-row h3,.s2047-contact-row p{margin:0}.s2047-contact-row p{font-size:.86rem;opacity:.82}.s2047-contact-row button{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#17283a;color:#fff}.s2047-contact-row button:disabled{opacity:.5}.s2047-companion-badge{color:#ffe177;font-weight:700}@media(max-width:600px){.s2047-contact-row{grid-template-columns:1fr}.s2047-contact-row button{width:100%}}


/* 2.6 Beta faction reputation */
.s2047-factions{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(80vh,700px);overflow:auto}
.s2047-faction-list{display:grid;gap:10px;margin-top:14px}
.s2047-faction-row{display:grid;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}
.s2047-faction-row h3,.s2047-faction-row p{margin:0}.s2047-faction-row p{font-size:.88rem;opacity:.86}.s2047-faction-row button{min-height:40px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850}
.s2047-reputation-track{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}.s2047-reputation-track span{display:block;height:100%;border-radius:inherit;background:#ffe177}


/* 2.7 Beta crafting workshop */
.s2047-crafting{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(82vh,720px);overflow:auto}
.s2047-recipe-list{display:grid;gap:10px;margin-top:14px}
.s2047-recipe-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}
.s2047-recipe-row h3,.s2047-recipe-row p{margin:0}.s2047-recipe-row p{margin-top:4px;font-size:.88rem;opacity:.88}.s2047-recipe-row small{display:block;margin-top:7px;color:#b9d8e8;line-height:1.4}
.s2047-recipe-row button{min-width:110px;min-height:42px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850}.s2047-recipe-row button:disabled{opacity:.48;cursor:default}
@media(max-width:600px){.s2047-recipe-row{grid-template-columns:1fr}.s2047-recipe-row button{width:100%}}


/* 2.8 Beta equipment loadout */
.s2047-equipment{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(82vh,720px);overflow:auto}
.s2047-equipment-list{display:grid;gap:10px;margin-top:14px}
.s2047-equipment-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}
.s2047-equipment-row h3,.s2047-equipment-row p{margin:0}.s2047-equipment-row p{margin-top:4px;font-size:.88rem;opacity:.88}
.s2047-equipment-row button{min-width:110px;min-height:42px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850}.s2047-equipment-row button:disabled{opacity:.48;cursor:default}
@media(max-width:600px){.s2047-equipment-row{grid-template-columns:1fr}.s2047-equipment-row button{width:100%}}


/* 2.9 Beta persistent field guide */
.s2047-field-guide{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(84vh,760px);overflow:auto}
.s2047-field-guide-list{display:grid;gap:10px;margin-top:14px}
.s2047-field-guide-list>h3{margin:12px 0 0;color:#ffe177}
.s2047-field-guide-row{display:grid;gap:4px;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}
.s2047-field-guide-row strong{font-size:1rem}.s2047-field-guide-row small{color:#b9d8e8}.s2047-field-guide-row p{font-size:.88rem;opacity:.88}

.s2047-navigation{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(84vh,720px);overflow:auto}
.s2047-navigation-list{display:grid;gap:9px;margin-top:14px}
.s2047-navigation-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05)}
.s2047-navigation-row span{min-width:0}
.s2047-navigation-row button,.s2047-field-guide-row button{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:7px 10px;color:#fff;background:rgba(255,216,77,.16)}


/* 2.11 Beta explorer camera and photo journal */
.s2047-photo-journal{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(84vh,760px);overflow:auto}
.s2047-photo-list{display:grid;gap:10px;margin-top:14px}
.s2047-photo-row{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}
.s2047-photo-thumb{display:grid;place-items:center;width:74px;height:58px;border-radius:10px;border:1px solid rgba(255,255,255,.18);font-size:1.5rem;color:#ffe177}
.s2047-photo-row strong,.s2047-photo-row small{display:block}.s2047-photo-row small{margin-top:4px;color:#b9d8e8}
.s2047-photo-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.s2047-photo-row button{border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:7px 9px;color:#fff;background:rgba(255,216,77,.16)}.s2047-photo-row button:disabled{opacity:.45}
@media(max-width:620px){.s2047-photo-row{grid-template-columns:64px 1fr}.s2047-photo-thumb{width:64px;height:52px}.s2047-photo-row>div:last-child{grid-column:1/-1}.s2047-photo-row button{flex:1}}

/* v2.12 Nouala Museum collection */
.s2047-museum-list{display:grid;gap:.55rem;margin-top:.75rem}
.s2047-museum-entry{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(4,14,26,.62)}
.s2047-museum-entry div{display:grid;gap:.18rem;min-width:0}
.s2047-museum-entry small{opacity:.78}
.s2047-museum-entry button{flex:0 0 auto}
.s2047-museum-entry button:disabled{opacity:.55;cursor:default}
@media (max-width:520px){.s2047-museum-entry{align-items:stretch;flex-direction:column}.s2047-museum-entry button{width:100%}}


.s2047-encyclopedia label{display:block;margin:.5rem 0 .25rem;font-weight:700}.s2047-encyclopedia input{width:100%;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.28);border-radius:.7rem;background:rgba(0,0,0,.32);color:#fff}.s2047-encyclopedia-list{display:grid;gap:.55rem;margin-top:.8rem}.s2047-encyclopedia-row{padding:.7rem;border:1px solid rgba(255,255,255,.16);border-radius:.7rem;background:rgba(0,0,0,.2)}.s2047-encyclopedia-row p{margin:.3rem 0 0}.s2047-encyclopedia-list h3{margin:.8rem 0 .1rem;color:#ffd84d}


/* 2.14 Beta captain's expedition log */
.s2047-expedition-log{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(86vh,780px);overflow:auto}
.s2047-log-controls{display:grid;gap:.5rem;margin:1rem 0;padding: .8rem;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.04)}
.s2047-log-controls label{font-weight:800}.s2047-log-controls textarea{width:100%;resize:vertical;padding:.7rem;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(0,0,0,.28);color:#fff}.s2047-log-controls button{min-height:42px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850}
.s2047-expedition-list{display:grid;gap:.6rem}.s2047-expedition-row{display:grid;gap:.25rem;padding:.75rem;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-expedition-row small{color:#b9d8e8}.s2047-expedition-row p{font-size:.9rem;opacity:.9}

.s2047-relic-list{display:grid;gap:10px}.s2047-relic-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}.s2047-relic-row p{margin:.35rem 0 0;color:rgba(255,255,255,.78)}.s2047-relic-row button{min-width:96px}@media(max-width:560px){.s2047-relic-row{grid-template-columns:1fr}.s2047-relic-row button{width:100%}}


/* 2.16 Beta explorer passport */
.s2047-passport{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(86vh,780px);overflow:auto}
.s2047-passport-list{display:grid;gap:10px;margin-top:14px}.s2047-passport-row{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}.s2047-passport-row.is-complete{border-color:rgba(255,225,119,.6);background:rgba(255,216,77,.09)}.s2047-passport-marks{display:flex;gap:7px;flex-wrap:wrap}.s2047-passport-marks span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);font-size:.84rem;opacity:.7}.s2047-passport-marks span.is-earned{background:rgba(255,216,77,.17);color:#ffe177;opacity:1}


/* 2.17 Beta crew expedition desk */
.s2047-crew-expeditions{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(86vh,800px);overflow:auto}
.s2047-crew-expedition-list{display:grid;gap:10px;margin-top:14px}.s2047-crew-expedition-list>h3{margin:12px 0 0;color:#ffe177}
.s2047-crew-expedition-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}
.s2047-crew-expedition-row strong{display:block}.s2047-crew-expedition-row p{margin:.35rem 0 0;font-size:.88rem;opacity:.84}.s2047-crew-expedition-row button,.s2047-crew-expedition-row select{min-height:40px;border:1px solid rgba(255,225,119,.45);border-radius:10px;padding:0 10px}.s2047-crew-expedition-row button{background:#ffe177;color:#251c00;font-weight:850}.s2047-crew-expedition-row button:disabled{opacity:.48}.s2047-crew-expedition-row select{background:#13283c;color:#fff}.s2047-crew-expedition-controls{display:flex;gap:8px;align-items:center}
@media(max-width:640px){.s2047-crew-expedition-row{grid-template-columns:1fr}.s2047-crew-expedition-controls{display:grid;grid-template-columns:1fr}.s2047-crew-expedition-row button,.s2047-crew-expedition-row select{width:100%}}


/* 2.18 Beta ship engineering bay */
.s2047-ship-upgrades{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(86vh,780px);overflow:auto}
.s2047-ship-upgrade-list{display:grid;gap:10px;margin-top:14px}.s2047-ship-upgrade-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}.s2047-ship-upgrade-row.is-installed{border-color:rgba(255,225,119,.6);background:rgba(255,216,77,.09)}.s2047-ship-upgrade-row strong{display:block}.s2047-ship-upgrade-row p{margin:.35rem 0 0;font-size:.88rem;opacity:.84}.s2047-ship-upgrade-row button{min-width:130px;min-height:42px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850}.s2047-ship-upgrade-row button:disabled{opacity:.48}
@media(max-width:620px){.s2047-ship-upgrade-row{grid-template-columns:1fr}.s2047-ship-upgrade-row button{width:100%}}


/* 2.19 Beta captain's trophy gallery */
.s2047-trophy-gallery{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(86vh,800px);overflow:auto}
.s2047-trophy-list{display:grid;gap:10px;margin-top:14px}.s2047-trophy-list>h3{margin:12px 0 0;color:#ffe177}
.s2047-trophy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}
.s2047-trophy-row.is-earned{border-color:rgba(255,225,119,.65);background:rgba(255,216,77,.1)}.s2047-trophy-row strong{display:block}.s2047-trophy-row p{margin:.35rem 0 0;font-size:.88rem;opacity:.84}
.s2047-trophy-row button{min-width:120px;min-height:42px;border:1px solid rgba(255,225,119,.55);border-radius:10px;background:#ffe177;color:#251c00;font-weight:850}.s2047-trophy-row button:disabled{opacity:.48}
.s2047-trophy-honour{padding:10px 12px;border:1px solid rgba(255,225,119,.28);border-radius:10px;background:rgba(255,216,77,.06)}
@media(max-width:620px){.s2047-trophy-row{grid-template-columns:1fr}.s2047-trophy-row button{width:100%}}


.s2047-completion-list { display:grid; gap:.75rem; }
.s2047-completion-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; align-items:center; padding:.8rem; border:1px solid rgba(255,255,255,.16); border-radius:.8rem; background:rgba(255,255,255,.045); }
.s2047-completion-row p { margin:.25rem 0 0; opacity:.82; }
.s2047-completion-row.is-earned { border-color:rgba(255,216,77,.65); background:rgba(255,216,77,.08); }
.s2047-completion-row.is-grand { border-width:2px; }
@media (max-width:560px){.s2047-completion-row{grid-template-columns:1fr}.s2047-completion-row button{width:100%}}

/* v2.20.1 mobile loading repair */
.s2047-panel[hidden], [hidden] { display:none !important; }
@media (max-width: 700px) {
  .s2047-menu-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  .s2047-menu-grid .s2047-btn { min-height:44px !important; padding:8px 10px !important; font-size:15px !important; }
  .s2047-panel { left:12px !important; right:12px !important; top:76px !important; width:auto !important; max-height:58vh !important; overflow:auto !important; }
  .s2047-hud { max-width:48vw !important; font-size:12px !important; }
  .s2047-minimap-wrap { width:112px !important; height:112px !important; }
}

/* v2.20.2 guaranteed loader and compact mobile HUD */
@media (max-width: 700px) {
  .s2047-hud { left:8px !important; right:8px !important; top:max(6px,env(safe-area-inset-top)) !important; max-width:none !important; gap:6px !important; }
  .s2047-title-card { max-width:52vw; padding:7px 9px; }
  .s2047-actions { max-width:44vw; gap:5px; }
  .s2047-actions button { display:none !important; min-width:42px; min-height:40px; padding:0 8px; font-size:13px; }
  .s2047-actions button[data-action="quest"],
  .s2047-actions button[data-action="save"],
  .s2047-actions button[data-action="map-toggle"],
  .s2047-actions button[data-action="scan"] { display:block !important; }
  .s2047-minimap-wrap { top:112px !important; }
  .s2047-status { bottom:calc(env(safe-area-inset-bottom) + 150px) !important; max-width:calc(100vw - 32px) !important; }
}

/* v2.23.6 save-slot manager */
.s2047-save-summary{grid-column:1/-1;padding:10px 12px;border:1px solid rgba(255,216,77,.35);border-radius:12px;background:rgba(255,216,77,.08);font-size:13px;line-height:1.45;color:#fff7c7}
.s2047-menu-grid button[data-action="save-slot"],.s2047-menu-grid button[data-action="load-slot"]{text-align:left;padding:10px 12px;line-height:1.25}
.s2047-menu-grid .s2047-delete-slot{border-color:rgba(255,119,119,.45);background:rgba(120,20,28,.25)}
.s2047-menu-grid button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}

/* v2.23.7 save health diagnostics */
.s2047-menu-grid button[data-action="check-save-health"]{border-color:rgba(112,224,255,.55);background:rgba(17,74,92,.35)}

/* v2.23.8 automatic save repair */

/* v2.24.6 save search, filter and sorting */
.s2047-save-search{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(150px,1fr) auto minmax(140px,.7fr) auto minmax(130px,.65fr);gap:8px;align-items:center;padding:10px 12px;border:1px solid rgba(121,214,255,.35);border-radius:12px;background:rgba(37,113,154,.14)}
.s2047-save-search label{font-size:12px;font-weight:700;color:#dff7ff}
.s2047-save-search input,.s2047-save-search select{min-width:0;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#102c3d;color:#fff;padding:9px 10px;font:inherit}
.s2047-save-search input::placeholder{color:#b7ccd6}
#s2047-save-filter-status{grid-column:1/-1;font-size:12px;color:#dff7ff}
.s2047-menu-grid button[hidden]{display:none!important}
@media(max-width:640px){.s2047-save-search{grid-template-columns:1fr}.s2047-save-search label{margin-top:2px}}


/* v2.25.8 Nouala district event calendar */
.s2047-event-calendar-list{display:grid;gap:12px;margin-top:14px;max-height:min(58vh,560px);overflow:auto;padding-right:4px}
.s2047-event-card{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px;background:rgba(255,255,255,.055)}
.s2047-event-card h3{margin:0 0 6px;color:#ffe27a}
.s2047-event-card p{margin:5px 0}
.s2047-event-card.is-live{border-color:#ffd84d;box-shadow:0 0 0 2px rgba(255,216,77,.18) inset}
.s2047-event-card.is-complete{background:rgba(89,186,126,.11)}
.s2047-event-status{font-weight:800;letter-spacing:.03em}
.s2047-event-card.is-live .s2047-event-status{color:#ffd84d}
.s2047-event-card.is-complete .s2047-event-status{color:#8ee3aa}
.s2047-event-card button{margin-top:8px}

/* v2.26.0 Nouala Festival Passport */
.s2047-festival-passport{margin:0 0 18px;padding:16px;border:1px solid rgba(255,216,77,.45);border-radius:14px;background:linear-gradient(145deg,rgba(22,39,58,.96),rgba(8,21,35,.96));box-shadow:inset 0 0 24px rgba(255,216,77,.06)}
.s2047-festival-passport h3{margin:0 0 6px;color:#ffe177}.s2047-festival-passport>p{margin:0 0 12px;line-height:1.45}
.s2047-festival-stamp{display:flex;align-items:center;gap:11px;margin:8px 0;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.045);opacity:.72}
.s2047-festival-stamp.is-current{outline:1px solid rgba(255,225,119,.55);opacity:1}.s2047-festival-stamp.is-earned{opacity:1;background:rgba(74,180,117,.11)}
.s2047-festival-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:2px solid;border-radius:50%;font-size:20px;font-weight:900}
.s2047-festival-stamp strong,.s2047-festival-stamp small{display:block}.s2047-festival-stamp small{margin-top:2px;color:#bdd0df}
.s2047-festival-complete{margin:12px 0 0!important;padding:10px;border-radius:9px;background:rgba(74,180,117,.16);color:#b9ffd1;font-weight:800}

.s2047-festival-countdown{padding:9px 10px;border-left:4px solid #ffe177;background:rgba(255,225,119,.08);color:#fff3b0;font-weight:700}
.s2047-festival-waypoint{width:100%;margin-top:10px;padding:10px 12px;border:1px solid rgba(255,225,119,.6);border-radius:9px;background:#263e55;color:#fff;font-weight:800;cursor:pointer}.s2047-festival-waypoint:hover,.s2047-festival-waypoint:focus-visible{background:#34516d;outline:2px solid #ffe177;outline-offset:2px}


/* v2.26.2 Festival Keepsake Display */
.s2047-festival-stamp{position:relative;flex-wrap:wrap}
.s2047-festival-stamp.is-worn{box-shadow:inset 0 0 0 2px rgba(255,225,119,.72),0 0 16px rgba(255,225,119,.14)}
.s2047-festival-stamp>span:nth-child(2){flex:1;min-width:160px}
.s2047-festival-wear{margin-left:auto;padding:7px 10px;border:1px solid rgba(255,225,119,.55);border-radius:8px;background:#1e3549;color:#fff;font-weight:800;cursor:pointer}
.s2047-festival-wear:hover,.s2047-festival-wear:focus-visible{background:#31516b;outline:2px solid #ffe177;outline-offset:2px}


/* v2.26.3 Festival Hall of Fame */
.s2047-festival-hall{margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(4,16,28,.55)}
.s2047-festival-hall h3{margin:0 0 5px}.s2047-festival-hall-progress{margin:0 0 10px;opacity:.82}
.s2047-festival-hall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.s2047-festival-hall-card{padding:9px;border:2px dashed rgba(255,255,255,.22);border-radius:9px;opacity:.58;background:rgba(255,255,255,.035)}
.s2047-festival-hall-card.is-earned{border-style:solid;opacity:1;background:rgba(255,215,95,.09)}
.s2047-festival-hall-card strong,.s2047-festival-hall-card small{display:block}.s2047-festival-hall-card small{margin-top:3px;opacity:.8}
.s2047-festival-ambassador{text-align:center;font-weight:800;letter-spacing:.05em;color:#ffe28a;margin:12px 0 0}
@media(max-width:640px){.s2047-festival-hall-grid{grid-template-columns:1fr}}


/* v2.26.4 Festival Memory Book */
.s2047-festival-memory-note{width:100%;min-height:58px;margin-top:8px;resize:vertical;box-sizing:border-box;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(5,20,33,.82);color:#fff;padding:8px;font:inherit;line-height:1.35}
.s2047-festival-memory-note::placeholder{color:#9db1bf}.s2047-festival-memory-note:focus{outline:2px solid #ffe177;outline-offset:1px}
.s2047-festival-note-save{width:100%;margin-top:6px;padding:7px 9px;border:1px solid rgba(255,225,119,.52);border-radius:8px;background:#263e55;color:#fff;font-weight:800;cursor:pointer}
.s2047-festival-note-save:hover,.s2047-festival-note-save:focus-visible{background:#365873;outline:2px solid #ffe177;outline-offset:2px}


/* v2.26.5 Festival Memory Curator */
.s2047-festival-curator{margin-top:14px;padding:12px;border:1px solid rgba(255,215,96,.55);border-radius:10px;background:rgba(44,32,8,.72)}
.s2047-festival-curator p{margin:0 0 9px;line-height:1.45}
.s2047-festival-curator strong{display:block;color:#ffe58a}
.s2047-festival-curator-claim{font-weight:700}


/* v2.26.6 Festival Memory Book export */
.s2047-festival-memory-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.s2047-festival-memory-actions button{flex:1 1 170px;min-height:40px;border:1px solid rgba(255,215,120,.65);border-radius:10px;background:linear-gradient(180deg,#314b65,#1b2d40);color:#fff;font-weight:700;cursor:pointer}
.s2047-festival-memory-actions button:hover,.s2047-festival-memory-actions button:focus-visible{background:linear-gradient(180deg,#416783,#24425b);outline:2px solid #ffd86a;outline-offset:2px}

/* v2.26.7 Festival Memory Data Transfer */
.s2047-festival-memory-actions{display:flex;flex-wrap:wrap;gap:8px}.s2047-festival-memory-actions button{flex:1 1 150px}


/* v2.26.8 Festival Import Preview & Undo */
.s2047-festival-memory-actions button:last-child{border-color:rgba(255,180,120,.7);background:linear-gradient(180deg,#60402e,#3b261c)}
.s2047-festival-memory-actions button:last-child:hover,.s2047-festival-memory-actions button:last-child:focus-visible{background:linear-gradient(180deg,#80583f,#4e3224)}

.s2047-festival-memory-archive{margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(7,13,30,.72)}
.s2047-festival-memory-archive h4{margin:0 0 4px}.s2047-festival-memory-archive>p{margin:0 0 10px;opacity:.8}
.s2047-festival-archive-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(6,auto);gap:8px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.12)}
.s2047-festival-archive-row span{display:flex;flex-direction:column;min-width:0}.s2047-festival-archive-row small{opacity:.72}
@media(max-width:760px){.s2047-festival-archive-row{grid-template-columns:1fr 1fr}.s2047-festival-archive-row span{grid-column:1/-1}.s2047-festival-archive-row button{width:100%}}

.s2047-festival-archive-row.is-pinned{background:rgba(255,215,64,.08);border-radius:8px;padding-left:8px;padding-right:8px}
.s2047-festival-archive-row button[aria-pressed="true"]{font-weight:700;box-shadow:0 0 0 2px rgba(255,215,64,.45) inset}
.s2047-festival-archive-row button:disabled{opacity:.45;cursor:not-allowed}

/* v2.27.5 archive collections */
.s2047-festival-archive-collection{margin-top:10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.025);overflow:hidden}
.s2047-festival-archive-collection>summary{cursor:pointer;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:rgba(255,255,255,.05)}
.s2047-festival-archive-collection>summary small{opacity:.72;text-align:right}
.s2047-festival-archive-collection .s2047-festival-archive-row{padding-left:10px;padding-right:10px;grid-template-columns:minmax(0,1fr) repeat(7,auto)}
@media(max-width:760px){.s2047-festival-archive-collection>summary{align-items:flex-start;flex-direction:column}.s2047-festival-archive-collection>summary small{text-align:left}.s2047-festival-archive-collection .s2047-festival-archive-row{grid-template-columns:1fr 1fr}}

.s2047-festival-collection-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px 10px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}
.s2047-festival-collection-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.s2047-festival-collection-actions{justify-content:stretch;flex-direction:column}.s2047-festival-collection-actions button{width:100%}}


/* v2.27.7 archive collection search and statistics */
.s2047-archive-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,auto) auto;gap:8px;align-items:center;margin:10px 0;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(0,0,0,.16)}
.s2047-archive-tools input,.s2047-archive-tools select{min-width:0;padding:9px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#0b1d2d;color:#fff}
.s2047-archive-result-count{font-size:.86rem;opacity:.78;white-space:nowrap}
.s2047-festival-archive-row[hidden],.s2047-festival-archive-collection[hidden]{display:none!important}
@media(max-width:760px){.s2047-archive-tools{grid-template-columns:1fr}.s2047-archive-result-count{white-space:normal}}


/* v2.27.8 archive tags */
.s2047-archive-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.s2047-archive-tags em{font-style:normal;font-size:11px;line-height:1.2;padding:3px 7px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:#fff4b5}

/* v2.27.9 archive tag filtering */
.s2047-archive-tag-filter{min-width:145px}
.s2047-archive-tags em[role=button]{cursor:pointer;transition:transform .12s ease,filter .12s ease}
.s2047-archive-tags em[role=button]:hover,.s2047-archive-tags em[role=button]:focus{transform:translateY(-1px);filter:brightness(1.18);outline:2px solid currentColor;outline-offset:2px}
@media(max-width:720px){.s2047-archive-tag-filter{width:100%;min-width:0}}


/* v2.28.0 bulk archive tagging */
.s2047-archive-bulk-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 14px;padding:10px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(0,0,0,.18)}
.s2047-archive-selection-count{margin-left:auto;font-size:12px;font-weight:700;opacity:.85}
.s2047-archive-select{width:18px;height:18px;flex:0 0 auto;accent-color:#ffd95a;cursor:pointer}
.s2047-archive-bulk-action:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.s2047-archive-selection-count{width:100%;margin-left:0}.s2047-archive-bulk-tools button{flex:1 1 calc(50% - 8px)}}


/* v2.28.1 bulk archive organisation */
.s2047-archive-bulk-tools .s2047-archive-bulk-action{min-width:108px}
@media(max-width:720px){.s2047-archive-bulk-tools .s2047-archive-bulk-action{min-width:0}}


/* v2.28.2 bulk archive transfer and cleanup */
.s2047-archive-bulk-delete:not(:disabled) { border-color: rgba(255, 120, 120, .8); }
.s2047-archive-bulk-delete:not(:disabled):hover { background: rgba(150, 24, 36, .35); }

/* v3.15.3 responsive dialogue and speech text */
.s2047-dialogue{width:min(560px,calc(100vw - 28px));max-height:min(62vh,520px);overflow:auto;overflow-wrap:anywhere;word-break:normal}
.s2047-dialogue h2{padding-right:40px;overflow-wrap:anywhere}
.s2047-dialogue p{font-size:clamp(1rem,2.8vw,1.15rem);line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.s2047-dialogue button{width:100%}
@media(max-width:720px){.s2047-dialogue{left:14px;right:14px;width:auto;bottom:calc(176px + env(safe-area-inset-bottom));transform:none;padding:18px;max-height:44vh}.s2047-dialogue h2{font-size:1.1rem;margin-bottom:8px}.s2047-dialogue p{font-size:1rem;line-height:1.45}.s2047-dialogue button{margin-top:14px}}
@media(max-width:390px){.s2047-dialogue{bottom:calc(166px + env(safe-area-inset-bottom));padding:15px;max-height:42vh}.s2047-dialogue p{font-size:.96rem}}


/* 3.16.1 searchable conversation history */
.s2047-speech-tools{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr));gap:.65rem;align-items:end;margin:.75rem 0}
.s2047-speech-tools label{display:grid;gap:.28rem;font-weight:700}
.s2047-speech-tools input[type="search"],.s2047-speech-tools select{width:100%;min-width:0;padding:.6rem .7rem;border:1px solid rgba(255,255,255,.28);border-radius:.65rem;background:#102536;color:#fff}
.s2047-speech-favourites{display:flex!important;align-items:center;gap:.5rem;grid-column:1/-1;font-weight:600!important}
.s2047-speech-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.s2047-speech-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.s2047-speech-entry.is-bookmarked{outline:2px solid #f2cf4e;outline-offset:-2px}
.s2047-speech-bookmark{white-space:nowrap;padding:.45rem .6rem;font-size:.85rem}
#s2047-speech-history-summary{font-weight:700;margin:.4rem 0}
@media(max-width:680px){.s2047-speech-tools{grid-template-columns:1fr}.s2047-speech-favourites{grid-column:auto}.s2047-speech-entry-head{align-items:stretch;flex-direction:column}.s2047-speech-bookmark{align-self:flex-start}}


/* 3.16.2 conversation notes and portable archive */
.s2047-speech-notes{margin-top:.65rem;border-top:1px solid rgba(255,255,255,.14);padding-top:.55rem}
.s2047-speech-notes summary{cursor:pointer;font-weight:700}
.s2047-speech-notes label{display:block;margin-top:.55rem;font-weight:700}
.s2047-speech-notes textarea,.s2047-speech-notes input{box-sizing:border-box;width:100%;margin-top:.25rem;border:1px solid rgba(255,255,255,.24);border-radius:.55rem;background:#111d2a;color:#fff;padding:.62rem;font:inherit}
.s2047-speech-notes button{margin-top:.55rem}
.s2047-speech-actions{display:flex;flex-wrap:wrap;gap:.55rem}
@media(max-width:560px){.s2047-speech-actions button{flex:1 1 100%}}


/* 3.16.3 speech accessibility controls */
.s2047-speech-accessibility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.75rem 0;padding:.75rem;border:1px solid rgba(255,255,255,.25);border-radius:12px}
.s2047-speech-accessibility legend{font-weight:700;padding:0 .35rem}
.s2047-speech-accessibility label{display:grid;gap:.25rem}
.s2047-speech-accessibility select{width:100%;padding:.55rem;border-radius:8px}
.s2047-speech-accessibility button{align-self:end}
@media (max-width:600px){.s2047-speech-accessibility{grid-template-columns:1fr}}


/* 3.16.4 speech replay and hold controls */
.s2047-speech-entry-actions,.s2047-speech-playback-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.s2047-speech-replay{white-space:nowrap;padding:.45rem .65rem;font-size:.85rem}
.s2047-speech-playback-actions{grid-column:1/-1}
@media(max-width:560px){.s2047-speech-entry-actions{width:100%}.s2047-speech-entry-actions button,.s2047-speech-playback-actions button{flex:1 1 auto}}


/* 3.16.7 conversation clue board */
.s2047-speech-clue[aria-pressed="true"]{border-color:#8fe9ff;background:rgba(42,139,168,.28)}
.s2047-clue-controls{display:flex;flex-wrap:wrap;gap:.55rem;margin:.7rem 0}
.s2047-clue-board{margin:.8rem 0;padding:.8rem;border:1px solid rgba(143,233,255,.4);border-radius:12px;background:rgba(8,28,43,.72)}
.s2047-clue-board h3{margin-top:0}
#s2047-clue-board-list{display:grid;gap:.8rem}
.s2047-clue-group{display:grid;gap:.5rem}
.s2047-clue-group>h3{margin:0;font-size:1rem;color:#bcefff}
.s2047-clue-card{display:grid;gap:.35rem;padding:.65rem;border-left:4px solid #8fe9ff;border-radius:8px;background:rgba(255,255,255,.07)}
.s2047-clue-card p{margin:0;overflow-wrap:anywhere}
.s2047-clue-card small{opacity:.8}
.s2047-clue-card button{justify-self:start}
@media(max-width:560px){.s2047-clue-controls button{flex:1 1 100%}.s2047-clue-card button{width:100%}}

/* v3.16.8: Clue case folders and responsive filing controls. */
.s2047-case-controls{display:grid;grid-template-columns:minmax(0,2fr) auto minmax(0,1fr);gap:.55rem;align-items:end;margin:.65rem 0 1rem}
.s2047-case-controls label{display:grid;gap:.25rem}
.s2047-case-controls input,.s2047-case-controls select,.s2047-clue-card-controls select{min-width:0;width:100%;padding:.55rem;border-radius:8px;border:1px solid rgba(143,233,255,.45);background:#0c2232;color:#fff}
.s2047-clue-card-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.s2047-clue-card-controls select{flex:1 1 170px}
@media(max-width:650px){.s2047-case-controls{grid-template-columns:1fr}.s2047-case-controls button{width:100%}.s2047-clue-card-controls>*{width:100%;flex-basis:100%}}

/* v3.16.9 case progress tracker */
.s2047-case-help{margin:.15rem 0 .7rem;color:#cfeaf5}
.s2047-case-heading{display:flex;gap:.6rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.s2047-case-heading h3{margin:.2rem 0}
.s2047-case-progress-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.s2047-case-progress-controls select,.s2047-case-progress-controls button{padding:.48rem .58rem;border-radius:8px;border:1px solid rgba(143,233,255,.45);background:#0c2232;color:#fff}
.s2047-clue-group[data-status="solved"]{border-color:rgba(132,255,178,.58);background:rgba(15,63,48,.38)}
.s2047-clue-group[data-priority="high"]>.s2047-case-heading h3::before{content:"! ";color:#ffd75e}
.s2047-clue-group[data-status="solved"]>.s2047-case-heading h3::before{content:"✓ ";color:#91ffbd}
@media(max-width:650px){.s2047-case-heading{display:block}.s2047-case-progress-controls{display:grid;grid-template-columns:1fr 1fr}.s2047-case-progress-controls select,.s2047-case-progress-controls button{width:100%}}

/* v3.17.2 evidence timeline controls are styled in style.css. */


/* v3.17.3 case suspects and action plan */
.s2047-case-actions{display:grid;gap:.55rem;padding:.7rem;border:1px solid rgba(143,233,255,.28);border-radius:10px;background:rgba(4,20,31,.38)}
.s2047-case-action-list{display:grid;gap:.4rem}
.s2047-case-action-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.45rem .5rem;border-radius:8px;background:rgba(255,255,255,.05)}
.s2047-case-action-row.is-done span{text-decoration:line-through;opacity:.72}
.s2047-case-action-row button,.s2047-case-action-add button{padding:.45rem .6rem;border-radius:8px;border:1px solid rgba(143,233,255,.45);background:#0c2232;color:#fff}
.s2047-case-action-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}
.s2047-case-action-add input{min-width:0;width:100%;padding:.55rem;border-radius:8px;border:1px solid rgba(143,233,255,.45);background:#0c2232;color:#fff}
@media(max-width:650px){.s2047-case-action-add{grid-template-columns:1fr}.s2047-case-action-add button{width:100%}.s2047-case-action-row{grid-template-columns:auto minmax(0,1fr)}.s2047-case-action-row button{grid-column:2;justify-self:start}}


/* v3.17.4 case deadlines and automatic progress */
.s2047-case-logistics{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);gap:10px;align-items:end}
.s2047-case-logistics label{min-width:0}
.s2047-date-wrap{display:flex;width:100%;min-width:0;border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:7px 9px;background:rgba(0,0,0,.22)}
.s2047-date-wrap input{display:block;width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:0}
.s2047-deadline-note{grid-column:1/-1;margin:0;font-weight:700}
.s2047-clue-group[data-deadline="overdue"]{outline:2px solid rgba(255,95,95,.9)}
.s2047-clue-group[data-deadline="due-today"],.s2047-clue-group[data-deadline="due-soon"]{outline:2px solid rgba(255,205,74,.85)}
.s2047-auto-progress{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;padding:6px 8px!important}
.s2047-auto-progress input{width:auto!important;margin:0}
@media(max-width:620px){.s2047-case-logistics{grid-template-columns:1fr}.s2047-deadline-note{grid-column:auto}.s2047-auto-progress{width:100%;justify-content:flex-start}}

/* 3.17.5 Case Command Centre */
.s2047-case-command-controls{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.55rem;align-items:end;padding:.75rem;margin:.4rem 0 .75rem;border:1px solid rgba(143,233,255,.3);border-radius:12px;background:rgba(4,20,31,.5)}
.s2047-case-command-controls label{display:grid;gap:.25rem;min-width:0}
.s2047-case-command-controls select,.s2047-case-command-controls button{min-width:0;width:100%;padding:.55rem;border-radius:8px;border:1px solid rgba(143,233,255,.45);background:#0c2232;color:#fff}
.s2047-case-command-controls .s2047-case-hide-solved{display:flex;align-items:center;gap:.45rem;padding:.55rem 0}
.s2047-case-command-controls .s2047-case-hide-solved input{width:auto}
.s2047-case-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.45rem 0 .85rem}
.s2047-case-dashboard-card{display:grid;gap:.1rem;padding:.65rem;border:1px solid rgba(143,233,255,.28);border-radius:10px;background:rgba(255,255,255,.05)}
.s2047-case-dashboard-card strong{font-size:1.25rem;color:#fff}.s2047-case-dashboard-card span{color:#cfeaf5}
.s2047-case-focus{grid-column:1/-1;text-align:left;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(255,215,94,.55);background:rgba(255,215,94,.12);color:#fff}
@media(max-width:760px){.s2047-case-command-controls{grid-template-columns:1fr 1fr}.s2047-case-dashboard{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.s2047-case-command-controls{grid-template-columns:1fr}.s2047-case-dashboard{grid-template-columns:1fr 1fr}}


/* v3.17.6 case activity timeline */
.s2047-case-activity{margin-top:.75rem;border-top:1px solid rgba(143,233,255,.24);padding-top:.65rem}
.s2047-case-activity summary{cursor:pointer;font-weight:700;color:#d9f8ff}
.s2047-case-activity ol{display:grid;gap:.45rem;margin:.6rem 0 0;padding-left:1.25rem}
.s2047-case-activity li{display:grid;grid-template-columns:minmax(135px,auto) 1fr;gap:.65rem;align-items:start}
.s2047-case-activity time{font-size:.82rem;color:#9fc7d8;white-space:nowrap}
.s2047-case-activity span{overflow-wrap:anywhere}
@media(max-width:520px){.s2047-case-activity li{grid-template-columns:1fr;gap:.1rem}.s2047-case-activity time{white-space:normal}}


/* 3.17.7 investigation snapshots */
.s2047-case-snapshots{margin-top:.75rem;border-top:1px solid rgba(143,233,255,.24);padding-top:.65rem}
.s2047-case-snapshots summary{cursor:pointer;font-weight:700;color:#d9f8ff}
.s2047-snapshot-tools{margin:.6rem 0}
.s2047-snapshot-list{display:grid;gap:.45rem}
.s2047-snapshot-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;align-items:center;padding:.5rem;border:1px solid rgba(143,233,255,.18);border-radius:.55rem;background:rgba(4,18,31,.42)}
.s2047-snapshot-row span{overflow-wrap:anywhere}
@media(max-width:520px){.s2047-snapshot-row{grid-template-columns:1fr 1fr}.s2047-snapshot-row span{grid-column:1/-1}.s2047-snapshot-row button{width:100%}}

/* v4.48.0 High-quality isometric sprite integration */
#s2047-canvas { image-rendering: auto; }

/* v4.55.0 Gameplay Integration Pass I */
.s2047-integration-worksite{width:min(620px,calc(100% - 24px));max-height:min(82vh,720px);overflow:auto}
.s2047-integration-meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.75rem 0}
.s2047-integration-meters span{padding:.55rem;border:1px solid rgba(143,233,255,.3);border-radius:.6rem;background:rgba(255,255,255,.06);text-align:center}
.s2047-integration-target{display:grid;grid-template-columns:140px 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(143,233,255,.35);border-radius:1rem;background:rgba(0,0,0,.2)}
.s2047-integration-target h3{margin:.1rem 0}.s2047-integration-target progress,.s2047-integration-progress progress{width:100%}
.s2047-integration-target-graphic{position:relative;height:130px;border-radius:16px;background:linear-gradient(145deg,#233f52,#0b1822);box-shadow:inset 0 0 0 3px rgba(143,233,255,.18),0 12px 28px rgba(0,0,0,.35)}
.s2047-integration-target-graphic:before,.s2047-integration-target-graphic:after{content:"";position:absolute;left:50%;transform:translateX(-50%);background:#8fe9ff;box-shadow:0 0 16px #8fe9ff}
.s2047-integration-target-graphic:before{top:18px;width:18px;height:78px;border-radius:8px}.s2047-integration-target-graphic:after{bottom:18px;width:84px;height:18px;border-radius:8px}
.s2047-integration-target[data-state="destroyed"] .s2047-integration-target-graphic{transform:rotate(8deg);filter:grayscale(.6);opacity:.65}.s2047-integration-target[data-state="cleared"] .s2047-integration-target-graphic{visibility:hidden}.s2047-integration-target[data-state="operational"] .s2047-integration-target-graphic{box-shadow:inset 0 0 0 3px rgba(143,233,255,.35),0 0 32px rgba(143,233,255,.32)}
.s2047-integration-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.8rem 0}.s2047-integration-actions button{padding:.65rem}.s2047-integration-progress{padding:.7rem;border-radius:.7rem;background:rgba(143,233,255,.1)}.s2047-integration-help{opacity:.78;font-size:.9rem}
.s2047-integration-fx{position:fixed;inset:0;z-index:75;pointer-events:none;overflow:hidden}.s2047-integration-fx i{position:absolute;left:50%;top:50%;display:block}
.s2047-fx-laser{width:55vw;height:4px;transform:translate(-70%,-50%) rotate(-12deg);background:#ffef72;box-shadow:0 0 9px #fff,0 0 22px #ffbe33;animation:s2047-fx-out .7s ease-out forwards}.s2047-fx-debris{width:18px;height:18px;border-radius:50%;background:#bd9162;box-shadow:45px -22px #8b6749,-38px 28px #d2aa79,62px 34px #72523d,-70px -15px #ab825e;animation:s2047-debris-out .7s ease-out forwards}.s2047-fx-collect,.s2047-fx-complete{width:90px;height:90px;border:5px solid #8fe9ff;border-radius:50%;transform:translate(-50%,-50%);animation:s2047-ring-out .7s ease-out forwards}
@keyframes s2047-fx-out{to{opacity:0;transform:translate(-20%,-50%) rotate(-12deg) scaleX(.2)}}@keyframes s2047-debris-out{to{opacity:0;transform:translate(-50%,120px) rotate(180deg)}}@keyframes s2047-ring-out{to{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@media(max-width:620px){.s2047-integration-meters{grid-template-columns:1fr 1fr}.s2047-integration-target{grid-template-columns:1fr}.s2047-integration-target-graphic{height:95px}.s2047-integration-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.s2047-integration-fx i{animation-duration:.01ms!important}.s2047-integration-target-graphic{transform:none!important}}


/* v4.55.6 Gameplay Integration Pass VII */
.s2047-service-impact{margin:.8rem 0;padding:.8rem;border:1px solid rgba(143,233,255,.28);border-radius:.8rem;background:rgba(4,18,31,.42)}
.s2047-service-impact h3{margin:0 0 .55rem}.s2047-service-impact p{margin:.6rem 0 0;font-size:.86rem;opacity:.86}
.s2047-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.s2047-service-card{display:grid;gap:.2rem;padding:.55rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.16)}
.s2047-service-card span{font-size:.78rem}.s2047-service-card.is-online{background:rgba(66,210,130,.13);border-color:rgba(100,255,166,.4)}.s2047-service-card.is-outage{background:rgba(255,89,89,.13);border-color:rgba(255,113,113,.45)}.s2047-service-card.is-bypass{background:rgba(255,201,82,.14);border-color:rgba(255,213,115,.5)}
.s2047-field-events .event-bypass{border-left:3px solid #ffd573}
@media(max-width:520px){.s2047-service-grid{grid-template-columns:1fr}}


/* v4.55.7 Gameplay Integration Pass VIII */
.s2047-outage-consequences{margin:.8rem 0;padding:.8rem;border:1px solid rgba(255,255,255,.18);border-radius:.8rem;background:rgba(4,18,31,.48)}
.s2047-outage-consequences h3{display:flex;justify-content:space-between;gap:.7rem;margin:0 0 .5rem}.s2047-outage-consequences ul{margin:.3rem 0 0;padding-left:1.15rem}.s2047-outage-consequences li{margin:.35rem 0}.s2047-outage-consequences em{display:inline-block;margin-left:.3rem;color:#ffd573}
.s2047-outage-consequences strong[id*=severity]{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;padding:.25rem .45rem;border-radius:999px}
.severity-stable{background:rgba(66,210,130,.18);color:#9effc7}.severity-strained{background:rgba(255,213,115,.16);color:#ffe39a}.severity-critical,.severity-emergency{background:rgba(255,89,89,.18);color:#ffaaaa}
.s2047-field-events .event-emergency{border-left:3px solid #ffb057}.s2047-field-events .event-reward{border-left:3px solid #7bffb2}


/* v4.55.8 Gameplay Integration Pass IX */
.s2047-emergency-mission{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0;padding:.85rem 1rem;border:1px solid rgba(255,214,64,.55);border-radius:12px;background:rgba(21,28,44,.92)}
.s2047-emergency-mission h3,.s2047-emergency-mission p{margin:.15rem 0}.s2047-emergency-mission>strong{font-size:1.15rem;white-space:nowrap}
.s2047-emergency-mission[data-status="critical"]{animation:s2047MissionPulse 1s ease-in-out infinite;border-color:#ff7066}.s2047-emergency-mission[data-status="failed"]{border-color:#b86b6b;opacity:.85}
@keyframes s2047MissionPulse{50%{transform:scale(1.01);box-shadow:0 0 18px rgba(255,90,70,.35)}}
.event-mission span,.event-mission-complete span{font-weight:700}.event-mission-fail span{font-weight:700;color:#ffb0a8}
@media(max-width:680px){.s2047-emergency-mission{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.s2047-emergency-mission[data-status="critical"]{animation:none}}


/* v4.55.9 Gameplay Integration Pass X */
.s2047-incident-command{margin:.8rem 0;padding:.8rem;border:1px solid rgba(255,176,87,.42);border-radius:.8rem;background:rgba(22,20,34,.72)}
.s2047-incident-command h3{margin:0 0 .55rem}.s2047-incident-command>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.s2047-incident-command span{display:grid;gap:.15rem;padding:.55rem;border-radius:.6rem;background:rgba(255,255,255,.06);font-size:.78rem}.s2047-incident-command strong{font-size:.95rem;color:#ffe39a}
.s2047-field-events .event-escalation{border-left:3px solid #ff7066}.s2047-field-events .event-mutual-aid{border-left:3px solid #8fe9ff}
@media(max-width:680px){.s2047-incident-command>div{grid-template-columns:1fr 1fr}}

/* v4.56.0 Gameplay Integration Pass XI */
.s2047-command-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.s2047-command-buttons button{border:1px solid rgba(255,216,77,.55);background:rgba(9,28,47,.88);color:#fff;padding:.55rem .75rem;border-radius:.55rem}.s2047-command-buttons button:disabled{opacity:.45}.s2047-field-events .event-secondary span{color:#b8ffbd}.s2047-field-events .event-secondary-fail span{color:#ffd0a3}@media(max-width:680px){.s2047-command-buttons button{flex:1 1 30%}}


/* v4.56.1 regional service network */
.s2047-regional-network{margin:.8rem 0;padding:.8rem;border:1px solid rgba(123,219,255,.28);border-radius:14px;background:rgba(3,20,35,.72)}
.s2047-regional-network h3{margin:.1rem 0 .65rem}
.s2047-regional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.s2047-regional-grid article{display:grid;gap:.25rem;padding:.6rem;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.04)}
.s2047-regional-grid article[data-state="critical"]{border-color:rgba(255,94,94,.75)}
.s2047-regional-grid article[data-state="disrupted"]{border-color:rgba(255,193,75,.65)}
.s2047-regional-grid small{opacity:.78}.s2047-regional-grid progress{width:100%}
.s2047-regional-ratings{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.s2047-regional-ratings span{padding:.35rem .5rem;border-radius:999px;background:rgba(255,255,255,.07)}
.s2047-regional-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.65rem 0}.s2047-world-event-log{display:grid;gap:.35rem;margin:.5rem 0 0;padding-left:1.25rem}.s2047-world-event-log li{display:grid;gap:.1rem}.s2047-world-event-log span{opacity:.8}
@media(max-width:720px){.s2047-regional-grid{grid-template-columns:1fr}}


/* v4.56.2 regional recovery coordination */
.s2047-regional-stores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.65rem 0}
.s2047-regional-stores article{display:grid;gap:.3rem;padding:.6rem;border:1px solid rgba(143,233,255,.22);border-radius:.7rem;background:rgba(255,255,255,.045)}
.s2047-regional-stores button{margin-top:.2rem;padding:.45rem}.s2047-regional-network h4{margin:.75rem 0 .35rem}
.s2047-recovery-plan{display:grid;gap:.4rem;margin:.3rem 0;padding-left:1.25rem}.s2047-recovery-plan li{display:grid;gap:.1rem;padding:.45rem;border-left:3px solid #ffd573;background:rgba(255,255,255,.035)}
.s2047-recovery-plan li[data-status="queued"]{border-left-color:#8fe9ff}.s2047-world-event-log li.is-active{border-left:3px solid #ff7066;padding-left:.5rem}.s2047-world-event-log li.is-resolved{opacity:.68}
.s2047-field-events .event-transfer{border-left:3px solid #9effc7}.s2047-field-events .event-coordination{border-left:3px solid #c5a6ff}
@media(max-width:720px){.s2047-regional-stores{grid-template-columns:1fr}}

/* v5.12.23 Explorer Photo Journal — real photograph gallery */
.s2047-photo-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}
.s2047-photo-row{grid-template-columns:1fr;align-content:start;height:100%;padding:10px}
.s2047-photo-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;padding:0;overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.24);background:#071929;cursor:pointer}
.s2047-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.s2047-photo-row>div:last-child{grid-column:auto;display:grid;grid-template-columns:1fr;gap:7px}
#s2047-photo-viewer{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
#s2047-photo-viewer[hidden]{display:none!important}.s2047-photo-viewer-shade{position:absolute;inset:0;border:0;background:rgba(0,4,10,.9)}
#s2047-photo-viewer figure{position:relative;z-index:1;margin:0;width:min(980px,100%);max-height:100%;display:flex;flex-direction:column;overflow:auto;border:1px solid #4ba9ca;border-radius:14px;background:#071827;box-shadow:0 22px 80px rgba(0,0,0,.9)}
#s2047-photo-viewer img{display:block;width:100%;height:auto;max-height:calc(100vh - 130px);object-fit:contain;background:#02070c}
#s2047-photo-viewer figcaption{padding:12px 56px 12px 14px;color:#eef8ff;font-weight:700}
.s2047-photo-viewer-close{position:absolute;right:8px;top:8px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(2,9,15,.86);color:#fff;font-size:30px;line-height:1}
@media(max-width:620px){.s2047-photo-list{grid-template-columns:1fr}.s2047-photo-row{grid-template-columns:1fr}.s2047-photo-thumb{width:100%;height:auto}.s2047-photo-row>div:last-child{grid-column:auto}}

/* v5.94.8 — full-screen mobile landscape and overlay HUD repair. */
@media (max-width: 760px), (pointer: coarse) {
  html, body, .s2047-game {
    width: 100% !important;
    height: 100% !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }
  .s2047-game {
    position: fixed !important;
    inset: 0 !important;
  }
  #s2047-canvas {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    z-index: 0 !important;
  }
  .s2047-minimap-wrap {
    top: max(118px, calc(env(safe-area-inset-top) + 104px)) !important;
    right: 8px !important;
    width: 104px !important;
    padding: 5px !important;
    background: rgba(3,13,24,.68) !important;
    backdrop-filter: blur(5px) !important;
  }
  .s2047-minimap-wrap canvas { width: 92px !important; height: 92px !important; }
  #s2047-mobile-dpad-v51234 .s2047-dpad,
  #s2047-mobile-labelled-actions .s2047-labelled-action,
  #s2047-mobile-labelled-actions > #s2047-universe-work-button {
    background-color: rgba(5,24,34,.70) !important;
    backdrop-filter: blur(4px) !important;
  }
  #s2047-mobile-dpad-v51234 .s2047-dpad {
    background: rgba(3,13,23,.58) !important;
  }
  #s2047-mobile-labelled-actions { width: min(232px,46vw) !important; }
}
@media (max-width: 430px) {
  #s2047-mobile-dpad-v51234 .s2047-dpad { width: 152px !important; height: 152px !important; }
  #s2047-mobile-labelled-actions { width: min(218px,48vw) !important; gap: 6px !important; }
  #s2047-mobile-labelled-actions .s2047-labelled-action { min-height: 46px !important; }
}


/* v5.95.0 completed Are We There Yet? interior and exterior take-off sequence */
.s2047-takeoff-sequence{position:fixed;inset:0;z-index:2147483600;background:#020817;overflow:hidden}.s2047-takeoff-sky{position:absolute;inset:0;background:linear-gradient(#05142b 0 52%,#314557 52% 64%,#1a2d24 64%)}.s2047-takeoff-stars{position:absolute;inset:0 0 48%;background-image:radial-gradient(circle at 12% 24%,#fff 0 1px,transparent 2px),radial-gradient(circle at 34% 12%,#fff 0 1px,transparent 2px),radial-gradient(circle at 66% 29%,#fff 0 1px,transparent 2px),radial-gradient(circle at 87% 15%,#fff 0 1px,transparent 2px);background-size:180px 140px}.s2047-takeoff-landscape{position:absolute;left:-5%;right:-5%;bottom:0;height:42%;background:linear-gradient(155deg,transparent 0 18%,#182d34 19% 34%,transparent 35%),linear-gradient(25deg,transparent 0 25%,#243d3c 26% 48%,transparent 49%),linear-gradient(#304a3d,#13251f)}.s2047-takeoff-ship{position:absolute;left:50%;bottom:17%;width:min(58vw,520px);height:min(22vw,190px);transform:translateX(-50%);border-radius:55% 55% 42% 42%;background:linear-gradient(#eef5f8,#8ba6b5);box-shadow:0 24px 35px rgba(0,0,0,.45),inset 0 -18px 0 #536b78}.s2047-takeoff-ship:before{content:"";position:absolute;left:24%;right:24%;top:-25%;height:46%;border-radius:50% 50% 15% 15%;background:#5b8099;border:5px solid #a9c3d0}.s2047-takeoff-ship:after{content:"";position:absolute;left:28%;right:28%;bottom:-38%;height:48%;background:radial-gradient(ellipse at 50% 0,#fff 0 13%,#7defff 20%,#3a91ff 42%,transparent 72%);opacity:.15;transition:opacity .4s}.s2047-takeoff-ship span{position:absolute;left:10%;right:10%;bottom:20%;padding:.35rem;text-align:center;background:#f2cf42;color:#1d2630;font-weight:950;letter-spacing:.08em}.s2047-takeoff-copy{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);width:min(92%,720px);padding:.8rem 1rem;text-align:center;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(1,10,22,.82)}.s2047-takeoff-copy strong,.s2047-takeoff-copy small{display:block}.s2047-takeoff-copy strong{font-size:clamp(1rem,2.3vw,1.5rem);color:#ffe177}.s2047-takeoff-copy small{margin-top:.25rem}.s2047-takeoff-sequence.is-launching .s2047-takeoff-ship{animation:s2047-liftoff 3.05s cubic-bezier(.35,.02,.72,.25) forwards}.s2047-takeoff-sequence.is-launching .s2047-takeoff-ship:after{opacity:1}@keyframes s2047-liftoff{0%{transform:translateX(-50%) translateY(0) scale(1)}30%{transform:translateX(-50%) translateY(-5vh) scale(1.02)}70%{transform:translateX(-50%) translateY(-52vh) scale(.72)}100%{transform:translateX(-50%) translateY(-115vh) scale(.28)}}

/* v5.97.0 — inventory overlay and close control repair */
#s2047-inventory.s2047-inventory {
  position: fixed !important;
  z-index: 2147483000 !important;
  isolation: isolate;
}
#s2047-inventory .s2047-panel-close {
  display: grid !important;
  place-items: center;
  position: sticky !important;
  float: right;
  top: max(10px, env(safe-area-inset-top)) !important;
  right: max(10px, env(safe-area-inset-right)) !important;
  z-index: 2147483647 !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  margin: 0 0 8px 12px;
  padding: 0 !important;
  border: 2px solid #ffe177 !important;
  border-radius: 14px !important;
  background: #071522 !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.55) !important;
  font-size: 2rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: auto !important;
}
#s2047-inventory .s2047-panel-close:active {
  transform: scale(.94);
}
@media (max-width: 760px) {
  #s2047-inventory.s2047-inventory {
    inset: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important;
    width: auto !important;
    max-height: none !important;
    transform: none !important;
    overflow: auto !important;
  }
}


/* SOURCE: assets/css/core-consolidation.css */
:root {
  --s2047-ui-gap: clamp(8px, 1.2vw, 14px);
  --s2047-ui-radius: 12px;
  --s2047-ui-layer: 900;
}

.s2047-core-consolidated .s2047-consolidated-panel {
  box-sizing: border-box;
  max-width: min(94vw, 760px);
  max-height: min(82vh, 760px);
  overflow: auto;
  overscroll-behavior: contain;
}

.s2047-core-consolidated button,
.s2047-core-consolidated [role="button"] {
  touch-action: manipulation;
}

.s2047-core-consolidated canvas {
  max-width: 100%;
}

@media (max-width: 720px) {
  .s2047-core-consolidated .s2047-consolidated-panel {
    width: calc(100vw - 16px);
    max-width: none;
    max-height: 78vh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .s2047-core-consolidated *,
  .s2047-core-consolidated *::before,
  .s2047-core-consolidated *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}


/* SOURCE: assets/css/living-infrastructure.css */
#s2047-living-infrastructure{position:fixed;right:14px;bottom:14px;z-index:9997;pointer-events:none;font:600 13px/1.35 system-ui,sans-serif;color:#eef8ff}.s2047-li-card{width:min(340px,calc(100vw - 28px));padding:12px;border:1px solid rgba(123,216,255,.38);border-radius:14px;background:rgba(4,18,31,.9);box-shadow:0 12px 40px rgba(0,0,0,.35);backdrop-filter:blur(10px)}.s2047-li-card header{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.s2047-li-card header span{opacity:.62;font-size:11px}.s2047-li-services{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.s2047-li-services .service{padding:7px 6px;border-radius:8px;background:rgba(255,255,255,.07);text-align:center}.s2047-li-services span,.s2047-li-services b{display:block}.s2047-li-services span{font-size:10px;opacity:.74}.s2047-li-services b{text-transform:uppercase;font-size:10px;margin-top:3px}.s2047-li-services .operational b{color:#75f0a0}.s2047-li-services .degraded b{color:#ffd76b}.s2047-li-services .isolated b{color:#79d8ff}.s2047-li-services .offline b{color:#ff8585}.s2047-li-reaction{margin:9px 0 0;font-weight:500;opacity:.88}.s2047-li-feed{margin:7px 0 0;padding:0;list-style:none;font-size:11px;opacity:.72}.s2047-li-feed li+li{margin-top:3px}.s2047-li-world i{position:fixed;pointer-events:none;opacity:0}.relay-degraded .s2047-li-sparks,.relay-offline .s2047-li-sparks{opacity:1;left:42%;top:38%;width:18px;height:18px;border-radius:50%;box-shadow:0 0 8px #9eeaff,12px -8px 0 -6px #fff,-11px 7px 0 -6px #7be8ff;animation:s2047spark .8s steps(2) infinite}.water-degraded .s2047-li-steam,.water-offline .s2047-li-steam{opacity:.65;left:54%;top:52%;width:46px;height:70px;background:radial-gradient(ellipse,rgba(210,240,255,.62),transparent 70%);animation:s2047steam 2.4s ease-in-out infinite}.beacon-degraded .s2047-li-signal,.beacon-offline .s2047-li-signal{opacity:.85;left:50%;top:31%;width:90px;height:90px;border:2px solid rgba(255,210,80,.65);border-radius:50%;animation:s2047signal 1.5s ease-out infinite}html[data-s2047-network="disrupted"] body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;background:linear-gradient(rgba(5,12,24,.08),rgba(5,12,24,.22));mix-blend-mode:multiply}html[data-s2047-water="offline"] .water,html[data-s2047-water="offline"] [class*="fountain"]{filter:saturate(.35) brightness(.7)}html[data-s2047-beacon="offline"] [class*="spaceport"],html[data-s2047-relay="offline"] [class*="screen"]{filter:brightness(.58) saturate(.55)}@keyframes s2047spark{50%{transform:scale(1.5) rotate(15deg)}}@keyframes s2047steam{50%{transform:translateY(-16px) scale(1.15);opacity:.25}}@keyframes s2047signal{to{transform:scale(1.8);opacity:0}}@media(max-width:700px){#s2047-living-infrastructure{right:8px;bottom:8px}.s2047-li-card{width:min(310px,calc(100vw - 16px));padding:9px}.s2047-li-feed{display:none}}@media(prefers-reduced-motion:reduce){.s2047-li-world i{animation:none!important}}


/* SOURCE: assets/css/living-infrastructure-2.css */
#s2047-living-infrastructure-2{position:fixed;right:14px;bottom:14px;z-index:9997;width:min(430px,calc(100vw - 28px));padding:12px;border:1px solid rgba(128,220,255,.38);border-radius:14px;background:rgba(3,14,26,.93);color:#f4fbff;box-shadow:0 16px 44px rgba(0,0,0,.38);font:13px/1.35 system-ui,sans-serif;backdrop-filter:blur(9px)}
#s2047-living-infrastructure-2 header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px;color:#ffe56b}#s2047-living-infrastructure-2 header span{font-size:11px;opacity:.75}.s2047-li2-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-li2-grid section{padding:8px;border-radius:9px;background:rgba(255,255,255,.055)}.s2047-li2-grid h3{margin:0 0 4px;font-size:12px;color:#8de7ff}.s2047-li2-grid p{margin:0 0 6px}.s2047-li2-grid meter{width:100%;height:9px}@media(max-width:680px){#s2047-living-infrastructure-2{left:8px;right:8px;bottom:8px;width:auto}.s2047-li2-grid{grid-template-columns:1fr;max-height:38vh;overflow:auto}}@media(prefers-reduced-motion:reduce){#s2047-living-infrastructure-2{backdrop-filter:none}}


/* SOURCE: assets/css/living-galaxy-foundations.css */
#s2047-living-galaxy{position:fixed;left:14px;bottom:14px;z-index:9996;width:min(460px,calc(100vw - 28px));padding:12px;border:1px solid rgba(167,128,255,.45);border-radius:14px;background:rgba(10,7,28,.94);color:#f7f4ff;box-shadow:0 16px 44px rgba(0,0,0,.42);font:13px/1.35 system-ui,sans-serif;backdrop-filter:blur(9px)}
#s2047-living-galaxy header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px;color:#ffe56b}#s2047-living-galaxy header span{font-size:11px;opacity:.75}.s2047-lg-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-lg-grid section{padding:8px;border-radius:9px;background:rgba(255,255,255,.055)}.s2047-lg-grid h3{margin:0 0 5px;font-size:12px;color:#cbb5ff}.s2047-lg-grid p{margin:0 0 6px}.s2047-lg-grid meter{width:100%;height:9px}.s2047-lg-grid [data-lg="routes"] p{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.08)}.s2047-lg-grid [data-lg="routes"] span{opacity:.78}
html[data-s2047-galaxy-trade="critical"] #s2047-living-galaxy{border-color:rgba(255,92,92,.75)}html[data-s2047-galaxy-trade="restricted"] #s2047-living-galaxy{border-color:rgba(255,196,86,.65)}
@media(max-width:980px){#s2047-living-galaxy{left:8px;bottom:8px;width:min(420px,calc(100vw - 16px))}}@media(max-width:680px){#s2047-living-galaxy{left:8px;right:8px;bottom:8px;width:auto}.s2047-lg-grid{grid-template-columns:1fr;max-height:36vh;overflow:auto}}@media(prefers-reduced-motion:reduce){#s2047-living-galaxy{backdrop-filter:none}}


/* SOURCE: assets/css/living-galaxy-economies.css */
#s2047-galaxy-economies{position:fixed;right:14px;bottom:14px;z-index:9995;width:min(480px,calc(100vw - 28px));padding:12px;border:1px solid rgba(94,220,255,.42);border-radius:14px;background:rgba(5,20,29,.95);color:#effcff;box-shadow:0 16px 44px rgba(0,0,0,.42);font:13px/1.35 system-ui,sans-serif;backdrop-filter:blur(9px)}#s2047-galaxy-economies header{display:flex;justify-content:space-between;gap:10px;color:#75e9ff;margin-bottom:9px}.s2047-ge-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-ge-grid section{padding:8px;border-radius:9px;background:rgba(255,255,255,.055)}.s2047-ge-grid section.wide{grid-column:1/-1}.s2047-ge-grid h3{margin:0 0 5px;font-size:12px;color:#ffdf72}.s2047-ge-grid p{margin:0 0 6px}.s2047-ge-grid button{border:0;border-radius:8px;padding:6px 9px;background:#ffe16a;color:#17120a;font-weight:700;cursor:pointer}@media(max-width:980px){#s2047-galaxy-economies{right:8px;bottom:8px;width:min(430px,calc(100vw - 16px))}}@media(max-width:680px){#s2047-galaxy-economies{display:none}}@media(prefers-reduced-motion:reduce){#s2047-galaxy-economies{backdrop-filter:none}}


/* SOURCE: assets/css/interplanetary-contracts.css */
#s2047-contract-office{position:fixed;right:16px;bottom:16px;z-index:10024;width:min(430px,calc(100vw - 24px));max-height:48vh;overflow:auto;background:rgba(5,16,31,.95);border:1px solid rgba(255,216,77,.55);border-radius:14px;color:#f7fbff;box-shadow:0 16px 40px rgba(0,0,0,.45);font-size:13px}
#s2047-contract-office header{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(255,216,77,.12);position:sticky;top:0;backdrop-filter:blur(8px)}
.s2047-ico-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.s2047-ico-grid section{padding:9px;border-radius:10px;background:rgba(255,255,255,.055)}.s2047-ico-grid h3{margin:0 0 6px;font-size:13px;color:#ffd84d}.s2047-ico-grid p{margin:5px 0}.s2047-ico-grid .actions{display:flex;gap:5px;flex-wrap:wrap}.s2047-ico-grid button{border:0;border-radius:7px;padding:6px 8px;background:#ffd84d;color:#09131e;font-weight:700;cursor:pointer}
@media(max-width:700px){#s2047-contract-office{right:8px;bottom:8px;max-height:42vh}.s2047-ico-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#s2047-contract-office *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* SOURCE: assets/css/trade-progression.css */
#s2047-trade-progression{position:fixed;left:16px;bottom:16px;z-index:10025;width:min(470px,calc(100vw - 24px));max-height:52vh;overflow:auto;background:rgba(6,15,31,.96);border:1px solid rgba(101,231,255,.55);border-radius:14px;color:#f7fbff;box-shadow:0 16px 42px rgba(0,0,0,.46);font-size:13px}
#s2047-trade-progression header{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(101,231,255,.12);position:sticky;top:0;z-index:1;backdrop-filter:blur(8px)}
.s2047-gtp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.s2047-gtp-grid section{padding:9px;border-radius:10px;background:rgba(255,255,255,.055)}.s2047-gtp-grid h3{margin:0 0 7px;color:#65e7ff;font-size:13px}.s2047-gtp-grid p{margin:5px 0}.s2047-gtp-grid .actions,.crew-row,.route-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.crew-row,.route-row{justify-content:space-between;margin:6px 0;padding:6px;border-radius:8px;background:rgba(255,255,255,.04)}.s2047-gtp-grid button{border:0;border-radius:7px;padding:6px 8px;background:#65e7ff;color:#07131f;font-weight:750;cursor:pointer}.s2047-gtp-grid button:disabled{opacity:.55;cursor:default}.state-complete{opacity:.7}.state-active{color:#fff4a8}.state-locked{opacity:.45}
@media(max-width:900px){#s2047-trade-progression{left:8px;bottom:8px;max-height:45vh}.s2047-gtp-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#s2047-trade-progression *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* SOURCE: assets/css/faction-campaigns-prestige.css */
#s2047-faction-campaigns{position:fixed;right:16px;bottom:16px;z-index:10026;width:min(500px,calc(100vw - 24px));max-height:54vh;overflow:auto;background:rgba(16,10,34,.96);border:1px solid rgba(209,157,255,.62);border-radius:14px;color:#fbf8ff;box-shadow:0 16px 42px rgba(0,0,0,.5);font-size:13px}
#s2047-faction-campaigns header{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(209,157,255,.13);position:sticky;top:0;z-index:1;backdrop-filter:blur(8px)}
.s2047-fcp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.s2047-fcp-grid section{padding:9px;border-radius:10px;background:rgba(255,255,255,.055)}.s2047-fcp-grid h3{margin:0 0 7px;color:#d19dff;font-size:13px}.s2047-fcp-grid p{margin:5px 0}.campaign-row,.crew-readiness,.capacity-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:6px 0;padding:7px;border-radius:8px;background:rgba(255,255,255,.045)}.campaign-row small{display:block;opacity:.72;margin-top:2px}.campaign-row.is-active{outline:1px solid rgba(255,230,132,.75);background:rgba(255,230,132,.08)}.s2047-fcp-grid button{border:0;border-radius:7px;padding:6px 8px;background:#d19dff;color:#160c28;font-weight:750;cursor:pointer}.s2047-fcp-grid button:disabled{opacity:.5;cursor:default}
@media(max-width:1100px){#s2047-faction-campaigns{right:8px;bottom:8px;max-height:46vh}.s2047-fcp-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#s2047-faction-campaigns *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* SOURCE: assets/css/diplomacy-prestige.css */
#s2047-diplomacy-launch{position:fixed;right:12px;bottom:72px;z-index:2147483000;border:1px solid #ffd84d;border-radius:999px;background:#081827;color:#fff;padding:9px 14px;font-weight:700}
.s2047-diplomacy-panel{display:none;position:fixed;right:12px;bottom:118px;z-index:2147483001;width:min(680px,calc(100vw - 24px));max-height:75vh;overflow:auto;background:rgba(4,15,27,.97);color:#f7fbff;border:1px solid rgba(255,216,77,.75);border-radius:14px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.s2047-diplomacy-panel.is-open{display:block}.s2047-diplomacy-panel header{display:flex;justify-content:space-between;align-items:center;font-size:18px}.s2047-diplomacy-panel header button{background:transparent;color:#fff;border:0;font-size:24px}.dp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dp-row,.dp-route,.dp-contract{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px;margin:7px 0;background:rgba(255,255,255,.06);border-radius:9px}.dp-row span,.dp-contract{display:flex;flex-direction:column}.dp-row small,.dp-contract span{opacity:.78}.dp-actions{display:flex;gap:8px;flex-wrap:wrap}.s2047-diplomacy-panel button,.s2047-diplomacy-panel select{border:1px solid rgba(255,216,77,.6);border-radius:7px;background:#102941;color:#fff;padding:7px 9px}@media(max-width:620px){.dp-grid{grid-template-columns:1fr}.s2047-diplomacy-panel{bottom:108px}}
@media(prefers-reduced-motion:reduce){.s2047-diplomacy-panel *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/alliance-operations.css */
#s2047-alliance-launch{position:fixed;right:12px;bottom:112px;z-index:2147482999;border:1px solid #72e2ff;border-radius:999px;background:#071a2b;color:#fff;padding:9px 14px;font-weight:700}.s2047-alliance-panel{display:none;position:fixed;right:12px;bottom:158px;z-index:2147483002;width:min(680px,calc(100vw - 24px));max-height:74vh;overflow:auto;background:rgba(3,17,31,.98);color:#f7fbff;border:1px solid rgba(114,226,255,.75);border-radius:14px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.s2047-alliance-panel.is-open{display:block}.s2047-alliance-panel header,.ao-row,.ao-active{display:flex;justify-content:space-between;align-items:center;gap:10px}.s2047-alliance-panel header button{background:transparent;border:0;color:#fff;font-size:24px}.ao-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ao-row,.ao-active{padding:9px;margin:7px 0;background:rgba(255,255,255,.06);border-radius:9px}.ao-active{flex-direction:column;align-items:flex-start}.ao-actions{display:flex;gap:8px;flex-wrap:wrap}.s2047-alliance-panel button{border:1px solid rgba(114,226,255,.65);border-radius:7px;background:#0d3049;color:#fff;padding:7px 9px;margin:3px}@media(max-width:620px){.ao-grid{grid-template-columns:1fr}.s2047-alliance-panel{bottom:148px}}@media(prefers-reduced-motion:reduce){.s2047-alliance-panel *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/galactic-governance.css */
#s2047-governance-launch{position:fixed;right:12px;bottom:158px;z-index:2147482999;border:1px solid #ffd66b;border-radius:999px;background:#231807;color:#fff;padding:9px 14px;font-weight:700}.s2047-governance-panel{display:none;position:fixed;right:12px;bottom:204px;z-index:2147483003;width:min(760px,calc(100vw - 24px));max-height:76vh;overflow:auto;background:rgba(20,13,3,.98);color:#fff8e9;border:1px solid rgba(255,214,107,.8);border-radius:14px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.55)}.s2047-governance-panel.is-open{display:block}.s2047-governance-panel header,.gov-card,.gov-sector div{display:flex;justify-content:space-between;align-items:center;gap:10px}.s2047-governance-panel header button{background:transparent;border:0;color:#fff;font-size:24px}.gov-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gov-actions{display:flex;gap:7px;flex-wrap:wrap}.s2047-governance-panel button{border:1px solid rgba(255,214,107,.65);border-radius:7px;background:#49310b;color:#fff;padding:7px 9px;margin:3px}.s2047-governance-panel button.is-active{background:#a66d09}.s2047-governance-panel button small{display:block;opacity:.8;margin-top:3px}.gov-card,.gov-sector div{padding:9px;margin:7px 0;background:rgba(255,255,255,.07);border-radius:9px}.gov-sector{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.gov-sector div{flex-direction:column;align-items:flex-start}@media(max-width:680px){.gov-grid{grid-template-columns:1fr}.gov-sector{grid-template-columns:1fr 1fr}.s2047-governance-panel{bottom:194px}}@media(prefers-reduced-motion:reduce){.s2047-governance-panel *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/sector-crisis-coordination.css */
#s2047-sector-crisis-launch{position:fixed;right:12px;bottom:112px;z-index:2147482999;border:1px solid #8ee8ff;border-radius:999px;background:#071f2b;color:#fff;padding:9px 14px;font-weight:700}.s2047-sector-crisis-panel{display:none;position:fixed;right:12px;bottom:158px;z-index:2147483004;width:min(720px,calc(100vw - 24px));max-height:78vh;overflow:auto;background:rgba(4,20,29,.98);color:#eefcff;border:1px solid rgba(142,232,255,.75);border-radius:14px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.55)}.s2047-sector-crisis-panel.is-open{display:block}.s2047-sector-crisis-panel header,.scc-card,.scc-grid div{display:flex;justify-content:space-between;align-items:center;gap:10px}.s2047-sector-crisis-panel header button{background:transparent;border:0;color:#fff;font-size:24px}.s2047-sector-crisis-panel button{border:1px solid rgba(142,232,255,.55);border-radius:7px;background:#12394a;color:#fff;padding:7px 9px;margin:3px}.s2047-sector-crisis-panel button.is-active{background:#08759b}.s2047-sector-crisis-panel button small{display:block;opacity:.78;margin-top:3px}.scc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.scc-grid div,.scc-card{padding:9px;margin:7px 0;background:rgba(255,255,255,.07);border-radius:9px}.scc-grid div{flex-direction:column;align-items:flex-start}.scc-actions{display:flex;gap:7px;flex-wrap:wrap}@media(max-width:680px){.scc-grid{grid-template-columns:1fr 1fr}.s2047-sector-crisis-panel{bottom:148px}}@media(prefers-reduced-motion:reduce){.s2047-sector-crisis-panel *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/sector-recovery-aftermath.css */
.s2047-recovery-panel{position:fixed;z-index:100060;right:18px;top:70px;width:min(430px,calc(100vw - 24px));max-height:calc(100vh - 95px);overflow:auto;padding:16px;border:1px solid rgba(255,216,77,.45);border-radius:14px;background:rgba(5,16,29,.96);color:#f7fbff;box-shadow:0 18px 50px rgba(0,0,0,.45);transform:translateX(calc(100% + 32px));transition:transform .22s ease}.s2047-recovery-panel.is-open{transform:none}.s2047-recovery-panel header{display:flex;justify-content:space-between;align-items:center}.s2047-recovery-panel h3{margin:16px 0 8px;color:#ffd84d}.s2047-recovery-panel button,#s2047-recovery-launch{border:1px solid rgba(255,216,77,.45);border-radius:9px;background:#10283e;color:#fff;padding:8px 10px;cursor:pointer}.s2047-recovery-panel button small{display:block;opacity:.7}.s2047-recovery-panel [data-sra-programmes]{display:grid;gap:7px}.sra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sra-grid>div,.sra-card{display:grid;gap:5px;padding:9px;border-radius:9px;background:rgba(255,255,255,.06)}.sra-actions{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}#s2047-recovery-launch{position:fixed;z-index:100059;right:18px;bottom:274px;background:#ffd84d;color:#071421;font-weight:700}@media(max-width:700px){.s2047-recovery-panel{right:12px;top:58px}.sra-grid{grid-template-columns:1fr}#s2047-recovery-launch{right:12px;bottom:250px}}@media(prefers-reduced-motion:reduce){.s2047-recovery-panel{transition:none}}


/* SOURCE: assets/css/infrastructure-renewal-planning.css */
.s2047-renewal-panel{position:fixed;z-index:100062;right:18px;top:70px;width:min(470px,calc(100vw - 24px));max-height:calc(100vh - 95px);overflow:auto;padding:16px;border:1px solid rgba(116,220,255,.5);border-radius:14px;background:rgba(5,16,29,.97);color:#f7fbff;box-shadow:0 18px 50px rgba(0,0,0,.48);transform:translateX(calc(100% + 34px));transition:transform .22s ease}.s2047-renewal-panel.is-open{transform:none}.s2047-renewal-panel header{display:flex;justify-content:space-between;align-items:center}.s2047-renewal-panel h3{margin:16px 0 8px;color:#74dcff}.s2047-renewal-panel button,#s2047-renewal-launch{border:1px solid rgba(116,220,255,.5);border-radius:9px;background:#10283e;color:#fff;padding:8px 10px;cursor:pointer}.sir-grid{display:grid;gap:8px}.sir-grid article,.sir-plan{display:grid;gap:6px;padding:10px;border-radius:10px;background:rgba(255,255,255,.06)}.sir-grid article div,.sir-actions{display:flex;gap:7px;flex-wrap:wrap}.sir-risk{font-weight:700}.sir-critical{color:#ff8686}.sir-high{color:#ffd36a}.sir-planned{color:#9ee6ff}.sir-stable{color:#9ff0b4}.sir-actions{margin-top:10px}#s2047-renewal-launch{position:fixed;z-index:100061;right:18px;bottom:226px;background:#74dcff;color:#071421;font-weight:700}@media(max-width:700px){.s2047-renewal-panel{right:12px;top:58px}#s2047-renewal-launch{right:12px;bottom:205px}}@media(prefers-reduced-motion:reduce){.s2047-renewal-panel{transition:none}}


/* SOURCE: assets/css/renewal-finance-programmes.css */
.s2047-capital-programme{position:fixed;z-index:10040;right:18px;top:76px;width:min(720px,calc(100vw - 36px));max-height:82vh;overflow:auto;padding:16px;border:1px solid rgba(150,220,255,.45);border-radius:16px;background:rgba(6,12,24,.96);color:#eef8ff;box-shadow:0 18px 55px rgba(0,0,0,.52);display:none}.s2047-capital-programme.is-open{display:block}.s2047-capital-programme header{display:flex;justify-content:space-between;align-items:center;font-size:1.05rem}.s2047-capital-programme button,.s2047-capital-programme select,#s2047-capital-launch{padding:.55rem .75rem;border:1px solid rgba(160,220,255,.45);border-radius:9px;background:#10233a;color:#fff}.s2047-capital-programme button:hover,#s2047-capital-launch:hover{background:#193b5e}.cp-meters,.cp-policy{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cp-meters span{padding:7px 9px;border-radius:9px;background:rgba(102,188,255,.1)}.cp-policy label{display:flex;gap:6px;align-items:center}.cp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cp-grid article{padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.045)}.cp-grid h3{margin:0 0 7px;font-size:.95rem}.cp-grid p{margin:.35rem 0}.cp-grid small{display:block;opacity:.75;margin-bottom:9px}.cp-grid article div{display:flex;flex-wrap:wrap;gap:5px}#s2047-capital-launch{position:fixed;z-index:10039;right:18px;bottom:18px}@media(max-width:720px){.cp-grid{grid-template-columns:1fr}.s2047-capital-programme{right:8px;top:58px;width:calc(100vw - 16px);max-height:86vh}#s2047-capital-launch{right:10px;bottom:74px}}@media(prefers-reduced-motion:reduce){.s2047-capital-programme *{scroll-behavior:auto!important}}


/* SOURCE: assets/css/portfolio-assurance-closeout.css */
#s2047-portfolio-assurance-launch{position:fixed;right:18px;bottom:238px;z-index:9997;padding:10px 14px;border:1px solid #d8b4ff;border-radius:8px;background:#1d0f2e;color:#fff;font-weight:700}
.s2047-portfolio-assurance{display:none;position:fixed;inset:5vh 5vw;z-index:9998;overflow:auto;padding:18px;background:rgba(22,10,35,.97);color:#fff;border:1px solid #b96cff;border-radius:14px;box-shadow:0 20px 70px #000}
.s2047-portfolio-assurance.is-open{display:block}.s2047-portfolio-assurance header{display:flex;justify-content:space-between;font-size:1.2rem}.s2047-portfolio-assurance button,.s2047-portfolio-assurance select{margin:4px;padding:8px;border-radius:6px}.s2047-portfolio-assurance .pa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:15px}.s2047-portfolio-assurance article{padding:12px;border:1px solid #754b99;border-radius:10px;background:#2b1740}.s2047-portfolio-assurance .pa-meters,.s2047-portfolio-assurance .pa-contractors{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.s2047-portfolio-assurance .pa-meters span,.s2047-portfolio-assurance .pa-contractors span{padding:7px 9px;background:#43215f;border-radius:7px}
@media(max-width:700px){.s2047-portfolio-assurance{inset:2vh 2vw;padding:12px}#s2047-portfolio-assurance-launch{right:8px;bottom:220px}}
@media(prefers-reduced-motion:reduce){.s2047-portfolio-assurance *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* SOURCE: assets/css/operational-handover-warranty.css */
#s2047-operational-handover-launch{position:fixed;right:14px;bottom:224px;z-index:10020;border:1px solid #78e6ff;border-radius:999px;background:#08263a;color:#fff;padding:9px 14px;box-shadow:0 8px 28px #0008}
.s2047-operational-handover{display:none;position:fixed;inset:5vh 4vw;z-index:10030;overflow:auto;background:rgba(4,17,29,.97);color:#f5fbff;border:1px solid #78e6ff;border-radius:18px;padding:18px;box-shadow:0 20px 70px #000c}
.s2047-operational-handover.is-open{display:block}.s2047-operational-handover header{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem}.s2047-operational-handover button{margin:4px;padding:8px 10px;border:1px solid #79dced;border-radius:8px;background:#123a4b;color:#fff}.oh-meters,.oh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0}.oh-meters span,.oh-grid article{background:#0c2939;border:1px solid #23546a;border-radius:12px;padding:12px}.oh-grid article h3{margin-top:0}.s2047-operational-handover [data-oh-log]{line-height:1.6}
@media(max-width:700px){#s2047-operational-handover-launch{bottom:178px;right:8px}.s2047-operational-handover{inset:2vh 2vw;padding:12px}.oh-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.s2047-operational-handover *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/operational-performance-lifecycle.css */
#s2047-operational-lifecycle-launch{position:fixed;right:14px;bottom:268px;z-index:10020;border:1px solid #9ee7a8;border-radius:999px;background:#123522;color:#fff;padding:9px 14px;box-shadow:0 8px 28px #0008}
.s2047-operational-lifecycle{display:none;position:fixed;inset:5vh 4vw;z-index:10031;overflow:auto;background:rgba(5,24,18,.97);color:#f5fff8;border:1px solid #9ee7a8;border-radius:18px;padding:18px;box-shadow:0 20px 70px #000c}
.s2047-operational-lifecycle.is-open{display:block}.s2047-operational-lifecycle header{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem}.s2047-operational-lifecycle button{margin:4px;padding:8px 10px;border:1px solid #8ed49b;border-radius:8px;background:#1b5130;color:#fff}.ol-meters,.ol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}.ol-meters span,.ol-grid article{background:#103426;border:1px solid #2b6947;border-radius:12px;padding:12px}.ol-grid article h3{margin-top:0}.ol-grid .risk-high{border-color:#ff8b8b}.ol-grid .risk-medium{border-color:#ffd66b}.ol-grid .risk-low{border-color:#83e89a}.s2047-operational-lifecycle [data-ol-log]{line-height:1.6}
@media(max-width:700px){#s2047-operational-lifecycle-launch{bottom:222px;right:8px}.s2047-operational-lifecycle{inset:2vh 2vw;padding:12px}.ol-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.s2047-operational-lifecycle *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/routine-asset-management.css */
.s2047-routine-assets{position:fixed;inset:5vh 4vw auto auto;z-index:10040;width:min(720px,92vw);max-height:88vh;overflow:auto;padding:18px;border:1px solid rgba(255,216,77,.45);border-radius:18px;background:rgba(5,18,31,.97);box-shadow:0 18px 60px rgba(0,0,0,.55);display:none}.s2047-routine-assets.is-open{display:block}.s2047-routine-assets header{display:flex;justify-content:space-between;gap:12px;align-items:center}.s2047-routine-assets button{border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:.55rem .75rem}.ra-meters,.ra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.ra-meters span,.ra-grid article{padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05)}.ra-grid article.is-at-risk{border-color:#ff8b7d}.ra-grid article.is-compliant{border-color:#78e6ad}.ra-grid article div,.ra-actions{display:flex;flex-wrap:wrap;gap:8px}#s2047-routine-assets-launch{position:fixed;right:18px;bottom:18px;z-index:10039;border:1px solid #ffd84d;border-radius:999px;background:#10283d;color:#fff;padding:.7rem 1rem}@media(max-width:600px){.s2047-routine-assets{inset:2vh 3vw auto 3vw;width:auto}.ra-grid{grid-template-columns:1fr}#s2047-routine-assets-launch{right:10px;bottom:10px}}@media(prefers-reduced-motion:reduce){.s2047-routine-assets *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* SOURCE: assets/css/predictive-service-planning.css */
.s2047-predictive-service{position:fixed;inset:4vh auto auto 4vw;z-index:10042;width:min(760px,92vw);max-height:90vh;overflow:auto;padding:18px;border:1px solid rgba(112,224,255,.5);border-radius:18px;background:rgba(5,18,31,.97);box-shadow:0 18px 60px rgba(0,0,0,.58);display:none}.s2047-predictive-service.is-open{display:block}.s2047-predictive-service header{display:flex;justify-content:space-between;gap:12px;align-items:center}.s2047-predictive-service button{border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:.55rem .75rem}.ps-meters,.ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:14px 0}.ps-meters span,.ps-grid article{padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05)}.ps-grid article.is-critical{border-color:#ff6f6f}.ps-grid article.is-warning{border-color:#ffd36f}.ps-grid article.is-stable{border-color:#78e6ad}.ps-grid article div,.ps-actions{display:flex;flex-wrap:wrap;gap:8px}#s2047-predictive-service-launch{position:fixed;left:18px;bottom:18px;z-index:10041;border:1px solid #70e0ff;border-radius:999px;background:#10283d;color:#fff;padding:.7rem 1rem}@media(max-width:600px){.s2047-predictive-service{inset:2vh 3vw auto 3vw;width:auto}.ps-grid{grid-template-columns:1fr}#s2047-predictive-service-launch{left:10px;bottom:62px}}@media(prefers-reduced-motion:reduce){.s2047-predictive-service *{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/autonomous-operations.css */
.s2047-autonomous-operations{position:fixed;right:18px;top:76px;z-index:99994;width:min(580px,calc(100vw - 24px));max-height:80vh;overflow:auto;padding:16px;border:1px solid rgba(255,216,77,.55);border-radius:14px;background:rgba(5,18,31,.96);color:#f7fbff;box-shadow:0 18px 55px rgba(0,0,0,.45);display:none}.s2047-autonomous-operations.is-open{display:block}.s2047-autonomous-operations header{display:flex;justify-content:space-between;align-items:center;gap:12px}.s2047-autonomous-operations button,#s2047-autonomous-operations-launch{border:1px solid rgba(255,216,77,.65);border-radius:9px;background:#10283d;color:#fff;padding:8px 10px;cursor:pointer}.ao-meters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.ao-meters span,.ao-grid article{padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.04)}.ao-grid{display:grid;gap:10px;margin-top:12px}.ao-grid article.is-critical{border-color:#ff6b6b}.ao-grid article.is-warning{border-color:#ffd84d}.ao-grid article.is-stable{border-color:#69d49b}.ao-grid article div{display:flex;flex-wrap:wrap;gap:7px}#s2047-autonomous-operations-launch{position:fixed;right:18px;bottom:218px;z-index:99993}@media(max-width:640px){.ao-meters{grid-template-columns:repeat(2,1fr)}#s2047-autonomous-operations-launch{right:10px;bottom:190px}.s2047-autonomous-operations{right:12px;top:64px}}


/* SOURCE: assets/css/autonomous-governance.css */
.s2047-autonomous-governance{position:fixed;left:18px;top:76px;z-index:99996;width:min(600px,calc(100vw - 24px));max-height:80vh;overflow:auto;padding:16px;border:1px solid rgba(108,205,255,.6);border-radius:14px;background:rgba(5,18,31,.97);color:#f7fbff;box-shadow:0 18px 55px rgba(0,0,0,.48);display:none}.s2047-autonomous-governance.is-open{display:block}.s2047-autonomous-governance header{display:flex;justify-content:space-between;align-items:center;gap:12px}.s2047-autonomous-governance button,#s2047-autonomous-governance-launch{border:1px solid rgba(108,205,255,.7);border-radius:9px;background:#10283d;color:#fff;padding:8px 10px;cursor:pointer}.ag-meters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.ag-meters span,.ag-grid article{padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.04)}.ag-grid{display:grid;gap:10px;margin-top:12px}.ag-grid article.is-critical{border-color:#ff6b6b}.ag-grid article.is-warning{border-color:#ffd84d}.ag-grid article.is-stable{border-color:#69d49b}.ag-grid article div{display:flex;flex-wrap:wrap;gap:7px}.ag-grid small{display:block;margin-top:8px;opacity:.78}#s2047-autonomous-governance-launch{position:fixed;left:18px;bottom:218px;z-index:99995}@media(max-width:640px){.ag-meters{grid-template-columns:repeat(2,1fr)}#s2047-autonomous-governance-launch{left:10px;bottom:190px}.s2047-autonomous-governance{left:12px;top:64px}}


/* SOURCE: assets/css/autonomous-incident-learning.css */
#s2047-autonomous-incident-learning-launch{position:fixed;right:18px;bottom:300px;z-index:9995;padding:10px 14px;border:0;border-radius:20px;background:#35175c;color:#fff;font-weight:700;box-shadow:0 4px 18px #0008}.s2047-autonomous-incident-learning{display:none;position:fixed;inset:7% 5%;z-index:9998;overflow:auto;padding:18px;border:2px solid #bda1ff;border-radius:18px;background:linear-gradient(145deg,#120b24,#251148);color:#fff;box-shadow:0 20px 70px #000c}.s2047-autonomous-incident-learning.is-open{display:block}.s2047-autonomous-incident-learning header{display:flex;justify-content:space-between;font-size:1.25rem}.s2047-autonomous-incident-learning header button{font-size:1.4rem}.ail-meters,.ail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}.ail-meters span,.ail-grid article{padding:12px;border:1px solid #ffffff35;border-radius:12px;background:#ffffff0d}.ail-grid article.is-critical{border-color:#ff6577}.ail-grid article.is-warning{border-color:#ffd166}.ail-grid article.is-stable{border-color:#77e6a5}.ail-grid button,.ail-actions button{margin:4px;padding:7px 10px;border:0;border-radius:8px;cursor:pointer}.ail-grid small{display:block;margin-top:8px;opacity:.8}@media(max-width:700px){#s2047-autonomous-incident-learning-launch{bottom:350px}.s2047-autonomous-incident-learning{inset:3%}.ail-grid{grid-template-columns:1fr}}

/* SOURCE: assets/css/galaxy-intelligence.css */
.s2047-intelligence-centre{position:fixed;right:18px;top:76px;z-index:10040;width:min(430px,calc(100vw - 28px));max-height:72vh;overflow:auto;padding:14px;border:1px solid rgba(133,218,255,.55);border-radius:14px;background:rgba(4,15,28,.96);box-shadow:0 18px 55px rgba(0,0,0,.48);color:#f5fbff;font-size:14px}.s2047-intelligence-centre[hidden]{display:none}.s2047-intelligence-centre header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.s2047-intelligence-centre button{border:1px solid rgba(145,220,255,.48);border-radius:9px;background:#102c43;color:#fff;padding:7px 10px;cursor:pointer}.s2047-intelligence-centre button:disabled{opacity:.62;cursor:default}.s2047-intel-summary{color:#bfeaff}.s2047-threat{display:grid;grid-template-columns:1fr auto;gap:7px 10px;align-items:center;padding:11px;margin:9px 0;border-radius:10px;background:rgba(28,63,86,.62)}.s2047-threat small{display:block;margin-top:3px;color:#b7ccda}.s2047-threat button{grid-column:1/-1}.s2047-threat-score{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:#f0c94a;color:#07111d;font-weight:800}.s2047-intelligence-centre footer{margin-top:10px;text-align:right}#s2047-intelligence-launcher{position:fixed;right:18px;bottom:72px;z-index:10039;border:1px solid #8cddff;border-radius:999px;background:#09263d;color:#fff;padding:10px 15px;box-shadow:0 9px 28px rgba(0,0,0,.4);cursor:pointer}@media(max-width:640px){.s2047-intelligence-centre{right:8px;top:62px}.s2047-threat{grid-template-columns:1fr auto}#s2047-intelligence-launcher{right:10px;bottom:82px}}


/* SOURCE: assets/css/contingency-simulation.css */
.s2047-contingency-centre{position:fixed;z-index:2147483000;right:18px;bottom:76px;width:min(620px,calc(100vw - 28px));max-height:min(78vh,720px);overflow:auto;padding:0 16px 14px;border:1px solid rgba(110,225,255,.45);border-radius:16px;background:rgba(4,15,28,.96);box-shadow:0 18px 60px rgba(0,0,0,.5);color:#f4fbff}
.s2047-contingency-centre[hidden]{display:none}
.s2047-contingency-centre header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:14px 0 10px;background:rgba(4,15,28,.98);z-index:2}
.s2047-contingency-centre header strong{font-size:1.05rem;color:#ffe073}
.s2047-contingency-centre header button{border:0;background:transparent;color:#fff;font-size:1.7rem;cursor:pointer}
.s2047-contingency-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.s2047-contingency-stats span{padding:9px;border-radius:10px;background:rgba(94,204,238,.11);font-size:.78rem;text-align:center}
.s2047-contingency-stats b{display:block;margin-top:2px;font-size:1rem;color:#8ee8ff}
.s2047-contingency-scenario{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;margin:9px 0;padding:12px;border:1px solid rgba(120,213,255,.18);border-radius:12px;background:rgba(255,255,255,.035)}
.s2047-contingency-scenario small,.s2047-contingency-scenario em{display:block;margin-top:4px;color:#b8ceda;font-size:.75rem;font-style:normal}
.s2047-contingency-scenario em{color:#ffe073}
.s2047-contingency-centre button{padding:8px 10px;border:1px solid rgba(125,220,255,.45);border-radius:9px;background:#12364b;color:#fff;cursor:pointer}
.s2047-contingency-centre button:disabled{opacity:.45;cursor:not-allowed}
.s2047-contingency-centre footer{display:flex;gap:10px;align-items:center;margin-top:12px}
.s2047-contingency-centre footer small{color:#b8ceda}
#s2047-contingency-launcher{position:fixed;z-index:2147482999;right:116px;bottom:18px;padding:10px 14px;border:1px solid rgba(111,225,255,.55);border-radius:999px;background:rgba(6,25,40,.94);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.35);cursor:pointer}
@media(max-width:640px){.s2047-contingency-stats{grid-template-columns:repeat(2,1fr)}.s2047-contingency-scenario{grid-template-columns:1fr 1fr}.s2047-contingency-scenario>div{grid-column:1/-1}.s2047-contingency-centre footer{align-items:flex-start;flex-direction:column}#s2047-contingency-launcher{right:104px}}


/* SOURCE: assets/css/resilience-recovery-readiness.css */
.s2047-resilience-centre{position:fixed;z-index:10032;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,94vw);max-height:86vh;overflow:auto;padding:16px;border:1px solid rgba(123,231,255,.55);border-radius:18px;background:rgba(4,17,29,.97);box-shadow:0 24px 70px rgba(0,0,0,.62);color:#f7fbff}.s2047-resilience-centre[hidden]{display:none}.s2047-resilience-centre header{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}.s2047-resilience-centre header button{border:0;background:transparent;color:#fff;font-size:1.6rem}.s2047-resilience-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.s2047-resilience-stats span,.s2047-resilience-programme{border:1px solid rgba(123,231,255,.24);background:rgba(23,58,76,.42);border-radius:12px;padding:10px}.s2047-resilience-stats b{display:block;color:#ffd84d;font-size:1.15rem}.s2047-resilience-programme{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:8px 0}.s2047-resilience-programme small,.s2047-resilience-programme em{display:block;margin-top:4px;color:#b9d8e6;font-style:normal}.s2047-resilience-centre button{cursor:pointer;border:1px solid rgba(255,216,77,.58);border-radius:9px;background:rgba(92,68,9,.48);color:#fff;padding:8px 11px}.s2047-resilience-centre button:disabled{opacity:.42;cursor:not-allowed}.s2047-resilience-centre footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.s2047-resilience-centre footer small{flex-basis:100%;color:#b9d8e6}#s2047-resilience-launcher{position:fixed;z-index:10020;right:14px;bottom:260px;padding:9px 13px;border:1px solid rgba(123,231,255,.55);border-radius:999px;background:rgba(4,27,42,.9);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35)}@media(max-width:620px){.s2047-resilience-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.s2047-resilience-programme{grid-template-columns:1fr}#s2047-resilience-launcher{right:8px;bottom:250px}}


/* SOURCE: assets/css/galactic-continuity-reconstruction.css */
#s2047-continuity-panel{position:fixed;right:16px;bottom:16px;z-index:99996;font:14px/1.4 system-ui,sans-serif;color:#f7fbff}.s2047-continuity-toggle{background:#ffd84d;color:#071421;border:0;border-radius:999px;padding:11px 16px;font-weight:800;box-shadow:0 6px 24px #0008}.s2047-continuity-body{display:none;width:min(390px,calc(100vw - 32px));max-height:70vh;overflow:auto;margin-top:8px;padding:16px;background:rgba(5,18,32,.96);border:1px solid #6ed9ff66;border-radius:16px;box-shadow:0 12px 40px #000a}#s2047-continuity-panel.open .s2047-continuity-body{display:block}.s2047-continuity-body h2{margin:0 0 10px}.s2047-continuity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.s2047-continuity-grid b{padding:8px;background:#ffffff12;border-radius:8px;text-align:center}.s2047-continuity-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.s2047-continuity-actions button{padding:9px;border:1px solid #6ed9ff77;border-radius:8px;background:#102d48;color:#fff}.s2047-continuity-actions button:last-child{grid-column:1/-1}.s2047-continuity-body ol{padding-left:20px;font-size:12px;color:#c9eaff}@media(max-width:600px){#s2047-continuity-panel{right:8px;bottom:8px}.s2047-continuity-body{width:calc(100vw - 16px)}}


/* SOURCE: assets/css/regional-prosperity-development.css */
#s2047-prosperity-panel{position:fixed;right:18px;bottom:18px;z-index:99994;font:14px/1.45 system-ui,sans-serif;color:#f7fbff}.s2047-prosperity-toggle{border:1px solid #8ee7ff;border-radius:999px;padding:10px 16px;background:#10243d;color:#fff;box-shadow:0 8px 28px #0008}.s2047-prosperity-body{display:none;width:min(430px,calc(100vw - 28px));max-height:72vh;overflow:auto;margin-top:8px;padding:16px;border:1px solid #4fc3df;border-radius:16px;background:linear-gradient(160deg,#10243df5,#173d35f5);box-shadow:0 16px 45px #000b}#s2047-prosperity-panel.open .s2047-prosperity-body{display:block}.s2047-prosperity-body h2{margin:0 0 12px;font-size:18px}.s2047-prosperity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-prosperity-grid b{padding:8px;border-radius:9px;background:#ffffff12}.s2047-prosperity-actions{display:flex;flex-wrap:wrap;gap:7px}.s2047-prosperity-actions button{border:1px solid #8ee7ff;border-radius:9px;padding:8px 10px;background:#173556;color:#fff}.s2047-prosperity-body ol{padding-left:20px;margin-bottom:0;font-size:12px}@media(max-width:600px){#s2047-prosperity-panel{right:8px;bottom:76px}.s2047-prosperity-body{max-height:62vh}}


/* SOURCE: assets/css/interstellar-research.css */
#s2047-research-panel{position:fixed;left:18px;bottom:18px;z-index:99993;font:14px/1.45 system-ui,sans-serif;color:#f7fbff}.s2047-research-toggle{border:1px solid #c5a7ff;border-radius:999px;padding:10px 16px;background:#281846;color:#fff;box-shadow:0 8px 28px #0008}.s2047-research-body{display:none;width:min(430px,calc(100vw - 28px));max-height:72vh;overflow:auto;margin-top:8px;padding:16px;border:1px solid #9c77ed;border-radius:16px;background:linear-gradient(155deg,#21123ef5,#153850f5);box-shadow:0 16px 45px #000b}#s2047-research-panel.open .s2047-research-body{display:block}.s2047-research-body h2{margin:0 0 12px;font-size:18px}.s2047-research-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-research-grid b{padding:8px;border-radius:9px;background:#ffffff12}.s2047-research-actions{display:flex;flex-wrap:wrap;gap:7px}.s2047-research-actions button{border:1px solid #c5a7ff;border-radius:9px;padding:8px 10px;background:#33205b;color:#fff}.s2047-research-body ol{padding-left:20px;margin-bottom:0;font-size:12px}@media(max-width:600px){#s2047-research-panel{left:8px;bottom:126px}.s2047-research-body{max-height:58vh}}


/* SOURCE: assets/css/technology-deployment.css */
#s2047-deployment-panel{position:fixed;left:18px;bottom:72px;z-index:99994;font:14px/1.45 system-ui,sans-serif;color:#f8ffff}.s2047-deployment-toggle{border:1px solid #73f0cf;border-radius:999px;padding:10px 16px;background:#113f3b;color:#fff;box-shadow:0 8px 28px #0008}.s2047-deployment-body{display:none;width:min(450px,calc(100vw - 28px));max-height:72vh;overflow:auto;margin-top:8px;padding:16px;border:1px solid #59d9bc;border-radius:16px;background:linear-gradient(155deg,#0f3634f5,#162945f5);box-shadow:0 16px 45px #000b}#s2047-deployment-panel.open .s2047-deployment-body{display:block}.s2047-deployment-body h2{margin:0 0 12px;font-size:18px}.s2047-deployment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-deployment-grid b{padding:8px;border-radius:9px;background:#ffffff12}.s2047-deployment-actions{display:flex;flex-wrap:wrap;gap:7px}.s2047-deployment-actions button{border:1px solid #73f0cf;border-radius:9px;padding:8px 10px;background:#15564e;color:#fff}.s2047-deployment-body ul,.s2047-deployment-body ol{padding-left:20px;font-size:12px}@media(max-width:600px){#s2047-deployment-panel{left:8px;bottom:180px}.s2047-deployment-body{max-height:55vh}}


/* SOURCE: assets/css/technology-standards-benefits.css */
#s2047-standards-panel{position:fixed;right:18px;bottom:486px;z-index:99988;width:min(420px,calc(100vw - 24px));font:14px/1.42 system-ui,sans-serif;color:#f7fbff}
.s2047-standards-toggle{float:right;border:1px solid #b9e8ff;border-radius:999px;background:#082638;color:#fff;padding:9px 14px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px #0008}
.s2047-standards-body{display:none;clear:both;margin-top:44px;max-height:58vh;overflow:auto;padding:16px;border:1px solid #78d5ff;border-radius:16px;background:rgba(4,18,30,.96);box-shadow:0 16px 40px #000a}
#s2047-standards-panel.open .s2047-standards-body{display:block}.s2047-standards-body h2{margin:0 0 10px;color:#d9f5ff;font-size:18px}.s2047-standards-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0}.s2047-standards-grid b,.s2047-standards-body li{padding:7px 9px;border-radius:9px;background:#0c3248}.s2047-standards-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.s2047-standards-actions button{border:0;border-radius:9px;background:#b9e8ff;color:#052033;padding:9px;font-weight:800;cursor:pointer}.s2047-standards-body ul,.s2047-standards-body ol{display:grid;gap:6px;padding-left:0;list-style:none}.s2047-standards-body ol{font-size:12px;color:#ccecff}@media(max-width:720px){#s2047-standards-panel{right:12px;bottom:420px}.s2047-standards-body{max-height:52vh}.s2047-standards-actions{grid-template-columns:1fr}}


/* SOURCE: assets/css/world-integration.css */
:root {
  --s2047-world-normal: #8de39c;
  --s2047-world-recovering: #ffd76a;
  --s2047-world-disrupted: #ff9b63;
  --s2047-world-emergency: #ff5f6d;
}

.s2047-world-integrated [data-world-status="normal"] { border-color: var(--s2047-world-normal); }
.s2047-world-integrated [data-world-status="recovering"] { border-color: var(--s2047-world-recovering); }
.s2047-world-integrated [data-world-status="disrupted"] { border-color: var(--s2047-world-disrupted); }
.s2047-world-integrated [data-world-status="emergency"] { border-color: var(--s2047-world-emergency); }

.s2047-world-marker {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  box-shadow: 0 0 0 .2rem rgba(255,255,255,.18), 0 0 1rem currentColor;
  pointer-events: none;
}

.s2047-world-integrated .s2047-consolidated-panel {
  backdrop-filter: blur(8px);
}

@media (max-width: 720px) {
  .s2047-world-marker { width: .8rem; height: .8rem; }
}


/* SOURCE: assets/css/player-stabilisation.css */
.s2047-player-stabilised [data-s2047-player],
.s2047-player-stabilised #player,
.s2047-player-stabilised #game-player,
.s2047-player-stabilised .player-character,
.s2047-player-stabilised .s2047-player {
  will-change: transform;
  backface-visibility: hidden;
}

.s2047-player-stabilised [data-s2047-interactive]:focus-visible,
.s2047-player-stabilised [data-interact]:focus-visible,
.s2047-player-stabilised .interactive:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .s2047-player-stabilised [data-s2047-player],
  .s2047-player-stabilised #player,
  .s2047-player-stabilised #game-player,
  .s2047-player-stabilised .player-character,
  .s2047-player-stabilised .s2047-player {
    transition: none !important;
  }
}


/* SOURCE: assets/css/character-motion.css */
.s2047-character-motion-ready [data-s2047-player],
.s2047-character-motion-ready .player-character,
.s2047-character-motion-ready [data-s2047-npc],
.s2047-character-motion-ready .s2047-npc {
  transform-origin: 50% 90%;
  will-change: transform, background-position;
}
.s2047-character-motion-ready .s2047-character-moving {
  animation: s2047-character-bob .28s steps(2, end) infinite;
}
.s2047-character-motion-ready [data-s2047-walk-frame="1"],
.s2047-character-motion-ready [data-s2047-walk-frame="3"] { --s2047-step-shift: -1px; }
.s2047-character-motion-ready [data-s2047-walk-frame="2"] { --s2047-step-shift: 1px; }
.s2047-character-motion-ready [data-s2047-facing="west"] { --s2047-facing-scale: -1; }
.s2047-character-motion-ready [data-s2047-facing="east"],
.s2047-character-motion-ready [data-s2047-facing="north"],
.s2047-character-motion-ready [data-s2047-facing="south"] { --s2047-facing-scale: 1; }
@keyframes s2047-character-bob {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 var(--s2047-step-shift, -1px); }
}
@media (prefers-reduced-motion: reduce) {
  .s2047-character-motion-ready .s2047-character-moving { animation: none; }
}


/* SOURCE: assets/css/object-handling.css */
.s2047-carried-object {
  position: absolute !important;
  left: 50% !important;
  top: -24% !important;
  z-index: 8 !important;
  max-width: 58% !important;
  max-height: 46% !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
  filter: drop-shadow(0 5px 6px rgba(0,0,0,.45));
}
[data-s2047-pickup], [data-pickup], .world-pickup, .salvage-item {
  cursor: grab;
  transition: filter .15s ease, transform .15s ease;
}
[data-s2047-pickup]:hover, [data-pickup]:hover, .world-pickup:hover, .salvage-item:hover {
  filter: brightness(1.12) drop-shadow(0 0 7px rgba(255,216,77,.65));
}
.s2047-object-handling-ready [data-s2047-player][data-s2047-moving="true"] .s2047-carried-object,
.s2047-object-handling-ready .s2047-player[data-s2047-moving="true"] .s2047-carried-object {
  animation: s2047-carry-bob .28s steps(2,end) infinite;
}
@keyframes s2047-carry-bob {
  50% { transform: translate(-50%, -3px); }
}
@media (prefers-reduced-motion: reduce) {
  .s2047-carried-object { animation: none !important; transition: none !important; }
}


/* SOURCE: assets/css/construction-destruction.css */
.s2047-build-preview,.s2047-player-built,.s2047-salvage-debris{position:absolute;z-index:35;transform-origin:center;pointer-events:none}
.s2047-build-preview{width:42px;height:42px;opacity:.55;outline:2px dashed rgba(255,255,255,.9);filter:drop-shadow(0 5px 7px rgba(0,0,0,.45))}
.s2047-build-preview.is-invalid{opacity:.38;outline-style:solid;filter:grayscale(1)}
.s2047-player-built{width:42px;height:42px;--s2047-damage:0;filter:brightness(calc(1 - var(--s2047-damage)*.45)) drop-shadow(0 6px 7px rgba(0,0,0,.45))}
.s2047-build-wall{background:linear-gradient(135deg,#b9c6d2,#657789);border:2px solid #263746;border-radius:3px}
.s2047-build-floor{width:48px;height:28px;background:linear-gradient(145deg,#667b88,#344956);border:1px solid #a9bbc5;transform:skewY(-18deg)}
.s2047-build-relay{background:radial-gradient(circle at 50% 24%,#effcff 0 10%,#64d9ff 11% 18%,transparent 19%),linear-gradient(90deg,transparent 44%,#b6c5ce 45% 55%,transparent 56%),linear-gradient(#344b5d,#172631);border-radius:6px}
.s2047-build-shelter{width:56px;height:40px;background:linear-gradient(145deg,#d8c77d,#77672d);border:2px solid #342d15;border-radius:20px 20px 5px 5px}
.s2047-salvage-debris{width:28px;height:22px;border:0;border-radius:5px;background:linear-gradient(135deg,#cad3d9,#6e7c85);box-shadow:8px 3px 0 -3px #a77d38,-7px 5px 0 -4px #6ad2eb;pointer-events:auto;cursor:pointer}
.s2047-build-mode [data-s2047-player],.s2047-build-mode #player,.s2047-build-mode .s2047-player{filter:drop-shadow(0 0 8px rgba(255,216,77,.8))}
@media (prefers-reduced-motion:no-preference){.s2047-salvage-debris{animation:s2047-salvage-pulse 1.4s ease-in-out infinite alternate}@keyframes s2047-salvage-pulse{to{transform:translateY(-3px)}}}


/* SOURCE: assets/css/locations-campaign.css */
.s2047-campaign-console{position:fixed;right:14px;bottom:14px;z-index:10030;font:14px/1.35 system-ui,sans-serif;color:#f5fbff}.s2047-campaign-toggle{border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#102d46;color:#fff;padding:.65rem 1rem;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.4)}.s2047-campaign-body{position:absolute;right:0;bottom:3.2rem;width:min(390px,calc(100vw - 28px));max-height:min(620px,75vh);overflow:auto;background:rgba(7,20,33,.97);border:1px solid rgba(117,211,255,.45);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.55)}.s2047-campaign-body header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#0d263c;border-bottom:1px solid rgba(255,255,255,.12)}.s2047-campaign-close{border:0;background:transparent;color:#fff;font-size:1.5rem}.s2047-campaign-content{padding:1rem}.s2047-campaign-chapter h3{margin:.2rem 0}.s2047-campaign-chapter p,.s2047-campaign-chapter small{opacity:.75}.s2047-campaign-chapter ol{padding-left:1.4rem}.s2047-campaign-chapter li{padding:.18rem 0;text-transform:capitalize}.s2047-campaign-chapter li.is-complete{opacity:.65;text-decoration:line-through}.s2047-location-grid{display:grid;gap:.55rem;margin-top:1rem}.s2047-location-grid button{display:grid;text-align:left;gap:.15rem;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:#17364f;color:#fff;padding:.65rem .75rem}.s2047-location-grid button:disabled{opacity:.5}.s2047-location-grid span{font-size:.8rem;opacity:.75}.s2047-campaign-content footer{margin-top:.8rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.12);opacity:.7;font-size:.8rem}@media(max-width:600px){.s2047-campaign-console{right:8px;bottom:8px}.s2047-campaign-body{width:calc(100vw - 16px);max-height:72vh}}


/* SOURCE: assets/css/story-dialogue.css */
.s2047-story-dialogue{position:fixed;inset:0;z-index:2147482800;display:grid;place-items:end center;padding:clamp(12px,4vw,40px);background:linear-gradient(transparent 35%,rgba(0,0,0,.78));pointer-events:none}.s2047-story-dialogue[hidden]{display:none}.s2047-story-card{width:min(760px,100%);padding:18px;border:2px solid #f4cf4d;border-radius:16px;background:rgba(8,15,28,.97);color:#fff;box-shadow:0 18px 70px rgba(0,0,0,.55);pointer-events:auto}.s2047-story-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.s2047-story-speaker{color:#f4cf4d;font-size:1.08rem}.s2047-story-text{min-height:3.2em;margin:16px 0;line-height:1.55}.s2047-story-actions{display:flex;justify-content:flex-end}.s2047-story-card button,.s2047-side-quest button{border:1px solid #f4cf4d;border-radius:10px;background:#16243c;color:#fff;padding:8px 13px;cursor:pointer}.s2047-story-card button:hover,.s2047-side-quest button:hover{background:#263c61}.s2047-story-skip{border-color:#8090aa!important;color:#d9e1ee!important}.s2047-side-quest{position:fixed;right:16px;bottom:74px;z-index:2147481500;width:min(330px,calc(100vw - 32px));color:#fff}.s2047-side-toggle{float:right;background:#172848!important}.s2047-side-body{clear:both;margin-top:8px;padding:14px;border:1px solid rgba(244,207,77,.7);border-radius:12px;background:rgba(8,15,28,.96);box-shadow:0 12px 40px rgba(0,0,0,.4)}.s2047-side-body strong{color:#f4cf4d}.s2047-side-body p{margin:.65em 0;line-height:1.4}.s2047-story-open body{overflow:hidden}@media(max-width:600px){.s2047-story-dialogue{padding:10px}.s2047-story-card{padding:14px;border-radius:12px}.s2047-side-quest{right:8px;bottom:62px;width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.s2047-story-dialogue,.s2047-story-card{scroll-behavior:auto;animation:none!important;transition:none!important}}


/* SOURCE: assets/css/unified-command-interface.css */
.s2047-command-interface{position:fixed;z-index:999995;inset:clamp(12px,4vw,48px);display:grid;grid-template-rows:auto auto 1fr;max-width:1120px;margin:auto;background:rgba(4,13,25,.97);border:1px solid rgba(255,216,77,.65);border-radius:18px;box-shadow:0 26px 90px rgba(0,0,0,.6);color:#f7fbff;overflow:hidden;backdrop-filter:blur(18px)}
.s2047-command-interface[hidden]{display:none}.s2047-command-interface>header{display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(90deg,rgba(255,216,77,.2),rgba(45,185,255,.12));border-bottom:1px solid rgba(255,255,255,.12)}
.s2047-command-interface>header strong{font-size:clamp(1rem,2vw,1.35rem);letter-spacing:.08em;margin-right:auto}.s2047-command-interface button{color:inherit;background:#10263b;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:.65rem .85rem;cursor:pointer}.s2047-command-interface button:hover,.s2047-command-interface button:focus-visible{border-color:#ffd84d;outline:none;transform:translateY(-1px)}
.s2047-command-close{font-size:1.4rem;line-height:1;padding:.4rem .7rem!important}.s2047-command-tabs{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.1)}.s2047-command-tabs button[aria-pressed=true]{background:#ffd84d;color:#07121f;border-color:#ffd84d;font-weight:800}
.s2047-command-body{overflow:auto;padding:18px;min-height:0}.s2047-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.s2047-command-card{min-height:132px;padding:16px;border-radius:14px;background:linear-gradient(160deg,rgba(20,49,74,.96),rgba(8,28,46,.96));border:1px solid rgba(117,213,255,.25)}.s2047-command-card h3{margin:0 0 8px;font-size:1rem;color:#ffd84d}.s2047-command-card p{margin:0 0 12px;line-height:1.45;color:#d8e9f5}.s2047-command-card strong{font-size:1.2rem;text-transform:capitalize}
.s2047-command-list{display:grid;gap:8px}.s2047-command-list>div,.s2047-command-list>button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:13px 15px;background:rgba(18,50,76,.88);border:1px solid rgba(255,255,255,.12);border-radius:12px}.s2047-command-list small{color:#ffd84d;text-transform:capitalize}.s2047-command-settings{display:grid;gap:18px;max-width:650px}.s2047-command-settings label{display:grid;gap:8px;padding:14px;border-radius:12px;background:rgba(18,50,76,.72)}.s2047-command-settings input[type=range]{width:100%}.s2047-command-settings kbd{background:#152b40;border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:2px 6px}
.s2047-command-interface.is-compact{inset:auto 12px 12px auto;width:min(480px,calc(100vw - 24px));height:min(580px,calc(100vh - 24px));margin:0}.s2047-command-open body:after{content:"";position:fixed;z-index:999990;inset:0;background:rgba(0,0,0,.45);pointer-events:none}
@media(max-width:700px){.s2047-command-interface{inset:0;border-radius:0;border-width:0;height:100dvh}.s2047-command-compact{display:none}.s2047-command-tabs{padding:8px}.s2047-command-tabs button{flex:0 0 auto;padding:.55rem .7rem}.s2047-command-body{padding:12px}.s2047-command-card{min-height:110px}}
@media(prefers-reduced-motion:reduce){.s2047-command-interface button{transition:none!important;transform:none!important}}


/* SOURCE: assets/css/save-progression.css */
.s2047-save-panel{position:fixed;inset:8vh max(3vw,20px);z-index:100080;max-width:980px;margin:auto;background:rgba(5,16,30,.98);color:#f7fbff;border:1px solid rgba(255,216,77,.55);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.65);overflow:auto;padding:0 18px 18px}.s2047-save-panel[hidden]{display:none}.s2047-save-panel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:18px 2px;background:rgba(5,16,30,.98);z-index:2}.s2047-save-panel header button{font-size:28px;background:none;color:inherit;border:0}.s2047-save-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.s2047-save-slot{padding:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:14px;min-height:210px}.s2047-save-slot.is-active{border-color:#ffd84d;box-shadow:0 0 0 2px rgba(255,216,77,.16)}.s2047-save-slot h3{margin:0 0 8px}.s2047-save-slot p{line-height:1.5;min-height:88px;text-transform:capitalize}.s2047-save-slot div{display:flex;flex-wrap:wrap;gap:7px}.s2047-save-slot button,.s2047-save-panel footer button,.s2047-save-panel select{border:1px solid rgba(255,255,255,.2);border-radius:9px;background:#102943;color:#fff;padding:8px 10px}.s2047-save-slot button:disabled{opacity:.35}.s2047-save-panel footer{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.s2047-save-panel footer label{display:flex;align-items:center;gap:7px}.s2047-save-empty{opacity:.65}@media(max-width:720px){.s2047-save-panel{inset:0;border-radius:0}.s2047-save-slots{grid-template-columns:1fr}.s2047-save-slot{min-height:0}}@media(prefers-reduced-motion:reduce){.s2047-save-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/performance-compatibility.css */
html[data-s2047-quality="reduced"] .s2047-particle,
html[data-s2047-quality="reduced"] .s2047-ambient-effect,
html.s2047-low-memory .s2047-particle,
html.s2047-low-memory .s2047-ambient-effect {
  display: none !important;
}

html[data-s2047-quality="reduced"] *,
html.s2047-low-memory * {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  box-shadow: none;
}

.s2047-command-interface,
.s2047-save-manager,
.s2047-campaign-console {
  content-visibility: auto;
  contain: layout style paint;
}

@media (max-width: 720px) {
  canvas,
  .s2047-world-layer {
    max-width: 100vw;
    touch-action: none;
  }
}


/* SOURCE: assets/css/release-candidate-qa.css */
/* Release diagnostics remain active, but public warnings are intentionally hidden. */
html[data-s2047-qa="attention"]::after {
  content: none !important;
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}


/* SOURCE: assets/css/postlaunch-onboarding.css */
.s2047-onboarding{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;background:rgba(1,8,16,.78);backdrop-filter:blur(5px)}
.s2047-onboarding-card{width:min(560px,100%);padding:24px;border:1px solid rgba(255,216,77,.55);border-radius:18px;background:linear-gradient(160deg,rgba(8,25,43,.98),rgba(4,12,23,.98));box-shadow:0 24px 80px rgba(0,0,0,.55);color:#f7fbff}
.s2047-onboarding-card h2{margin:.3rem 0 .7rem;font-size:clamp(1.45rem,4vw,2.1rem)}
.s2047-onboarding-card p{line-height:1.55}
.s2047-onboarding-progress{margin:0;color:#ffd84d;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.s2047-onboarding-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}
.s2047-onboarding-actions button{min-height:44px;padding:9px 15px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.s2047-onboarding-actions button.is-primary{background:#ffd84d;color:#101820;border-color:#ffd84d;font-weight:800}
.s2047-onboarding-actions button:focus-visible{outline:3px solid #7fe7ff;outline-offset:3px}
@media(max-width:600px){.s2047-onboarding{padding:12px}.s2047-onboarding-card{padding:20px}.s2047-onboarding-actions button{flex:1 1 110px}}
@media(prefers-reduced-motion:reduce){.s2047-onboarding{backdrop-filter:none}}


/* SOURCE: assets/css/postlaunch-accessibility-controls.css */
:root { --s2047-accessibility-text-scale: 1; }
body { font-size: calc(1rem * var(--s2047-accessibility-text-scale)); }
.s2047-accessibility-controls[hidden] { display: none !important; }
.s2047-accessibility-controls { position: fixed; inset: 0; z-index: 100050; display: grid; place-items: center; padding: 1rem; background: rgba(0,0,0,.74); }
.s2047-accessibility-card { width: min(44rem, 100%); max-height: min(90vh, 48rem); overflow: auto; padding: 1rem; border: 2px solid var(--s2047-accent, #ffd84d); border-radius: .8rem; background: var(--s2047-panel, #071422); color: var(--s2047-text, #fff); box-shadow: 0 1rem 4rem rgba(0,0,0,.55); }
.s2047-accessibility-card header, .s2047-accessibility-card footer, .s2047-binding-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.s2047-accessibility-card header h2 { margin: 0; }
.s2047-accessibility-card label { display: grid; gap: .35rem; margin: .8rem 0; }
.s2047-accessibility-card .s2047-toggle { grid-template-columns: auto 1fr; align-items: center; }
.s2047-bindings { display: grid; gap: .45rem; }
.s2047-binding-row { padding: .45rem 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.s2047-binding-row button { min-width: 8rem; }
.s2047-accessibility-card button, .s2047-accessibility-card select, .s2047-accessibility-card input { min-height: 2.75rem; font: inherit; }
.s2047-accessibility-card footer { margin-top: 1rem; }
.s2047-high-contrast { --s2047-bg: #000; --s2047-panel: #000; --s2047-text: #fff; --s2047-accent: #ff0; }
.s2047-high-contrast button, .s2047-high-contrast input, .s2047-high-contrast select { outline: 2px solid currentColor; outline-offset: 2px; }
.s2047-reduce-flashes *, .s2047-reduce-flashes *::before, .s2047-reduce-flashes *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
@media (max-width: 600px) { .s2047-accessibility-controls { padding: 0; align-items: end; } .s2047-accessibility-card { border-radius: .8rem .8rem 0 0; max-height: 94vh; } }


/* SOURCE: assets/css/postlaunch-controller-touch.css */
.s2047-touch-controls {
  --s2047-touch-opacity: .82;
  --s2047-touch-scale: 1;
  position: fixed;
  inset: auto 0 1rem;
  z-index: 10040;
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 0 1rem;
  pointer-events: none;
  opacity: var(--s2047-touch-opacity);
  transform: scale(var(--s2047-touch-scale));
  transform-origin: bottom center;
}
.s2047-touch-move,
.s2047-touch-actions {
  pointer-events: auto;
  display: grid;
  gap: .35rem;
}
.s2047-touch-move {
  grid-template: repeat(3, 3.1rem) / repeat(3, 3.1rem);
}
.s2047-touch-move .up { grid-column: 2; grid-row: 1; }
.s2047-touch-move .left { grid-column: 1; grid-row: 2; }
.s2047-touch-move .down { grid-column: 2; grid-row: 3; }
.s2047-touch-move .right { grid-column: 3; grid-row: 2; }
.s2047-touch-actions {
  grid-template-columns: repeat(2, 3.4rem);
}
.s2047-touch-button {
  min-width: 3.1rem;
  min-height: 3.1rem;
  border: 2px solid rgba(255,255,255,.7);
  border-radius: 999px;
  background: rgba(4, 15, 28, .8);
  color: #fff;
  font: 700 .9rem/1 system-ui, sans-serif;
  box-shadow: 0 .2rem .75rem rgba(0,0,0,.35);
  touch-action: none;
  user-select: none;
}
.s2047-touch-button.is-active {
  transform: scale(.92);
  background: rgba(255,216,77,.95);
  color: #07111d;
}
@media (hover: hover) and (pointer: fine) {
  .s2047-touch-controls { display: none; }
}
@media (max-width: 480px) {
  .s2047-touch-controls { padding: 0 .55rem; bottom: .55rem; }
}
@media (prefers-reduced-motion: reduce) {
  .s2047-touch-button { transition: none; }
}


/* SOURCE: assets/css/postlaunch-feedback.css */
.s2047-feedback-caption{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));z-index:100040;max-width:min(90vw,36rem);transform:translate(-50%,1rem);padding:.65rem .95rem;border:1px solid rgba(255,255,255,.28);border-radius:.7rem;background:rgba(3,12,22,.94);color:#fff;font-weight:700;line-height:1.3;text-align:center;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;box-shadow:0 .5rem 2rem rgba(0,0,0,.4)}
.s2047-feedback-caption.is-visible{opacity:1;transform:translate(-50%,0)}
.s2047-feedback-caption.is-success{border-color:#72f0a8}.s2047-feedback-caption.is-warning{border-color:#ffd45f}.s2047-feedback-caption.is-error{border-color:#ff7d82}.s2047-feedback-caption.is-info{border-color:#73c8ff}
.s2047-feedback-settings{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:1rem;background:rgba(0,5,12,.78);backdrop-filter:blur(6px)}
.s2047-feedback-settings[hidden]{display:none}.s2047-feedback-settings__card{width:min(94vw,34rem);max-height:90vh;overflow:auto;padding:1.25rem;border:1px solid rgba(255,216,77,.55);border-radius:1rem;background:#071522;color:#f7fbff;box-shadow:0 1.25rem 4rem rgba(0,0,0,.55)}
.s2047-feedback-settings h2{margin:0 0 1rem;color:#ffd84d}.s2047-feedback-settings label{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.09)}
.s2047-feedback-settings input[type=range]{width:min(55%,14rem)}.s2047-feedback-settings input[type=checkbox]{width:1.25rem;height:1.25rem}
.s2047-feedback-settings__actions{display:flex;justify-content:flex-end;gap:.7rem;padding-top:1rem}.s2047-feedback-settings button{padding:.65rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:.55rem;background:#102b42;color:#fff;cursor:pointer}.s2047-feedback-settings button:focus-visible{outline:3px solid #ffd84d;outline-offset:2px}
@media (max-width:600px){.s2047-feedback-settings label{align-items:flex-start;flex-direction:column}.s2047-feedback-settings input[type=range]{width:100%}.s2047-feedback-settings__actions{display:grid;grid-template-columns:1fr 1fr}.s2047-feedback-settings button{min-height:3rem}}
@media (prefers-reduced-motion:reduce){.s2047-feedback-caption{transition:none}}


/* SOURCE: assets/css/postlaunch-recovery.css */
.s2047-session-recovery{position:fixed;inset:0;z-index:100060;display:grid;place-items:center;padding:1rem;background:rgba(0,5,12,.82);backdrop-filter:blur(7px)}
.s2047-session-recovery__card{width:min(95vw,39rem);max-height:92vh;overflow:auto;padding:1.35rem;border:1px solid rgba(115,200,255,.65);border-radius:1rem;background:#071522;color:#f7fbff;box-shadow:0 1.4rem 4rem rgba(0,0,0,.6)}
.s2047-session-recovery__eyebrow{margin:0 0 .35rem;color:#73c8ff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.s2047-session-recovery h2{margin:.1rem 0 .8rem;color:#ffd84d;line-height:1.15}.s2047-session-recovery p{line-height:1.55}
.s2047-session-recovery dl{display:grid;gap:.5rem;margin:1rem 0;padding:.8rem;border:1px solid rgba(255,255,255,.12);border-radius:.65rem;background:rgba(0,0,0,.2)}
.s2047-session-recovery dl div{display:grid;grid-template-columns:8rem 1fr;gap:.75rem}.s2047-session-recovery dt{color:#a9c1d4}.s2047-session-recovery dd{margin:0;font-weight:700}
.s2047-session-recovery__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.s2047-session-recovery button{min-height:2.8rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.25);border-radius:.55rem;background:#102b42;color:#fff;cursor:pointer}
.s2047-session-recovery button:hover{background:#17415f}.s2047-session-recovery button:focus-visible{outline:3px solid #ffd84d;outline-offset:2px}
.s2047-session-recovery label{display:flex;align-items:center;gap:.6rem;color:#c8d7e3}.s2047-session-recovery input{width:1.2rem;height:1.2rem}
.s2047-safe-mode *, .s2047-safe-mode *::before, .s2047-safe-mode *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.s2047-safe-mode .s2047-ambient-effect,.s2047-safe-mode [data-ambient-effect],.s2047-safe-mode .particle,.s2047-safe-mode .particles{display:none!important}
.s2047-safe-mode canvas{image-rendering:auto}
@media (max-width:650px){.s2047-session-recovery__actions{grid-template-columns:1fr}.s2047-session-recovery dl div{grid-template-columns:1fr;gap:.15rem}}
@media (prefers-reduced-motion:reduce){.s2047-session-recovery{backdrop-filter:none}}


/* SOURCE: assets/css/postlaunch-support-centre.css */
.s2047-support-centre{position:fixed;inset:0;z-index:100070;display:grid;place-items:center;padding:1rem;background:rgba(0,5,12,.84);backdrop-filter:blur(7px)}
.s2047-support-centre[hidden]{display:none!important}
.s2047-support-centre__card{width:min(96vw,44rem);max-height:92vh;overflow:auto;padding:1.25rem;border:1px solid rgba(115,200,255,.65);border-radius:1rem;background:#071522;color:#f7fbff;box-shadow:0 1.4rem 4rem rgba(0,0,0,.62)}
.s2047-support-centre header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.s2047-support-centre header p{margin:0 0 .25rem;color:#73c8ff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.s2047-support-centre h2{margin:0;color:#ffd84d;line-height:1.15}.s2047-support-centre header button{width:2.75rem;min-width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.25);border-radius:.6rem;background:#102b42;color:#fff;font-size:1.5rem;cursor:pointer}
.s2047-support-status{display:grid;gap:.55rem;margin:1rem 0;padding:0;list-style:none}.s2047-support-status li{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.14);border-radius:.65rem;background:rgba(0,0,0,.2)}.s2047-support-status li>span{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:999px;background:#173b2a;font-weight:900}.s2047-support-status li.needs-attention>span{background:#5a3213}.s2047-support-status strong,.s2047-support-status small{display:block}.s2047-support-status small{margin-top:.12rem;color:#bfd0dd}
.s2047-support-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.s2047-support-actions button{min-height:2.8rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.25);border-radius:.55rem;background:#102b42;color:#fff;cursor:pointer}.s2047-support-actions button:hover,.s2047-support-actions button:focus-visible,.s2047-support-centre header button:hover,.s2047-support-centre header button:focus-visible{background:#17415f;outline:2px solid #ffd84d;outline-offset:2px}.s2047-support-centre__hint{margin:.9rem 0 0;color:#bfd0dd;font-size:.9rem}.s2047-support-centre kbd{padding:.12rem .35rem;border:1px solid rgba(255,255,255,.3);border-radius:.3rem;background:#02080e;color:#fff}
@media(max-width:560px){.s2047-support-centre__card{padding:1rem}.s2047-support-actions{grid-template-columns:1fr}.s2047-support-centre h2{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){.s2047-support-centre *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/postlaunch-performance-guardian.css */
/* Space 2047 adaptive performance guardian. These rules only suppress optional visual effects. */
html.s2047-guardian-reduced *,
html.s2047-guardian-reduced *::before,
html.s2047-guardian-reduced *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}

html.s2047-guardian-protected .s2047-particle,
html.s2047-guardian-protected [data-optional-effect="true"],
html.s2047-guardian-protected .s2047-ambient-effect,
html.s2047-guardian-protected .s2047-decorative-particle {
  display: none !important;
}

html.s2047-guardian-emergency [data-background-simulation="decorative"],
html.s2047-guardian-emergency .s2047-parallax-layer,
html.s2047-guardian-emergency .s2047-screen-glow {
  visibility: hidden !important;
}


/* SOURCE: assets/css/postlaunch-mission-focus.css */
.s2047-mission-focus{position:fixed;left:max(14px,env(safe-area-inset-left));top:190px;z-index:31;width:min(340px,calc(100vw - 28px));border:1px solid rgba(159,218,255,.42);border-radius:14px;background:rgba(4,15,27,.92);color:#f7fbff;box-shadow:0 12px 34px rgba(0,0,0,.34);backdrop-filter:blur(10px);overflow:hidden}.s2047-mission-focus[hidden]{display:none!important}.s2047-mf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(76,137,180,.18)}.s2047-mf-head div{display:grid;gap:2px;min-width:0}.s2047-mf-head small{text-transform:uppercase;letter-spacing:.1em;opacity:.72;font-size:10px}.s2047-mf-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s2047-mf-head button{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.08);color:inherit;font-weight:900}.s2047-mf-body{padding:12px}.s2047-mf-body p{margin:0 0 9px;line-height:1.35}.s2047-mf-body p:first-child{font-weight:700}.s2047-mf-waypoint{opacity:.8}.s2047-mission-focus.has-waypoint #s2047-mf-waypoint{color:#ffd8f4}.s2047-mf-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.s2047-mf-actions button{min-width:0;padding:8px 5px;border:1px solid rgba(159,218,255,.32);border-radius:8px;background:rgba(37,80,110,.56);color:inherit;font-weight:750}.s2047-mf-actions button:focus-visible,.s2047-mf-actions button:hover{outline:2px solid #ffe177;outline-offset:1px}.s2047-mf-hint{display:block;margin-top:9px;opacity:.62}.s2047-mission-focus.is-collapsed .s2047-mf-body{display:none}@media(max-width:760px){.s2047-mission-focus{top:auto;bottom:calc(132px + env(safe-area-inset-bottom));left:10px;width:min(310px,calc(100vw - 20px))}.s2047-mf-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.s2047-mission-focus *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/postlaunch-save-confidence.css */
.s2047-save-confidence{position:fixed;right:1rem;bottom:1rem;z-index:99982;display:flex;align-items:stretch;max-width:min(25rem,calc(100vw - 2rem));border:1px solid rgba(255,255,255,.24);border-radius:.75rem;background:rgba(7,12,27,.94);box-shadow:0 .45rem 1.5rem rgba(0,0,0,.36);color:#fff;font:600 14px/1.25 system-ui,sans-serif;backdrop-filter:blur(8px)}
.s2047-save-confidence[hidden]{display:none}.s2047-save-confidence button{color:inherit}.s2047-save-confidence-main{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.7rem .8rem;border:0;background:transparent;text-align:left;cursor:pointer}.s2047-save-confidence-copy{display:grid;gap:.1rem;min-width:0}.s2047-save-confidence-copy strong,.s2047-save-confidence-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2047-save-confidence-copy small{font-size:.78rem;font-weight:500;color:rgba(255,255,255,.72)}
.s2047-save-confidence-light{width:.72rem;height:.72rem;flex:0 0 auto;border-radius:50%;background:#f3c343;box-shadow:0 0 0 .18rem rgba(243,195,67,.18)}.s2047-save-confidence[data-status="safe"] .s2047-save-confidence-light{background:#58d68d;box-shadow:0 0 0 .18rem rgba(88,214,141,.18)}.s2047-save-confidence[data-status="error"] .s2047-save-confidence-light,.s2047-save-confidence[data-status="warning"] .s2047-save-confidence-light{background:#ff6b6b;box-shadow:0 0 0 .18rem rgba(255,107,107,.18)}
.s2047-save-confidence-toggle{width:2.2rem;border:0;border-left:1px solid rgba(255,255,255,.15);border-radius:0 .75rem .75rem 0;background:rgba(255,255,255,.06);cursor:pointer}.s2047-save-confidence.is-compact .s2047-save-confidence-copy{display:none}.s2047-save-confidence.is-compact .s2047-save-confidence-main{padding:.7rem}
@media(max-width:700px){.s2047-save-confidence{right:.6rem;bottom:5.5rem;max-width:calc(100vw - 1.2rem)}}
@media(prefers-reduced-motion:reduce){.s2047-save-confidence,.s2047-save-confidence *{transition:none!important;animation:none!important}}


/* SOURCE: assets/css/postlaunch-interaction-radar.css */
.s2047-interaction-radar{position:fixed;left:50%;bottom:1rem;z-index:2147480600;display:flex;align-items:stretch;transform:translateX(-50%);max-width:min(92vw,31rem);border:1px solid rgba(255,216,77,.48);border-radius:.8rem;background:rgba(4,15,27,.94);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.35);color:#f7fbff;overflow:hidden}
.s2047-interaction-radar[hidden]{display:none!important}.s2047-interaction-radar-main{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.55rem .75rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.s2047-interaction-radar-main:disabled{cursor:default;opacity:.68}.s2047-interaction-radar-key{flex:none;padding:.18rem .38rem;border:1px solid currentColor;border-radius:.32rem;font-size:.68rem;font-weight:800;letter-spacing:.04em}.s2047-interaction-radar-copy{display:flex;min-width:0;flex-direction:column}.s2047-interaction-radar-copy strong,.s2047-interaction-radar-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2047-interaction-radar-copy strong{font-size:.84rem}.s2047-interaction-radar-copy small{font-size:.7rem;opacity:.78}.s2047-interaction-radar-toggle{width:2.15rem;border:0;border-left:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:inherit;cursor:pointer}.s2047-interaction-radar.is-ready{border-color:rgba(126,255,172,.82)}.s2047-interaction-radar.is-ready .s2047-interaction-radar-key{background:rgba(126,255,172,.15);color:#baffcf}.s2047-interaction-radar.is-distant .s2047-interaction-radar-key{color:#ffd84d}.s2047-interaction-radar.is-compact .s2047-interaction-radar-copy small{display:none}.s2047-interaction-radar.is-compact .s2047-interaction-radar-main{padding:.42rem .6rem}
@media(max-width:680px){.s2047-interaction-radar{bottom:calc(env(safe-area-inset-bottom,0px) + 4.6rem);max-width:calc(100vw - 1rem)}.s2047-interaction-radar-copy strong{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.s2047-interaction-radar{scroll-behavior:auto}}


/* SOURCE: assets/css/postlaunch-hazard-beacon.css */
.s2047-hazard-beacon{position:fixed;right:1rem;bottom:1rem;z-index:2147480590;display:flex;align-items:stretch;max-width:min(92vw,29rem);border:1px solid rgba(126,255,172,.5);border-radius:.8rem;background:rgba(4,15,27,.94);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.35);color:#f7fbff;overflow:hidden}.s2047-hazard-beacon[hidden]{display:none!important}.s2047-hazard-beacon-main{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.55rem .75rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.s2047-hazard-beacon-main:disabled{cursor:default;opacity:.72}.s2047-hazard-beacon-icon{display:grid;place-items:center;flex:none;width:1.65rem;height:1.65rem;border:2px solid currentColor;border-radius:50%;font-size:1rem;font-weight:900}.s2047-hazard-beacon-copy{display:flex;min-width:0;flex-direction:column}.s2047-hazard-beacon-copy strong,.s2047-hazard-beacon-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2047-hazard-beacon-copy strong{font-size:.84rem}.s2047-hazard-beacon-copy small{font-size:.7rem;opacity:.8}.s2047-hazard-beacon-toggle{width:2.15rem;border:0;border-left:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:inherit;cursor:pointer}.s2047-hazard-beacon.is-notice{border-color:rgba(255,216,77,.65)}.s2047-hazard-beacon.is-notice .s2047-hazard-beacon-icon{color:#ffd84d}.s2047-hazard-beacon.is-warning{border-color:rgba(255,166,77,.9)}.s2047-hazard-beacon.is-warning .s2047-hazard-beacon-icon{color:#ffb45e}.s2047-hazard-beacon.is-danger{border-color:rgba(255,91,91,.95)}.s2047-hazard-beacon.is-danger .s2047-hazard-beacon-icon{color:#ff8a8a;animation:s2047-hazard-beacon-pulse 1s ease-in-out infinite}.s2047-hazard-beacon.is-clear .s2047-hazard-beacon-icon{color:#9cffbd}.s2047-hazard-beacon.is-compact .s2047-hazard-beacon-copy small{display:none}.s2047-hazard-beacon.is-compact .s2047-hazard-beacon-main{padding:.42rem .6rem}.s2047-hazard-focus-pulse{outline:3px solid rgba(255,91,91,.9)!important;outline-offset:5px;animation:s2047-hazard-target-pulse .6s ease-in-out 3}@keyframes s2047-hazard-beacon-pulse{50%{opacity:.45}}@keyframes s2047-hazard-target-pulse{50%{outline-offset:11px}}@media(max-width:680px){.s2047-hazard-beacon{right:.5rem;bottom:calc(env(safe-area-inset-bottom,0px) + 8.25rem);max-width:calc(100vw - 1rem)}.s2047-hazard-beacon-copy strong{font-size:.78rem}}@media(prefers-reduced-motion:reduce){.s2047-hazard-beacon.is-danger .s2047-hazard-beacon-icon,.s2047-hazard-focus-pulse{animation:none}}


/* SOURCE: assets/css/postlaunch-damage-recovery.css */
.s2047-damage-recovery{position:fixed;left:1rem;bottom:1rem;z-index:2147480589;display:flex;align-items:stretch;max-width:min(92vw,31rem);overflow:hidden;border:1px solid rgba(126,255,172,.55);border-radius:.8rem;background:rgba(4,15,27,.94);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.35);color:#f7fbff}.s2047-damage-recovery[hidden]{display:none!important}.s2047-damage-copy{display:flex;min-width:12rem;flex:1;flex-direction:column;gap:.12rem;padding:.5rem .7rem}.s2047-damage-copy strong{font-size:.83rem}.s2047-damage-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;opacity:.82}.s2047-damage-track{height:.28rem;margin-top:.18rem;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.14)}.s2047-damage-track i{display:block;height:100%;width:100%;background:#8dffb0;transition:width .25s ease}.s2047-damage-recovery button{border:0;border-left:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;padding:.45rem .65rem;cursor:pointer}.s2047-damage-recovery button:disabled{opacity:.4;cursor:default}.s2047-damage-recovery.is-warning{border-color:rgba(255,180,77,.9)}.s2047-damage-recovery.is-warning .s2047-damage-track i{background:#ffb45e}.s2047-damage-recovery.is-critical{border-color:rgba(255,91,91,.95)}.s2047-damage-recovery.is-critical .s2047-damage-track i{background:#ff7474;animation:s2047-damage-pulse 1s ease-in-out infinite}.s2047-damage-recovery.is-unknown{border-color:rgba(112,224,255,.55)}.s2047-damage-recovery.is-unknown .s2047-damage-track{display:none}.s2047-damage-recovery.is-compact .s2047-damage-track,.s2047-damage-recovery.is-compact [data-recover]{display:none}.s2047-damage-recovery.is-compact .s2047-damage-copy{min-width:0;padding:.42rem .6rem}@keyframes s2047-damage-pulse{50%{opacity:.45}}@media(max-width:680px){.s2047-damage-recovery{left:.5rem;bottom:calc(env(safe-area-inset-bottom,0px) + 11.4rem);max-width:calc(100vw - 1rem)}.s2047-damage-copy{min-width:0}}@media(prefers-reduced-motion:reduce){.s2047-damage-track i{transition:none}.s2047-damage-recovery.is-critical .s2047-damage-track i{animation:none}}


/* SOURCE: assets/css/postlaunch-crew-monitor.css */
.s2047-crew-monitor{position:fixed;right:1rem;bottom:1rem;z-index:2147480590;display:flex;align-items:stretch;max-width:min(92vw,34rem);overflow:hidden;border:1px solid rgba(171,150,255,.62);border-radius:.8rem;background:rgba(4,15,27,.94);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.35);color:#f7fbff}.s2047-crew-monitor[hidden]{display:none!important}.s2047-crew-copy{display:flex;min-width:15rem;flex:1;flex-direction:column;gap:.08rem;padding:.5rem .7rem}.s2047-crew-copy strong{font-size:.83rem}.s2047-crew-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;opacity:.82}.s2047-crew-monitor button{border:0;border-left:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;padding:.45rem .65rem;cursor:pointer}.s2047-crew-monitor button:hover,.s2047-crew-monitor button:focus-visible{background:rgba(171,150,255,.2)}.s2047-crew-monitor.has-duty-officer{border-color:rgba(126,255,172,.65)}.s2047-crew-monitor.is-compact [data-crew-secondary],.s2047-crew-monitor.is-compact [data-crew-open]{display:none}.s2047-crew-monitor.is-compact .s2047-crew-copy{min-width:0;padding:.42rem .6rem}@media(max-width:680px){.s2047-crew-monitor{right:.5rem;bottom:calc(env(safe-area-inset-bottom,0px) + 14.5rem);max-width:calc(100vw - 1rem)}.s2047-crew-copy{min-width:0}}


/* SOURCE: assets/css/postlaunch-supplies-monitor.css */
.s2047-supplies-monitor{position:fixed;right:14px;bottom:330px;z-index:100018;display:flex;align-items:center;gap:8px;max-width:min(390px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(119,226,255,.55);border-radius:11px;background:rgba(4,13,25,.94);color:#eefbff;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-supplies-monitor[hidden]{display:none!important}.s2047-supplies-copy{display:grid;min-width:0;flex:1}.s2047-supplies-copy strong{color:#93e9ff}.s2047-supplies-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d5e6ec}.s2047-supplies-copy small+small{color:#9fb7c1}.s2047-supplies-monitor button{border:1px solid rgba(147,233,255,.55);border-radius:8px;background:#102b3a;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-supplies-monitor button:hover,.s2047-supplies-monitor button:focus-visible{background:#17465e}.s2047-supplies-monitor.is-warning{border-color:#ffd36d}.s2047-supplies-monitor.is-warning .s2047-supplies-copy strong{color:#ffd36d}.s2047-supplies-monitor.is-full{border-color:#ff7e7e}.s2047-supplies-monitor.is-full .s2047-supplies-copy strong{color:#ff9b9b}.s2047-supplies-monitor.is-compact .s2047-supplies-copy small,.s2047-supplies-monitor.is-compact [data-supplies-open]{display:none}@media(max-width:700px){.s2047-supplies-monitor{right:8px;bottom:304px;max-width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.s2047-supplies-monitor{transition:none}}


/* SOURCE: assets/css/postlaunch-navigation-monitor.css */
.s2047-navigation-monitor{position:fixed;right:14px;bottom:382px;z-index:100019;display:flex;align-items:center;gap:8px;max-width:min(430px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(136,192,255,.58);border-radius:11px;background:rgba(4,13,25,.94);color:#eefbff;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-navigation-monitor[hidden]{display:none!important}.s2047-navigation-copy{display:grid;min-width:0;flex:1}.s2047-navigation-copy strong{color:#a9ceff}.s2047-navigation-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d5e6ec}.s2047-navigation-copy small+small{color:#9fb7c1}.s2047-navigation-monitor button{border:1px solid rgba(169,206,255,.55);border-radius:8px;background:#142946;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-navigation-monitor button:hover,.s2047-navigation-monitor button:focus-visible{background:#1d426d}.s2047-navigation-monitor.is-warning{border-color:#ffd36d}.s2047-navigation-monitor.is-warning .s2047-navigation-copy strong{color:#ffd36d}.s2047-navigation-monitor.is-critical{border-color:#ff7e7e}.s2047-navigation-monitor.is-critical .s2047-navigation-copy strong{color:#ff9b9b}.s2047-navigation-monitor.is-compact .s2047-navigation-copy small,.s2047-navigation-monitor.is-compact [data-navigation-open]{display:none}@media(max-width:700px){.s2047-navigation-monitor{right:8px;bottom:356px;max-width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.s2047-navigation-monitor{transition:none}}


/* SOURCE: assets/css/postlaunch-communications-monitor.css */
.s2047-communications-monitor{position:fixed;right:14px;bottom:438px;z-index:100020;display:flex;align-items:center;gap:8px;max-width:min(460px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(112,224,255,.58);border-radius:11px;background:rgba(4,13,25,.95);color:#eefbff;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-communications-monitor[hidden]{display:none!important}.s2047-communications-copy{display:grid;min-width:0;flex:1}.s2047-communications-copy strong{color:#86e8ff}.s2047-communications-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d5e6ec}.s2047-communications-copy small+small{color:#9fb7c1}.s2047-communications-monitor button{border:1px solid rgba(134,232,255,.55);border-radius:8px;background:#12354a;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-communications-monitor button:hover,.s2047-communications-monitor button:focus-visible{background:#19536e}.s2047-communications-monitor.has-unread{border-color:#ffd36d}.s2047-communications-monitor.has-unread .s2047-communications-copy strong{color:#ffd36d}.s2047-communications-monitor.is-warning{border-color:#ff8f8f}.s2047-communications-monitor.is-warning .s2047-communications-copy strong{color:#ffaaaa}.s2047-communications-monitor.is-compact .s2047-communications-copy small,.s2047-communications-monitor.is-compact [data-comms-open]{display:none}@media(max-width:700px){.s2047-communications-monitor{right:8px;bottom:412px;max-width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.s2047-communications-monitor{transition:none}}


/* SOURCE: assets/css/postlaunch-faction-reputation-monitor.css */
.s2047-faction-reputation-monitor{position:fixed;right:14px;bottom:492px;z-index:100021;display:flex;align-items:center;gap:8px;max-width:min(470px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(178,153,255,.62);border-radius:11px;background:rgba(12,8,27,.95);color:#f7f2ff;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-faction-reputation-monitor[hidden]{display:none!important}.s2047-faction-reputation-copy{display:grid;min-width:0;flex:1}.s2047-faction-reputation-copy strong{color:#cabaff}.s2047-faction-reputation-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ebe5ff}.s2047-faction-reputation-copy small+small{color:#b8accb}.s2047-faction-reputation-monitor button{border:1px solid rgba(202,186,255,.55);border-radius:8px;background:#2b2050;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-faction-reputation-monitor button:hover,.s2047-faction-reputation-monitor button:focus-visible{background:#423170}.s2047-faction-reputation-monitor.is-warning{border-color:#ff9f9f}.s2047-faction-reputation-monitor.is-warning .s2047-faction-reputation-copy strong{color:#ffb2b2}.s2047-faction-reputation-monitor.is-compact .s2047-faction-reputation-copy small,.s2047-faction-reputation-monitor.is-compact [data-faction-open]{display:none}@media(max-width:700px){.s2047-faction-reputation-monitor{right:8px;bottom:466px;max-width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.s2047-faction-reputation-monitor{transition:none}}


/* SOURCE: assets/css/postlaunch-achievement-progress-monitor.css */
.s2047-achievement-progress-monitor{position:fixed;right:14px;bottom:554px;z-index:100022;display:flex;align-items:center;gap:8px;max-width:min(500px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(117,225,183,.62);border-radius:11px;background:rgba(6,25,25,.95);color:#effff9;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-achievement-progress-monitor[hidden]{display:none!important}.s2047-achievement-progress-copy{display:grid;min-width:0;flex:1;gap:1px}.s2047-achievement-progress-copy strong{color:#8df0c3}.s2047-achievement-progress-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e0fff1}.s2047-achievement-progress-copy small+small{color:#a7cfc0}.s2047-achievement-progress-copy span{display:block;height:4px;margin-top:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.14)}.s2047-achievement-progress-copy span i{display:block;height:100%;border-radius:inherit;background:#75e1b7;transition:width .25s ease}.s2047-achievement-progress-monitor button{border:1px solid rgba(117,225,183,.55);border-radius:8px;background:#154b3d;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-achievement-progress-monitor button:hover,.s2047-achievement-progress-monitor button:focus-visible{background:#1d6753}.s2047-achievement-progress-monitor.is-compact .s2047-achievement-progress-copy small,.s2047-achievement-progress-monitor.is-compact [data-achievement-open],.s2047-achievement-progress-monitor.is-compact [data-achievement-bar]{display:none}.s2047-achievement-progress-monitor.is-compact{max-width:230px}@media(max-width:760px){.s2047-achievement-progress-monitor{right:8px;bottom:calc(8px + env(safe-area-inset-bottom));max-width:calc(100vw - 16px);z-index:100030}.s2047-achievement-progress-monitor:not(.is-compact){left:8px}.s2047-achievement-progress-monitor button{padding:7px}}@media(prefers-reduced-motion:reduce){.s2047-achievement-progress-copy span i{transition:none}}


/* SOURCE: assets/css/postlaunch-equipment-readiness-monitor.css */
.s2047-equipment-readiness-monitor{position:fixed;right:14px;bottom:614px;z-index:100023;display:flex;align-items:center;gap:8px;max-width:min(500px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(111,197,255,.62);border-radius:11px;background:rgba(6,18,34,.95);color:#f0f8ff;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-equipment-readiness-monitor[hidden]{display:none!important}.s2047-equipment-readiness-copy{display:grid;min-width:0;flex:1;gap:1px}.s2047-equipment-readiness-copy strong{color:#8ed1ff}.s2047-equipment-readiness-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e2f3ff}.s2047-equipment-readiness-copy small+small{color:#aac8dc}.s2047-equipment-readiness-copy span{display:block;height:4px;margin-top:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.14)}.s2047-equipment-readiness-copy span i{display:block;height:100%;border-radius:inherit;background:#6fc5ff;transition:width .25s ease}.s2047-equipment-readiness-monitor.has-warning{border-color:rgba(255,190,87,.78)}.s2047-equipment-readiness-monitor.has-warning .s2047-equipment-readiness-copy strong{color:#ffd078}.s2047-equipment-readiness-monitor.has-warning .s2047-equipment-readiness-copy span i{background:#ffbe57}.s2047-equipment-readiness-monitor button{border:1px solid rgba(111,197,255,.55);border-radius:8px;background:#123f62;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-equipment-readiness-monitor button:hover,.s2047-equipment-readiness-monitor button:focus-visible{background:#19577f}.s2047-equipment-readiness-monitor.is-compact .s2047-equipment-readiness-copy small,.s2047-equipment-readiness-monitor.is-compact [data-equipment-open],.s2047-equipment-readiness-monitor.is-compact [data-equipment-bar]{display:none}.s2047-equipment-readiness-monitor.is-compact{max-width:230px}@media(max-width:760px){.s2047-equipment-readiness-monitor{right:8px;bottom:calc(8px + env(safe-area-inset-bottom));max-width:calc(100vw - 16px);z-index:100031}.s2047-equipment-readiness-monitor:not(.is-compact){left:8px}.s2047-equipment-readiness-monitor button{padding:7px}}@media(prefers-reduced-motion:reduce){.s2047-equipment-readiness-copy span i{transition:none}}


/* SOURCE: assets/css/postlaunch-environment-suit-monitor.css */
.s2047-environment-suit-monitor{position:fixed;right:14px;bottom:664px;z-index:100024;display:flex;align-items:center;gap:8px;max-width:min(510px,calc(100vw - 28px));padding:9px 10px;border:1px solid rgba(107,226,187,.64);border-radius:11px;background:rgba(5,27,31,.95);color:#effffb;box-shadow:0 7px 24px rgba(0,0,0,.34);font:600 12px/1.25 system-ui,sans-serif}.s2047-environment-suit-monitor[hidden]{display:none!important}.s2047-environment-suit-copy{display:grid;min-width:0;flex:1;gap:1px}.s2047-environment-suit-copy strong{color:#8ff0cf}.s2047-environment-suit-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e3fff7}.s2047-environment-suit-copy small+small{color:#acd8cb}.s2047-environment-suit-copy span{display:block;height:4px;margin-top:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.14)}.s2047-environment-suit-copy span i{display:block;height:100%;border-radius:inherit;background:#6be2bb;transition:width .25s ease}.s2047-environment-suit-monitor.has-warning{border-color:rgba(255,177,77,.8)}.s2047-environment-suit-monitor.has-warning .s2047-environment-suit-copy strong{color:#ffd078}.s2047-environment-suit-monitor.has-warning .s2047-environment-suit-copy span i{background:#ffb14d}.s2047-environment-suit-monitor button{border:1px solid rgba(107,226,187,.56);border-radius:8px;background:#125748;color:#fff;padding:6px 8px;cursor:pointer;font:inherit}.s2047-environment-suit-monitor button:hover,.s2047-environment-suit-monitor button:focus-visible{background:#19715f}.s2047-environment-suit-monitor.is-compact .s2047-environment-suit-copy small,.s2047-environment-suit-monitor.is-compact [data-environment-open],.s2047-environment-suit-monitor.is-compact [data-environment-bar]{display:none}.s2047-environment-suit-monitor.is-compact{max-width:240px}@media(max-width:760px){.s2047-environment-suit-monitor{right:8px;bottom:calc(8px + env(safe-area-inset-bottom));max-width:calc(100vw - 16px);z-index:100032}.s2047-environment-suit-monitor:not(.is-compact){left:8px}.s2047-environment-suit-monitor button{padding:7px}}@media(prefers-reduced-motion:reduce){.s2047-environment-suit-copy span i{transition:none}}


/* SOURCE: assets/css/combat-weapons-overhaul.css */
.s2047-combat-layer{position:fixed;inset:0;z-index:2147482500;pointer-events:none;overflow:hidden}.s2047-combat-projectile{position:absolute;left:0;top:0;width:14px;height:5px;border-radius:999px;transform-origin:center;will-change:transform;box-shadow:0 0 8px currentColor,0 0 16px currentColor;background:currentColor}.s2047-combat-projectile.is-laser{color:#ffeb67}.s2047-combat-projectile.is-plasma{color:#7affaa;width:18px;height:9px}.s2047-combat-projectile.is-ion{color:#72dfff;width:20px;height:3px}.s2047-combat-projectile.is-pulse{color:#ff8bdc}.s2047-combat-impact{position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);animation:s2047-impact .42s ease-out forwards;box-shadow:0 0 12px #fff}.s2047-combat-impact.is-glass{border-radius:0;transform:translate(-50%,-50%) rotate(45deg)}.s2047-is-hit{filter:brightness(1.7) saturate(1.4)!important}.s2047-destroyed{animation:s2047-destroy .52s ease-in forwards!important;pointer-events:none!important}.s2047-combat-hud{position:fixed;right:16px;bottom:16px;z-index:2147483000;display:grid;gap:4px;min-width:220px;padding:10px 12px;border:1px solid rgba(255,235,103,.5);border-radius:12px;background:rgba(5,10,24,.9);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35);font:600 14px/1.25 system-ui,sans-serif}.s2047-combat-hud small{font-size:11px;font-weight:500;opacity:.78}.s2047-combat-hud div{display:flex;gap:7px;margin-top:4px}.s2047-combat-hud button{flex:1;border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:7px 9px;background:rgba(255,255,255,.1);color:inherit;font:inherit;cursor:pointer}.s2047-combat-hud [data-combat-fire]{background:#7d271f;border-color:#ff8176}.s2047-combat-hud [data-combat-fire]:active{transform:scale(.97)}@keyframes s2047-impact{0%{opacity:1;transform:translate(-50%,-50%) scale(.25)}100%{opacity:0;transform:translate(-50%,-50%) scale(4)}}@keyframes s2047-destroy{0%{opacity:1;transform:scale(1)}70%{opacity:.65;filter:brightness(2)}100%{opacity:0;transform:scale(.3) rotate(8deg)}}@media(max-width:700px){.s2047-combat-hud{right:8px;bottom:86px;min-width:190px;padding:8px}.s2047-combat-hud small{display:none}.s2047-combat-hud button{min-height:42px}}@media(prefers-reduced-motion:reduce){.s2047-combat-impact,.s2047-destroyed{animation-duration:.01ms!important}}


/* SOURCE: assets/css/destructible-world-phase-two.css */
.s2047-breakable{transition:filter .14s ease,opacity .42s ease,transform .42s ease}.s2047-breakable.s2047-is-hit{filter:brightness(1.75) saturate(1.4)}.s2047-breakable.s2047-destruction-collapse{pointer-events:none;opacity:0;transform:translateY(12px) scale(.72) rotate(2deg);filter:brightness(1.4) blur(1px)}.s2047-destruction-layer{position:fixed;inset:0;z-index:2147480600;overflow:hidden;pointer-events:none}.s2047-debris{position:absolute;width:9px;height:7px;border-radius:2px;background:#9c7344;box-shadow:0 1px 2px rgba(0,0,0,.35);animation:s2047-debris-flight .8s cubic-bezier(.18,.68,.24,1) forwards}.s2047-debris.is-glass{width:7px;height:10px;border-radius:0;background:rgba(151,232,255,.78);clip-path:polygon(50% 0,100% 100%,0 78%)}.s2047-debris.is-rock{background:#7f7a70;border-radius:45%}.s2047-debris.is-vegetation{background:#4d9a55;border-radius:80% 10% 80% 10%}.s2047-debris.is-metal{background:#9aabba}.s2047-destruction-ring{position:absolute;width:14px;height:14px;margin:-7px;border:2px solid rgba(255,220,130,.85);border-radius:50%;animation:s2047-destruction-ring .48s ease-out forwards}.s2047-destruction-ring.is-glass{border-color:rgba(159,236,255,.9)}.s2047-destruction-ring.is-rock{border-color:rgba(205,190,160,.85)}.s2047-destruction-ring.is-vegetation{border-color:rgba(126,225,126,.8)}.s2047-destruction-ring.is-metal{border-color:rgba(188,220,244,.88)}@keyframes s2047-debris-flight{0%{opacity:1;transform:translate3d(0,0,0) rotate(0)}70%{opacity:1;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot))}100%{opacity:0;transform:translate3d(var(--dx),35px,0) rotate(var(--rot))}}@keyframes s2047-destruction-ring{to{opacity:0;transform:scale(6)}}@media(prefers-reduced-motion:reduce){.s2047-breakable{transition:none}.s2047-debris,.s2047-destruction-ring{animation-duration:.01ms}}


/* SOURCE: assets/css/enemy-combat-ai-phase-three.css */
.s2047-ai-enabled{will-change:transform;transition:filter .16s ease}
.s2047-ai-enabled.s2047-ai-moving{animation:s2047-ai-step .28s steps(2,end) infinite}
.s2047-ai-enabled[data-s2047-ai-state="chase"],.s2047-ai-enabled[data-s2047-ai-state="attack"]{filter:drop-shadow(0 0 7px rgba(255,72,72,.72))}
.s2047-ai-enabled[data-s2047-ai-state="investigate"]{filter:drop-shadow(0 0 6px rgba(255,216,77,.62))}
.s2047-ai-enabled[data-s2047-ai-state="retreat"]{filter:drop-shadow(0 0 7px rgba(98,205,255,.65))}
.s2047-ai-attacking{animation:s2047-ai-attack .22s ease-out}
@keyframes s2047-ai-step{50%{margin-top:-2px}}
@keyframes s2047-ai-attack{50%{filter:brightness(1.7) saturate(1.5)}}
@media (prefers-reduced-motion:reduce){.s2047-ai-enabled,.s2047-ai-enabled.s2047-ai-moving,.s2047-ai-attacking{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/boss-encounters-phase-five.css */
.s2047-boss-enabled{position:relative;transition:filter .25s ease,transform .25s ease}.s2047-boss-active{filter:drop-shadow(0 0 12px rgba(255,80,40,.7))}.s2047-boss-weakpoint{position:absolute;left:50%;top:50%;width:12px;height:12px;border:2px solid currentColor;border-radius:50%;background:rgba(255,255,255,.85);transform:rotate(var(--s2047-wp-angle)) translateX(42px);transform-origin:0 0;pointer-events:auto;box-shadow:0 0 8px currentColor}.s2047-boss-weakpoint.is-hit{animation:s2047-boss-hit .18s linear}.s2047-boss-phase-change{animation:s2047-boss-phase .7s ease}.s2047-boss-attacking{animation:s2047-boss-attack .65s ease}.s2047-boss-defeated{animation:s2047-boss-defeat 1s ease forwards;pointer-events:none}@keyframes s2047-boss-hit{50%{transform:rotate(var(--s2047-wp-angle)) translateX(42px) scale(1.7)}}@keyframes s2047-boss-phase{50%{filter:brightness(1.8) saturate(1.7);transform:scale(1.06)}}@keyframes s2047-boss-attack{50%{filter:brightness(1.5);transform:scale(1.04)}}@keyframes s2047-boss-defeat{to{opacity:0;filter:blur(4px);transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.s2047-boss-enabled,.s2047-boss-weakpoint{animation:none!important;transition:none!important}}


/* SOURCE: assets/css/combat-polish-phase-six.css */
.s2047-combat-polish-layer{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:hidden}.s2047-damage-number{position:absolute;transform:translate(-50%,-50%);font:800 18px/1 system-ui,sans-serif;color:#fff;text-shadow:0 2px 4px #000,0 0 8px rgba(255,80,20,.8);animation:s2047-damage-float .9s ease-out forwards}.s2047-damage-number.is-critical{font-size:23px;color:#ffe36e}.s2047-combo-hud{position:fixed;right:18px;top:118px;z-index:2147482500;display:none;min-width:112px;padding:8px 10px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:rgba(4,11,20,.78);color:#fff;text-align:right;pointer-events:none;backdrop-filter:blur(6px)}.s2047-combo-hud.is-active{display:block;animation:s2047-combo-pop .18s ease-out}.s2047-combo-hud strong,.s2047-combo-hud small{display:block}.s2047-combo-hud strong{font:800 17px/1.1 system-ui,sans-serif}.s2047-combo-hud small{margin-top:3px;opacity:.72;font:600 11px/1.1 system-ui,sans-serif}@keyframes s2047-damage-float{0%{opacity:0;transform:translate(-50%,-25%) scale(.7)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-130%) scale(.92)}}@keyframes s2047-combo-pop{from{transform:scale(.85);opacity:.2}to{transform:none;opacity:1}}@media(max-width:720px){.s2047-combo-hud{right:10px;top:96px}}@media(prefers-reduced-motion:reduce){.s2047-damage-number,.s2047-combo-hud{animation:none!important}}


/* SOURCE: assets/css/character-animation-phase-one.css */
/* Milestone 2, phase one: natural eight-direction character motion. */
.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"] {
  --s2047-motion-speed: 1;
  --s2047-body-rise: 0px;
  --s2047-body-lean: 0deg;
  transform-origin: 50% 92%;
  backface-visibility: hidden;
  will-change: transform, translate;
}

.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"][data-s2047-direction8="east"],
.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"][data-s2047-direction8="north-east"],
.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"][data-s2047-direction8="south-east"] {
  --s2047-character-mirror: 1;
}
.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"][data-s2047-direction8="west"],
.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"][data-s2047-direction8="north-west"],
.s2047-character-animation-phase-one-ready [data-s2047-animation-enhanced="true"][data-s2047-direction8="south-west"] {
  --s2047-character-mirror: -1;
}

.s2047-character-animation-phase-one-ready .s2047-natural-walking {
  animation: s2047-natural-stride calc(.38s / var(--s2047-motion-speed)) linear infinite !important;
}
.s2047-character-animation-phase-one-ready .s2047-natural-walking[data-s2047-natural-stride="1"],
.s2047-character-animation-phase-one-ready .s2047-natural-walking[data-s2047-natural-stride="3"] {
  --s2047-body-lean: .65deg;
}
.s2047-character-animation-phase-one-ready .s2047-natural-walking[data-s2047-natural-stride="0"],
.s2047-character-animation-phase-one-ready .s2047-natural-walking[data-s2047-natural-stride="2"] {
  --s2047-body-lean: -.65deg;
}
.s2047-character-animation-phase-one-ready .s2047-natural-idle {
  animation: s2047-idle-breath 2.8s ease-in-out infinite !important;
}

@keyframes s2047-natural-stride {
  0%   { translate: 0 0; rotate: var(--s2047-body-lean); }
  18%  { translate: 0 -1px; rotate: calc(var(--s2047-body-lean) * -1); }
  50%  { translate: 0 0; rotate: var(--s2047-body-lean); }
  68%  { translate: 0 -1px; rotate: calc(var(--s2047-body-lean) * -1); }
  100% { translate: 0 0; rotate: var(--s2047-body-lean); }
}
@keyframes s2047-idle-breath {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -0.65px; }
}

/* Direction attributes allow real sprite sheets/renderers to select all eight rows. */
.s2047-character-animation-phase-one-ready [data-s2047-direction8="north"] { --s2047-direction-row: 0; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="north-east"] { --s2047-direction-row: 1; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="east"] { --s2047-direction-row: 2; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="south-east"] { --s2047-direction-row: 3; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="south"] { --s2047-direction-row: 4; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="south-west"] { --s2047-direction-row: 5; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="west"] { --s2047-direction-row: 6; }
.s2047-character-animation-phase-one-ready [data-s2047-direction8="north-west"] { --s2047-direction-row: 7; }

@media (prefers-reduced-motion: reduce) {
  .s2047-character-animation-phase-one-ready .s2047-natural-walking,
  .s2047-character-animation-phase-one-ready .s2047-natural-idle { animation: none !important; }
}


/* SOURCE: assets/css/character-carrying-phase-two.css */
/* Milestone 2, phase two: visible carrying, pickup/drop and action poses. */
.s2047-character-carrying-phase-two-ready [data-s2047-player],
.s2047-character-carrying-phase-two-ready #player,
.s2047-character-carrying-phase-two-ready #game-player,
.s2047-character-carrying-phase-two-ready .player-character,
.s2047-character-carrying-phase-two-ready .s2047-player{--s2047-carry-lift:-15px;--s2047-carry-forward:8px}
.s2047-carried-object-visual{display:none;position:absolute;left:50%;top:50%;z-index:8;width:22px;height:18px;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.78);border-radius:5px;background:linear-gradient(145deg,#f2bc45,#8e5c23);box-shadow:0 4px 6px rgba(0,0,0,.42);color:#101820;font:800 8px/1 system-ui,sans-serif;pointer-events:none;transform:translate(calc(-50% + var(--s2047-carry-forward)),calc(-50% + var(--s2047-carry-lift)))}
.s2047-is-carrying>.s2047-carried-object-visual{display:flex}
.s2047-is-carrying[data-s2047-carry-mode="two-hand"]>.s2047-carried-object-visual{width:34px;height:23px;--s2047-carry-lift:-11px;--s2047-carry-forward:4px}
.s2047-is-carrying[data-s2047-carry-size="large"]{--s2047-motion-speed:.82!important}
.s2047-is-carrying.s2047-natural-walking>.s2047-carried-object-visual{animation:s2047-carried-walk .42s steps(2) infinite}
.s2047-carry-transition[data-s2047-carry-transition="pickup"]{animation:s2047-pickup-pose .34s ease-out}
.s2047-carry-transition[data-s2047-carry-transition="drop"]{animation:s2047-drop-pose .34s ease-out}
.s2047-carry-transition[data-s2047-carry-transition="use"],
.s2047-carry-transition[data-s2047-action-pose="interact"]{animation:s2047-use-pose .36s ease-out}
.s2047-is-carrying[data-s2047-direction8="north"]>.s2047-carried-object-visual,
.s2047-is-carrying[data-s2047-direction8="north-east"]>.s2047-carried-object-visual,
.s2047-is-carrying[data-s2047-direction8="north-west"]>.s2047-carried-object-visual{z-index:-1;filter:brightness(.84)}
@keyframes s2047-carried-walk{50%{transform:translate(calc(-50% + var(--s2047-carry-forward)),calc(-50% + var(--s2047-carry-lift) - 2px)) rotate(-2deg)}}
@keyframes s2047-pickup-pose{0%{transform:translateY(0)}45%{transform:translateY(5px) scaleY(.92)}100%{transform:translateY(0)}}
@keyframes s2047-drop-pose{0%{transform:translateY(0)}55%{transform:translateY(4px) rotate(2deg)}100%{transform:translateY(0)}}
@keyframes s2047-use-pose{40%{transform:translateY(-2px) rotate(-3deg)}75%{transform:translateY(1px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.s2047-is-carrying.s2047-natural-walking>.s2047-carried-object-visual,.s2047-carry-transition{animation:none!important}}


/* SOURCE: assets/css/character-personality-phase-three.css */
/* Space 2047 HD Edition 5.2.2 — Character personality and idle expressions */

[data-s2047-personality-enhanced="true"] {
  --s2047-glance-x: 0;
  --s2047-glance-y: 0;
  transform-origin: 50% 92%;
}

[data-s2047-personality-enhanced="true"] [data-s2047-eyes],
[data-s2047-personality-enhanced="true"] .s2047-character-eyes,
[data-s2047-personality-enhanced="true"] .character-eyes,
[data-s2047-personality-enhanced="true"] .eyes {
  transform: translate(calc(var(--s2047-glance-x) * 1px), calc(var(--s2047-glance-y) * 1px));
  transition: transform 140ms ease-out, opacity 70ms linear;
  transform-origin: center;
}

[data-s2047-blinking="true"] [data-s2047-eyes],
[data-s2047-blinking="true"] .s2047-character-eyes,
[data-s2047-blinking="true"] .character-eyes,
[data-s2047-blinking="true"] .eyes {
  transform: translate(calc(var(--s2047-glance-x) * 1px), calc(var(--s2047-glance-y) * 1px)) scaleY(.08);
}

.s2047-personality-idle-active[data-s2047-idle-style="moustache-proud"] {
  animation: s2047-idle-moustache-proud 1.05s ease-in-out 1;
}
.s2047-personality-idle-active[data-s2047-idle-style="thoughtful"] {
  animation: s2047-idle-thoughtful 1.15s ease-in-out 1;
}
.s2047-personality-idle-active[data-s2047-idle-style="alert"] {
  animation: s2047-idle-alert .82s ease-in-out 1;
}
.s2047-personality-idle-active[data-s2047-idle-style="confident"] {
  animation: s2047-idle-confident 1.08s ease-in-out 1;
}
.s2047-personality-idle-active[data-s2047-idle-style="natural"] {
  animation: s2047-idle-natural 1.05s ease-in-out 1;
}

@keyframes s2047-idle-moustache-proud {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  42% { translate: 0 -1px; rotate: -1deg; }
  70% { translate: 0 -1px; rotate: 1deg; }
}
@keyframes s2047-idle-thoughtful {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  48% { translate: -1px 0; rotate: -1.25deg; }
}
@keyframes s2047-idle-alert {
  0%, 100% { translate: 0 0; }
  35% { translate: 1px -1px; }
  68% { translate: -1px 0; }
}
@keyframes s2047-idle-confident {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  50% { translate: 1px -1px; rotate: .8deg; }
}
@keyframes s2047-idle-natural {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -1px; }
}

@media (prefers-reduced-motion: reduce) {
  .s2047-personality-idle-active[data-s2047-idle-style] { animation: none !important; }
  [data-s2047-personality-enhanced="true"] [data-s2047-eyes],
  [data-s2047-personality-enhanced="true"] .s2047-character-eyes,
  [data-s2047-personality-enhanced="true"] .character-eyes,
  [data-s2047-personality-enhanced="true"] .eyes { transition: none !important; }
}


/* SOURCE: assets/css/character-movement-polish-phase-four.css */
/* Space 2047 HD Edition 5.2.3 — Character movement polish and terrain response */
.s2047-character-animation-phase-one-ready [data-s2047-movement-polished="true"],
.s2047-character-animation-phase-one-ready .s2047-player[data-s2047-movement-polished="true"],
.s2047-character-animation-phase-one-ready .s2047-npc[data-s2047-movement-polished="true"] {
  --s2047-polished-speed: 0;
  --s2047-turn-lean: 0deg;
  --s2047-terrain-stride: 1;
  --s2047-terrain-lift: 1;
  --s2047-terrain-drag: 1;
  --s2047-stop-settle: 0;
  transform-origin: 50% 88%;
}

[data-s2047-movement-polished="true"].s2047-natural-walking {
  animation-duration: calc((0.58s / max(var(--s2047-motion-speed, 1), .65)) / var(--s2047-terrain-stride, 1));
  filter: saturate(calc(.96 + min(var(--s2047-polished-speed, 0), 2) * .02));
}

[data-s2047-movement-polished="true"] .s2047-character-body,
[data-s2047-movement-polished="true"] .character-body,
[data-s2047-movement-polished="true"] .sprite-body {
  transform: rotate(var(--s2047-turn-lean, 0deg)) translateY(calc(-1px * var(--s2047-stop-settle, 0)));
  transition: transform 90ms linear;
  transform-origin: 50% 85%;
}

[data-s2047-movement-polished="true"][data-s2047-terrain-response="snow"] { --s2047-foot-sink: 1px; }
[data-s2047-movement-polished="true"][data-s2047-terrain-response="sand"] { --s2047-foot-sink: 2px; }
[data-s2047-movement-polished="true"][data-s2047-terrain-response="mud"] { --s2047-foot-sink: 3px; }
[data-s2047-movement-polished="true"][data-s2047-terrain-response="water"] { --s2047-foot-sink: 4px; }
[data-s2047-movement-polished="true"][data-s2047-terrain-response="ice"] { --s2047-foot-sink: 0px; }

[data-s2047-movement-polished="true"] .s2047-character-feet,
[data-s2047-movement-polished="true"] .character-feet,
[data-s2047-movement-polished="true"] .sprite-feet {
  transform: translateY(var(--s2047-foot-sink, 0));
}

[data-s2047-movement-polished="true"].s2047-movement-clean-stop .s2047-character-body,
[data-s2047-movement-polished="true"].s2047-movement-clean-stop .character-body,
[data-s2047-movement-polished="true"].s2047-movement-clean-stop .sprite-body {
  animation: s2047-clean-stop-settle 260ms ease-out both;
}

@keyframes s2047-clean-stop-settle {
  0% { transform: rotate(var(--s2047-turn-lean, 0deg)) translateY(-2px); }
  55% { transform: rotate(calc(var(--s2047-turn-lean, 0deg) * .35)) translateY(1px); }
  100% { transform: rotate(0deg) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  [data-s2047-movement-polished="true"] .s2047-character-body,
  [data-s2047-movement-polished="true"] .character-body,
  [data-s2047-movement-polished="true"] .sprite-body {
    transition: none;
    animation: none !important;
    transform: none;
  }
}


/* SOURCE: assets/css/npc-routines-phase-one.css */
.s2047-npc-routine-active {
  --s2047-routine-emphasis: 1;
}
.s2047-npc-routine-active[data-s2047-routine-state="performing"] {
  animation: s2047-npc-work-settle 1.8s ease-in-out infinite;
}
.s2047-npc-routine-active[data-s2047-routine="sleep"] {
  --s2047-routine-emphasis: .35;
}
.s2047-npc-routine-active[data-s2047-routine="work"] {
  --s2047-routine-emphasis: 1;
}
@keyframes s2047-npc-work-settle {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(calc(1 + .035 * var(--s2047-routine-emphasis, 1))); }
}
@media (prefers-reduced-motion: reduce) {
  .s2047-npc-routine-active[data-s2047-routine-state="performing"] { animation: none; }
}


/* SOURCE: assets/css/npc-conversations-phase-two.css */
[data-s2047-conversation-ready="true"] { --s2047-relationship: 0; }
.s2047-npc-conversation-active { animation: s2047-conversation-attention .42s ease-out 2 alternate; transform-origin: 50% 100%; }
[data-s2047-relationship]::after { content: ""; position: absolute; inset: auto 18% -4px; height: 3px; border-radius: 999px; opacity: .55; background: currentColor; pointer-events: none; }
@keyframes s2047-conversation-attention { from { filter: brightness(1); } to { filter: brightness(1.16); transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .s2047-npc-conversation-active { animation: none; } }


/* SOURCE: assets/css/npc-advanced-pathfinding-phase-three.css */
/* Space 2047 v5.3.2 — NPC advanced pathfinding state hooks. */
[data-s2047-path-state="queueing"],
[data-s2047-path-state="yielding"] { transition: transform .18s ease-out; }
[data-s2047-path-state="recovering"] { animation: s2047-npc-path-recover .34s ease-out; }
@keyframes s2047-npc-path-recover {
  0% { filter: brightness(1); }
  45% { filter: brightness(1.16); }
  100% { filter: brightness(1); }
}
@media (prefers-reduced-motion: reduce) {
  [data-s2047-path-state="recovering"] { animation: none; }
}


/* SOURCE: assets/css/npc-group-coordination-phase-four.css */
/* Space 2047 HD Edition v5.3.3 — NPC group coordination */
[data-s2047-alert-id] { --s2047-npc-alert-strength: 1; }
[data-s2047-group-order="lead-response"] { z-index: 4; }
[data-s2047-group-order="support-response"] { z-index: 3; }
[data-s2047-formation] { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
  [data-s2047-alert-id], [data-s2047-formation] { transition: none !important; }
}


/* SOURCE: assets/css/world-completion-phase-one.css */
.s2047-world-atlas{position:fixed;right:14px;top:84px;width:min(360px,calc(100vw - 28px));max-height:calc(100vh - 110px);z-index:1200;background:rgba(4,15,28,.95);border:1px solid rgba(255,216,77,.55);border-radius:14px;color:#f7fbff;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.38)}
.s2047-world-atlas[hidden]{display:none}.s2047-world-atlas header{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.13)}.s2047-world-atlas header>div{flex:1}.s2047-world-atlas small{display:block;opacity:.75;margin-top:2px}.s2047-world-atlas button,.s2047-world-atlas select{background:#10283d;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 9px}.s2047-atlas-body{padding:10px;overflow:auto;max-height:calc(100vh - 165px)}.s2047-atlas-progress{height:8px;background:rgba(255,255,255,.12);border-radius:99px;margin-bottom:10px;overflow:hidden}.s2047-atlas-progress span{display:block;height:100%;background:#ffd84d}.s2047-atlas-body>label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.s2047-atlas-location{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.1)}.s2047-atlas-location>div{flex:1;min-width:0}.s2047-atlas-location.is-unknown{opacity:.58}.s2047-world-atlas.is-compact .s2047-atlas-body{display:none}@media(max-width:700px){.s2047-world-atlas{top:auto;bottom:78px;right:8px;width:calc(100vw - 16px);max-height:48vh}.s2047-atlas-body{max-height:38vh}}


/* SOURCE: assets/css/world-completion-phase-two.css */
.s2047-location-explorer{position:fixed;left:14px;top:84px;width:min(350px,calc(100vw - 28px));max-height:calc(100vh - 110px);z-index:1201;background:rgba(4,15,28,.96);border:1px solid rgba(93,220,255,.55);border-radius:14px;color:#f7fbff;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.38)}
.s2047-location-explorer[hidden]{display:none}.s2047-location-explorer header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.13)}.s2047-location-explorer header>div{flex:1}.s2047-location-explorer small{display:block;opacity:.75;margin-top:2px}.s2047-location-explorer button,.s2047-location-explorer select{background:#10283d;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 9px}.s2047-depth-body{padding:10px;overflow:auto;max-height:calc(100vh - 165px)}.s2047-depth-body>label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.s2047-depth-progress{height:8px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;margin-bottom:10px}.s2047-depth-progress span{display:block;height:100%;background:#5ddcff}.s2047-depth-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.s2047-depth-item>div{flex:1}.s2047-depth-item.is-hidden{opacity:.75}@media(max-width:700px){.s2047-location-explorer{left:8px;top:auto;bottom:78px;width:calc(100vw - 16px);max-height:48vh}.s2047-depth-body{max-height:38vh}}


/* SOURCE: assets/css/world-completion-phase-three.css */
.s2047-world-connections{position:fixed;right:18px;bottom:18px;z-index:2147482700;width:min(390px,calc(100vw - 28px));max-height:min(72vh,620px);overflow:auto;border:1px solid rgba(255,216,77,.45);border-radius:14px;background:rgba(5,15,28,.96);color:#f7fbff;box-shadow:0 14px 42px rgba(0,0,0,.42);font:14px/1.35 system-ui,sans-serif}
.s2047-world-connections[hidden]{display:none!important}.s2047-world-connections header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.13)}.s2047-world-connections header>div{flex:1}.s2047-world-connections header small{display:block;color:#b8cad8}.s2047-world-connections button,.s2047-world-connections select{border:1px solid rgba(255,216,77,.5);border-radius:8px;background:#102438;color:#fff;padding:7px 9px}.s2047-world-connections header button{min-width:34px}.s2047-route-body{padding:12px}.s2047-route-body label{display:grid;gap:5px}.s2047-route-progress{height:8px;margin:10px 0 12px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}.s2047-route-progress span{display:block;height:100%;background:#ffd84d;transition:width .25s ease}.s2047-route-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.s2047-route-item:first-child{border-top:0}.s2047-route-item>div{flex:1}.s2047-route-item small{display:block;color:#afc3d4;text-transform:capitalize}.s2047-route-item.is-locked{opacity:.58}.s2047-route-item.is-found strong:before{content:'✓ ';color:#ffd84d}@media(max-width:600px){.s2047-world-connections{right:10px;bottom:92px;width:calc(100vw - 20px);max-height:58vh}}@media(prefers-reduced-motion:reduce){.s2047-route-progress span{transition:none}}


/* SOURCE: assets/css/world-completion-phase-four.css */
.s2047-regional-life{position:fixed;right:18px;top:88px;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 112px);z-index:2147482500;background:rgba(5,17,29,.96);color:#f7fbff;border:1px solid rgba(255,216,77,.58);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.45);overflow:auto}.s2047-regional-life[hidden]{display:none}.s2047-regional-life header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.13)}.s2047-regional-life header div{display:grid;gap:2px}.s2047-regional-life header small,.s2047-life-item small{color:#bdd0df}.s2047-regional-life button,.s2047-regional-life select{font:inherit}.s2047-regional-life header button{border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.s2047-life-body{padding:13px;display:grid;gap:11px}.s2047-life-body label{display:grid;gap:5px;font-size:13px}.s2047-life-body select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#0b2135;color:#fff}.s2047-life-progress{height:8px;border-radius:99px;background:rgba(255,255,255,.11);overflow:hidden}.s2047-life-progress span{display:block;height:100%;background:#ffd84d;transition:width .25s ease}.s2047-life-actions button,.s2047-life-item button{border:1px solid rgba(255,216,77,.62);background:rgba(255,216,77,.13);color:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}.s2047-life-actions button{width:100%}.s2047-life-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.035)}.s2047-life-item>div{display:grid;gap:3px}.s2047-life-item small{font-size:12px;line-height:1.35}.s2047-life-item.is-complete{border-color:rgba(111,231,168,.48)}.s2047-life-item.is-hidden{opacity:.68}@media(max-width:600px){.s2047-regional-life{right:8px;top:70px;width:calc(100vw - 16px);max-height:calc(100vh - 82px)}}@media(prefers-reduced-motion:reduce){.s2047-life-progress span{transition:none}}


/* SOURCE: assets/css/world-completion-phase-five.css */
.s2047-world-commissioning{position:fixed;right:18px;top:72px;z-index:10022;width:min(430px,calc(100vw - 24px));max-height:calc(100vh - 92px);overflow:auto;border:1px solid rgba(141,231,255,.48);border-radius:14px;background:rgba(4,17,28,.97);box-shadow:0 18px 55px rgba(0,0,0,.48);color:#fff}.s2047-world-commissioning[hidden]{display:none}.s2047-world-commissioning>header{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.13)}.s2047-world-commissioning>header div{flex:1;display:grid}.s2047-world-commissioning>header small{opacity:.72}.s2047-world-commissioning button{border:1px solid rgba(143,233,255,.45);border-radius:8px;background:#0b2a3b;color:#fff;padding:8px 10px}.s2047-world-commissioning button:disabled{opacity:.5}.s2047-world-audit-body{display:grid;gap:12px;padding:14px}.s2047-world-audit-overall{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.s2047-world-audit-overall>div:first-child{display:grid}.s2047-world-audit-overall strong{font-size:1.55rem}.s2047-world-audit-overall small{opacity:.72}.s2047-world-audit-progress,.s2047-world-audit-metric i{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}.s2047-world-audit-progress span,.s2047-world-audit-metric b{display:block;height:100%;background:#8fe9ff;transition:width .25s ease}.s2047-world-audit-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-world-audit-metric{display:grid!important;grid-template-columns:1fr auto;gap:3px;text-align:left}.s2047-world-audit-metric small,.s2047-world-audit-metric i{grid-column:1/-1}.s2047-world-audit-metric small{opacity:.7}.s2047-world-audit-actions{display:grid;grid-template-columns:1fr;gap:8px}.s2047-world-certificates{display:grid;gap:7px}.s2047-world-certificate{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.035)}.s2047-world-certificate div{display:grid}.s2047-world-certificate small{opacity:.68}.s2047-world-certificate.is-complete{border-color:rgba(143,255,177,.48)}.s2047-world-certificate.is-certified{background:rgba(255,216,77,.09);border-color:rgba(255,216,77,.55)}.s2047-world-certificate.is-certified>span{color:#ffd84d;font-size:1.25rem}@media(max-width:620px){.s2047-world-commissioning{right:8px;top:58px;width:calc(100vw - 16px);max-height:calc(100vh - 68px)}.s2047-world-audit-metrics{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-world-audit-progress span,.s2047-world-audit-metric b{transition:none}}


/* SOURCE: assets/css/mission-campaign-phase-one.css */
.s2047-campaign-panel{position:fixed;z-index:100140;right:18px;top:74px;width:min(580px,calc(100vw - 36px));max-height:calc(100vh - 94px);overflow:auto;border:1px solid rgba(255,216,77,.5);border-radius:16px;background:rgba(4,14,26,.97);color:#f7fbff;box-shadow:0 20px 65px rgba(0,0,0,.55);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.s2047-campaign-panel[hidden]{display:none}.s2047-campaign-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.s2047-campaign-panel>header div{display:grid;gap:2px}.s2047-campaign-panel>header strong{color:#ffd84d}.s2047-campaign-panel>header small{opacity:.72}.s2047-campaign-panel button{color:inherit}.s2047-campaign-panel>header button{border:0;background:transparent;font-size:25px;cursor:pointer}.s2047-campaign-progress{height:5px;background:rgba(255,255,255,.08)}.s2047-campaign-progress span{display:block;height:100%;background:#ffd84d;transition:width .25s ease}.s2047-campaign-panel nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}.s2047-campaign-panel nav button{display:grid;grid-template-columns:27px 1fr;gap:2px 7px;text-align:left;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.045);cursor:pointer}.s2047-campaign-panel nav button>span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(255,216,77,.13);color:#ffd84d;font-weight:700}.s2047-campaign-panel nav strong{font-size:12px}.s2047-campaign-panel nav small{font-size:10px;opacity:.65}.s2047-campaign-panel nav button.is-current{border-color:#ffd84d;background:rgba(255,216,77,.11)}.s2047-campaign-panel nav button:disabled{opacity:.38;cursor:not-allowed}.s2047-campaign-panel section{padding:16px}.s2047-campaign-title{display:flex;justify-content:space-between;gap:16px}.s2047-campaign-title span,.s2047-campaign-title small{font-size:12px;opacity:.7}.s2047-campaign-title h2{margin:2px 0;font-size:22px}.s2047-campaign-status{align-self:start;border:1px solid rgba(255,216,77,.35);border-radius:999px;padding:5px 9px;color:#ffd84d}.s2047-campaign-panel section>p{line-height:1.5;opacity:.88}.s2047-campaign-objectives{display:grid;gap:7px;margin:14px 0}.s2047-campaign-objectives button{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.035);cursor:pointer}.s2047-campaign-objectives button i{font-style:normal;color:#ffd84d}.s2047-campaign-objectives button.is-complete{opacity:.68;text-decoration:line-through}.s2047-campaign-reward{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,216,77,.08);font-size:13px}.s2047-campaign-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.s2047-campaign-actions button{padding:9px 12px;border:1px solid rgba(255,216,77,.42);border-radius:9px;background:rgba(255,216,77,.12);cursor:pointer}.s2047-campaign-actions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:620px){.s2047-campaign-panel{right:8px;top:58px;width:calc(100vw - 16px);max-height:calc(100vh - 68px)}.s2047-campaign-panel nav{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.s2047-campaign-progress span{transition:none}}


/* SOURCE: assets/css/mission-campaign-phase-two.css */
.s2047-campaign-choice-panel{position:fixed;z-index:100145;left:18px;top:74px;width:min(590px,calc(100vw - 36px));max-height:calc(100vh - 94px);overflow:auto;border:1px solid rgba(111,224,255,.48);border-radius:16px;background:rgba(4,14,26,.97);color:#f7fbff;box-shadow:0 20px 65px rgba(0,0,0,.55);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.s2047-campaign-choice-panel[hidden]{display:none}.s2047-campaign-choice-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.s2047-campaign-choice-panel>header div{display:grid;gap:2px}.s2047-campaign-choice-panel>header strong{color:#6fe0ff}.s2047-campaign-choice-panel>header small{opacity:.72}.s2047-campaign-choice-panel button{color:inherit}.s2047-campaign-choice-panel>header button{border:0;background:transparent;font-size:25px;cursor:pointer}.s2047-choice-progress{height:5px;background:rgba(255,255,255,.08)}.s2047-choice-progress span{display:block;height:100%;background:#6fe0ff;transition:width .25s ease}.s2047-campaign-choice-panel nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}.s2047-campaign-choice-panel nav button{display:grid;grid-template-columns:27px 1fr;gap:2px 7px;text-align:left;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.045);cursor:pointer}.s2047-campaign-choice-panel nav button>span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(111,224,255,.13);color:#6fe0ff;font-weight:700}.s2047-campaign-choice-panel nav strong{font-size:12px}.s2047-campaign-choice-panel nav small{font-size:10px;opacity:.65}.s2047-campaign-choice-panel nav button.is-current{border-color:#6fe0ff;background:rgba(111,224,255,.1)}.s2047-campaign-choice-panel section{padding:16px}.s2047-choice-title{display:flex;justify-content:space-between;gap:15px}.s2047-choice-title span{font-size:12px;opacity:.7}.s2047-choice-title h2{margin:2px 0;font-size:22px}.s2047-choice-title button{align-self:start;padding:7px 10px;border:1px solid rgba(111,224,255,.38);border-radius:8px;background:rgba(111,224,255,.09);cursor:pointer}.s2047-campaign-choice-panel section>p{line-height:1.5;opacity:.88}.s2047-choice-options{display:grid;gap:10px;margin:14px 0}.s2047-choice-options button{display:grid;gap:5px;text-align:left;padding:13px;border:1px solid rgba(111,224,255,.36);border-radius:12px;background:rgba(111,224,255,.07);cursor:pointer}.s2047-choice-options button:hover,.s2047-choice-options button:focus-visible{background:rgba(111,224,255,.15);border-color:#6fe0ff}.s2047-choice-options span,.s2047-choice-result p,.s2047-choice-path span{line-height:1.42;opacity:.82}.s2047-choice-result{padding:14px;border:1px solid rgba(118,238,158,.4);border-radius:12px;background:rgba(118,238,158,.08)}.s2047-choice-result strong{color:#76ee9e}.s2047-choice-result p{margin:6px 0}.s2047-choice-result small{opacity:.62}.s2047-choice-path{display:grid;gap:4px;margin-top:14px;padding:12px;border-radius:11px;background:rgba(255,255,255,.05)}.s2047-choice-path strong{color:#6fe0ff}.s2047-choice-path small{margin-top:4px;opacity:.6}@media(max-width:620px){.s2047-campaign-choice-panel{left:8px;top:58px;width:calc(100vw - 16px);max-height:calc(100vh - 68px)}.s2047-campaign-choice-panel nav{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.s2047-choice-progress span{transition:none}}


/* SOURCE: assets/css/mission-campaign-phase-three.css */
.s2047-campaign-sidequests{position:fixed;inset:8% max(18px,8%) auto;max-height:84vh;overflow:auto;z-index:2147480200;background:rgba(4,14,27,.97);color:#fff;border:2px solid #ffd84d;border-radius:16px;padding:16px;box-shadow:0 18px 70px rgba(0,0,0,.6)}.s2047-campaign-sidequests header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.s2047-campaign-sidequests header div{display:grid}.s2047-campaign-sidequests header small{color:#ffd84d}.s2047-campaign-sidequests button{border:1px solid #ffd84d;background:#17243a;color:#fff;border-radius:9px;padding:8px 12px;cursor:pointer}.s2047-campaign-sidequests header>button{font-size:24px;line-height:1}.s2047-sidequest-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.s2047-sidequest-summary span{background:#13253c;border-radius:999px;padding:6px 10px}.s2047-sidequest-list{display:grid;gap:9px}.s2047-sidequest-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:12px;background:rgba(255,255,255,.04)}.s2047-sidequest-list article div{display:grid;gap:3px}.s2047-sidequest-list article small,.s2047-sidequest-list article p{color:#c8d6e8;margin:0}.s2047-sidequest-list article.active{border-color:#ffd84d;background:rgba(255,216,77,.09)}.s2047-sidequest-list article.complete{border-color:#76d49b}.s2047-sidequest-list article.locked{opacity:.55}@media(max-width:650px){.s2047-campaign-sidequests{inset:10px;max-height:calc(100vh - 20px)}.s2047-sidequest-list article{align-items:flex-start;flex-direction:column}}

/* SOURCE: assets/css/mission-campaign-phase-four.css */
.s2047-setpiece-panel{position:fixed;z-index:2147482600;right:18px;top:86px;width:min(560px,calc(100vw - 28px));max-height:calc(100vh - 112px);overflow:auto;background:rgba(4,13,25,.97);color:#f5fbff;border:1px solid rgba(255,216,77,.42);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.48);font:15px/1.45 system-ui,sans-serif}.s2047-setpiece-panel[hidden]{display:none}.s2047-setpiece-panel header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.s2047-setpiece-panel header strong,.s2047-setpiece-panel header small{display:block}.s2047-setpiece-panel header small{opacity:.72}.s2047-setpiece-panel button{font:inherit}.s2047-setpiece-panel header>button{border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}.s2047-setpiece-panel nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.s2047-setpiece-panel nav button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:inherit}.s2047-setpiece-panel nav button.is-current{border-color:#ffd84d;background:rgba(255,216,77,.12)}.s2047-setpiece-panel nav small{opacity:.68}.s2047-setpiece-panel section{padding:18px}.s2047-setpiece-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.s2047-setpiece-title span{font-size:12px;text-transform:uppercase;letter-spacing:.09em;opacity:.7}.s2047-setpiece-title h2{margin:.15rem 0 .7rem;font-size:1.35rem}.s2047-setpiece-title b{padding:5px 9px;border-radius:999px;background:rgba(255,216,77,.15);color:#ffe584}.s2047-setpiece-panel ol{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}.s2047-setpiece-panel li button{width:100%;display:flex;gap:10px;align-items:center;text-align:left;padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04);color:inherit}.s2047-setpiece-panel li.is-active button{border-color:#ffd84d}.s2047-setpiece-panel li.is-complete button{opacity:.72}.s2047-setpiece-panel li i{font-style:normal;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1)}.s2047-setpiece-reward{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;background:rgba(255,216,77,.09)}.s2047-setpiece-actions{display:flex;gap:8px;margin-top:12px}.s2047-setpiece-actions button{padding:10px 14px;border:0;border-radius:10px;background:#ffd84d;color:#172033;font-weight:700;cursor:pointer}@media(max-width:600px){.s2047-setpiece-panel{right:8px;top:72px;width:calc(100vw - 16px)}.s2047-setpiece-panel nav{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-setpiece-panel *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* SOURCE: assets/css/mission-campaign-phase-five.css */
.s2047-campaign-finale{position:fixed;z-index:10050;right:18px;top:82px;width:min(390px,calc(100vw - 24px));max-height:calc(100vh - 104px);overflow:auto;background:rgba(5,15,29,.96);border:1px solid rgba(255,216,77,.6);border-radius:16px;color:#f7fbff;box-shadow:0 18px 48px rgba(0,0,0,.42)}
.s2047-campaign-finale[hidden]{display:none}.s2047-campaign-finale>header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.s2047-campaign-finale header div{display:grid;gap:2px}.s2047-campaign-finale header small{opacity:.72}.s2047-campaign-finale button{border:1px solid rgba(255,216,77,.55);border-radius:10px;background:rgba(255,216,77,.14);color:inherit;padding:9px 12px;cursor:pointer}.s2047-campaign-finale button:disabled{opacity:.42;cursor:not-allowed}.s2047-campaign-finale header>button{font-size:22px;padding:2px 9px}.s2047-campaign-finale section{padding:16px}.s2047-finale-hero span{font-size:11px;letter-spacing:.16em;color:#ffd84d}.s2047-finale-hero h2{margin:6px 0}.s2047-finale-hero p{margin:0 0 14px;opacity:.82}.s2047-finale-progress{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.s2047-finale-progress i{display:block;height:100%;background:#ffd84d}.s2047-campaign-finale dl{display:grid;gap:8px;margin:14px 0}.s2047-campaign-finale dl div{display:flex;justify-content:space-between;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.06)}.s2047-campaign-finale dt,.s2047-campaign-finale dd{margin:0}.s2047-finale-actions{display:flex;gap:8px;flex-wrap:wrap}.s2047-finale-stamp{font-size:12px;opacity:.65;margin-bottom:0}@media(max-width:600px){.s2047-campaign-finale{top:66px;right:12px}}
@media(prefers-reduced-motion:reduce){.s2047-campaign-finale *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/economy-trading-phase-one.css */
.s2047-economy-panel{position:fixed;inset:auto 18px 18px auto;z-index:10060;width:min(470px,calc(100vw - 24px));max-height:min(78vh,680px);overflow:auto;padding:16px;border:1px solid rgba(255,216,77,.55);border-radius:16px;background:rgba(5,15,27,.96);color:#f7fbff;box-shadow:0 18px 48px rgba(0,0,0,.45)}.s2047-economy-panel[hidden]{display:none}.s2047-economy-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.s2047-economy-head small{display:block;opacity:.75;margin-top:3px}.s2047-economy-head button{border:0;background:transparent;color:inherit;font-size:1.7rem}.s2047-economy-balance{margin:14px 0;padding:10px 12px;border-radius:10px;background:rgba(255,216,77,.12)}.s2047-economy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.s2047-economy-grid article{padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-economy-grid h3,.s2047-economy-grid p{margin:0 0 7px}.s2047-economy-grid article div{display:flex;gap:7px}.s2047-economy-grid button{flex:1;padding:8px;border:1px solid rgba(255,216,77,.5);border-radius:8px;background:rgba(255,216,77,.13);color:inherit}.s2047-economy-note{min-height:1.4em;margin:12px 0 0;opacity:.85}@media(max-width:520px){.s2047-economy-panel{inset:auto 12px 12px 12px;width:auto}.s2047-economy-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-economy-panel *{scroll-behavior:auto!important}}


/* SOURCE: assets/css/economy-manufacturing-phase-two.css */
.s2047-manufacturing-panel{position:fixed;inset:18px 18px 18px auto;z-index:10061;width:min(610px,calc(100vw - 24px));overflow:auto;padding:16px;border:1px solid rgba(92,224,255,.52);border-radius:16px;background:rgba(5,15,27,.97);color:#f7fbff;box-shadow:0 18px 48px rgba(0,0,0,.48)}.s2047-manufacturing-panel[hidden]{display:none}.s2047-manufacturing-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.s2047-manufacturing-head small,.s2047-production-queue small{display:block;opacity:.72;margin-top:3px}.s2047-manufacturing-head>button{border:0;background:transparent;color:inherit;font-size:1.7rem}.s2047-materials{margin:14px 0;padding:10px 12px;border-radius:10px;background:rgba(92,224,255,.1)}.s2047-manufacturing-tabs h3{margin:15px 0 8px}.s2047-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.s2047-recipe-grid article{padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.045)}.s2047-recipe-grid h4,.s2047-recipe-grid p{margin:0 0 6px}.s2047-manufacturing-panel button{padding:8px 10px;border:1px solid rgba(92,224,255,.48);border-radius:8px;background:rgba(92,224,255,.12);color:inherit}.s2047-manufacturing-panel button:disabled{opacity:.38}.s2047-production-queue>div,.s2047-finished-goods>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1)}.s2047-manufacturing-note{min-height:1.4em;margin:12px 0 0;opacity:.86}@media(max-width:620px){.s2047-manufacturing-panel{inset:12px;width:auto}.s2047-recipe-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-manufacturing-panel *{scroll-behavior:auto!important}}

/* SOURCE: assets/css/economy-market-simulation-phase-three.css */
.s2047-market-dashboard{position:fixed;inset:5vh 4vw;z-index:10060;overflow:auto;padding:20px;border:1px solid rgba(255,216,77,.55);border-radius:18px;background:rgba(3,12,24,.97);color:#f7fbff;box-shadow:0 24px 80px rgba(0,0,0,.55)}.s2047-market-dashboard[hidden]{display:none}.s2047-market-head,.s2047-market-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.s2047-market-head small{display:block;opacity:.72}.s2047-market-head button,.s2047-market-tools button{border:1px solid rgba(255,216,77,.55);border-radius:10px;padding:9px 12px;background:#10273d;color:#fff}.s2047-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0}.s2047-market-grid article,.s2047-market-events{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.05)}.s2047-market-grid h3,.s2047-market-events h3{margin-top:0;color:#ffd84d}@media(max-width:600px){.s2047-market-dashboard{inset:10px;padding:14px}}


/* SOURCE: assets/css/economy-trade-contracts-phase-four.css */
.s2047-trade-contracts{position:fixed;z-index:100030;inset:5vh 5vw auto;max-height:90vh;overflow:auto;padding:18px;border:1px solid rgba(255,216,77,.65);border-radius:18px;background:rgba(4,14,25,.97);color:#f7fbff;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.s2047-contract-head,.s2047-contract-stats{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.s2047-contract-head small{display:block;opacity:.75;margin-top:3px}.s2047-contract-head>button{font-size:26px}.s2047-contract-stats{margin:14px 0;padding:10px;border-radius:12px;background:rgba(255,255,255,.06)}
.s2047-contract-columns{display:grid;grid-template-columns:1fr 1.35fr;gap:16px}.s2047-contract-columns>div{min-width:0}.s2047-contract-columns article{margin:8px 0;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}.s2047-contract-columns p{margin:5px 0;opacity:.86}.s2047-contracts button,.s2047-trade-contracts button{padding:7px 10px;border:1px solid rgba(255,216,77,.5);border-radius:8px;background:#17283b;color:#fff;cursor:pointer}.s2047-contract-note{min-height:1.4em;color:#ffd84d}
@media(max-width:760px){.s2047-trade-contracts{inset:2vh 2vw auto;padding:12px;max-height:96vh}.s2047-contract-columns{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.s2047-trade-contracts *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/economy-enterprise-phase-five.css */
.s2047-enterprise{position:fixed;z-index:100040;inset:4vh 4vw auto;max-height:92vh;overflow:auto;padding:18px;border:1px solid rgba(255,216,77,.7);border-radius:18px;background:rgba(3,13,24,.98);color:#f7fbff;box-shadow:0 26px 90px rgba(0,0,0,.62)}
.s2047-enterprise-head,.s2047-enterprise-stats,.s2047-enterprise-actions,.s2047-enterprise-ledger{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.s2047-enterprise-head small{display:block;margin-top:3px;opacity:.72}.s2047-enterprise-head>button{font-size:26px}.s2047-enterprise-stats,.s2047-enterprise-ledger{margin:14px 0;padding:10px;border-radius:12px;background:rgba(255,255,255,.06)}
.s2047-enterprise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.s2047-enterprise-grid article{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.045)}.s2047-enterprise-grid h3{margin:0 0 8px}.s2047-enterprise-grid p{margin:5px 0;opacity:.85}.s2047-enterprise button{padding:8px 11px;border:1px solid rgba(255,216,77,.52);border-radius:8px;background:#17283b;color:#fff;cursor:pointer}.s2047-enterprise-actions{justify-content:flex-start;margin:16px 0}.s2047-enterprise-note{min-height:1.4em;color:#ffd84d}.s2047-enterprise-certificate{padding:12px;border:1px solid rgba(111,255,183,.45);border-radius:12px;background:rgba(34,120,87,.2);color:#b9ffdd}
@media(max-width:720px){.s2047-enterprise{inset:2vh 2vw auto;padding:12px;max-height:96vh}.s2047-enterprise-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.s2047-enterprise *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/fleet-ship-ownership-phase-one.css */
#s2047-fleet-office{position:fixed;inset:0;z-index:2147483300;background:rgba(1,7,14,.88);padding:clamp(12px,3vw,36px);overflow:auto;color:#eef8ff}#s2047-fleet-office[hidden]{display:none}.s2047-fleet-shell{max-width:1120px;margin:auto;background:linear-gradient(145deg,#0b2032,#07131f);border:1px solid #5ac8ef;border-radius:18px;box-shadow:0 24px 80px #000;padding:20px}.s2047-fleet-shell header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #29516a;padding-bottom:14px}.s2047-fleet-shell h2{margin:2px 0}.s2047-fleet-shell small{color:#ffd84d;letter-spacing:.12em}.s2047-fleet-shell button{background:#123a53;color:#fff;border:1px solid #4da8d2;border-radius:9px;padding:8px 11px;cursor:pointer}.s2047-fleet-shell button:disabled{opacity:.45;cursor:default}.s2047-fleet-shell header button{font-size:25px;line-height:1}.s2047-fleet-summary{display:flex;gap:18px;flex-wrap:wrap;padding:16px 0}.s2047-fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.s2047-fleet-grid article{background:rgba(7,26,42,.9);border:1px solid #284f66;border-radius:14px;padding:15px}.s2047-fleet-grid article.is-active{border-color:#ffd84d;box-shadow:0 0 0 1px #ffd84d inset}.s2047-fleet-grid h3{margin:0 0 8px}.s2047-fleet-actions,.s2047-fleet-upgrades{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.s2047-fleet-upgrades button{font-size:12px}.s2047-fleet-shell footer{text-align:center;color:#9ac0d4;padding-top:18px}@media(max-width:600px){.s2047-fleet-shell{padding:14px}.s2047-fleet-summary{display:grid;gap:6px}}
@media(prefers-reduced-motion:reduce){#s2047-fleet-office *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/fleet-exploration-phase-two.css */
.s2047-exploration{position:fixed;z-index:100030;inset:5vh 5vw;background:rgba(5,10,25,.98);color:#f7fbff;border:1px solid rgba(122,208,255,.5);border-radius:18px;box-shadow:0 24px 80px #000;padding:18px;overflow:auto;font-family:system-ui,sans-serif}.s2047-exploration[hidden]{display:none}.s2047-exploration header,.s2047-exploration footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.s2047-exploration header h2{margin:.15rem 0}.s2047-exploration header small{color:#8cddff;text-transform:uppercase;letter-spacing:.12em}.s2047-exploration header [data-close]{font-size:2rem;background:none;color:#fff;border:0}.s2047-explore-summary{padding:12px;margin:14px 0;background:rgba(255,255,255,.06);border-radius:10px}.s2047-explore-summary span{opacity:.45;margin:0 8px}.s2047-explore-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1fr);gap:16px}.s2047-sector-list{display:grid;gap:8px}.s2047-sector{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#101c35;color:#fff}.s2047-sector small{color:#9ec7dd}.s2047-sector.is-current{outline:2px solid #8cddff}.s2047-sector.is-unknown{opacity:.58}.s2047-route-card{padding:18px;border-radius:14px;background:linear-gradient(145deg,rgba(28,55,91,.9),rgba(11,23,44,.95));min-height:260px}.s2047-route-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s2047-route-card dd{text-align:right}.s2047-route-card button,.s2047-exploration footer button{padding:10px 14px;border:0;border-radius:9px;background:#f6cf45;color:#10131a;font-weight:700}.s2047-route-card button:disabled{opacity:.45}.s2047-exploration footer{margin-top:16px;color:#a9bdd0}@media(max-width:700px){.s2047-exploration{inset:2vh 2vw;padding:12px}.s2047-explore-grid{grid-template-columns:1fr}.s2047-exploration footer span{display:none}}@media(prefers-reduced-motion:reduce){.s2047-exploration *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/fleet-encounters-phase-three.css */
.s2047-encounters{position:fixed;inset:7vh 6vw;z-index:10070;display:flex;flex-direction:column;max-width:980px;margin:auto;background:rgba(4,13,25,.97);border:1px solid rgba(116,220,255,.5);border-radius:18px;box-shadow:0 25px 80px #000;color:#eefbff;overflow:hidden}.s2047-encounters[hidden]{display:none}.s2047-encounters>header,.s2047-encounters>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:rgba(20,55,78,.6)}.s2047-encounters h2,.s2047-encounters h3,.s2047-encounters p{margin-top:0}.s2047-encounters header small{color:#8fe5ff;text-transform:uppercase;letter-spacing:.12em}.s2047-encounters header button{font-size:28px;background:transparent;border:0;color:#fff;cursor:pointer}.s2047-encounter-body{padding:24px;overflow:auto;flex:1}.s2047-active-encounter{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start}.s2047-encounter-icon{display:grid;place-items:center;min-height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,218,77,.25),rgba(43,161,214,.08));border:2px solid #ffda4d;font-weight:800;font-size:27px}.s2047-sector-tag{color:#8fe5ff;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.s2047-encounter-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.s2047-encounter-actions button,.s2047-encounters footer button{border:1px solid #76dcff;border-radius:9px;background:#123a52;color:#fff;padding:10px 14px;cursor:pointer}.s2047-encounter-actions button:hover,.s2047-encounters footer button:hover{background:#195575}.s2047-encounter-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.s2047-encounter-summary div{padding:20px;border:1px solid rgba(116,220,255,.25);border-radius:12px;background:rgba(19,52,73,.5);text-align:center}.s2047-encounter-summary strong{display:block;font-size:28px;color:#ffda4d}.s2047-encounter-summary span{font-size:13px;color:#b8d9e6}.s2047-last-outcome,.s2047-empty{margin-top:20px;padding:18px;border-radius:12px;background:rgba(255,255,255,.05)}@media(max-width:700px){.s2047-encounters{inset:3vh 3vw}.s2047-active-encounter{grid-template-columns:1fr}.s2047-encounter-icon{min-height:72px;border-radius:12px}.s2047-encounter-summary{grid-template-columns:repeat(2,1fr)}.s2047-encounters>footer span{display:none}}


/* SOURCE: assets/css/fleet-planetary-survey-phase-four.css */
.s2047-survey{position:fixed;inset:5vh 5vw;z-index:10050;background:rgba(3,12,24,.97);color:#f7fbff;border:1px solid rgba(109,218,255,.55);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.6);padding:18px;overflow:auto}.s2047-survey[hidden]{display:none}.s2047-survey header,.s2047-survey footer,.s2047-survey-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.s2047-survey header h2{margin:.15rem 0}.s2047-survey header button{font-size:1.6rem}.s2047-survey-summary{padding:12px;background:rgba(255,255,255,.07);border-radius:12px;margin:14px 0}.s2047-survey-grid{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1fr);gap:16px}.s2047-survey-planets{display:grid;gap:8px}.s2047-survey-planet{text-align:left;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.06);color:inherit}.s2047-survey-planet small{display:block;opacity:.75;margin-top:4px}.s2047-survey-planet.is-selected{outline:2px solid #ffd84d}.s2047-survey-detail{padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.05)}.s2047-survey-detail dl{display:grid;grid-template-columns:auto 1fr;gap:7px 12px}.s2047-survey-detail dd{margin:0}.s2047-survey-actions{display:flex;gap:10px;flex-wrap:wrap}.s2047-survey-actions button{padding:10px 14px}.s2047-survey footer{margin-top:14px;opacity:.75}@media(max-width:720px){.s2047-survey{inset:10px}.s2047-survey-grid{grid-template-columns:1fr}.s2047-survey-summary{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.s2047-survey *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/fleet-commissioning-phase-five.css */
.s2047-fleet-commissioning{position:fixed;inset:5vh 7vw;z-index:10060;padding:20px;overflow:auto;color:#f7fbff;background:rgba(3,11,23,.98);border:1px solid rgba(255,216,77,.65);border-radius:20px;box-shadow:0 25px 90px rgba(0,0,0,.68)}.s2047-fleet-commissioning[hidden]{display:none}.s2047-fleet-commissioning header,.s2047-fleet-commissioning footer,.s2047-fc-status,.s2047-fc-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.s2047-fleet-commissioning h2{margin:.15rem 0}.s2047-fleet-commissioning header button{font-size:1.7rem}.s2047-fc-status{margin:15px 0;padding:14px;border-radius:14px;background:rgba(255,255,255,.07)}.s2047-fc-status span{opacity:.8}.s2047-fc-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.s2047-fc-checks article{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-fc-checks article span{opacity:.78}.s2047-fc-checks .is-pass{border-color:rgba(103,238,165,.55)}.s2047-fc-checks .is-pending{border-color:rgba(255,216,77,.34)}.s2047-fc-records{margin:14px 0;padding:14px;border-radius:14px;background:rgba(109,218,255,.08)}.s2047-fc-records h3,.s2047-fc-records p{margin:.35rem 0}.s2047-fc-actions{justify-content:flex-start;flex-wrap:wrap}.s2047-fc-actions button{padding:10px 15px}.s2047-fleet-commissioning footer{margin-top:16px;opacity:.72}@media(max-width:720px){.s2047-fleet-commissioning{inset:10px}.s2047-fc-checks{grid-template-columns:1fr}.s2047-fc-status{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.s2047-fleet-commissioning *{transition:none!important;animation:none!important}}


/* SOURCE: assets/css/settlements-colonies-phase-one.css */
#s2047-settlement-panel{position:fixed;z-index:100080;right:18px;top:70px;width:min(560px,calc(100vw - 28px));max-height:calc(100vh - 92px);overflow:auto;background:rgba(5,18,31,.97);border:1px solid rgba(255,216,77,.55);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.55);color:#f7fbff;padding:0 16px 18px}#s2047-settlement-panel[hidden]{display:none}#s2047-settlement-panel>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#071827;padding:14px 0;z-index:2}#s2047-settlement-panel h3,#s2047-settlement-panel h4{margin:0;color:#ffd84d}#s2047-settlement-panel header button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.s2047-settlement-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.s2047-settlement-head select{max-width:70%;background:#102c43;color:#fff;border:1px solid #55738b;border-radius:8px;padding:8px}.s2047-colony-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.s2047-colony-stats span,.s2047-building-list span,.s2047-build-queue span{background:#0e2b41;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:8px}.s2047-colony-stats b{display:block;color:#9fe8ff}.s2047-building-list,.s2047-build-queue{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 15px}.s2047-build-queue span{border-color:#ffd84d}.s2047-build-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0 14px}.s2047-build-grid button,.s2047-settlement-empty button,.s2047-advance-day{background:#153b55;color:#fff;border:1px solid #4e7894;border-radius:10px;padding:10px;text-align:left;cursor:pointer}.s2047-build-grid button:hover,.s2047-advance-day:hover{border-color:#ffd84d}.s2047-build-grid small{display:block;opacity:.75;margin-top:4px}.s2047-advance-day{width:100%;text-align:center;background:#6b5312;border-color:#ffd84d}@media(max-width:520px){.s2047-colony-stats{grid-template-columns:1fr 1fr}.s2047-build-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){#s2047-settlement-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/settlements-workforce-phase-two.css */
#s2047-workforce-panel{position:fixed;z-index:10040;inset:8vh 6vw auto auto;width:min(620px,88vw);max-height:84vh;overflow:auto;background:rgba(5,18,31,.97);border:1px solid rgba(255,216,77,.7);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.55);color:#f7fbff;padding:0 18px 18px}#s2047-workforce-panel[hidden]{display:none}#s2047-workforce-panel header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#071827;padding:14px 0;z-index:2}#s2047-workforce-panel header button{border:0;background:transparent;color:#fff;font-size:28px}.s2047-workforce-summary,.s2047-stock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.s2047-stock-grid{grid-template-columns:repeat(4,1fr)}.s2047-workforce-summary span,.s2047-stock-grid span,.s2047-role-grid article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px}.s2047-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.s2047-role-grid article{display:grid;gap:7px}.s2047-role-grid article>div{display:flex;align-items:center;justify-content:space-between}.s2047-role-grid button,.s2047-workforce-actions button{background:#173c56;color:#fff;border:1px solid #4e88a7;border-radius:8px;padding:7px 12px}.s2047-role-grid small{opacity:.72;text-transform:capitalize}.s2047-workforce-actions{display:flex;gap:10px;margin-top:14px}@media(max-width:600px){#s2047-workforce-panel{inset:5vh 4vw auto;width:92vw}.s2047-role-grid{grid-template-columns:1fr}.s2047-stock-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){#s2047-workforce-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/settlements-governance-phase-three.css */
#s2047-governance-panel{position:fixed;z-index:10045;inset:6vh 5vw auto auto;width:min(700px,90vw);max-height:88vh;overflow:auto;background:rgba(5,18,31,.98);border:1px solid rgba(255,216,77,.72);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.58);color:#f7fbff;padding:0 18px 20px}#s2047-governance-panel[hidden]{display:none}#s2047-governance-panel header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#071827;padding:14px 0;z-index:2}#s2047-governance-panel header button{border:0;background:transparent;color:#fff;font-size:28px}.s2047-governance-summary,.s2047-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.s2047-governance-summary span,.s2047-service-grid span,.s2047-queue{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px}.s2047-service-grid{grid-template-columns:repeat(5,1fr)}.s2047-service-grid span{text-transform:capitalize}.s2047-policy-grid,.s2047-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.s2047-policy-grid button,.s2047-project-grid button,.s2047-incidents button,.s2047-advance-civic{display:grid;gap:4px;text-align:left;background:#173c56;color:#fff;border:1px solid #4e88a7;border-radius:9px;padding:10px 12px}.s2047-policy-grid button.is-active{outline:2px solid #ffd84d}.s2047-policy-grid small,.s2047-project-grid small{opacity:.72}.s2047-queue{display:grid;gap:6px;margin:12px 0}.s2047-incidents{display:grid;gap:8px}.s2047-advance-civic{margin-top:14px;text-align:center;width:100%}@media(max-width:640px){#s2047-governance-panel{inset:4vh 4vw auto;width:92vw}.s2047-policy-grid,.s2047-project-grid{grid-template-columns:1fr}.s2047-service-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){#s2047-governance-panel *{transition:none!important;scroll-behavior:auto!important}}


/* SOURCE: assets/css/settlements-colony-network-phase-four.css */
#s2047-colony-network-panel{position:fixed;z-index:10046;inset:5vh 4vw auto auto;width:min(760px,92vw);max-height:90vh;overflow:auto;background:rgba(5,18,31,.98);border:1px solid rgba(255,216,77,.72);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.58);color:#f7fbff;padding:0 18px 20px}#s2047-colony-network-panel[hidden]{display:none}#s2047-colony-network-panel header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#071827;padding:14px 0;z-index:2}#s2047-colony-network-panel header button{border:0;background:transparent;color:#fff;font-size:28px}.s2047-network-summary,.s2047-warehouse{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.s2047-network-summary span,.s2047-warehouse span,.s2047-routes article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px}.s2047-warehouse span{text-transform:capitalize}.s2047-specialisations{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.s2047-specialisations button,.s2047-route-builder button,.s2047-routes button,.s2047-network-actions button{background:#173c56;color:#fff;border:1px solid #4e88a7;border-radius:9px;padding:9px 11px}.s2047-specialisations button.is-active{outline:2px solid #ffd84d}.s2047-route-builder{display:grid;grid-template-columns:2fr 1fr 90px 120px;gap:8px}.s2047-route-builder select,.s2047-route-builder input{background:#0c2639;color:#fff;border:1px solid #4e88a7;border-radius:8px;padding:9px}.s2047-routes{display:grid;gap:8px}.s2047-routes article{display:grid;grid-template-columns:1.4fr 1.2fr auto;gap:8px;align-items:center}.s2047-network-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}@media(max-width:680px){#s2047-colony-network-panel{inset:3vh 3vw auto;width:94vw}.s2047-network-summary,.s2047-warehouse{grid-template-columns:repeat(2,1fr)}.s2047-specialisations{grid-template-columns:repeat(2,1fr)}.s2047-route-builder,.s2047-routes article,.s2047-network-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){#s2047-colony-network-panel *{transition:none!important;scroll-behavior:auto!important}}


/* SOURCE: assets/css/settlements-commissioning-phase-five.css */
.s2047-civilisation-commissioning{position:fixed;inset:5vh 7vw;z-index:10080;padding:20px;overflow:auto;color:#f7fbff;background:rgba(4,14,22,.98);border:1px solid rgba(112,239,181,.62);border-radius:20px;box-shadow:0 25px 90px rgba(0,0,0,.7)}.s2047-civilisation-commissioning[hidden]{display:none}.s2047-civilisation-commissioning header,.s2047-civilisation-commissioning footer,.s2047-cc-status,.s2047-cc-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.s2047-civilisation-commissioning h2{margin:.15rem 0}.s2047-civilisation-commissioning header button{font-size:1.7rem}.s2047-cc-status{margin:15px 0;padding:14px;border-radius:14px;background:rgba(255,255,255,.07)}.s2047-cc-status span{opacity:.82}.s2047-cc-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.s2047-cc-checks article{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-cc-checks article span{opacity:.78}.s2047-cc-checks .is-pass{border-color:rgba(103,238,165,.58)}.s2047-cc-checks .is-pending{border-color:rgba(255,216,77,.36)}.s2047-cc-records{margin:14px 0;padding:14px;border-radius:14px;background:rgba(112,239,181,.08)}.s2047-cc-records h3,.s2047-cc-records p{margin:.35rem 0}.s2047-cc-actions{justify-content:flex-start;flex-wrap:wrap}.s2047-cc-actions button{padding:10px 15px}.s2047-civilisation-commissioning footer{margin-top:16px;opacity:.72}@media(max-width:920px){.s2047-cc-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.s2047-civilisation-commissioning{inset:10px}.s2047-cc-checks{grid-template-columns:1fr}.s2047-cc-status{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.s2047-civilisation-commissioning *{transition:none!important;animation:none!important}}


/* SOURCE: assets/css/factions-reputation-phase-one.css */
#s2047-factions-panel{position:fixed;inset:5vh 5vw;z-index:10040;max-width:1100px;margin:auto;background:rgba(4,12,24,.97);border:1px solid rgba(255,216,77,.55);border-radius:18px;color:#f7fbff;box-shadow:0 24px 80px rgba(0,0,0,.6);overflow:auto;padding:0 18px 24px}
#s2047-factions-panel>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 0 12px;background:rgba(4,12,24,.97)}
#s2047-factions-panel h3,#s2047-factions-panel h4{margin:0}#s2047-factions-panel button{cursor:pointer;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:#13263a;color:#fff;padding:8px 11px}#s2047-factions-panel>header button{font-size:24px;padding:2px 10px}
.s2047-faction-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.s2047-faction-summary span,.s2047-faction-stats span{background:rgba(255,255,255,.06);border-radius:9px;padding:9px}
.s2047-faction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.s2047-faction-card{border:1px solid color-mix(in srgb,var(--faction-colour) 55%,transparent);border-left:4px solid var(--faction-colour);background:rgba(255,255,255,.045);border-radius:12px;padding:13px}.s2047-faction-card header{display:flex;justify-content:space-between;gap:8px}.s2047-faction-card header span{color:var(--faction-colour)}.s2047-faction-card p{font-size:13px;min-height:38px;color:#cbd5e1}.s2047-faction-meter{height:8px;background:#1e293b;border-radius:99px;overflow:hidden}.s2047-faction-meter i{display:block;height:100%;background:var(--faction-colour)}.s2047-faction-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.s2047-faction-actions{display:flex;gap:7px;flex-wrap:wrap}.s2047-faction-history{background:rgba(255,255,255,.04);padding:8px 12px;border-radius:10px}.s2047-faction-history p{margin:6px 0;font-size:13px}
@media(max-width:640px){#s2047-factions-panel{inset:2vh 2vw;padding-inline:10px}.s2047-faction-summary{grid-template-columns:1fr}.s2047-faction-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#s2047-factions-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/factions-diplomatic-missions-phase-two.css */
#s2047-diplomacy-panel{position:fixed;inset:5vh 5vw;z-index:10045;max-width:1050px;margin:auto;padding:0 18px 24px;overflow:auto;border:1px solid rgba(110,231,183,.55);border-radius:18px;background:rgba(4,12,24,.98);color:#f7fbff;box-shadow:0 24px 80px rgba(0,0,0,.65)}
#s2047-diplomacy-panel>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px 0 12px;background:rgba(4,12,24,.98)}#s2047-diplomacy-panel h3,#s2047-diplomacy-panel h4{margin:0 0 10px}#s2047-diplomacy-panel button{cursor:pointer;margin:5px 5px 0 0;padding:8px 11px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:#153047;color:#fff}#s2047-diplomacy-panel>header button{font-size:24px;padding:2px 10px}
.s2047-diplomacy-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.s2047-diplomacy-summary span,.s2047-treaties,.s2047-active-mission{padding:12px;border-radius:11px;background:rgba(255,255,255,.055)}.s2047-mission-grid,.s2047-incident-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:11px;margin-bottom:18px}.s2047-mission-grid article,.s2047-incident-grid article{padding:13px;border:1px solid rgba(110,231,183,.28);border-radius:11px;background:rgba(255,255,255,.04)}.s2047-mission-grid p{min-height:58px;color:#cbd5e1}.s2047-mission-grid small{display:block;color:#fbbf24}.s2047-progress{height:10px;overflow:hidden;border-radius:99px;background:#1e293b}.s2047-progress i{display:block;height:100%;background:#6ee7b7}
@media(max-width:640px){#s2047-diplomacy-panel{inset:2vh 2vw;padding-inline:10px}.s2047-diplomacy-summary{grid-template-columns:1fr}.s2047-mission-grid,.s2047-incident-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#s2047-diplomacy-panel *{transition:none!important}}


/* SOURCE: assets/css/factions-elections-phase-three.css */
#s2047-election-panel{position:fixed;z-index:10042;inset:6vh 5vw;background:rgba(5,16,30,.97);border:2px solid #ffd84d;border-radius:18px;color:#f7fbff;overflow:auto;box-shadow:0 24px 80px #000}#s2047-election-panel[hidden]{display:none}#s2047-election-panel>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#081a2c;border-bottom:1px solid rgba(255,216,77,.35);z-index:2}#s2047-election-panel h3,#s2047-election-panel h4{margin:0 0 12px;color:#ffd84d}#s2047-election-panel header button{font-size:28px;background:none;color:#fff;border:0}.s2047-election-body{padding:20px}.s2047-election-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.s2047-election-summary span{background:#102a42;padding:10px 14px;border-radius:999px}.s2047-bloc-grid,.s2047-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:24px}.s2047-bloc-grid article,.s2047-policy-grid article{background:#0d2238;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px}.s2047-meter{height:9px;background:#020a12;border-radius:9px;overflow:hidden;margin:10px 0}.s2047-meter i{display:block;height:100%;background:#ffd84d}.s2047-election-body button{background:#ffd84d;color:#07111d;border:0;border-radius:8px;padding:8px 11px;margin:5px 5px 0 0;font-weight:700}.s2047-election-finish{font-size:1.05rem;padding:12px 18px!important}.s2047-election-history{background:#081a2c;border-radius:12px;padding:10px 14px}@media(max-width:700px){#s2047-election-panel{inset:2vh 2vw}.s2047-election-body{padding:14px}}


/* SOURCE: assets/css/factions-galactic-crises-phase-four.css */
#s2047-crisis-panel{position:fixed;z-index:100090;inset:6vh 5vw auto auto;width:min(760px,90vw);max-height:88vh;overflow:auto;background:rgba(4,13,24,.97);border:2px solid #ffd84d;border-radius:16px;color:#f7fbff;box-shadow:0 20px 80px #000;padding:0 18px 18px}#s2047-crisis-panel[hidden]{display:none}#s2047-crisis-panel>header{position:sticky;top:0;background:#071522;display:flex;justify-content:space-between;align-items:center;padding:14px 0;z-index:2}#s2047-crisis-panel button{background:#ffd84d;color:#07121e;border:0;border-radius:8px;padding:9px 12px;font-weight:700;margin:4px;cursor:pointer}.s2047-crisis-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 16px}.s2047-crisis-summary span,.s2047-crisis-list article,.s2047-active-crisis,.s2047-crisis-history{background:#10263a;border:1px solid #34506a;border-radius:10px;padding:12px}.s2047-crisis-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.s2047-crisis-history p{margin:5px 0}@media(max-width:620px){.s2047-crisis-summary{grid-template-columns:1fr}#s2047-crisis-panel{inset:3vh 3vw;width:94vw}}


/* SOURCE: assets/css/factions-commissioning-phase-five.css */
.s2047-galactic-commissioning{position:fixed;inset:5vh 7vw;z-index:10090;padding:20px;overflow:auto;color:#f7fbff;background:rgba(8,8,25,.98);border:1px solid rgba(133,169,255,.68);border-radius:20px;box-shadow:0 25px 90px rgba(0,0,0,.72)}.s2047-galactic-commissioning[hidden]{display:none}.s2047-galactic-commissioning header,.s2047-galactic-commissioning footer,.s2047-gc-status,.s2047-gc-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.s2047-galactic-commissioning h2{margin:.15rem 0}.s2047-galactic-commissioning header button{font-size:1.7rem}.s2047-gc-status{margin:15px 0;padding:14px;border-radius:14px;background:rgba(255,255,255,.07)}.s2047-gc-status span{opacity:.82}.s2047-gc-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.s2047-gc-checks article{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05)}.s2047-gc-checks article span{opacity:.78}.s2047-gc-checks .is-pass{border-color:rgba(111,237,177,.58)}.s2047-gc-checks .is-pending{border-color:rgba(255,214,92,.38)}.s2047-gc-records{margin:14px 0;padding:14px;border-radius:14px;background:rgba(118,145,255,.1)}.s2047-gc-records h3,.s2047-gc-records p{margin:.35rem 0}.s2047-gc-actions{justify-content:flex-start;flex-wrap:wrap}.s2047-gc-actions button{padding:10px 15px}.s2047-galactic-commissioning footer{margin-top:16px;opacity:.72}@media(max-width:920px){.s2047-gc-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.s2047-galactic-commissioning{inset:10px}.s2047-gc-checks{grid-template-columns:1fr}.s2047-gc-status{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.s2047-galactic-commissioning *{transition:none!important;animation:none!important}}


/* SOURCE: assets/css/research-science-phase-one.css */
.s2047-research-centre{position:fixed;inset:4vh 4vw;z-index:100080;overflow:auto;padding:18px;border:1px solid rgba(126,224,255,.62);border-radius:18px;background:linear-gradient(145deg,rgba(4,17,31,.98),rgba(15,40,57,.98));box-shadow:0 24px 80px rgba(0,0,0,.6);color:#f4fbff}.s2047-research-centre[hidden]{display:none}.s2047-research-centre>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-18px;z-index:3;margin:-18px -18px 16px;padding:16px 18px;background:rgba(4,17,31,.96);border-bottom:1px solid rgba(126,224,255,.28)}.s2047-research-centre h2,.s2047-research-centre h3{margin:.2em 0}.s2047-research-centre button{padding:.55rem .8rem;border:1px solid rgba(126,224,255,.5);border-radius:9px;background:rgba(20,75,96,.55);color:inherit;cursor:pointer}.s2047-research-centre button:disabled{opacity:.4;cursor:not-allowed}.s2047-rs-summary,.s2047-rs-active{display:grid;gap:4px;margin:10px 0;padding:14px;border-radius:12px;background:rgba(255,255,255,.06)}.s2047-rs-summary span,.s2047-rs-tech-grid span,.s2047-rs-tech-grid small{display:block;opacity:.82}.s2047-rs-disciplines>section{margin:16px 0;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:14px}.s2047-rs-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:12px}.s2047-rs-tech-grid article{display:grid;gap:6px;padding:12px;border-radius:11px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}.s2047-rs-tech-grid article.is-complete{border-color:rgba(99,255,161,.55)}.s2047-rs-tech-grid article.is-available{border-color:rgba(255,216,77,.65)}.s2047-rs-tech-grid article.is-locked{opacity:.68}.s2047-rs-bar{height:10px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}.s2047-rs-bar i{display:block;height:100%;background:linear-gradient(90deg,#70e0ff,#ffd84d)}.s2047-research-centre footer{padding:12px 0;opacity:.7}@media(max-width:700px){.s2047-research-centre{inset:1vh 2vw;padding:12px}.s2047-research-centre>header{top:-12px;margin:-12px -12px 12px;padding:12px}.s2047-rs-tech-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-research-centre *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/research-experimental-technologies-phase-two.css */
.s2047-exp-panel{position:fixed;z-index:100020;inset:7vh 5vw;overflow:auto;padding:24px;background:rgba(6,11,25,.97);color:#f7f2cf;border:2px solid #f4c542;border-radius:16px;box-shadow:0 20px 80px #000;font:15px/1.45 system-ui,sans-serif}.s2047-exp-panel[hidden]{display:none}.s2047-exp-panel h2{margin:0 40px 6px 0;color:#ffe36b}.s2047-exp-help{opacity:.85}.s2047-exp-close{position:absolute;right:16px;top:12px;font-size:30px;background:transparent;color:#fff;border:0;cursor:pointer}.s2047-exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.s2047-exp-card{padding:16px;background:#111a33;border:1px solid #53628b;border-radius:12px}.s2047-exp-card h3{margin-top:0;color:#9de8ff}.s2047-exp-card button{padding:9px 12px;border:0;border-radius:8px;background:#f4c542;color:#16120a;font-weight:700;cursor:pointer}@media(max-width:600px){.s2047-exp-panel{inset:2vh 2vw;padding:18px}.s2047-exp-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-exp-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/research-scientific-expeditions-phase-three.css */
.s2047-sci-exp-panel{position:fixed;inset:6vh 5vw;z-index:100020;overflow:auto;padding:24px;border:2px solid #78e8ff;border-radius:18px;background:rgba(4,16,28,.97);color:#f4fbff;box-shadow:0 22px 70px #000}.s2047-sci-exp-close{position:absolute;right:16px;top:12px;font-size:28px;background:transparent;color:#fff;border:0}.s2047-sci-exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.s2047-sci-exp-card{padding:16px;border:1px solid rgba(120,232,255,.35);border-radius:14px;background:rgba(16,45,65,.75)}.s2047-sci-exp-card button{padding:9px 12px;border:0;border-radius:8px;font-weight:700;cursor:pointer}.s2047-sci-exp-summary{margin:12px 0 18px;font-weight:700}@media(max-width:700px){.s2047-sci-exp-panel{inset:2vh 2vw;padding:18px}}@media(prefers-reduced-motion:reduce){.s2047-sci-exp-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/research-institutions-phase-four.css */
.s2047-research-inst-panel{position:fixed;inset:5vh 5vw;z-index:100030;overflow:auto;padding:24px;border:2px solid #bca7ff;border-radius:18px;background:rgba(7,10,30,.97);color:#f7f5ff;box-shadow:0 24px 75px #000}.s2047-inst-close{position:absolute;right:16px;top:10px;border:0;background:transparent;color:#fff;font-size:30px}.s2047-inst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.s2047-inst-card{padding:16px;border:1px solid rgba(188,167,255,.42);border-radius:14px;background:rgba(42,36,78,.72)}.s2047-inst-card button,.s2047-inst-actions button{padding:9px 12px;border:0;border-radius:8px;font-weight:700;cursor:pointer}.s2047-inst-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.s2047-inst-summary{margin:12px 0 18px;font-weight:800}@media(max-width:700px){.s2047-research-inst-panel{inset:2vh 2vw;padding:18px}}@media(prefers-reduced-motion:reduce){.s2047-research-inst-panel *{transition:none!important;animation:none!important}}


/* SOURCE: assets/css/research-commissioning-phase-five.css */
.s2047-scientific-commissioning-panel{position:fixed;z-index:10035;inset:6vh 5vw auto;max-width:820px;margin:auto;max-height:88vh;overflow:auto;padding:24px;border:1px solid rgba(126,231,255,.45);border-radius:18px;background:rgba(4,16,30,.97);box-shadow:0 24px 80px rgba(0,0,0,.55);color:#f4fbff;font:500 15px/1.5 system-ui,sans-serif}.s2047-scientific-commissioning-panel[hidden]{display:none}.s2047-scientific-commissioning-panel h2{margin:0 42px 8px 0;color:#9eeeff}.s2047-scientific-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.s2047-scientific-status{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0;padding:14px;border-radius:12px;background:rgba(63,177,224,.12)}.s2047-scientific-status span{opacity:.8}.s2047-scientific-checks{display:grid;gap:9px}.s2047-scientific-check{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;border-radius:10px;background:rgba(255,255,255,.06)}.s2047-scientific-check.is-passed{outline:1px solid rgba(90,230,150,.35)}.s2047-scientific-check.is-pending{outline:1px solid rgba(255,190,90,.25)}.s2047-scientific-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.s2047-scientific-actions button{padding:10px 14px;border:0;border-radius:9px;background:#8ee9ff;color:#042033;font-weight:800;cursor:pointer}@media(max-width:640px){.s2047-scientific-commissioning-panel{inset:2vh 3vw auto;padding:18px}.s2047-scientific-status,.s2047-scientific-check{display:block}.s2047-scientific-check strong{display:block;margin-top:4px}}


/* SOURCE: assets/css/legacy-achievements-phase-one.css */
.s2047-legacy-panel{position:fixed;z-index:100080;inset:5vh 5vw;overflow:auto;padding:24px;border:1px solid rgba(255,216,77,.55);border-radius:18px;background:rgba(3,12,22,.97);color:#f7fbff;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.s2047-legacy-panel[hidden]{display:none}.s2047-legacy-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.s2047-legacy-panel h2{margin:0 40px 4px 0;color:#ffd84d}.s2047-legacy-summary{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:16px;border-radius:12px;background:rgba(255,216,77,.1)}.s2047-legacy-summary strong{font-size:1.2rem;color:#ffd84d}.s2047-legacy-summary span{opacity:.85}.s2047-legacy-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.s2047-legacy-card{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:16px;border:1px solid rgba(150,190,220,.25);border-radius:12px;background:rgba(16,38,59,.72)}.s2047-legacy-card.is-unlocked{border-color:rgba(255,216,77,.75);background:linear-gradient(145deg,rgba(68,57,14,.8),rgba(16,38,59,.8))}.s2047-legacy-card small{color:#8fdcff;text-transform:uppercase;letter-spacing:.08em}.s2047-legacy-card h3{margin:5px 0}.s2047-legacy-card p{margin:0;opacity:.82}.s2047-legacy-progress{display:grid;gap:5px;margin-top:14px}.s2047-legacy-progress span{font-size:.82rem;opacity:.75}.s2047-legacy-progress i{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,#ffd84d var(--progress),rgba(255,255,255,.12) var(--progress))}.s2047-legacy-actions{margin-top:18px}.s2047-legacy-actions button{padding:10px 15px;border:1px solid #ffd84d;border-radius:9px;background:#332b0b;color:#fff;cursor:pointer}@media(max-width:700px){.s2047-legacy-panel{inset:2vh 2vw;padding:18px}.s2047-legacy-list{grid-template-columns:1fr}}


/* SOURCE: assets/css/legacy-collections-phase-two.css */
.s2047-collections{position:fixed;inset:5vh 5vw;z-index:100030;background:rgba(4,13,25,.97);border:1px solid rgba(255,216,77,.55);border-radius:18px;box-shadow:0 24px 90px #000;color:#f7fbff;padding:20px;overflow:auto;backdrop-filter:blur(12px)}.s2047-collections[hidden]{display:none}.s2047-collections__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.s2047-collections__head small{color:#ffd84d;letter-spacing:.12em}.s2047-collections__head h2{margin:.3rem 0 1rem}.s2047-collections button{border:1px solid rgba(255,255,255,.24);background:#10283e;color:#fff;border-radius:10px;padding:.62rem .85rem;cursor:pointer}.s2047-collections button:hover,.s2047-collections button.is-active{border-color:#ffd84d;background:#24425c}.s2047-collections button:disabled{opacity:.45;cursor:not-allowed}.s2047-collections__head [data-close]{font-size:1.7rem;line-height:1;padding:.35rem .65rem}.s2047-collections__summary{padding:.8rem 1rem;background:rgba(255,255,255,.06);border-radius:12px}.s2047-collections__tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.s2047-collections__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.s2047-codex-card,.s2047-set-reward{position:relative;min-height:150px;padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(24,53,75,.92),rgba(8,24,40,.92))}.s2047-codex-card.is-locked{filter:saturate(.25);opacity:.64}.s2047-codex-card h3{margin:.5rem 0}.s2047-codex-card p,.s2047-set-reward p{color:#bdd0df}.s2047-codex-card .rarity{text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;color:#ffd84d}.s2047-codex-card .new{position:absolute;right:10px;top:10px;background:#ffd84d;color:#071522;padding:.2rem .45rem;border-radius:999px;font-size:.7rem}.s2047-set-reward{border-color:rgba(255,216,77,.5)}.s2047-collections__foot{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:700px){.s2047-collections{inset:2vh 2vw;padding:14px}.s2047-collections__grid{grid-template-columns:1fr}.s2047-collections__foot{flex-direction:column}}@media(prefers-reduced-motion:reduce){.s2047-collections *{scroll-behavior:auto!important;transition:none!important}}

/* SOURCE: assets/css/legacy-prestige-phase-three.css */
.s2047-prestige-panel{position:fixed;inset:5vh 5vw;z-index:100070;overflow:auto;padding:24px;border:2px solid #f4cf53;border-radius:18px;background:rgba(4,9,22,.97);color:#fff;box-shadow:0 24px 80px #000}.s2047-prestige-panel[hidden]{display:none}.s2047-prestige-close{position:absolute;right:18px;top:12px;font-size:28px;background:transparent;color:#fff;border:0}.s2047-prestige-summary{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.s2047-prestige-summary>*{padding:10px 14px;border-radius:10px;background:#152340}.s2047-prestige-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.s2047-prestige-card,.s2047-prestige-bonuses article{padding:16px;border:1px solid #38527f;border-radius:14px;background:#0c1830}.s2047-prestige-card.is-complete,.s2047-prestige-bonuses .is-unlocked{border-color:#f4cf53;background:#18213a}.s2047-prestige-card span,.s2047-prestige-bonuses span{display:block;color:#c7d3ec;margin-top:6px}.s2047-prestige-card i{display:block;height:7px;margin-top:10px;border-radius:7px;background:linear-gradient(90deg,#f4cf53 var(--progress),#273553 var(--progress))}.s2047-prestige-bonuses{display:grid;gap:10px;margin:12px 0 18px}@media(max-width:640px){.s2047-prestige-panel{inset:2vh 2vw;padding:18px}}@media(prefers-reduced-motion:reduce){.s2047-prestige-panel *{scroll-behavior:auto!important;transition:none!important}}

/* SOURCE: assets/css/legacy-museum-phase-four.css */
.s2047-museum-panel{position:fixed;inset:5vh 5vw;z-index:100050;overflow:auto;padding:28px;border:2px solid #ddb94b;border-radius:18px;background:linear-gradient(145deg,rgba(8,12,25,.98),rgba(34,24,9,.98));color:#fff;box-shadow:0 24px 80px #000;font-family:system-ui,sans-serif}.s2047-museum-panel[hidden]{display:none}.s2047-museum-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:#fff;font-size:34px}.s2047-museum-summary{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0;padding:14px;background:rgba(255,255,255,.08);border-radius:12px}.s2047-museum-summary span{opacity:.78}.s2047-museum-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.s2047-museum-tabs button,.s2047-museum-panel button[data-action]{padding:10px 14px;border:1px solid #ddb94b;border-radius:999px;background:#171b2b;color:#fff}.s2047-museum-tabs button.is-active{background:#ddb94b;color:#16120a}.s2047-museum-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.s2047-museum-gallery header{grid-column:1/-1}.s2047-museum-gallery article{min-height:90px;padding:16px;border:1px solid rgba(221,185,75,.45);border-radius:12px;background:rgba(255,255,255,.06);display:flex;flex-direction:column;justify-content:center}.s2047-museum-gallery article span{margin-top:7px;opacity:.72;text-transform:capitalize}.s2047-museum-empty{grid-column:1/-1;padding:24px;text-align:center;opacity:.7}@media(max-width:600px){.s2047-museum-panel{inset:2vh 2vw;padding:20px}.s2047-museum-gallery{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.s2047-museum-panel *{scroll-behavior:auto!important;transition:none!important}}


/* SOURCE: assets/css/legacy-commissioning-phase-five.css */
.s2047-legacy-commissioning-panel{position:fixed;inset:6vh 8vw;z-index:100060;overflow:auto;padding:28px;border:2px solid #ffd84d;border-radius:18px;background:linear-gradient(145deg,rgba(5,16,29,.98),rgba(34,24,5,.98));color:#fff;box-shadow:0 26px 90px #000;font-family:system-ui,sans-serif}.s2047-legacy-commissioning-panel[hidden]{display:none}.s2047-legacy-commissioning-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:#fff;font-size:34px}.s2047-legacy-commissioning-status{display:flex;gap:10px;flex-direction:column;margin:18px 0}.s2047-legacy-commissioning-status span{opacity:.78}.s2047-legacy-commissioning-meter{height:14px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.s2047-legacy-commissioning-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd84d,#fff0a8);transition:width .3s ease}.s2047-legacy-commissioning-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:20px 0}.s2047-legacy-commissioning-check{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(255,216,77,.35);border-radius:12px;background:rgba(255,255,255,.06)}.s2047-legacy-commissioning-check.is-passed{box-shadow:inset 4px 0 #82e6a3}.s2047-legacy-commissioning-check.is-pending{box-shadow:inset 4px 0 #e7a14a}.s2047-legacy-commissioning-actions{display:flex;gap:10px;flex-wrap:wrap}.s2047-legacy-commissioning-actions button{padding:11px 16px;border:1px solid #ffd84d;border-radius:999px;background:#171b2b;color:#fff}@media(max-width:600px){.s2047-legacy-commissioning-panel{inset:2vh 2vw;padding:20px}.s2047-legacy-commissioning-checks{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-legacy-commissioning-panel *{transition:none!important}}


/* SOURCE: assets/css/release-readiness-phase-one.css */
.s2047-release-readiness-panel{position:fixed;inset:5vh 7vw;z-index:100070;overflow:auto;padding:28px;border:2px solid #71d9ff;border-radius:18px;background:linear-gradient(145deg,rgba(3,13,28,.985),rgba(8,37,49,.985));color:#fff;box-shadow:0 28px 100px #000;font-family:system-ui,sans-serif}.s2047-release-readiness-panel[hidden]{display:none}.s2047-release-readiness-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:#fff;font-size:34px}.s2047-release-readiness-summary{display:flex;flex-direction:column;gap:7px;margin:18px 0}.s2047-release-readiness-summary span{opacity:.78}.s2047-release-readiness-meter{height:14px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.s2047-release-readiness-meter span{display:block;width:0;height:100%;background:linear-gradient(90deg,#71d9ff,#9cffc8);transition:width .3s ease}.s2047-release-readiness-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;margin:20px 0}.s2047-release-readiness-check{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid rgba(113,217,255,.34);border-radius:12px;background:rgba(255,255,255,.055)}.s2047-release-readiness-check span{display:flex;flex-direction:column;gap:4px}.s2047-release-readiness-check small{opacity:.65}.s2047-release-readiness-check.is-passed{box-shadow:inset 4px 0 #8ff0b0}.s2047-release-readiness-check.is-pending{box-shadow:inset 4px 0 #ffb665}.s2047-release-readiness-actions{display:flex;gap:10px;flex-wrap:wrap}.s2047-release-readiness-actions button{padding:11px 16px;border:1px solid #71d9ff;border-radius:999px;background:#12243a;color:#fff}@media(max-width:600px){.s2047-release-readiness-panel{inset:2vh 2vw;padding:20px}.s2047-release-readiness-checks{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-release-readiness-panel *{transition:none!important}}

/* SOURCE: assets/css/regression-save-recovery-phase-two.css */
.s2047-regression-recovery-panel{position:fixed;z-index:100090;inset:7vh 5vw auto auto;width:min(620px,90vw);max-height:86vh;overflow:auto;padding:22px;border:1px solid rgba(145,225,255,.55);border-radius:16px;background:rgba(4,12,26,.97);color:#eefaff;box-shadow:0 24px 80px rgba(0,0,0,.58);font:15px/1.45 system-ui,sans-serif}.s2047-regression-recovery-panel[hidden]{display:none}.s2047-regression-recovery-panel h2{margin:0 42px 6px 0;font-size:1.45rem}.s2047-regression-recovery-panel p{opacity:.82}.s2047-rr-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:inherit;font-size:30px;cursor:pointer}.s2047-rr-summary{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 8px}.s2047-rr-summary span{opacity:.8}.s2047-rr-meter{height:9px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin-bottom:16px}.s2047-rr-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#58d68d,#78d8ff);transition:width .3s ease}.s2047-rr-check{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}.s2047-rr-check small{display:block;opacity:.72}.s2047-rr-check.is-passed strong{color:#a9f4bc}.s2047-rr-check.is-failed strong{color:#ffd19b}.s2047-rr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}.s2047-rr-actions button{padding:10px 12px;border:1px solid rgba(145,225,255,.45);border-radius:9px;background:rgba(35,93,137,.45);color:#fff;cursor:pointer}.s2047-rr-actions button:hover,.s2047-rr-actions button:focus-visible{background:rgba(50,128,184,.58)}@media(max-width:620px){.s2047-regression-recovery-panel{inset:4vh 4vw auto;width:92vw;padding:18px}.s2047-rr-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-rr-meter span{transition:none}}


/* SOURCE: assets/css/ui-clean-game-screen-phase-thirteen.css */
/* Space 2047 HD Edition v5.12.12
 * Clean game screen: remove persistent information boxes, launchers, drawers,
 * monitor strips and dashboard overlays. Gameplay rendering and movement /
 * interaction controls are intentionally left untouched.
 */

/* Failed drawer and tab systems from earlier releases. */
#s2047-drawer-shell,
#s2047-information-drawer,
#s2047-mobile-drawer,
#s2047-native-information-drawer,
#s2047-plain-drawer,
#s2047-single-drawer,
#s2047-unified-tabs,
.s2047-drawer,
.s2047-drawer-backdrop,
.s2047-drawer-launch,
.s2047-single-drawer-button,
.s2047-native-info-launcher,
.s2047-native-info-panel,
.s2047-native-info-shade,
[class*="s2047-drawer"],
[class*="s2047-tab-popup"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Persistent post-launch monitors and HUD information boxes. */
#s2047-achievement-progress-monitor,
#s2047-communications-monitor,
#s2047-crew-monitor,
#s2047-damage-recovery,
#s2047-environment-suit-monitor,
#s2047-equipment-readiness-monitor,
#s2047-faction-reputation-monitor,
#s2047-navigation-monitor,
#s2047-supplies-monitor,
#s2047-combat-hud,
.s2047-achievement-progress-monitor,
.s2047-communications-monitor,
.s2047-crew-monitor,
.s2047-damage-recovery,
.s2047-environment-suit-monitor,
.s2047-equipment-readiness-monitor,
.s2047-faction-reputation-monitor,
.s2047-navigation-monitor,
.s2047-supplies-monitor,
.s2047-combat-hud,
.s2047-combo-hud,
.s2047-command-interface,
.s2047-interaction-radar,
.s2047-hazard-beacon,
.s2047-mission-focus,
.s2047-minimap-wrap,
.s2047-feedback-caption {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Large information dashboards and management boxes. */
#s2047-colony-network-panel,
#s2047-continuity-panel,
#s2047-contract-office,
#s2047-crisis-panel,
#s2047-deployment-panel,
#s2047-diplomacy-panel,
#s2047-election-panel,
#s2047-faction-campaigns,
#s2047-factions-panel,
#s2047-fleet-office,
#s2047-galaxy-economies,
#s2047-governance-panel,
#s2047-living-galaxy,
#s2047-living-infrastructure,
#s2047-living-infrastructure-2,
#s2047-prosperity-panel,
#s2047-research-panel,
#s2047-settlement-panel,
#s2047-standards-panel,
#s2047-trade-progression,
#s2047-workforce-panel,
.s2047-alliance-panel,
.s2047-autonomous-governance,
.s2047-autonomous-incident-learning,
.s2047-autonomous-operations,
.s2047-campaign-choice-panel,
.s2047-campaign-console,
.s2047-campaign-finale,
.s2047-campaign-panel,
.s2047-campaign-sidequests,
.s2047-capital-programme,
.s2047-civilisation-commissioning,
.s2047-collections,
.s2047-contingency-centre,
.s2047-diplomacy-panel,
.s2047-economy-panel,
.s2047-encounters,
.s2047-enterprise,
.s2047-exp-panel,
.s2047-exploration,
.s2047-feedback-settings,
.s2047-fleet-commissioning,
.s2047-galactic-commissioning,
.s2047-governance-panel,
.s2047-intelligence-centre,
.s2047-legacy-commissioning-panel,
.s2047-legacy-panel,
.s2047-location-explorer,
.s2047-manufacturing-panel,
.s2047-market-dashboard,
.s2047-museum-panel,
.s2047-onboarding,
.s2047-operational-handover,
.s2047-operational-lifecycle,
.s2047-portfolio-assurance,
.s2047-predictive-service,
.s2047-prestige-panel,
.s2047-recovery-panel,
.s2047-regional-life,
.s2047-regression-recovery-panel,
.s2047-release-readiness-panel,
.s2047-renewal-panel,
.s2047-research-centre,
.s2047-research-inst-panel,
.s2047-resilience-centre,
.s2047-routine-assets,
.s2047-save-confidence,
.s2047-save-panel,
.s2047-sci-exp-panel,
.s2047-scientific-commissioning-panel,
.s2047-sector-crisis-panel,
.s2047-session-recovery,
.s2047-setpiece-panel,
.s2047-side-quest,
.s2047-support-centre,
.s2047-survey,
.s2047-trade-contracts,
.s2047-world-atlas,
.s2047-world-commissioning,
.s2047-world-connections {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Floating launch pills and buttons created by the dashboard systems. */
#s2047-alliance-launch,
#s2047-autonomous-governance-launch,
#s2047-autonomous-incident-learning-launch,
#s2047-autonomous-operations-launch,
#s2047-capital-launch,
#s2047-contingency-launcher,
#s2047-diplomacy-launch,
#s2047-governance-launch,
#s2047-intelligence-launcher,
#s2047-operational-handover-launch,
#s2047-operational-lifecycle-launch,
#s2047-portfolio-assurance-launch,
#s2047-predictive-service-launch,
#s2047-recovery-launch,
#s2047-renewal-launch,
#s2047-resilience-launcher,
#s2047-routine-assets-launch,
#s2047-sector-crisis-launch,
[id^="s2047-"][id$="-launcher"],
[id^="s2047-"][id$="-launch"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Undo state classes left behind by discarded drawers. */
html,
body,
body.s2047-mobile-drawer-open,
body.s2047-drawer-open,
body.s2047-command-open {
  overflow: hidden !important;
  touch-action: auto !important;
}

/* Keep the actual game surface available for touch input. */
#s2047-canvas,
.s2047-game,
.s2047-controls,
.s2047-mobile-controls,
.s2047-movement-controls,
.s2047-interact-controls {
  pointer-events: auto !important;
}


/* SOURCE: assets/css/ui-information-drawer-phase-fourteen.css */
/* Space 2047 HD Edition v5.12.13 — joystick-only mobile screen + information drawer */

/* Remove the minimap and every on-screen control cluster except the joystick. */
#s2047-minimap-wrap,
.s2047-minimap-wrap,
.s2047-action-cluster,
.s2047-help,
.s2047-hud .s2047-actions,
.s2047-command-interface,
.s2047-interaction-radar,
.s2047-hazard-beacon,
.s2047-feedback-caption,
#s2047-combat-hud,
.s2047-combat-hud,
.s2047-combo-hud,
.s2047-diagnostic-attention,
[id*="diagnostic-attention"],
[class*="diagnostic-attention"] {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* The old title/status box is represented in the drawer instead of the game view. */
.s2047-hud,
.s2047-status {
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Keep only the joystick operational and above the world canvas. */
.s2047-joystick-zone {
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:30!important;
}
#s2047-joystick { pointer-events:auto!important; }

/* One drawer shell. */
#s2047-info-drawer-v51213 {
  position:fixed;
  inset:0;
  z-index:2147483646;
  pointer-events:none;
  font-family:inherit;
}
#s2047-info-drawer-v51213 * { box-sizing:border-box; }

.s2047-info-drawer-launcher {
  pointer-events:auto;
  position:fixed;
  top:max(10px,env(safe-area-inset-top));
  right:max(10px,env(safe-area-inset-right));
  z-index:4;
  min-width:64px;
  min-height:46px;
  padding:10px 12px;
  border:1px solid rgba(143,232,255,.82);
  border-radius:12px;
  background:#071827;
  color:#fff;
  font:800 14px/1 inherit;
  letter-spacing:.08em;
  box-shadow:0 8px 24px rgba(0,0,0,.55);
  touch-action:manipulation;
}

.s2047-info-drawer-shade {
  display:none;
  pointer-events:auto;
  position:fixed;
  inset:0;
  z-index:1;
  padding:0;
  border:0;
  background:rgba(0,5,12,.62);
}
#s2047-info-drawer-v51213[data-open="1"] .s2047-info-drawer-shade { display:block; }

.s2047-info-drawer-panel {
  pointer-events:auto;
  position:fixed;
  z-index:2;
  top:0;
  right:0;
  bottom:0;
  width:min(460px,92vw);
  height:100vh;
  height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#071827;
  color:#eef8ff;
  border-left:1px solid #4ba9ca;
  box-shadow:-14px 0 42px rgba(0,0,0,.82);
  transform:translateX(105%);
  transition:transform .2s ease;
}
#s2047-info-drawer-v51213[data-open="1"] .s2047-info-drawer-panel { transform:translateX(0); }

.s2047-info-drawer-panel>header {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:max(12px,env(safe-area-inset-top)) 14px 10px;
  border-bottom:1px solid #28566c;
  background:#0a2234;
}
.s2047-info-drawer-panel small { display:block;color:#7eddf8;font-size:10px;letter-spacing:.16em; }
.s2047-info-drawer-panel h2 { margin:2px 0 0;font-size:20px; }
.s2047-info-drawer-close {
  width:46px;
  height:46px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font:400 34px/1 inherit;
  touch-action:manipulation;
}

.s2047-info-drawer-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-y:scroll;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  padding:8px 18px 16px;
}
.s2047-info-drawer-scroll::-webkit-scrollbar { width:14px; }
.s2047-info-drawer-scroll::-webkit-scrollbar-track { background:#03101b; }
.s2047-info-drawer-scroll::-webkit-scrollbar-thumb { background:#4ba9ca;border:3px solid #03101b;border-radius:10px; }

.s2047-info-drawer-content section { margin:0;padding:15px 0;border-bottom:1px solid #24485a; }
.s2047-info-drawer-content section:last-child { border-bottom:0; }
.s2047-info-drawer-content h3 { margin:0 0 8px;color:#8fe8ff;font-size:16px;line-height:1.35; }
.s2047-info-drawer-content ul { list-style:none;margin:0;padding:0; }
.s2047-info-drawer-content li { margin:0;padding:4px 0;color:#eef8ff;font-size:14px;line-height:1.45;overflow-wrap:anywhere; }
.s2047-info-drawer-content>p { margin:18px 0;line-height:1.5; }

.s2047-info-drawer-arrows {
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  padding:0 0 max(0px,env(safe-area-inset-bottom));
  border-top:1px solid #28566c;
  background:#28566c;
}
.s2047-info-drawer-arrows button {
  min-height:54px;
  padding:10px;
  border:0;
  background:#0a2234;
  color:#fff;
  font-size:24px;
  font-weight:900;
  touch-action:manipulation;
}
.s2047-info-drawer-arrows button:active { background:#123b55; }

/* Keep all original information boxes hidden; their text is copied into the drawer. */
.s2047-panel,
[id^="s2047-"][id$="-monitor"],
[id^="s2047-"][id$="-panel"],
[id^="s2047-"][id$="-launcher"],
[id^="s2047-"][id$="-launch"],
[class*="s2047-"][class*="-monitor"],
[class*="s2047-"][class*="-panel"] {
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Do not hide the new drawer when broad legacy selectors are present. */
#s2047-info-drawer-v51213,
#s2047-info-drawer-v51213 * {
  visibility:visible!important;
}

@media(max-width:720px) {
  .s2047-info-drawer-panel { width:100vw;max-width:none;border-left:0; }
  .s2047-info-drawer-launcher { top:max(7px,env(safe-area-inset-top));right:max(7px,env(safe-area-inset-right)); }
  .s2047-info-drawer-scroll { padding-left:15px;padding-right:15px; }
  .s2047-joystick-zone { left:4px!important;bottom:max(4px,env(safe-area-inset-bottom))!important; }
}
@media(prefers-reduced-motion:reduce) { .s2047-info-drawer-panel { transition:none; } }

/* Restore interaction after the broad legacy panel-hiding rule. */
#s2047-info-drawer-v51213 .s2047-info-drawer-panel,
#s2047-info-drawer-v51213 .s2047-info-drawer-panel *,
#s2047-info-drawer-v51213 .s2047-info-drawer-launcher,
#s2047-info-drawer-v51213 .s2047-info-drawer-shade {
  pointer-events:auto!important;
}

/* v5.12.16 — hamburger information and options menu. */
.s2047-info-drawer-launcher {
  min-width:62px!important;
  min-height:58px!important;
  padding:8px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
.s2047-hamburger-lines { display:grid;gap:4px;width:28px; }
.s2047-hamburger-lines i { display:block;width:28px;height:3px;border-radius:3px;background:currentColor; }
.s2047-info-drawer-launcher b { font-size:10px;line-height:1;letter-spacing:.1em;text-transform:uppercase; }
.s2047-info-drawer-options { display:grid;gap:7px;margin-top:10px; }
.s2047-info-drawer-options button {
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #315d70;
  border-radius:8px;
  background:#0b2638;
  color:#f4fbff;
  text-align:left;
  font-weight:700;
  line-height:1.3;
  touch-action:manipulation;
}
.s2047-info-drawer-options button:active,
.s2047-info-drawer-options button:focus-visible { background:#123b55;outline:2px solid #8fe8ff;outline-offset:1px; }


/* SOURCE: assets/css/ui-mobile-map-drawer-toolbar-phase-fifteen.css */
/* Space 2047 HD Edition v5.12.14
 * Mobile screen repair: restore the map, expose the information drawer,
 * remove the WordPress top control toolbar, and retain joystick-only controls.
 */

/* Remove the WordPress logged-in toolbar shown across the top of the game. */
#wpadminbar,
#wpadminbar * {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html { margin-top:0!important; }
body.admin-bar { margin-top:0!important; padding-top:0!important; }
@media screen and (max-width:782px) {
  html { margin-top:0!important; }
}

/* Restore the map requested by the player. */
#s2047-minimap-wrap,
.s2047-minimap-wrap {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#s2047-minimap-wrap canvas,
.s2047-minimap-wrap canvas {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* The earlier clean-screen stylesheet used a broad "drawer" selector that
 * accidentally hid the replacement information drawer. Explicitly restore it.
 */
#s2047-info-drawer-v51213 {
  display:block!important;
  visibility:visible!important;
  pointer-events:none!important;
}
#s2047-info-drawer-v51213 .s2047-info-drawer-launcher {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#s2047-info-drawer-v51213 .s2047-info-drawer-panel {
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
#s2047-info-drawer-v51213 .s2047-info-drawer-shade {
  visibility:visible!important;
  pointer-events:auto!important;
}
#s2047-info-drawer-v51213[data-open="0"] .s2047-info-drawer-shade,
#s2047-info-drawer-v51213:not([data-open="1"]) .s2047-info-drawer-shade {
  display:none!important;
}
#s2047-info-drawer-v51213[data-open="1"] .s2047-info-drawer-shade {
  display:block!important;
}
#s2047-info-drawer-v51213 .s2047-info-drawer-scroll {
  display:block!important;
  visibility:visible!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch;
}
#s2047-info-drawer-v51213 .s2047-info-drawer-arrows {
  display:grid!important;
  visibility:visible!important;
}

/* Position the launcher beneath the browser chrome, clear of the map. */
.s2047-info-drawer-launcher {
  top:max(12px,env(safe-area-inset-top))!important;
  right:max(12px,env(safe-area-inset-right))!important;
}

/* Keep only the joystick gameplay control. */
.s2047-action-cluster,
.s2047-mobile-controls:not(.s2047-joystick-zone),
.s2047-interact-controls,
.s2047-controls-menu,
.s2047-menu-button,
.s2047-inventory-button,
.s2047-run-button,
.s2047-interact-button {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.s2047-joystick-zone,
#s2047-joystick {
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}


/* SOURCE: assets/css/ui-joystick-only-touch-cleanup-phase-sixteen.css */
/* Space 2047 HD Edition v5.12.15
 * Remove the duplicate touch-direction arrow pad layered above the analogue joystick.
 * Preserve the analogue joystick, minimap, information drawer, and non-directional action keys.
 */
#s2047-touch-controls .s2047-touch-move,
.s2047-touch-controls .s2047-touch-move {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* The remaining touch-action group must not reserve space for the removed d-pad. */
#s2047-touch-controls,
.s2047-touch-controls {
  justify-content: flex-end !important;
}

/* Keep the actual analogue joystick fully available. */
.s2047-joystick-zone,
#s2047-joystick {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* SOURCE: assets/css/mobile-labelled-action-controls-v51229.css */
/* Space 2047 v5.12.29 — clear labelled mobile actions */
#s2047-touch-controls,.s2047-touch-controls,.s2047-action-cluster{display:none!important;visibility:hidden!important;pointer-events:none!important}
#s2047-mobile-labelled-actions{position:fixed!important;right:max(10px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important;z-index:2147482500!important;display:grid!important;grid-template-columns:repeat(2,minmax(92px,1fr))!important;gap:9px!important;width:min(244px,46vw)!important;padding:0!important;margin:0!important;pointer-events:auto!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
#s2047-mobile-labelled-actions .s2047-labelled-action{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:52px!important;padding:8px 10px!important;border:2px solid rgba(224,239,255,.72)!important;border-radius:18px!important;background:rgba(5,24,34,.92)!important;color:#fff!important;box-shadow:0 5px 16px rgba(0,0,0,.42)!important;font-size:13px!important;font-weight:800!important;line-height:1.1!important;text-align:left!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}
#s2047-mobile-labelled-actions .s2047-labelled-action b{display:grid!important;place-items:center!important;flex:0 0 29px!important;width:29px!important;height:29px!important;border-radius:50%!important;background:rgba(255,216,77,.16)!important;color:#ffd84d!important;font-size:19px!important}
#s2047-mobile-labelled-actions .s2047-labelled-action:active{transform:scale(.96)!important;background:rgba(18,67,83,.98)!important}
#s2047-mobile-labelled-actions .s2047-labelled-action-inventory{grid-column:1/-1!important}
@media (min-width:900px) and (hover:hover){#s2047-mobile-labelled-actions{display:none!important}}
@media (max-width:420px){#s2047-mobile-labelled-actions{width:min(228px,49vw)!important;gap:7px!important}#s2047-mobile-labelled-actions .s2047-labelled-action{min-height:48px!important;padding:7px 8px!important;font-size:12px!important}}


/* v5.73.0 compact inventory and universal sit action */
#s2047-mobile-labelled-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#s2047-mobile-labelled-actions .s2047-labelled-action-inventory,
#s2047-mobile-labelled-actions .s2047-labelled-action-sit{min-height:42px!important;padding-top:5px!important;padding-bottom:5px!important}
#s2047-mobile-labelled-actions .s2047-labelled-action-inventory span,
#s2047-mobile-labelled-actions .s2047-labelled-action-sit span{white-space:nowrap!important}

/* v5.73.1 — prevent action labels and buttons overlapping */
#s2047-mobile-labelled-actions{
  grid-auto-flow:row!important;
  align-items:stretch!important;
}
#s2047-mobile-labelled-actions .s2047-labelled-action-inventory,
#s2047-mobile-labelled-actions .s2047-labelled-action-sit{
  grid-column:auto!important;
  min-width:0!important;
}
#s2047-mobile-labelled-actions .s2047-labelled-action{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#s2047-mobile-labelled-actions .s2047-labelled-action span{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media (max-width:360px){
  #s2047-mobile-labelled-actions{
    width:min(214px,52vw)!important;
    gap:6px!important;
  }
  #s2047-mobile-labelled-actions .s2047-labelled-action{
    gap:5px!important;
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:11px!important;
  }
  #s2047-mobile-labelled-actions .s2047-labelled-action b{
    flex-basis:25px!important;
    width:25px!important;
    height:25px!important;
    font-size:16px!important;
  }
}

/* v5.92.6 — mobile carried-product checkout action */
#s2047-mobile-labelled-actions .s2047-labelled-action-checkout{border-color:#ffd84d!important;background:rgba(46,34,4,.96)!important;color:#fff6b0!important}
#s2047-mobile-labelled-actions .s2047-labelled-action-checkout[hidden]{display:none!important}


/* SOURCE: assets/css/mobile-dpad-fire-controls-v51234.css */
/* Space 2047 HD Edition v5.12.34 — D-pad with centre fire and hold-to-select weapons. */
#s2047-mobile-dpad-v51234{position:fixed!important;left:max(8px,env(safe-area-inset-left))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;z-index:2147483300!important;display:block!important;pointer-events:auto!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important}
#s2047-mobile-dpad-v51234 .s2047-dpad{width:178px;height:178px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:5px;border-radius:26px;background:rgba(3,13,23,.76);border:2px solid rgba(255,255,255,.35);box-shadow:0 14px 34px rgba(0,0,0,.55);backdrop-filter:blur(8px)}
#s2047-mobile-dpad-v51234 .s2047-dpad-button{min-width:0!important;min-height:0!important;border:2px solid #ffe177!important;border-radius:13px!important;background:linear-gradient(145deg,#18384d,#071725)!important;color:#fff!important;font-size:27px!important;font-weight:950!important;line-height:1!important;box-shadow:inset 0 1px 2px rgba(255,255,255,.2),0 4px 10px rgba(0,0,0,.35)!important;touch-action:none!important}
#s2047-mobile-dpad-v51234 .s2047-dpad-button.is-pressed{transform:translateY(2px)!important;background:#ffe177!important;color:#182000!important}
#s2047-mobile-dpad-v51234 .s2047-dpad-up{grid-column:2;grid-row:1}#s2047-mobile-dpad-v51234 .s2047-dpad-left{grid-column:1;grid-row:2}#s2047-mobile-dpad-v51234 .s2047-dpad-center{grid-column:2;grid-row:2;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,#ff7474,#b51414 62%,#650606)!important;color:#fff!important;font-size:13px!important;letter-spacing:.04em}#s2047-mobile-dpad-v51234 .s2047-dpad-right{grid-column:3;grid-row:2}#s2047-mobile-dpad-v51234 .s2047-dpad-down{grid-column:2;grid-row:3}
.s2047-weapon-chooser{position:fixed;inset:0;z-index:2147483640;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.s2047-weapon-chooser-card{width:min(92vw,430px);max-height:72vh;overflow:auto;border:2px solid #ffe177;border-radius:18px;background:#071725;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.7)}.s2047-weapon-chooser-card header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#102d40;border-bottom:1px solid rgba(255,255,255,.2)}.s2047-weapon-chooser-card header strong{font-size:19px}.s2047-weapon-chooser-card header button{width:40px;height:40px;border-radius:50%;border:1px solid #ffe177;background:#071725;color:#fff;font-size:26px}.s2047-weapon-list{display:grid;gap:10px;padding:14px}.s2047-weapon-list p{margin:8px;text-align:center}.s2047-weapon-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid #ffe177;border-radius:12px;background:#123247;color:#fff;text-align:left}.s2047-weapon-choice span{padding:6px 10px;border-radius:999px;background:#ffe177;color:#211900;font-weight:800}
@media(max-width:420px){#s2047-mobile-dpad-v51234 .s2047-dpad{width:160px;height:160px}}@media(min-width:900px) and (pointer:fine){#s2047-mobile-dpad-v51234{display:none!important}}

/* v5.12.32.4 — keep Inventory/Pick Up/Drop/Interact/Examine beside the D-pad. */
#s2047-mobile-labelled-actions{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:2147483400!important;
}
@media (max-width:899px), (pointer:coarse){
  #s2047-mobile-labelled-actions{
    right:max(8px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
}

/* v5.96.9 Android/mobile input reliability */
#s2047-mobile-dpad-v51234,
#s2047-mobile-labelled-actions { pointer-events:auto !important; z-index:2147483000 !important; }
#s2047-mobile-dpad-v51234 button,
#s2047-mobile-labelled-actions button { pointer-events:auto !important; touch-action:manipulation !important; user-select:none !important; -webkit-user-select:none !important; }
#s2047-mobile-dpad-v51234 [data-dir] { touch-action:none !important; }


/* SOURCE: assets/css/isometric-building-interiors-v5711.css */
#s2047-isometric-interior{position:fixed;inset:0;z-index:2147483600;display:none;background:rgba(0,4,10,.96);font-family:Arial,sans-serif;color:#fff}
#s2047-isometric-interior[data-open="1"]{display:block}
.s2047-interior-shell{position:absolute;inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #4ebbe5;border-radius:14px;background:#07131f;box-shadow:0 20px 90px #000}
.s2047-interior-shell header{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:6px 14px 6px 108px;background:#0c2638;border-bottom:1px solid #32677d}
.s2047-interior-shell h2{margin:0;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s2047-interior-shell header button{border:0;background:transparent;color:#fff;font-size:34px;line-height:1;width:48px;height:44px}
.s2047-interior-shell canvas{display:block;width:100%;height:100%;min-width:0;min-height:0;touch-action:none}
.s2047-interior-controls{min-height:188px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:8px;background:#0a1d2b;border-top:1px solid #32677d}
.s2047-interior-dpad{width:178px;height:178px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:5px;border-radius:26px;background:rgba(3,13,23,.76);border:2px solid rgba(255,255,255,.35);box-shadow:0 14px 34px rgba(0,0,0,.55);backdrop-filter:blur(8px);touch-action:none}
.s2047-interior-dpad button{min-width:0;min-height:0;border:2px solid #ffe177;border-radius:13px;background:linear-gradient(145deg,#18384d,#071725);color:#fff;font-size:27px;font-weight:950;line-height:1;box-shadow:inset 0 1px 2px rgba(255,255,255,.2),0 4px 10px rgba(0,0,0,.35);touch-action:none}
.s2047-interior-dpad button.is-pressed{transform:translateY(2px);background:#ffe177;color:#182000}
.s2047-interior-up{grid-column:2;grid-row:1}.s2047-interior-left{grid-column:1;grid-row:2}.s2047-interior-fire{grid-column:2;grid-row:2;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,#ff7474,#b51414 62%,#650606)!important}.s2047-interior-right{grid-column:3;grid-row:2}.s2047-interior-down{grid-column:2;grid-row:3}
.s2047-interior-actions{display:flex;align-items:flex-end;justify-content:flex-end;flex:1;height:178px}
.s2047-interior-exit{min-width:150px;height:72px;padding:0 22px;border:2px solid #ff9ca0;border-radius:18px;background:#783337;color:#fff;font-size:20px;font-weight:900;box-shadow:0 5px 0 #3b1518;touch-action:manipulation}
.s2047-interior-open body{overflow:hidden}
@media(max-width:700px){.s2047-interior-shell{inset:max(4px,env(safe-area-inset-top)) 4px max(4px,env(safe-area-inset-bottom)) 4px}.s2047-interior-shell header{padding-left:105px;min-height:54px}.s2047-interior-shell h2{font-size:16px}.s2047-interior-controls{min-height:174px;gap:8px;padding:5px}.s2047-interior-dpad{width:160px;height:160px}.s2047-interior-actions{height:160px}.s2047-interior-exit{min-width:112px;height:64px;font-size:17px}}
@media(max-width:390px){.s2047-interior-dpad{width:148px;height:148px}.s2047-interior-actions{height:148px}.s2047-interior-exit{min-width:96px;padding:0 12px}}

/* v5.66.0 interior polish */
.s2047-interior-toast{position:absolute;left:50%;bottom:calc(260px + env(safe-area-inset-bottom));z-index:8;transform:translate(-50%,14px);opacity:0;pointer-events:none;max-width:min(86vw,420px);padding:10px 16px;border:1px solid #6bd7f5;border-radius:999px;background:rgba(4,20,31,.94);color:#fff;font-weight:800;text-align:center;transition:opacity .2s ease,transform .2s ease}
.s2047-interior-toast[data-show="1"]{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){.s2047-interior-toast{bottom:calc(clamp(290px,31vh,410px) + env(safe-area-inset-bottom));z-index:40;max-width:min(88vw,460px);padding:11px 16px;border-radius:18px;font-size:14px;line-height:1.35;white-space:normal;box-shadow:0 10px 34px rgba(0,0,0,.72)}}
@media(prefers-reduced-motion:reduce){.s2047-interior-toast{transition:none}}


/* v5.67.0 interior depth, anchoring and camera polish */
.s2047-interior-shell canvas{image-rendering:auto}
.s2047-interior-shell{isolation:isolate}
.s2047-interior-shell header{z-index:4}
.s2047-interior-controls{z-index:5}
@media(max-width:700px){
  .s2047-interior-shell header{padding-right:105px;text-align:center;justify-content:center}
  .s2047-interior-shell h2{max-width:calc(100vw - 230px);text-align:center}
}

/* v5.68.0 walk-through interior exits */
.s2047-interior-controls{justify-content:flex-start}
.s2047-interior-actions,.s2047-interior-exit{display:none!important}
@media(max-width:700px){.s2047-interior-controls{justify-content:flex-start}}

/* v5.69.0 proper walk-through doors and complete indoor action controls */
.s2047-interior-controls{justify-content:space-between!important;align-items:flex-end!important;gap:12px!important}
.s2047-interior-action-panel{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px;width:min(244px,46vw);align-self:flex-end}
.s2047-interior-action-panel button{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:50px;padding:7px 9px;border:2px solid rgba(224,239,255,.72);border-radius:18px;background:rgba(5,24,34,.94);color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.42);font-size:13px;font-weight:800;line-height:1.05;text-align:left;touch-action:manipulation}
.s2047-interior-action-panel button:first-child{grid-column:1/-1}
.s2047-interior-action-panel b{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:rgba(255,216,77,.16);color:#ffd84d;font-size:18px}
.s2047-interior-action-panel button:active{transform:scale(.97);background:rgba(18,67,83,.98)}
@media(max-width:700px){
 .s2047-interior-controls{min-height:174px!important;padding:5px!important;gap:8px!important}
 .s2047-interior-action-panel{width:min(228px,49vw);gap:7px}
 .s2047-interior-action-panel button{min-height:48px;padding:7px 8px;font-size:12px}
}
@media(max-width:390px){
 .s2047-interior-action-panel{width:48vw;gap:5px}
 .s2047-interior-action-panel button{min-height:44px;padding:5px 6px;font-size:11px;border-radius:14px}
 .s2047-interior-action-panel b{flex-basis:25px;width:25px;height:25px;font-size:15px}
}

/* v5.70.0 indoor player, transparent doorway and full action controls repair */
.s2047-interior-controls{display:grid!important;grid-template-columns:minmax(148px,178px) minmax(0,244px)!important;justify-content:space-between!important;align-items:end!important;width:100%!important;box-sizing:border-box!important}
.s2047-interior-dpad{grid-column:1!important;flex:none!important}
.s2047-interior-action-panel{grid-column:2!important;display:grid!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:7!important;min-width:0!important;max-width:100%!important}
@media(max-width:700px){
 .s2047-interior-controls{grid-template-columns:160px minmax(0,1fr)!important}
 .s2047-interior-action-panel{width:100%!important}
}
@media(max-width:390px){
 .s2047-interior-controls{grid-template-columns:148px minmax(0,1fr)!important;gap:5px!important}
 .s2047-interior-action-panel{width:100%!important}
}


/* v5.71.1 definitive indoor player and action-control recovery */
.s2047-interior-controls{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:10px!important;width:100%!important;box-sizing:border-box!important;overflow:visible!important}
.s2047-interior-dpad{flex:0 0 178px!important}
.s2047-interior-action-panel{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important;flex:0 1 244px!important;width:244px!important;max-width:calc(100% - 188px)!important;z-index:20!important}
@media(max-width:700px){
 .s2047-interior-controls{padding:5px!important;gap:8px!important}
 .s2047-interior-dpad{flex-basis:160px!important;width:160px!important;height:160px!important}
 .s2047-interior-action-panel{flex-basis:calc(100% - 168px)!important;width:calc(100% - 168px)!important;max-width:calc(100% - 168px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .s2047-interior-action-panel button{min-width:0!important;overflow:hidden!important}
 .s2047-interior-action-panel span{white-space:normal!important}
}
@media(max-width:390px){
 .s2047-interior-dpad{flex-basis:148px!important;width:148px!important;height:148px!important}
 .s2047-interior-action-panel{flex-basis:calc(100% - 153px)!important;width:calc(100% - 153px)!important;max-width:calc(100% - 153px)!important}
}

/* v5.71.2 reliable indoor action panel and seating */
.s2047-interior-controls{position:relative!important;display:grid!important;grid-template-columns:160px minmax(190px,1fr)!important;align-items:end!important;gap:10px!important;min-height:174px!important}
.s2047-interior-dpad{grid-column:1!important;width:160px!important;height:160px!important;flex:none!important}
.s2047-interior-action-panel{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-self:end!important;width:100%!important;max-width:320px!important;min-width:190px!important;margin-left:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;clip:auto!important;overflow:visible!important;z-index:30!important}
.s2047-interior-action-panel button{display:flex!important;visibility:visible!important;opacity:1!important;min-width:0!important}
@media(max-width:430px){
 .s2047-interior-controls{grid-template-columns:148px minmax(0,1fr)!important;gap:6px!important;min-height:162px!important}
 .s2047-interior-dpad{width:148px!important;height:148px!important}
 .s2047-interior-action-panel{min-width:0!important;max-width:none!important;gap:5px!important}
 .s2047-interior-action-panel button{min-height:43px!important;padding:5px!important;font-size:11px!important;border-radius:13px!important}
 .s2047-interior-action-panel b{display:none!important}
}


/* v5.71.3 mobile indoor action controls: unclipped and reliable */
.s2047-interior-shell{overflow:hidden!important}
.s2047-interior-controls{
  display:grid!important;
  grid-template-columns:minmax(132px,38%) minmax(0,62%)!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  padding:6px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.s2047-interior-dpad{
  grid-column:1!important;
  width:min(160px,100%)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  justify-self:start!important;
}
.s2047-interior-action-panel{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(42px,1fr)!important;
  gap:6px!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.s2047-interior-action-panel button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:42px!important;
  padding:5px 7px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.s2047-interior-action-panel button:first-child{grid-column:1/-1!important}
.s2047-interior-action-panel span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:430px){
 .s2047-interior-controls{grid-template-columns:minmax(126px,39%) minmax(0,61%)!important;gap:5px!important;padding:5px!important;min-height:158px!important}
 .s2047-interior-dpad{width:min(148px,100%)!important}
 .s2047-interior-action-panel{gap:4px!important;grid-auto-rows:minmax(40px,1fr)!important}
 .s2047-interior-action-panel button{min-height:40px!important;padding:4px 6px!important;font-size:10.5px!important;border-radius:12px!important}
 .s2047-interior-action-panel b{display:none!important}
}
@media(max-width:360px){
 .s2047-interior-controls{grid-template-columns:124px minmax(0,1fr)!important}
 .s2047-interior-action-panel button{font-size:10px!important;padding:3px 4px!important}
}


/* v5.71.4 indoor controls: reliable input and top HUD stacking */
html.s2047-interior-open #s2047-isometric-interior{
  z-index:2147483646!important;
  pointer-events:auto!important;
}
html.s2047-interior-open .s2047-interior-shell,
html.s2047-interior-open .s2047-interior-controls,
html.s2047-interior-open .s2047-interior-action-panel{
  pointer-events:auto!important;
}
html.s2047-interior-open .s2047-interior-controls{
  position:relative!important;
  z-index:2147483647!important;
  isolation:isolate!important;
}
html.s2047-interior-open .s2047-interior-action-panel,
html.s2047-interior-open .s2047-interior-action-panel button{
  position:relative!important;
  z-index:2147483647!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
/* Full-screen menu shells may remain mounted, but only their visible toggle may receive input indoors. */
html.s2047-interior-open #s2047-hamburger-shell-v51217,
html.s2047-interior-open #s2047-v51220-shell,
html.s2047-interior-open #s2047-main-options-shell-v5300{
  pointer-events:none!important;
}
html.s2047-interior-open #s2047-hamburger-shell-v51217 button,
html.s2047-interior-open #s2047-v51220-shell button,
html.s2047-interior-open #s2047-main-options-shell-v5300 button{
  pointer-events:auto!important;
}


/* v5.71.5: action controls sit above both hamburger controls and receive taps directly. */
html.s2047-interior-open .s2047-interior-controls,
html.s2047-interior-open .s2047-interior-action-panel,
html.s2047-interior-open .s2047-interior-action-panel button{
  z-index:2147483647!important;
  pointer-events:auto!important;
}
html.s2047-interior-open #s2047-hamburger-shell-v51217,
html.s2047-interior-open #s2047-v51220-shell,
html.s2047-interior-open #s2047-main-options-shell-v5300{
  z-index:2147483500!important;
}


/* v5.73.0 universal sit control and compact inventory layout */
.s2047-interior-action-panel button:first-child{grid-column:auto!important}
.s2047-interior-action-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.s2047-interior-action-panel .s2047-interior-inventory,
.s2047-interior-action-panel .s2047-interior-sit{min-height:42px!important;padding-top:5px!important;padding-bottom:5px!important}
.s2047-interior-action-panel .s2047-interior-inventory span,
.s2047-interior-action-panel .s2047-interior-sit span{white-space:nowrap!important}
@media(max-width:430px){
 .s2047-interior-action-panel .s2047-interior-inventory,
 .s2047-interior-action-panel .s2047-interior-sit{min-height:36px!important;font-size:10px!important}
}
/* v5.91.5 product labels and Nouala Credits wallet */
#s2047-isometric-interior .s2047-wallet-badge{position:absolute;top:66px;right:18px;z-index:50;padding:8px 12px;border:2px solid #ffe270;border-radius:12px;background:rgba(3,17,26,.94);color:#fff;font:800 14px/1 Arial,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.35);pointer-events:none}
@media(max-width:600px){#s2047-isometric-interior .s2047-wallet-badge{top:62px;right:10px;padding:7px 9px;font-size:12px}}

/* v5.92.7: checkout belongs to the visible interior mobile action panel. */
#s2047-isometric-interior .s2047-interior-action-panel [data-interior-action="checkout"][hidden]{display:none!important;}
#s2047-isometric-interior .s2047-interior-action-panel [data-interior-action="checkout"]{font-weight:800;outline:2px solid #ffe36c;outline-offset:-3px;}

/* v5.92.8 visible shop checkout */
#s2047-isometric-interior .s2047-interior-checkout{border-color:#ffe16a;background:#3a3214;color:#fff;opacity:.78}
#s2047-isometric-interior .s2047-interior-checkout.is-ready-to-pay{background:#6a5210;border-color:#fff07a;opacity:1;box-shadow:0 0 0 2px rgba(255,225,106,.25),0 5px 16px rgba(0,0,0,.42)}
#s2047-isometric-interior .s2047-interior-checkout:disabled{display:flex!important;cursor:default}


/* SOURCE: assets/css/exploration-quest-foundations.css */
/* Space 2047 v5.14.0 — Exploration & Quest Foundations */
#s2047-eqf-launch{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(76px,calc(env(safe-area-inset-top) + 76px));z-index:2147482000;border:1px solid rgba(255,216,77,.75);border-radius:999px;background:rgba(4,18,31,.94);color:#fff;padding:10px 14px;font-weight:800;box-shadow:0 8px 30px rgba(0,0,0,.4)}
#s2047-eqf-launch b{color:#ffd84d}
#s2047-eqf-panel{position:fixed;inset:0;z-index:2147483000;display:none;background:rgba(0,4,10,.78);padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
#s2047-eqf-panel[data-open="1"]{display:flex}
.s2047-eqf-card{margin:auto;width:min(760px,100%);max-height:92vh;display:flex;flex-direction:column;background:#071827;border:1px solid #397a98;border-radius:18px;overflow:hidden;box-shadow:0 25px 90px rgba(0,0,0,.8);color:#eef8ff}
.s2047-eqf-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0a2234;border-bottom:1px solid #28566c}.s2047-eqf-head h2{margin:0;font-size:1.2rem}.s2047-eqf-close{border:0;background:transparent;color:#fff;font-size:32px;line-height:1}
.s2047-eqf-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#28566c}.s2047-eqf-tabs button{border:0;background:#0b2a40;color:#dbefff;padding:11px 6px;font-weight:700}.s2047-eqf-tabs button[aria-selected="true"]{background:#ffd84d;color:#071827}
.s2047-eqf-body{overflow:auto;padding:14px;min-height:280px}.s2047-eqf-grid{display:grid;gap:12px}.s2047-eqf-item{border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:13px;background:rgba(255,255,255,.055)}.s2047-eqf-item h3{margin:0 0 5px;font-size:1rem}.s2047-eqf-item p{margin:4px 0;line-height:1.42}.s2047-eqf-item small{opacity:.74}.s2047-eqf-progress{height:8px;background:#020b12;border-radius:9px;overflow:hidden;margin:9px 0}.s2047-eqf-progress i{display:block;height:100%;background:#ffd84d}.s2047-eqf-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.s2047-eqf-actions button{border:1px solid #4ba9ca;border-radius:9px;background:#0a2b40;color:#fff;padding:8px 11px;font-weight:700}.s2047-eqf-done{border-color:rgba(91,230,158,.65)}.s2047-eqf-empty{opacity:.75;text-align:center;padding:30px 12px}.s2047-eqf-toast{position:fixed;left:50%;bottom:max(90px,calc(env(safe-area-inset-bottom) + 90px));transform:translateX(-50%);z-index:2147483600;background:#061827;border:1px solid #ffd84d;color:#fff;border-radius:999px;padding:10px 16px;box-shadow:0 8px 35px rgba(0,0,0,.6);max-width:calc(100% - 24px);text-align:center}
@media(max-width:600px){#s2047-eqf-launch{top:auto;bottom:max(152px,calc(env(safe-area-inset-bottom) + 152px));padding:9px 12px}.s2047-eqf-tabs{grid-template-columns:repeat(2,1fr)}.s2047-eqf-card{max-height:96vh}.s2047-eqf-body{padding:10px}}


/* SOURCE: assets/css/item-use-objective-integration.css */
/* Space 2047 v5.15.0 — Item Use & Objective Integration */
#s2047-iuo-launch{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(126px,calc(env(safe-area-inset-top) + 126px));z-index:2147481999;border:1px solid #55c6e9;border-radius:999px;background:rgba(4,18,31,.95);color:#fff;padding:9px 13px;font-weight:850;box-shadow:0 8px 30px rgba(0,0,0,.42)}#s2047-iuo-launch b{color:#65dbff;font-size:1.15em}
#s2047-iuo-panel{position:fixed;inset:0;z-index:2147483400;display:none;align-items:center;justify-content:center;background:rgba(0,4,10,.8);padding:12px}#s2047-iuo-panel[data-open="1"]{display:flex}.s2047-iuo-card{width:min(720px,100%);max-height:94vh;overflow:hidden;border:1px solid #397a98;border-radius:18px;background:#071827;color:#eef8ff;box-shadow:0 25px 90px rgba(0,0,0,.82)}.s2047-iuo-card>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0a2234;border-bottom:1px solid #28566c}.s2047-iuo-card h2{margin:0;font-size:1.2rem}.s2047-iuo-card header button{border:0;background:transparent;color:#fff;font-size:32px;line-height:1}.s2047-iuo-body{padding:14px;overflow:auto;max-height:calc(94vh - 58px)}.s2047-iuo-objective{display:grid;gap:5px;border:1px solid rgba(101,219,255,.6);border-radius:13px;padding:13px;background:rgba(20,112,147,.18);margin-bottom:12px}.s2047-iuo-objective small{color:#65dbff;font-weight:900;letter-spacing:.08em}.s2047-iuo-objective strong{line-height:1.4}.s2047-iuo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.s2047-iuo-item{border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px;background:rgba(255,255,255,.05)}.s2047-iuo-item.equipped{border-color:#ffd84d;box-shadow:inset 0 0 0 1px rgba(255,216,77,.35)}.s2047-iuo-item h3,.s2047-iuo-item p{margin:0 0 8px}.s2047-iuo-item>div{display:flex;gap:7px;flex-wrap:wrap}.s2047-iuo-item button{border:1px solid #4ba9ca;border-radius:8px;background:#0a2b40;color:#fff;padding:7px 10px;font-weight:750}.s2047-iuo-item button:disabled{opacity:.4}.s2047-iuo-status{margin-top:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:10px}.s2047-iuo-status p{margin:5px 0}.s2047-iuo-toast{position:fixed;left:50%;bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px));transform:translateX(-50%);z-index:2147483650;background:#061827;border:1px solid #65dbff;color:#fff;border-radius:999px;padding:10px 16px;box-shadow:0 8px 35px rgba(0,0,0,.65);max-width:calc(100% - 24px);text-align:center;transition:.35s}.s2047-iuo-toast.good{border-color:#5be69e}.s2047-iuo-toast.warn{border-color:#ffb45d}.s2047-iuo-toast.out{opacity:0;transform:translate(-50%,12px)}
@media(max-width:600px){#s2047-iuo-launch{top:auto;bottom:max(202px,calc(env(safe-area-inset-bottom) + 202px));padding:8px 11px}.s2047-iuo-grid{grid-template-columns:1fr}.s2047-iuo-body{padding:10px}}


/* SOURCE: assets/css/mission-waypoints-world-objectives.css */
/* Space 2047 v5.16.0 — Mission Waypoints & World Objectives */
#s2047-mwo-hud{position:fixed;left:50%;top:max(74px,calc(env(safe-area-inset-top) + 74px));transform:translateX(-50%);z-index:2147481980;display:grid;grid-template-columns:minmax(230px,520px) 42px;width:min(620px,calc(100% - 24px));border:1px solid rgba(90,207,241,.7);border-radius:13px;background:rgba(3,18,30,.94);color:#fff;box-shadow:0 10px 38px rgba(0,0,0,.48);overflow:hidden}.s2047-mwo-focus{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;padding:9px 12px}.s2047-mwo-focus span{grid-row:1/3;color:#65dbff;font-size:.68rem;font-weight:950;letter-spacing:.1em}.s2047-mwo-focus strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.91rem}.s2047-mwo-focus small{color:#abd5e4;min-height:1em}.s2047-mwo-expand{border:0;border-left:1px solid rgba(90,207,241,.3);background:#0a2b40;color:#fff;font-size:21px;font-weight:900}.expanded .s2047-mwo-expand{transform:rotate(180deg)}.s2047-mwo-list{grid-column:1/-1;max-height:min(48vh,420px);overflow:auto;border-top:1px solid rgba(90,207,241,.3);padding:8px;background:#061827}.s2047-mwo-list article{display:grid;grid-template-columns:1fr auto;gap:7px;margin:5px 0;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.04);overflow:hidden}.s2047-mwo-list article.active{border-color:#65dbff}.s2047-mwo-list article.complete{opacity:.64}.s2047-mwo-list button{border:0;background:transparent;color:#fff;padding:9px;text-align:left}.s2047-mwo-list article>button:first-child{display:grid;grid-template-columns:23px 1fr;column-gap:7px}.s2047-mwo-list b,.s2047-mwo-list small{grid-column:2}.s2047-mwo-list small{color:#b8d3df}.s2047-mwo-list article>button:last-child{border-left:1px solid rgba(255,255,255,.13);background:#0a3047;font-weight:800}.s2047-mwo-empty{margin:8px;color:#bfd6df;line-height:1.45}.s2047-mwo-target.is-waypoint{filter:drop-shadow(0 0 9px #65dbff);animation:s2047-mwo-pulse 1.25s infinite}.s2047-mwo-target.is-active{outline:3px solid #ffd84d!important;outline-offset:4px}.s2047-mwo-target.is-complete{filter:drop-shadow(0 0 5px #63e7a6)}@keyframes s2047-mwo-pulse{50%{filter:drop-shadow(0 0 18px #65dbff)}}.s2047-mwo-toast{position:fixed;left:50%;bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px));transform:translateX(-50%);z-index:2147483650;border:1px solid #65dbff;border-radius:999px;background:#061827;color:#fff;padding:10px 16px;box-shadow:0 8px 35px rgba(0,0,0,.65);max-width:calc(100% - 24px);text-align:center;transition:.35s}.s2047-mwo-toast.good{border-color:#5be69e}.s2047-mwo-toast.warn{border-color:#ffb45d}.s2047-mwo-toast.out{opacity:0;transform:translate(-50%,12px)}
@media(max-width:600px){#s2047-mwo-hud{top:max(58px,calc(env(safe-area-inset-top) + 58px));grid-template-columns:minmax(0,1fr) 40px}.s2047-mwo-focus{padding:7px 9px}.s2047-mwo-focus span{font-size:.61rem}.s2047-mwo-focus strong{font-size:.82rem}.s2047-mwo-list{max-height:38vh}}


/* Space 2047 HD Edition v5.86.7 — missions live inside Game Options, never over the world/map. */
#s2047-mwo-hud[hidden]{display:none!important}
#s2047-mwo-hud{position:fixed!important;inset:0!important;z-index:2147483646!important;display:block!important;width:auto!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important;color:#fff!important}
.s2047-mwo-shade{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;background:rgba(0,5,12,.72)!important}
.s2047-mwo-dialog{position:absolute!important;top:max(12px,env(safe-area-inset-top))!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;left:max(12px,env(safe-area-inset-left))!important;display:flex!important;flex-direction:column!important;max-width:760px!important;margin:auto!important;overflow:hidden!important;border:2px solid #65dbff!important;border-radius:18px!important;background:#061827!important;box-shadow:0 24px 80px rgba(0,0,0,.8)!important}
.s2047-mwo-dialog>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:14px 16px!important;border-bottom:1px solid rgba(101,219,255,.35)!important;background:#09263a!important}
.s2047-mwo-dialog>header small{display:block;color:#65dbff;font-size:.7rem;font-weight:900;letter-spacing:.12em}.s2047-mwo-dialog>header h2{margin:2px 0 0!important;font-size:1.35rem!important}.s2047-mwo-close{width:48px!important;height:48px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:12px!important;background:#102f43!important;color:#fff!important;font-size:32px!important;line-height:1!important}
#s2047-mwo-hud .s2047-mwo-focus{display:grid!important;grid-template-columns:auto 1fr!important;column-gap:10px!important;min-height:68px!important;padding:12px 16px!important;border:0!important;border-bottom:1px solid rgba(101,219,255,.25)!important;background:#071f31!important;color:#fff!important;text-align:left!important}
#s2047-mwo-hud .s2047-mwo-focus span{grid-row:1/3!important;color:#65dbff!important;font-size:.68rem!important;font-weight:950!important;letter-spacing:.08em!important}
#s2047-mwo-hud .s2047-mwo-focus strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:1rem!important}
#s2047-mwo-hud .s2047-mwo-list{display:block!important;flex:1!important;min-height:0!important;max-height:none!important;overflow:auto!important;padding:12px!important;border:0!important;background:#061827!important}
#s2047-mwo-hud .s2047-mwo-list article{grid-template-columns:minmax(0,1fr) minmax(92px,auto)!important;width:100%!important}
#s2047-mwo-hud .s2047-mwo-list article>button:first-child{min-width:0!important;padding:14px!important}
#s2047-mwo-hud .s2047-mwo-list article>button:last-child{min-width:92px!important;text-align:center!important;padding:12px!important}
html.s2047-mission-course-open{overflow:hidden!important}
@media(max-width:600px){.s2047-mwo-dialog{top:max(8px,env(safe-area-inset-top))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;left:max(8px,env(safe-area-inset-left))!important;border-radius:14px!important}.s2047-mwo-dialog>header{padding:12px!important}.s2047-mwo-dialog>header h2{font-size:1.18rem!important}#s2047-mwo-hud .s2047-mwo-list{padding:8px!important}#s2047-mwo-hud .s2047-mwo-list article{grid-template-columns:minmax(0,1fr)!important}#s2047-mwo-hud .s2047-mwo-list article>button:last-child{border-left:0!important;border-top:1px solid rgba(255,255,255,.13)!important;min-height:48px!important;text-align:center!important}}


/* SOURCE: assets/css/npc-quest-dialogue-rewards.css */
#s2047-nqd-panel{position:fixed;inset:0;z-index:2147482800;display:none;place-items:center;padding:16px;background:rgba(0,5,12,.78);font-family:system-ui,sans-serif}#s2047-nqd-panel[data-open="1"]{display:grid}#s2047-nqd-panel>section{width:min(620px,96vw);max-height:86vh;overflow:auto;border:1px solid #53c8ef;border-radius:16px;background:#071827;color:#eefaff;box-shadow:0 24px 80px #000;padding-bottom:18px}#s2047-nqd-panel header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#0b2940;border-bottom:1px solid #2e6680}#s2047-nqd-panel h2{margin:0;font-size:22px}#s2047-nqd-panel header button{border:0;background:transparent;color:#fff;font-size:32px}.s2047-nqd-body{padding:18px;line-height:1.55}.s2047-nqd-choices{display:grid;gap:10px;margin-top:18px}.s2047-nqd-choices button,.s2047-nqd-body>[data-nqd-back]{min-height:48px;border:1px solid #3a89a8;border-radius:10px;background:#102f45;color:#fff;padding:10px 14px;text-align:left;font-weight:700}.s2047-nqd-choices button.seen{opacity:.72}.s2047-nqd-response{padding:14px;border-left:4px solid #ffd84d;background:#0b2234}.s2047-nqd-toast{position:fixed;z-index:2147483647;left:50%;bottom:90px;transform:translateX(-50%);padding:12px 18px;border-radius:999px;background:#102f45;color:#fff;border:1px solid #53c8ef;box-shadow:0 8px 30px #000}


/* SOURCE: assets/css/desktop-new-controls-mission-layout-v5171.css */
/* Space 2047 HD Edition v5.17.1 — unified new controls and unobstructed mission HUD. */

/* The current D-pad and labelled actions must be available on both desktop and mobile. */
#s2047-mobile-dpad-v51234 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
#s2047-mobile-labelled-actions {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Prevent obsolete controller layers from returning on desktop. */
#s2047-touch-controls,
.s2047-touch-controls,
#s2047-mobile-controls,
.s2047-mobile-controls,
.s2047-joystick-zone,
#s2047-joystick,
#s2047-mobile-dpad-v51233,
.s2047-action-cluster {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Keep the mission bar clear of the hamburger menu and above the controls. */
#s2047-mwo-hud {
  top: auto !important;
  bottom: max(210px, calc(env(safe-area-inset-bottom) + 210px)) !important;
}

@media (max-width: 899px), (pointer: coarse) {
  #s2047-mwo-hud {
    bottom: max(292px, calc(env(safe-area-inset-bottom) + 292px)) !important;
    width: min(620px, calc(100% - 20px)) !important;
  }
}

@media (min-width: 900px) and (pointer: fine) {
  #s2047-mobile-dpad-v51234 {
    left: max(18px, env(safe-area-inset-left)) !important;
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }
  #s2047-mobile-labelled-actions {
    right: max(18px, env(safe-area-inset-right)) !important;
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-height: 650px) and (min-width: 900px) {
  #s2047-mwo-hud {
    bottom: max(188px, calc(env(safe-area-inset-bottom) + 188px)) !important;
  }
  #s2047-mobile-dpad-v51234 .s2047-dpad {
    width: 154px !important;
    height: 154px !important;
  }
  #s2047-mobile-labelled-actions .s2047-labelled-action {
    min-height: 44px !important;
  }
}


/* SOURCE: assets/css/desktop-controls-reliability-v5172.css */
/* Space 2047 HD Edition v5.17.2 — desktop control reliability and adaptive HUD clearance. */
:root{--s2047-control-clearance:240px}
#s2047-mwo-hud{bottom:max(var(--s2047-control-clearance),calc(env(safe-area-inset-bottom) + var(--s2047-control-clearance)))!important}
#s2047-mobile-dpad-v51234 .is-keyboard-pressed,
#s2047-mobile-labelled-actions .is-keyboard-pressed{transform:translateY(1px) scale(.96)!important;filter:brightness(1.25)!important}
@media (min-width:900px) and (pointer:fine){
  #s2047-mobile-dpad-v51234,#s2047-mobile-labelled-actions{z-index:2147482100!important}
  #s2047-mwo-hud{z-index:2147482050!important}
}
@media (max-height:650px) and (min-width:900px){:root{--s2047-control-clearance:190px}}


/* SOURCE: assets/css/mission-checkpoints-rewards-v5180.css */
#s2047-checkpoint-status{position:fixed;right:12px;bottom:calc(var(--s2047-controls-height,190px) + 54px);z-index:100070;border:1px solid rgba(255,216,77,.75);border-radius:999px;background:rgba(5,16,28,.92);color:#fff;padding:7px 11px;font-size:12px;font-weight:800;line-height:1;box-shadow:0 4px 18px rgba(0,0,0,.35);cursor:pointer;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#s2047-checkpoint-status[data-kind="reward"]{border-color:#7dffad;box-shadow:0 0 0 2px rgba(125,255,173,.15),0 4px 18px rgba(0,0,0,.35)}
#s2047-checkpoint-status[data-kind="error"]{border-color:#ff7c7c}
@media (min-width:900px){#s2047-checkpoint-status{right:22px;bottom:calc(var(--s2047-controls-height,205px) + 58px)}}


/* SOURCE: assets/css/save-slot-manager-v5190.css */
#s2047-save-manager-button{position:fixed;right:12px;bottom:calc(var(--s2047-controls-height,190px) + 91px);z-index:100071;border:1px solid rgba(120,210,255,.75);border-radius:999px;background:rgba(5,16,28,.94);color:#fff;padding:7px 12px;font-size:11px;font-weight:900;letter-spacing:.08em;box-shadow:0 4px 18px rgba(0,0,0,.38);cursor:pointer}
#s2047-save-manager{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:100090;width:min(680px,calc(100vw - 24px));max-height:calc(100vh - 30px);overflow:auto;border:1px solid rgba(255,216,77,.72);border-radius:18px;background:linear-gradient(180deg,rgba(9,27,44,.99),rgba(3,12,22,.99));color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.72);padding:0}
#s2047-save-manager[hidden]{display:none!important}
#s2047-save-manager header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(7,21,36,.98);z-index:1}
#s2047-save-manager header div{display:grid;gap:3px}#s2047-save-manager header strong{font-size:20px;color:#ffd84d}#s2047-save-manager header small{opacity:.72}#s2047-save-manager header>button{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:24px;cursor:pointer}
.s2047-save-slots{display:grid;gap:10px;padding:14px}.s2047-save-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px;background:rgba(255,255,255,.045)}.s2047-save-slot.has-save{border-color:rgba(125,255,173,.36)}.s2047-save-slot>div:first-child{display:grid;gap:3px}.s2047-save-slot span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8bd8ff}.s2047-save-slot strong{font-size:17px}.s2047-save-slot small{opacity:.68;white-space:normal}.s2047-save-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.s2047-save-actions button,#s2047-save-manager footer button,.s2047-import-save{border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.09);color:#fff;padding:8px 10px;font-weight:800;cursor:pointer}.s2047-save-actions button:first-child{border-color:rgba(255,216,77,.6)}.s2047-save-actions button:disabled{opacity:.35;cursor:not-allowed}.s2047-save-actions button[data-action=delete]{border-color:rgba(255,124,124,.5)}
#s2047-save-manager footer{display:flex;justify-content:space-between;gap:10px;padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.1)}.s2047-import-save{display:inline-flex;align-items:center}.s2047-import-save input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media (min-width:900px){#s2047-save-manager-button{right:22px;bottom:calc(var(--s2047-controls-height,205px) + 95px)}}
@media (max-width:620px){.s2047-save-slot{grid-template-columns:1fr}.s2047-save-actions{justify-content:flex-start}#s2047-save-manager footer{flex-wrap:wrap}}


/* SOURCE: assets/css/player-statistics-achievements-v5200.css */
#s2047-progress-button{position:fixed!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
#s2047-progress-panel{position:fixed;inset:8vh auto auto 50%;transform:translateX(-50%);width:min(720px,94vw);max-height:82vh;overflow:auto;z-index:100060;border:2px solid rgba(255,216,77,.75);border-radius:14px;background:rgba(4,14,26,.98);color:#fff;box-shadow:0 25px 70px rgba(0,0,0,.65);padding:0}
#s2047-progress-panel[hidden]{display:none!important}#s2047-progress-panel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#081b2f;border-bottom:1px solid rgba(255,255,255,.14);z-index:2}#s2047-progress-panel header strong{display:block;font-size:18px}#s2047-progress-panel header small{display:block;opacity:.72;margin-top:2px}#s2047-progress-panel header button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.s2047-progress-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px}.s2047-progress-summary div,.s2047-stat-grid article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:12px}.s2047-progress-summary span,.s2047-stat-grid span{display:block;font-size:12px;opacity:.72}.s2047-progress-summary strong,.s2047-stat-grid strong{display:block;margin-top:4px;font-size:21px;color:#ffd84d}
.s2047-progress-tabs{display:flex;gap:8px;padding:0 14px 12px}.s2047-progress-tabs button{flex:1;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.05);color:#fff;padding:9px;font-weight:800}.s2047-progress-tabs button.active{background:#ffd84d;color:#071421;border-color:#ffd84d}.s2047-progress-content{padding:0 14px 16px}.s2047-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.s2047-achievement-list{display:grid;gap:9px}.s2047-achievement-list article{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.05)}.s2047-achievement-list article.unlocked{border-color:rgba(255,216,77,.65);background:rgba(255,216,77,.09)}.s2047-achievement-list strong,.s2047-achievement-list small{display:block}.s2047-achievement-list small{opacity:.72;margin-top:3px}.s2047-achievement-list span{font-weight:900;color:#ffd84d}.s2047-achievement-list em{grid-column:2;font-size:11px;opacity:.7;font-style:normal}
.s2047-achievement-toast{position:fixed;left:50%;top:18px;transform:translate(-50%,-140%);z-index:100090;padding:12px 18px;border:2px solid #ffd84d;border-radius:11px;background:#071a2c;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.5);transition:transform .3s ease}.s2047-achievement-toast.show{transform:translate(-50%,0)}.s2047-achievement-toast strong,.s2047-achievement-toast span{display:block}.s2047-achievement-toast strong{color:#ffd84d;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.s2047-achievement-toast span{margin-top:3px;font-weight:800}
@media(max-width:700px){#s2047-progress-button{right:12px;bottom:calc(var(--s2047-controls-height,154px) + 58px)}#s2047-progress-panel{top:4vh;max-height:90vh}.s2047-stat-grid{grid-template-columns:repeat(2,1fr)}}

/* v5.38.0 smoother panel scrolling */
#s2047-progress-panel,.s2047-progress-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-gutter:stable;}


/* SOURCE: assets/css/crew-rank-skill-upgrades-v5210.css */
#s2047-rank-button{position:fixed;right:18px;bottom:126px;z-index:100040;border:1px solid rgba(255,216,77,.8);border-radius:999px;background:rgba(4,17,31,.94);color:#ffe56e;font-weight:900;letter-spacing:.08em;padding:10px 15px;box-shadow:0 8px 24px rgba(0,0,0,.38);cursor:pointer}
#s2047-rank-panel{position:fixed;right:18px;bottom:174px;z-index:100050;width:min(430px,calc(100vw - 24px));max-height:min(650px,calc(100vh - 90px));overflow:auto;border:1px solid rgba(255,216,77,.52);border-radius:18px;background:linear-gradient(180deg,rgba(7,25,43,.98),rgba(3,12,23,.98));color:#f7fbff;box-shadow:0 22px 70px rgba(0,0,0,.62);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#s2047-rank-panel[hidden]{display:none!important}#s2047-rank-panel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:15px 17px;background:rgba(5,19,34,.97);border-bottom:1px solid rgba(255,255,255,.12);z-index:2}#s2047-rank-panel header strong{display:block;font-size:18px;color:#ffe56e}#s2047-rank-panel header small{display:block;color:#bcd2e4;margin-top:2px}#s2047-rank-panel header button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.s2047-rank-summary{padding:17px;border-bottom:1px solid rgba(255,255,255,.1)}.s2047-rank-title{display:flex;justify-content:space-between;align-items:end;gap:12px}.s2047-rank-title span{color:#9ec9e7;font-weight:800}.s2047-rank-title strong{font-size:21px;color:#fff}.s2047-xp-line{display:flex;justify-content:space-between;gap:10px;margin-top:14px;color:#bcd2e4;font-size:12px}.s2047-xp-bar{height:10px;margin-top:7px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.s2047-xp-bar i{display:block;height:100%;background:linear-gradient(90deg,#65d8ff,#ffe56e);border-radius:inherit}.s2047-skill-points{margin-top:14px;display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-radius:12px;background:rgba(255,216,77,.1);border:1px solid rgba(255,216,77,.25)}.s2047-skill-points strong{font-size:21px;color:#ffe56e}
.s2047-skill-list{display:grid;gap:10px;padding:15px}.s2047-skill-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.s2047-skill-list strong,.s2047-skill-list small,.s2047-skill-list span{display:block}.s2047-skill-list small{color:#bcd2e4;margin:3px 0 7px;line-height:1.35}.s2047-skill-list span{color:#ffe56e;font-size:12px;font-weight:800}.s2047-skill-list button{flex:0 0 auto;border:1px solid rgba(101,216,255,.6);border-radius:10px;background:rgba(18,101,132,.32);color:#fff;font-weight:900;padding:9px 10px;cursor:pointer}.s2047-skill-list button:disabled{opacity:.42;cursor:not-allowed}
.s2047-rank-toast{position:fixed;left:50%;top:86px;z-index:100090;transform:translate(-50%,-14px);opacity:0;max-width:min(520px,calc(100vw - 28px));padding:12px 17px;border-radius:999px;background:#102f49;color:#fff;border:1px solid #ffe56e;box-shadow:0 12px 35px rgba(0,0,0,.5);font-weight:900;text-align:center;transition:.25s ease}.s2047-rank-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){#s2047-rank-button{right:10px;bottom:174px;padding:9px 12px}#s2047-rank-panel{right:8px;bottom:218px;width:calc(100vw - 16px);max-height:calc(100vh - 236px)}.s2047-skill-list article{align-items:flex-start}.s2047-skill-list button{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.s2047-rank-toast{transition:none}}


/* SOURCE: assets/css/dynamic-npc-schedules-v5220.css */
#s2047-world-button{position:fixed;right:18px;bottom:158px;z-index:100040;border:1px solid #69e6ff;border-radius:999px;background:#071527;color:#fff;font:800 12px/1 system-ui;padding:11px 14px;box-shadow:0 8px 25px #0008;letter-spacing:.08em}
#s2047-world-panel{position:fixed;right:18px;bottom:205px;z-index:100041;width:min(390px,calc(100vw - 28px));max-height:min(640px,calc(100vh - 110px));overflow:auto;background:linear-gradient(180deg,#08182b,#040a12);border:1px solid #47d7ff;border-radius:18px;color:#eefbff;box-shadow:0 25px 70px #000c;font-family:system-ui,sans-serif}
#s2047-world-panel[hidden]{display:none!important}#s2047-world-panel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:15px 16px;background:#071426f2;border-bottom:1px solid #276278;backdrop-filter:blur(8px)}#s2047-world-panel header div{display:grid;gap:2px}#s2047-world-panel header strong{font-size:17px}#s2047-world-panel header small{color:#9cc6d2}#s2047-world-panel header button{border:0;background:transparent;color:#fff;font-size:27px}.s2047-world-clock{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;background:#0d263c}.s2047-world-clock span{color:#abd1dc;font-size:12px;text-align:right}.s2047-world-events{display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px;border-bottom:1px solid #17394a}.s2047-world-events span{padding:5px 8px;border-radius:999px;background:#16445a;color:#c9f6ff;font-size:12px}.s2047-world-list{display:grid;gap:8px;padding:12px}.s2047-world-list article{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 12px;border:1px solid #1d4658;border-radius:12px;background:#0a1c2a}.s2047-world-list article strong{grid-row:1/3}.s2047-world-list article span{text-transform:capitalize;text-align:right}.s2047-world-list article small{color:#92b9c4;text-transform:capitalize}.s2047-world-list article i{font-style:normal;font-size:11px;text-align:right}.s2047-world-list .available{color:#6fffb0}.s2047-world-list .unavailable{color:#ffb27d}#s2047-world-panel footer{position:sticky;bottom:0;display:flex;gap:8px;padding:12px 16px;background:#071426f2;border-top:1px solid #276278}#s2047-world-panel footer button{flex:1;border:1px solid #4cbddd;border-radius:9px;background:#102b3e;color:#fff;padding:9px}.s2047-world-toast{position:fixed;left:50%;top:82px;z-index:100099;transform:translate(-50%,-12px);opacity:0;background:#071426;color:#fff;border:1px solid #58dfff;border-radius:999px;padding:10px 16px;box-shadow:0 10px 35px #000a;transition:.22s}.s2047-world-toast.show{opacity:1;transform:translate(-50%,0)}.s2047-npc-sleeping{filter:saturate(.55) brightness(.7);opacity:.8}@media(max-width:700px){#s2047-world-button{right:10px;bottom:146px}#s2047-world-panel{right:7px;bottom:194px;width:calc(100vw - 14px)}}@media(prefers-reduced-motion:reduce){.s2047-world-toast{transition:none}}


/* SOURCE: assets/css/npc-relationships-reputation-v5230.css */
#s2047-reputation-button{position:fixed;right:14px;bottom:170px;z-index:100050;border:2px solid #ffe06a;border-radius:999px;background:#081625;color:#fff;padding:10px 14px;font-weight:900;letter-spacing:.08em;box-shadow:0 8px 24px #0008;cursor:pointer}
#s2047-reputation-panel{position:fixed;right:14px;bottom:220px;z-index:100051;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 250px));overflow:auto;border:2px solid #ffe06a;border-radius:16px;background:rgba(4,14,26,.97);color:#fff;box-shadow:0 18px 55px #000c;padding:14px}
#s2047-reputation-panel[hidden]{display:none!important}#s2047-reputation-panel header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #ffffff2b;padding-bottom:10px}#s2047-reputation-panel header strong{display:block;font-size:1.08rem}#s2047-reputation-panel header small{display:block;color:#b9c9d8;margin-top:3px}#s2047-reputation-panel header button{border:0;background:#ffffff14;color:#fff;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.s2047-reputation-summary{padding:14px 0}.s2047-reputation-summary>strong,.s2047-reputation-summary>span{display:block}.s2047-reputation-summary>span{color:#cbd8e5;margin:3px 0 8px}.s2047-reputation-summary>div,.s2047-trust-list .meter{height:8px;background:#ffffff1a;border-radius:999px;overflow:hidden}.s2047-reputation-summary i,.s2047-trust-list .meter i{display:block;height:100%;background:linear-gradient(90deg,#ffd84d,#77f2a8);border-radius:inherit}.s2047-trust-list{display:grid;gap:9px}.s2047-trust-list article{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:10px;border:1px solid #ffffff1f;border-radius:11px;background:#ffffff08}.s2047-trust-list article strong,.s2047-trust-list article small{display:block}.s2047-trust-list article small{color:#9fb3c5}.s2047-trust-list article>span{align-self:center;font-size:.86rem;color:#ffe891}.s2047-trust-list .meter{grid-column:1/-1}.s2047-reputation-panel footer{padding-top:12px;color:#aabaca}.s2047-reputation-toast{position:fixed;left:50%;top:18%;z-index:100100;transform:translate(-50%,-12px);opacity:0;background:#071625;color:#fff;border:2px solid #ffe06a;border-radius:10px;padding:10px 16px;font-weight:800;transition:.22s;pointer-events:none;box-shadow:0 12px 30px #000a}.s2047-reputation-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:680px){#s2047-reputation-button{right:10px;bottom:154px;padding:9px 12px}#s2047-reputation-panel{right:8px;bottom:202px;width:calc(100vw - 16px);max-height:55vh}}
@media(prefers-reduced-motion:reduce){.s2047-reputation-toast{transition:none}}


/* SOURCE: assets/css/dynamic-economy-trading-v5240.css */
#s2047-economy-button{position:fixed;right:16px;bottom:196px;z-index:100020;border:1px solid #63e6ff;border-radius:999px;background:#06131f;color:#dffbff;padding:10px 14px;font:800 12px/1 system-ui;letter-spacing:.08em;box-shadow:0 0 18px #00bfff55;cursor:pointer}
#s2047-economy-panel{position:fixed;right:16px;bottom:244px;z-index:100021;width:min(430px,calc(100vw - 24px));max-height:min(690px,calc(100vh - 110px));overflow:auto;background:rgba(4,13,23,.97);color:#ecfbff;border:1px solid #1cc8ef;border-radius:18px;box-shadow:0 22px 70px #000b;padding:14px;font-family:system-ui}
#s2047-economy-panel[hidden]{display:none}#s2047-economy-panel header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff22;padding-bottom:10px}#s2047-economy-panel header strong{display:block;font-size:18px}#s2047-economy-panel header small{color:#8edcec}#s2047-economy-panel header button{font-size:26px;background:none;border:0;color:#fff;cursor:pointer}.s2047-economy-stats{display:flex;justify-content:space-between;gap:8px;margin:12px 0}.s2047-economy-stats b{background:#0c2638;border-radius:10px;padding:9px 10px;font-size:13px}#s2047-economy-panel label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700}#s2047-economy-panel select{max-width:65%;background:#071a28;color:#fff;border:1px solid #289fbc;border-radius:8px;padding:7px}#s2047-economy-panel [data-event]{text-align:center;color:#91b7c1;margin:10px 0}#s2047-economy-panel [data-event].active{color:#ffd166;font-weight:800}.s2047-market-list{display:grid;gap:8px}.s2047-market-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;background:#081c2a;border:1px solid #ffffff16;border-radius:12px;padding:10px}.s2047-market-list article>div:first-child strong,.s2047-market-list article>div:first-child small{display:block}.s2047-market-list article small{color:#8db6c2;font-size:11px}.s2047-market-list article>span{text-align:right;font-size:12px}.s2047-market-list article>div:last-child{grid-column:1/-1;display:flex;gap:8px}.s2047-market-list button{flex:1;border:1px solid #28a9c8;border-radius:8px;background:#0b4055;color:#fff;padding:7px;cursor:pointer;font-weight:800}.s2047-market-list button:disabled{opacity:.35;cursor:not-allowed}#s2047-economy-panel footer{margin-top:10px;color:#8db6c2}.s2047-economy-toast{position:fixed;left:50%;top:86px;transform:translate(-50%,-18px);opacity:0;z-index:100100;background:#082638;color:#fff;border:1px solid #37c8e8;border-radius:999px;padding:10px 16px;font:700 13px system-ui;transition:.25s}.s2047-economy-toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:600px){#s2047-economy-button{right:10px;bottom:176px}#s2047-economy-panel{right:6px;bottom:224px;width:calc(100vw - 12px);max-height:66vh}}


/* SOURCE: assets/css/procedural-star-systems-v5250.css */
#s2047-explore-button{position:fixed;right:18px;bottom:204px;z-index:1000250;border:1px solid rgba(130,225,255,.72);border-radius:999px;background:rgba(3,11,31,.94);color:#dffaff;font:800 12px/1 system-ui,sans-serif;letter-spacing:.12em;padding:12px 16px;box-shadow:0 0 22px rgba(44,189,255,.28);cursor:pointer}
#s2047-explore-panel{position:fixed;inset:7vh 5vw;z-index:1000251;overflow:hidden;border:1px solid rgba(126,223,255,.55);border-radius:20px;background:linear-gradient(155deg,rgba(4,10,29,.98),rgba(12,24,54,.98));color:#effbff;box-shadow:0 26px 80px rgba(0,0,0,.65);font-family:system-ui,sans-serif}
#s2047-explore-panel[hidden]{display:none}#s2047-explore-panel>header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(142,222,255,.2)}#s2047-explore-panel header strong{display:block;font-size:20px}#s2047-explore-panel header small{display:block;color:#99b9cc;margin-top:3px}#s2047-explore-panel header button{border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.s2047-explore-status,.s2047-sector-controls{display:flex;gap:10px;align-items:center;padding:10px 18px;border-bottom:1px solid rgba(142,222,255,.14)}.s2047-explore-status b{flex:1;text-align:center;color:#a9efff}.s2047-sector-controls button,.s2047-space-object button{border:1px solid rgba(125,216,255,.45);border-radius:9px;background:#102f55;color:#eaffff;padding:9px 12px;font-weight:800;cursor:pointer}.s2047-sector-controls button{flex:1}.s2047-galaxy-grid{display:grid;grid-template-columns:minmax(250px,34%) 1fr;height:calc(100% - 190px)}.s2047-system-list{overflow:auto;padding:12px}.s2047-system-card{display:block;width:100%;text-align:left;margin:0 0 8px;padding:12px;border:1px solid rgba(123,199,230,.22);border-radius:12px;background:rgba(13,31,59,.8);color:#eafaff;cursor:pointer}.s2047-system-card:hover,.s2047-system-card.active{border-color:#73dcff;background:rgba(20,65,100,.88)}.s2047-system-card b,.s2047-system-card span,.s2047-system-card small{display:block}.s2047-system-card span{margin-top:4px;color:#9adcf1}.s2047-system-card small{margin-top:4px;color:#8fa8ba}.s2047-system-detail{overflow:auto;padding:16px;border-left:1px solid rgba(142,222,255,.14)}.s2047-system-detail h3{margin:0 0 13px}.s2047-space-object{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;margin-bottom:9px;border:1px solid rgba(132,211,242,.2);border-radius:12px;background:rgba(6,18,39,.72)}.s2047-space-object.scanned{border-color:rgba(117,255,194,.38)}.s2047-space-object strong,.s2047-space-object small{display:block}.s2047-space-object small{margin-top:4px;color:#a5bdca}.s2047-space-object button:disabled{opacity:.48;cursor:default}#s2047-explore-panel footer{position:absolute;left:0;right:0;bottom:0;padding:8px 18px;border-top:1px solid rgba(142,222,255,.14);background:rgba(4,10,29,.96);color:#8fa8ba;font-size:12px}.s2047-empty{color:#a5bdca}.s2047-explore-toast{position:fixed;left:50%;top:12%;z-index:1000260;transform:translate(-50%,-12px);opacity:0;padding:11px 17px;border:1px solid rgba(118,227,255,.55);border-radius:999px;background:#07152d;color:#eaffff;font:700 13px system-ui,sans-serif;transition:.2s}.s2047-explore-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:720px){#s2047-explore-button{right:10px;bottom:252px}#s2047-explore-panel{inset:2vh 2vw}.s2047-galaxy-grid{grid-template-columns:1fr;height:calc(100% - 232px)}.s2047-system-list{max-height:34vh}.s2047-system-detail{border-left:0;border-top:1px solid rgba(142,222,255,.14)}.s2047-explore-status{font-size:12px}.s2047-sector-controls{padding:8px}.s2047-sector-controls button{font-size:11px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.s2047-explore-toast{transition:none}}


/* SOURCE: assets/css/ship-customisation-fleet-expeditions-v5260.css */
#s2047-fleet-button{position:fixed;right:18px;bottom:178px;z-index:100050;border:1px solid #75d9ff;border-radius:999px;background:#06111d;color:#e8f8ff;padding:10px 15px;font:800 12px/1 system-ui;letter-spacing:.12em;box-shadow:0 8px 28px #0009;cursor:pointer}
#s2047-fleet-panel{position:fixed;inset:5vh 4vw;z-index:100060;overflow:auto;border:1px solid #3887aa;border-radius:18px;background:linear-gradient(160deg,#07121f,#0b2030 65%,#07111a);color:#eefaff;box-shadow:0 24px 80px #000d;padding:18px;font-family:system-ui,sans-serif}
#s2047-fleet-panel[hidden]{display:none}#s2047-fleet-panel header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff24;padding-bottom:12px}#s2047-fleet-panel header strong{display:block;font-size:25px}#s2047-fleet-panel header small{color:#9bc4d4}#s2047-fleet-panel header button{border:0;background:transparent;color:#fff;font-size:32px;cursor:pointer}.s2047-fleet-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0}.s2047-fleet-status b{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:9px;padding:8px 11px}.s2047-fleet-status button,#s2047-fleet-panel article button{border:1px solid #54badf;border-radius:8px;background:#0e3348;color:#fff;padding:8px 10px;font-weight:800;cursor:pointer}.s2047-fleet-status button:hover,#s2047-fleet-panel article button:hover{background:#15516f}#s2047-fleet-panel button:disabled{opacity:.45;cursor:not-allowed}.s2047-fleet-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.s2047-ship-module,.s2047-expedition,.s2047-active-expeditions article{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:11px;padding:11px;margin:8px 0}.s2047-ship-module small,.s2047-expedition small{display:block;color:#a7cad8;margin:3px 0}.s2047-ship-module span{font-size:12px;color:#7fe0ff}.s2047-active-expeditions article span{font-variant-numeric:tabular-nums;color:#8fe7ff}.s2047-fleet-log{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;list-style:none}.s2047-fleet-log li{background:#ffffff08;border-left:3px solid #4fc6ef;padding:8px 10px}.s2047-fleet-toast{position:fixed;left:50%;bottom:90px;z-index:100100;transform:translate(-50%,16px);opacity:0;background:#06131e;color:#fff;border:1px solid #55c9ef;border-radius:10px;padding:11px 16px;transition:.2s}.s2047-fleet-toast.show{opacity:1;transform:translate(-50%,0)}#s2047-fleet-panel footer{margin-top:14px;color:#91b5c3;font-size:12px}@media(max-width:760px){#s2047-fleet-panel{inset:2vh 2vw;padding:12px}.s2047-fleet-columns{grid-template-columns:1fr}.s2047-fleet-log{grid-template-columns:1fr}#s2047-fleet-button{right:12px;bottom:226px}}
@media(prefers-reduced-motion:reduce){.s2047-fleet-toast{transition:none}}


/* SOURCE: assets/css/planetary-colonies-v5270.css */
#s2047-colony-button{position:fixed;right:18px;bottom:190px;z-index:99972;border:1px solid #86f3ff;border-radius:999px;background:#07151d;color:#d8fbff;padding:10px 14px;font:800 12px/1 system-ui;letter-spacing:.08em;box-shadow:0 8px 30px #0009;cursor:pointer}
#s2047-colony-panel{position:fixed;inset:5vh max(14px,5vw);z-index:99990;overflow:auto;background:linear-gradient(180deg,#07151df8,#02080df8);color:#eaffff;border:1px solid #52d9e8;border-radius:18px;padding:18px;box-shadow:0 22px 80px #000d;font-family:system-ui,sans-serif}#s2047-colony-panel[hidden]{display:none}#s2047-colony-panel>header{display:flex;justify-content:space-between;align-items:center;gap:14px;position:sticky;top:-18px;background:#07151df5;padding:14px 0;z-index:2}#s2047-colony-panel>header strong{display:block;font-size:22px;letter-spacing:.08em}#s2047-colony-panel>header small{color:#8fdbe4}#s2047-colony-panel button{border:1px solid #4fc7d5;background:#0b2630;color:#eaffff;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}#s2047-colony-panel button:disabled{opacity:.45;cursor:not-allowed}#s2047-colony-panel [data-close]{font-size:24px;line-height:1;padding:5px 10px}.s2047-colony-resources{display:flex;flex-wrap:wrap;gap:8px;margin:5px 0 18px}.s2047-colony-resources b{background:#0d2933;border:1px solid #245c68;border-radius:999px;padding:7px 10px;font-size:12px}.s2047-colony-build,.s2047-colony-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.s2047-colony-build article,.s2047-colony-card{border:1px solid #245c68;background:#091d25;border-radius:12px;padding:12px}.s2047-colony-build article{display:flex;justify-content:space-between;gap:10px;align-items:center}.s2047-colony-build strong,.s2047-colony-build small,.s2047-colony-build span{display:block}.s2047-colony-build small,.s2047-colony-card small{color:#9acbd1}.s2047-colony-build span{color:#ffe48b;font-size:12px;margin-top:5px}.s2047-colony-card header,.s2047-colony-card footer{display:flex;justify-content:space-between;gap:8px;align-items:center}.s2047-colony-card p{margin:12px 0 5px}.s2047-colony-meter{height:9px;border-radius:99px;background:#061116;overflow:hidden;margin:8px 0}.s2047-colony-meter i{display:block;height:100%;background:linear-gradient(90deg,#55dfd4,#f5e36d)}.s2047-colony-card footer{margin-top:12px}.s2047-colony-log{padding-left:20px;color:#c7e8eb}.s2047-colony-empty{color:#9acbd1}.s2047-colony-toast{position:fixed;left:50%;bottom:26px;z-index:100010;transform:translate(-50%,20px);opacity:0;background:#0b2630;color:#efffff;border:1px solid #55dfd4;border-radius:10px;padding:11px 16px;transition:.2s}.s2047-colony-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){#s2047-colony-button{right:10px;bottom:235px}#s2047-colony-panel{inset:2vh 8px;padding:13px}.s2047-colony-build,.s2047-colony-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.s2047-colony-toast{transition:none}}


/* SOURCE: assets/css/colony-defence-sector-threats-v5280.css */
#s2047-defence-button{position:fixed;right:14px;bottom:244px;z-index:99994;border:1px solid #ff6666;background:#2b0710;color:#fff;padding:10px 14px;border-radius:8px;font:800 12px/1 system-ui;box-shadow:0 6px 22px #0008}#s2047-defence-panel{position:fixed;right:14px;bottom:294px;z-index:99995;width:min(430px,calc(100vw - 28px));max-height:72vh;overflow:auto;background:#120a13;color:#f8edf2;border:1px solid #be445f;border-radius:14px;box-shadow:0 18px 50px #000c;font:14px/1.35 system-ui}#s2047-defence-panel[hidden]{display:none}#s2047-defence-panel>header{position:sticky;top:0;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px;background:#2b0710;border-bottom:1px solid #713043}#s2047-defence-panel header div{display:grid}#s2047-defence-panel header small{opacity:.75}#s2047-defence-panel button{cursor:pointer;border:1px solid #bd4a63;background:#3a0d19;color:#fff;border-radius:7px;padding:8px;font-weight:800}#s2047-defence-panel button:disabled{opacity:.45;cursor:default}#s2047-defence-panel h3{margin:14px 14px 8px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.s2047-defence-status,.s2047-defence-upgrades{padding:0 14px}.s2047-defence-status article{margin-top:14px;padding:13px;border:1px solid #663044;background:#21101a;border-radius:10px;display:grid;gap:7px}.s2047-defence-status article.alert{border-color:#ff536f;box-shadow:inset 0 0 24px #ff26451a}.s2047-defence-status span,.s2047-defence-status p,.s2047-defence-upgrades small{opacity:.78}.s2047-defence-status p{margin:0}.s2047-defence-upgrades article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff16}.s2047-defence-upgrades article div{display:grid}.s2047-defence-actions{padding:12px 14px 0}.s2047-defence-log{margin:0 14px;padding-left:20px}.s2047-defence-log li{margin:6px 0;opacity:.82}#s2047-defence-panel>footer{padding:14px;opacity:.65;font-size:12px}.s2047-defence-toast{position:fixed;left:50%;top:18%;z-index:100000;transform:translate(-50%,-15px);opacity:0;background:#2b0710;color:#fff;border:1px solid #ff536f;padding:12px 18px;border-radius:9px;transition:.22s}.s2047-defence-toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:600px){#s2047-defence-button{bottom:210px}#s2047-defence-panel{bottom:258px}}
@media(prefers-reduced-motion:reduce){.s2047-defence-toast{transition:none}}


/* SOURCE: assets/css/main-options-drawer-v5300.css */
/* Space 2047 HD Edition v5.30.0 — top-aligned Options hamburger and dedicated left slide drawer. */
#s2047-main-options-shell-v5300{position:fixed;inset:0;z-index:2147483647;pointer-events:none;font-family:inherit}
#s2047-main-options-shell-v5300 *{box-sizing:border-box}
.s2047-main-options-toggle-v5300{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:fixed!important;top:max(10px,env(safe-area-inset-top))!important;right:max(82px,calc(env(safe-area-inset-right) + 72px))!important;z-index:2147483647!important;width:62px!important;height:58px!important;min-height:58px!important;margin:0!important;padding:7px 8px!important;border:2px solid #ffd45c!important;border-radius:13px!important;background:#201806!important;color:#fff!important;box-shadow:0 8px 26px rgba(0,0,0,.72)!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;touch-action:manipulation!important}
.s2047-main-options-bars-v5300{display:grid!important;gap:4px!important;width:30px!important}.s2047-main-options-bars-v5300 i{display:block!important;width:30px!important;height:3px!important;border-radius:3px!important;background:#ffd45c!important}.s2047-main-options-toggle-v5300 b{font-size:9px!important;line-height:1.05!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#fff!important}
.s2047-main-options-shade-v5300{display:none!important;pointer-events:auto!important;position:fixed!important;inset:0!important;z-index:1!important;border:0!important;background:rgba(0,5,12,.65)!important}
.s2047-main-options-sheet-v5300{display:flex!important;visibility:visible!important;pointer-events:auto!important;position:fixed!important;top:0!important;left:0!important;bottom:0!important;z-index:2!important;width:min(420px,94vw)!important;height:100dvh!important;flex-direction:column!important;overflow:hidden!important;background:#171205!important;color:#fff8df!important;border-right:1px solid #d6aa36!important;box-shadow:14px 0 42px rgba(0,0,0,.82)!important;transform:translateX(-105%)!important;transition:transform .22s ease!important}
#s2047-main-options-shell-v5300[data-open="1"] .s2047-main-options-shade-v5300{display:block!important}#s2047-main-options-shell-v5300[data-open="1"] .s2047-main-options-sheet-v5300{transform:translateX(0)!important}
.s2047-main-options-sheet-v5300>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid #7f6524;background:#241b07}.s2047-main-options-sheet-v5300 header small{display:block;color:#ffd45c;font-size:10px;letter-spacing:.16em}.s2047-main-options-sheet-v5300 header h2{margin:2px 0 0;color:#fff;font-size:21px}.s2047-main-options-close-v5300{width:46px;height:46px;padding:0;border:0;background:transparent;color:#fff;font-size:34px}
.s2047-main-options-scroll-v5300{flex:1;min-height:0;overflow-y:scroll!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:10px 18px 18px}.s2047-main-options-scroll-v5300::-webkit-scrollbar{width:14px}.s2047-main-options-scroll-v5300::-webkit-scrollbar-track{background:#0e0a02}.s2047-main-options-scroll-v5300::-webkit-scrollbar-thumb{background:#b58c28;border:3px solid #0e0a02;border-radius:10px}
.s2047-main-options-content-v5300 section{padding:15px 0;border-bottom:1px solid #5c481a}.s2047-main-options-content-v5300 h3{margin:0 0 9px;color:#ffd45c;font-size:16px}.s2047-main-options-grid-v5300{display:grid;gap:8px}.s2047-main-options-grid-v5300 button{width:100%;min-height:48px;padding:11px 13px;border:1px solid #8d7028;border-radius:9px;background:#302407;color:#fff;text-align:left;font-weight:800;touch-action:manipulation}
.s2047-main-options-arrows-v5300{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding-bottom:max(0px,env(safe-area-inset-bottom));border-top:1px solid #7f6524;background:#7f6524}.s2047-main-options-arrows-v5300 button{min-height:54px;border:0;background:#241b07;color:#fff;font-size:24px;font-weight:900}
@media(max-width:720px){.s2047-main-options-sheet-v5300{width:100vw!important;max-width:none!important}.s2047-main-options-toggle-v5300{width:62px!important;right:max(82px,calc(env(safe-area-inset-right) + 72px))!important}}
@media(prefers-reduced-motion:reduce){.s2047-main-options-sheet-v5300{transition:none!important}}

/* v5.29.1 reliability and accessibility hardening */
html.s2047-main-options-open-v5300{overflow:hidden!important}
.s2047-main-options-grid-v5300 button:focus-visible,.s2047-main-options-close-v5300:focus-visible,.s2047-main-options-toggle-v5300:focus-visible,.s2047-main-options-arrows-v5300 button:focus-visible{outline:3px solid #fff!important;outline-offset:2px!important}
.s2047-main-options-content-v5300 [role="status"]{padding:14px;border:1px dashed #8d7028;border-radius:9px;color:#fff8df}

/* v5.30.1 interaction safety */
#s2047-main-options-shell-v5300[data-open="1"]{pointer-events:auto!important}
.s2047-main-options-toggle-v5300{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important}


/* v5.31.0: source launchers are available only inside the Options drawer. */
.s2047-option-source-hidden-v5310{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* v5.31.1: checkpoint status is internal; never show a duplicate Saves/Save unavailable control. */
#s2047-checkpoint-status{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* v5.32.0 — split top navigation: primary Menu far left, Options far right. */
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217{
  left:max(10px,env(safe-area-inset-left))!important;
  right:auto!important;
}
.s2047-main-options-toggle-v5300{
  left:auto!important;
  right:max(10px,env(safe-area-inset-right))!important;
}
@media(max-width:720px){
  #s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217{
    left:max(10px,env(safe-area-inset-left))!important;
    right:auto!important;
  }
  .s2047-main-options-toggle-v5300{
    left:auto!important;
    right:max(10px,env(safe-area-inset-right))!important;
  }
}


/* SOURCE: assets/css/integrated-mission-operations-v5330.css */
.s2047-integrated-mission-toast{position:fixed;left:50%;top:88px;z-index:2147483646;max-width:min(88vw,620px);padding:13px 18px;border:1px solid rgba(255,220,80,.85);border-radius:12px;background:rgba(5,10,24,.96);box-shadow:0 10px 34px rgba(0,0,0,.5);color:#fff6b0;font:800 13px/1.35 system-ui,sans-serif;letter-spacing:.04em;text-align:center;transform:translate(-50%,-18px);opacity:0;transition:opacity .22s ease,transform .22s ease;pointer-events:none}.s2047-integrated-mission-toast.show{opacity:1;transform:translate(-50%,0)}
#s2047-mwo-hud .s2047-mwo-list article button[data-mwo-target^="mission-"] small{color:#dce8ff}
@media(max-width:700px){.s2047-integrated-mission-toast{top:74px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.s2047-integrated-mission-toast{transition:none}}


/* SOURCE: assets/css/campaign-journal-v5340.css */
#s2047-campaign-journal-v5340{position:fixed;inset:0;z-index:2147483647;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7fbff}#s2047-campaign-journal-v5340[hidden]{display:none!important}.s2047-cj-shade-v5340{position:absolute;inset:0;border:0;background:rgba(0,4,12,.78)}#s2047-campaign-journal-v5340 aside{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:min(620px,calc(100vw - 24px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #7cc8ff;border-radius:18px;background:linear-gradient(180deg,#0b1b31,#07111f);box-shadow:0 22px 70px rgba(0,0,0,.78)}#s2047-campaign-journal-v5340 header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid rgba(124,200,255,.35);background:rgba(15,43,74,.86)}#s2047-campaign-journal-v5340 header small,.s2047-cj-current-v5340 small,.s2047-cj-summary-v5340 small{display:block;color:#8bd5ff;font-size:10px;font-weight:900;letter-spacing:.15em}#s2047-campaign-journal-v5340 h1{margin:3px 0 0;font-size:24px}.s2047-cj-close-v5340{width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#07111f;color:#fff;font-size:31px}.s2047-cj-body-v5340{flex:1;overflow:auto;padding:18px 20px 24px}.s2047-cj-summary-v5340{display:grid;grid-template-columns:1fr 1fr;gap:10px}.s2047-cj-summary-v5340>div{padding:14px;border:1px solid rgba(124,200,255,.25);border-radius:12px;background:rgba(255,255,255,.055)}.s2047-cj-summary-v5340 strong{display:block;margin-top:4px;font-size:23px}.s2047-cj-progress-v5340{height:12px;margin:12px 0 18px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#020916}.s2047-cj-progress-v5340 i{display:block;height:100%;background:linear-gradient(90deg,#55b8ff,#ffe36d);transition:width .25s ease}.s2047-cj-current-v5340{display:grid;gap:4px;padding:14px 16px;border:1px solid #ffd75a;border-radius:12px;background:rgba(96,70,4,.3)}.s2047-cj-current-v5340 b{font-size:17px;color:#fff3ad}.s2047-cj-current-v5340 span{line-height:1.4}.s2047-cj-current-v5340.is-complete{border-color:#66e19b;background:rgba(12,83,48,.3)}.s2047-cj-body-v5340 h2{margin:24px 0 10px;font-size:17px;color:#d8eeff}.s2047-cj-list-v5340{display:grid;gap:9px}.s2047-cj-mission-v5340{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.04);opacity:.72}.s2047-cj-mission-v5340.is-active{border-color:#ffd75a;background:rgba(96,70,4,.24);opacity:1}.s2047-cj-mission-v5340.is-complete{border-color:rgba(102,225,155,.55);opacity:1}.s2047-cj-step-v5340{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#142b48;color:#fff;font-weight:900}.is-complete .s2047-cj-step-v5340{background:#16653d}.s2047-cj-mission-v5340 h3{margin:0 0 3px;font-size:15px}.s2047-cj-mission-v5340 p{margin:0 0 5px;font-size:13px;line-height:1.4}.s2047-cj-mission-v5340 small{color:#9fc6e5}.s2047-cj-history-v5340{list-style:none;margin:0;padding:0;display:grid;gap:7px}.s2047-cj-history-v5340 li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.11)}.s2047-cj-history-v5340 span{display:grid;gap:2px}.s2047-cj-history-v5340 small{color:#9fc6e5}.s2047-cj-history-v5340 strong{color:#ffe477;white-space:nowrap}.s2047-cj-empty-v5340{color:#a8bfd2}.s2047-cj-actions-v5340{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.s2047-cj-actions-v5340 button{min-height:48px;border:1px solid #5085af;border-radius:10px;background:#102c49;color:#fff;font-weight:800}.s2047-cj-actions-v5340 button:first-child{border-color:#a56d59;background:#3b1b16}html.s2047-campaign-journal-open-v5340{overflow:hidden!important}#s2047-campaign-journal-v5340 button:focus-visible{outline:3px solid #fff;outline-offset:2px}@media(max-width:620px){#s2047-campaign-journal-v5340 aside{top:0;right:0;bottom:0;width:100vw;border-radius:0;border-left:0;border-right:0}.s2047-cj-body-v5340{padding:14px}.s2047-cj-actions-v5340{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2047-cj-progress-v5340 i{transition:none}}


/* SOURCE: assets/css/top-hud-layout-v5350.css */
/* Space 2047 HD Edition v5.35.0 — top HUD alignment repair.
   Local Map sits immediately left of Options; mission objectives sit top-centre. */

/* Right-hand top controls form one clear row: [Local Map] [Options]. */
.s2047-minimap-wrap,
#s2047-minimap-wrap {
  top: max(10px, env(safe-area-inset-top)) !important;
  right: max(82px, calc(env(safe-area-inset-right) + 82px)) !important;
  margin: 0 !important;
}

/* The active mission/objective strip belongs at the top centre, not above
   the lower action controls. */
#s2047-mwo-hud {
  top: max(10px, env(safe-area-inset-top)) !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(540px, calc(100vw - 470px)) !important;
  max-width: 540px !important;
}

/* Keep expanded missions usable without covering the lower controls. */
#s2047-mwo-hud .s2047-mwo-list {
  max-height: min(52vh, 430px) !important;
}

@media (max-width: 1050px) {
  .s2047-minimap-wrap,
  #s2047-minimap-wrap {
    width: 122px !important;
    padding: 6px !important;
  }
  .s2047-minimap-wrap canvas,
  #s2047-minimap-wrap canvas {
    width: 108px !important;
    height: 108px !important;
  }
  #s2047-mwo-hud {
    width: min(440px, calc(100vw - 385px)) !important;
  }
}

/* Tablet and phone: preserve the same order while giving the mission strip
   its own centred row beneath the two top-right controls. */
@media (max-width: 760px) {
  .s2047-minimap-wrap,
  #s2047-minimap-wrap {
    top: max(8px, env(safe-area-inset-top)) !important;
    right: max(78px, calc(env(safe-area-inset-right) + 78px)) !important;
    width: 86px !important;
    padding: 5px !important;
    border-radius: 12px !important;
  }
  .s2047-minimap-wrap canvas,
  #s2047-minimap-wrap canvas {
    width: 74px !important;
    height: 74px !important;
  }
  .s2047-minimap-wrap span,
  #s2047-minimap-wrap span {
    font-size: 8px !important;
    padding-top: 3px !important;
  }
  #s2047-mwo-hud {
    top: max(104px, calc(env(safe-area-inset-top) + 104px)) !important;
    width: min(620px, calc(100vw - 20px)) !important;
    max-width: none !important;
  }
}

@media (max-width: 430px) {
  #s2047-mwo-hud {
    top: max(100px, calc(env(safe-area-inset-top) + 100px)) !important;
  }
}


/* SOURCE: assets/css/lower-map-waypoint-spacing-v5360.css */
/* Space 2047 HD Edition v5.36.0 — lower action-map layout and waypoint message spacing. */

/* Keep the mission objective strip at the top centre. */
#s2047-mwo-hud {
  top: max(10px, env(safe-area-inset-top)) !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* Place Local Map immediately to the left of the labelled action controls. */
.s2047-minimap-wrap,
#s2047-minimap-wrap {
  top: auto !important;
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  right: calc(max(18px, env(safe-area-inset-right)) + 262px) !important;
  margin: 0 !important;
  z-index: 2147482150 !important;
}

/* Each waypoint notification receives a stack index from the companion script,
   so simultaneous messages rise into separate rows instead of covering one another. */
.s2047-mwo-toast {
  bottom: calc(max(92px, env(safe-area-inset-bottom) + 92px) + (var(--s2047-waypoint-stack, 0) * 54px)) !important;
  transition: opacity .35s, transform .35s, bottom .18s ease !important;
}

@media (max-width: 899px), (pointer: coarse) {
  .s2047-minimap-wrap,
  #s2047-minimap-wrap {
    width: 92px !important;
    padding: 5px !important;
    right: calc(max(10px, env(safe-area-inset-right)) + min(244px, 49vw) + 10px) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }
  .s2047-minimap-wrap canvas,
  #s2047-minimap-wrap canvas {
    width: 80px !important;
    height: 80px !important;
  }
  .s2047-minimap-wrap span,
  #s2047-minimap-wrap span {
    font-size: 8px !important;
    padding-top: 3px !important;
  }
}

@media (max-width: 560px) {
  .s2047-minimap-wrap,
  #s2047-minimap-wrap {
    width: 76px !important;
    right: calc(max(8px, env(safe-area-inset-right)) + min(228px, 49vw) + 7px) !important;
  }
  .s2047-minimap-wrap canvas,
  #s2047-minimap-wrap canvas {
    width: 64px !important;
    height: 64px !important;
  }
  .s2047-mwo-toast {
    max-width: calc(100vw - 20px) !important;
    border-radius: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .s2047-mwo-toast { transition: none !important; }
}


/* SOURCE: assets/css/npc-daily-routines-v5370.css */
.s2047-citizen-routines{border-top:1px solid rgba(255,255,255,.14);padding:12px 14px 14px}.s2047-citizen-routines>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.s2047-citizen-routines>header strong{font-size:13px;letter-spacing:.04em}.s2047-citizen-routines>header small{opacity:.7;font-size:10px}.s2047-citizen-routine-list{display:grid;gap:6px;max-height:218px;overflow:auto;padding-right:3px}.s2047-citizen-routine-list article{display:grid;grid-template-columns:minmax(112px,1fr) minmax(110px,1fr) minmax(100px,1fr);align-items:center;gap:8px;padding:7px 8px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(0,0,0,.2)}.s2047-citizen-routine-list article div{display:flex;flex-direction:column;min-width:0}.s2047-citizen-routine-list strong,.s2047-citizen-routine-list small,.s2047-citizen-routine-list span,.s2047-citizen-routine-list em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2047-citizen-routine-list strong{font-size:11px}.s2047-citizen-routine-list small{font-size:9px;opacity:.68}.s2047-citizen-routine-list span{font-size:10px;text-transform:capitalize}.s2047-citizen-routine-list em{font-size:9px;font-style:normal;opacity:.72;text-align:right}@media(max-width:640px){.s2047-citizen-routine-list article{grid-template-columns:minmax(90px,1fr) minmax(94px,1fr)}.s2047-citizen-routine-list em{grid-column:1/-1;text-align:left}.s2047-citizen-routine-list{max-height:190px}}


/* SOURCE: assets/css/notification-stack-v5390.css */
/* Space 2047 HD Edition v5.39.0 — unified objective and waypoint notification stack. */
.s2047-mwo-toast,
.s2047-iuo-toast {
  --s2047-notice-index: 0;
  --s2047-notice-gap: 12px;
  --s2047-notice-height: 48px;
  bottom: calc(
    max(92px, env(safe-area-inset-bottom) + 92px) +
    (var(--s2047-notice-index) * (var(--s2047-notice-height) + var(--s2047-notice-gap)))
  ) !important;
  width: max-content;
  max-width: min(720px, calc(100vw - 28px)) !important;
  white-space: normal;
  line-height: 1.3;
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease, bottom .2s ease !important;
}

@media (max-width: 700px) {
  .s2047-mwo-toast,
  .s2047-iuo-toast {
    --s2047-notice-height: 58px;
    max-width: calc(100vw - 18px) !important;
    padding: 9px 13px !important;
    border-radius: 14px !important;
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .s2047-mwo-toast,
  .s2047-iuo-toast { transition: none !important; }
}


/* SOURCE: assets/css/mobile-hud-fit-v5400.css */
/* Space 2047 HD Edition v5.40.0 — mobile HUD fit and safe spacing. */

@media (max-width: 760px), (pointer: coarse) {
  /* Give Menu and Options their own top row. The mission strip sits below
     them rather than passing underneath either large button. */
  #s2047-mwo-hud {
    top: max(112px, calc(env(safe-area-inset-top) + 112px)) !important;
    left: 50% !important;
    right: auto !important;
    width: calc(100vw - 20px) !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    z-index: 2147482900 !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus {
    min-width: 0 !important;
    padding: 8px 10px !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Keep the three lower controls in one non-overlapping row:
     movement pad | map | labelled actions. */
  #s2047-mobile-dpad-v51234 {
    left: max(6px, env(safe-area-inset-left)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }

  #s2047-mobile-dpad-v51234 .s2047-dpad {
    width: 142px !important;
    height: 142px !important;
    gap: 4px !important;
    padding: 4px !important;
    border-radius: 22px !important;
  }

  #s2047-mobile-dpad-v51234 .s2047-dpad-button {
    font-size: 23px !important;
    border-radius: 11px !important;
  }

  #s2047-mobile-labelled-actions {
    right: max(6px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    width: min(190px, 46vw) !important;
    gap: 6px !important;
  }

  #s2047-mobile-labelled-actions .s2047-labelled-action {
    min-height: 43px !important;
    padding: 6px 7px !important;
    gap: 6px !important;
    border-radius: 15px !important;
    font-size: 11.5px !important;
  }

  #s2047-mobile-labelled-actions .s2047-labelled-action b {
    flex-basis: 25px !important;
    width: 25px !important;
    height: 25px !important;
    font-size: 16px !important;
  }

  #s2047-minimap-wrap,
  .s2047-minimap-wrap {
    top: auto !important;
    right: calc(max(6px, env(safe-area-inset-right)) + min(190px, 46vw) + 6px) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    width: 52px !important;
    padding: 4px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  #s2047-minimap-wrap canvas,
  .s2047-minimap-wrap canvas {
    width: 42px !important;
    height: 88px !important;
    border-radius: 8px !important;
  }

  #s2047-minimap-wrap span,
  .s2047-minimap-wrap span {
    padding-top: 3px !important;
    font-size: 7px !important;
    line-height: 1.05 !important;
    letter-spacing: .03em !important;
    white-space: normal !important;
  }

  /* Lift transient notices above the entire lower control row. */
  .s2047-mwo-toast,
  .s2047-iuo-toast {
    bottom: calc(max(166px, env(safe-area-inset-bottom) + 166px) + (var(--s2047-notice-index, 0) * 66px)) !important;
    max-width: calc(100vw - 18px) !important;
  }
}

@media (max-width: 390px) {
  #s2047-mobile-dpad-v51234 .s2047-dpad {
    width: 132px !important;
    height: 132px !important;
  }

  #s2047-mobile-labelled-actions {
    width: min(178px, 45.5vw) !important;
  }

  #s2047-minimap-wrap,
  .s2047-minimap-wrap {
    right: calc(max(5px, env(safe-area-inset-right)) + min(178px, 45.5vw) + 5px) !important;
    width: 46px !important;
  }

  #s2047-minimap-wrap canvas,
  .s2047-minimap-wrap canvas {
    width: 36px !important;
    height: 78px !important;
  }
}

@media (max-height: 690px) and (max-width: 760px) {
  #s2047-mwo-hud {
    top: max(100px, calc(env(safe-area-inset-top) + 100px)) !important;
  }
}


/* SOURCE: assets/css/mobile-mission-map-clearance-v5410.css */
/* Space 2047 HD Edition v5.41.0 — compact mobile mission strip and unobstructed map. */

@media (max-width: 760px), (pointer: coarse) {
  /* Fit the mission control on the same top row between Menu and Options. */
  #s2047-mwo-hud {
    top: max(10px, env(safe-area-inset-top)) !important;
    left: max(112px, calc(env(safe-area-inset-left) + 112px)) !important;
    right: max(112px, calc(env(safe-area-inset-right) + 112px)) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 76px !important;
    transform: none !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    border-radius: 12px !important;
    overflow: visible !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus {
    min-width: 0 !important;
    height: 74px !important;
    padding: 7px 8px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 1fr !important;
    align-content: center !important;
    gap: 2px !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus span {
    grid-row: auto !important;
    font-size: 8px !important;
    line-height: 1 !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus strong {
    display: block !important;
    min-width: 0 !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus small {
    display: none !important;
  }

  #s2047-mwo-hud .s2047-mwo-expand {
    min-width: 34px !important;
    padding: 0 !important;
    font-size: 18px !important;
  }

  #s2047-mwo-hud .s2047-mwo-list {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: 0 !important;
    max-height: 40vh !important;
    border: 1px solid rgba(90,207,241,.5) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 36px rgba(0,0,0,.65) !important;
  }

  /* Keep the map completely above the lower action controls. */
  #s2047-minimap-wrap,
  .s2047-minimap-wrap {
    top: auto !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 270px) !important;
    width: 92px !important;
    padding: 5px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    z-index: 2147482500 !important;
  }

  #s2047-minimap-wrap canvas,
  .s2047-minimap-wrap canvas {
    width: 80px !important;
    height: 80px !important;
    border-radius: 9px !important;
  }

  #s2047-minimap-wrap span,
  .s2047-minimap-wrap span {
    display: block !important;
    padding-top: 4px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  #s2047-mwo-hud {
    left: max(98px, calc(env(safe-area-inset-left) + 98px)) !important;
    right: max(98px, calc(env(safe-area-inset-right) + 98px)) !important;
  }

  #s2047-mwo-hud .s2047-mwo-focus strong {
    font-size: 11px !important;
  }

  #s2047-minimap-wrap,
  .s2047-minimap-wrap {
    bottom: calc(max(7px, env(safe-area-inset-bottom)) + 252px) !important;
    width: 82px !important;
  }

  #s2047-minimap-wrap canvas,
  .s2047-minimap-wrap canvas {
    width: 70px !important;
    height: 70px !important;
  }
}

@media (max-height: 690px) and (max-width: 760px) {
  #s2047-minimap-wrap,
  .s2047-minimap-wrap {
    bottom: calc(max(6px, env(safe-area-inset-bottom)) + 232px) !important;
  }
}


/* SOURCE: assets/css/mobile-fire-drawer-sides-v5430.css */
/* Space 2047 HD Edition v5.43.0 — blank mobile fire control and fixed drawer sides. */

/* The centre control remains fully usable, but carries no visible FIRE text on mobile. */
@media (max-width:899px), (pointer:coarse) {
  #s2047-mobile-dpad-v51234 .s2047-dpad-center {
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
    text-shadow:none!important;
  }
}

/* Gameplay Options always slides in from the left. */
#s2047-main-options-shell-v5300 .s2047-main-options-sheet-v5300 {
  left:0!important;
  right:auto!important;
  border-left:0!important;
  border-right:1px solid #d6aa36!important;
  box-shadow:14px 0 42px rgba(0,0,0,.82)!important;
  transform:translate3d(-105%,0,0)!important;
}
#s2047-main-options-shell-v5300[data-open="1"] .s2047-main-options-sheet-v5300 {
  transform:translate3d(0,0,0)!important;
}

/* Information / Information & Options always slides in from the right. */
#s2047-info-drawer-v51213 .s2047-info-drawer-panel,
#s2047-plain-drawer .s2047-plain-drawer-panel,
#s2047-native-info-drawer .s2047-native-info-panel,
#s2047-mobile-drawer .s2047-mobile-drawer-panel,
#s2047-single-drawer .s2047-single-drawer-panel,
.s2047-drawer-content {
  left:auto!important;
  right:0!important;
  border-right:0!important;
  border-left:1px solid #4ba9ca!important;
  box-shadow:-14px 0 42px rgba(0,0,0,.86)!important;
  transform:translate3d(105%,0,0)!important;
}
#s2047-info-drawer-v51213[data-open="1"] .s2047-info-drawer-panel,
#s2047-plain-drawer.is-open .s2047-plain-drawer-panel,
#s2047-native-info-drawer.is-open .s2047-native-info-panel,
#s2047-mobile-drawer.is-open .s2047-mobile-drawer-panel,
#s2047-single-drawer.is-open .s2047-single-drawer-panel,
.s2047-drawer-content.is-open {
  transform:translate3d(0,0,0)!important;
}

@media (prefers-reduced-motion:reduce) {
  #s2047-main-options-shell-v5300 .s2047-main-options-sheet-v5300,
  #s2047-info-drawer-v51213 .s2047-info-drawer-panel,
  #s2047-plain-drawer .s2047-plain-drawer-panel,
  #s2047-native-info-drawer .s2047-native-info-panel,
  #s2047-mobile-drawer .s2047-mobile-drawer-panel,
  #s2047-single-drawer .s2047-single-drawer-panel,
  .s2047-drawer-content { transition:none!important; }
}


/* SOURCE: assets/css/menu-close-buttons-v5440.css */
/* Space 2047 HD Edition v5.44.0 — prominent close buttons for both slide-out menus. */
.s2047-main-options-sheet-v5300>header,
#s2047-info-drawer-v51213 .s2047-info-drawer-panel>header,
#s2047-plain-drawer .s2047-plain-drawer-panel>header,
#s2047-native-info-drawer .s2047-native-info-panel>header,
#s2047-mobile-drawer .s2047-mobile-drawer-panel>header,
#s2047-single-drawer .s2047-single-drawer-panel>header,
.s2047-drawer-content>header {
  position:relative!important;
  padding-right:76px!important;
}

.s2047-main-options-close-v5300,
.s2047-info-drawer-close,
.s2047-plain-drawer-close,
.s2047-native-info-close,
.s2047-mobile-drawer-close,
.s2047-single-drawer-close,
.s2047-menu-close-v5440 {
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:absolute!important;
  top:max(10px,env(safe-area-inset-top))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  z-index:2147483647!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid currentColor!important;
  border-radius:50%!important;
  background:#081723!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(0,0,0,.65)!important;
  font:900 34px/1 Arial,sans-serif!important;
  text-align:center!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}

.s2047-main-options-close-v5300 {
  background:#2b2007!important;
  color:#ffd45c!important;
}

.s2047-main-options-close-v5300:hover,
.s2047-info-drawer-close:hover,
.s2047-plain-drawer-close:hover,
.s2047-native-info-close:hover,
.s2047-mobile-drawer-close:hover,
.s2047-single-drawer-close:hover,
.s2047-menu-close-v5440:hover,
.s2047-main-options-close-v5300:focus-visible,
.s2047-info-drawer-close:focus-visible,
.s2047-plain-drawer-close:focus-visible,
.s2047-native-info-close:focus-visible,
.s2047-mobile-drawer-close:focus-visible,
.s2047-single-drawer-close:focus-visible,
.s2047-menu-close-v5440:focus-visible {
  outline:3px solid #fff!important;
  outline-offset:2px!important;
  transform:scale(1.04)!important;
}

@media(max-width:720px){
  .s2047-main-options-close-v5300,
  .s2047-info-drawer-close,
  .s2047-plain-drawer-close,
  .s2047-native-info-close,
  .s2047-mobile-drawer-close,
  .s2047-single-drawer-close,
  .s2047-menu-close-v5440 {
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    font-size:32px!important;
  }
}


/* SOURCE: assets/css/menu-launcher-visibility-v5450.css */
/* Space 2047 HD Edition v5.45.0 — mutually exclusive menu launchers. */
html.s2047-information-menu-open-v5450 .s2047-main-options-toggle-v5300,
body.s2047-information-menu-open-v5450 .s2047-main-options-toggle-v5300,
html.s2047-options-menu-open-v5450 .s2047-info-drawer-launcher,
body.s2047-options-menu-open-v5450 .s2047-info-drawer-launcher {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* SOURCE: assets/css/menu-toggle-repair-v5460.css */
/* Space 2047 HD Edition v5.46.0 — reliable hamburger/X drawer toggles. */
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5460 .s2047-hamburger-bars-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5460 .s2047-main-options-bars-v5300{
  display:none!important;
}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5460::before,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5460::before{
  content:'×';
  display:block;
  font-size:38px;
  font-weight:500;
  line-height:.72;
  color:#fff;
}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5460 b,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5460 b{
  font-size:8px!important;
  letter-spacing:.08em!important;
}
@media (max-width:700px){
  #s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5460::before,
  #s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5460::before{
    font-size:34px;
  }
}


/* SOURCE: assets/css/menu-cross-toggle-v5470.css */
/* Space 2047 HD Edition v5.47.0 — dependable cross-menu switching. */
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5470 .s2047-hamburger-bars-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5470 .s2047-main-options-bars-v5300{display:none!important;}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5470::before,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5470::before{
  content:'×';display:block;font-size:38px;font-weight:500;line-height:.72;color:#fff;
}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5470 b,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5470 b{font-size:8px!important;letter-spacing:.08em!important;}
@media(max-width:700px){
  #s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-launcher-is-close-v5470::before,
  #s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-launcher-is-close-v5470::before{font-size:34px;}
}


/* SOURCE: assets/css/exclusive-menu-state-v5480.css */
/* Space 2047 HD Edition v5.48.0 — strictly exclusive menu drawers. */
#s2047-hamburger-shell-v51217[data-open="0"] .s2047-menu-shade-v51217,
#s2047-hamburger-shell-v51217:not([data-open="1"]) .s2047-menu-shade-v51217,
#s2047-main-options-shell-v5300[data-open="0"] .s2047-main-options-shade-v5300,
#s2047-main-options-shell-v5300:not([data-open="1"]) .s2047-main-options-shade-v5300{display:none!important;pointer-events:none!important;}
html.s2047-exclusive-info-open-v5480 #s2047-main-options-shell-v5300 .s2047-main-options-sheet-v5300,
html.s2047-exclusive-info-open-v5480 #s2047-main-options-shell-v5300 .s2047-main-options-shade-v5300,
html.s2047-exclusive-options-open-v5480 #s2047-hamburger-shell-v51217 .s2047-menu-sheet-v51217,
html.s2047-exclusive-options-open-v5480 #s2047-hamburger-shell-v51217 .s2047-menu-shade-v51217{
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-exclusive-close-v5480 .s2047-hamburger-bars-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-exclusive-close-v5480 .s2047-main-options-bars-v5300{display:none!important;}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-exclusive-close-v5480::before,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-exclusive-close-v5480::before{
  content:'×';display:block;font-size:36px;font-weight:500;line-height:.72;color:#fff;
}


/* SOURCE: assets/css/interior-exclusive-menus-v5490.css */
/* Space 2047 HD Edition v5.49.0 — carry the exclusive drawer controls into building interiors. */
html.s2047-interior-open #s2047-hamburger-shell-v51217,
html.s2047-interior-open #s2047-main-options-shell-v5300{
  z-index:2147483647!important;
  display:block!important;
  visibility:visible!important;
}
html.s2047-interior-open #s2047-isometric-interior{z-index:2147483600!important;}
html.s2047-interior-open #s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217,
html.s2047-interior-open #s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html.s2047-interior-open #s2047-hamburger-shell-v51217 .s2047-menu-sheet-v51217,
html.s2047-interior-open #s2047-main-options-shell-v5300 .s2047-main-options-sheet-v5300,
html.s2047-interior-open #s2047-hamburger-shell-v51217 .s2047-menu-shade-v51217,
html.s2047-interior-open #s2047-main-options-shell-v5300 .s2047-main-options-shade-v5300{
  z-index:2147483646!important;
}
/* Keep the interior title clear of the two launchers. */
html.s2047-interior-open .s2047-interior-shell header{padding-left:92px!important;padding-right:92px!important;}
@media(max-width:700px){
  html.s2047-interior-open .s2047-interior-shell header{padding-left:78px!important;padding-right:78px!important;}
}


/* SOURCE: assets/css/unified-hamburger-controls-v5500.css */
/* Space 2047 HD Edition v5.50.0 — identical hamburger/X controls outdoors and indoors. */

/* The active launcher remains visible as the close X. The opposite launcher is hidden
   so it cannot cover the active drawer or its close control. */
html.s2047-exclusive-info-open-v5480 #s2047-hamburger-shell-v51217,
html.s2047-exclusive-options-open-v5480 #s2047-main-options-shell-v5300 {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

html.s2047-exclusive-info-open-v5480 #s2047-main-options-shell-v5300,
html.s2047-exclusive-options-open-v5480 #s2047-hamburger-shell-v51217 {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Apply the same rule inside every isometric building, overriding the older
   interior rule that forced both launchers to remain visible. */
html.s2047-interior-open.s2047-exclusive-info-open-v5480 #s2047-main-options-shell-v5300,
html.s2047-building-menu-mode-v5490.s2047-exclusive-info-open-v5480 #s2047-main-options-shell-v5300,
html.s2047-interior-open.s2047-exclusive-options-open-v5480 #s2047-hamburger-shell-v51217,
html.s2047-building-menu-mode-v5490.s2047-exclusive-options-open-v5480 #s2047-hamburger-shell-v51217 {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Keep both launchers available whenever no drawer is open. */
html:not(.s2047-exclusive-info-open-v5480):not(.s2047-exclusive-options-open-v5480) #s2047-hamburger-shell-v51217,
html:not(.s2047-exclusive-info-open-v5480):not(.s2047-exclusive-options-open-v5480) #s2047-main-options-shell-v5300 {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Make launcher placement and touch size consistent in both world modes. */
#s2047-hamburger-shell-v51217,
#s2047-main-options-shell-v5300 {
  position:fixed!important;
  top:max(16px, env(safe-area-inset-top))!important;
  z-index:2147483647!important;
}
#s2047-hamburger-shell-v51217 { left:max(16px, env(safe-area-inset-left))!important; }
#s2047-main-options-shell-v5300 { right:max(16px, env(safe-area-inset-right))!important; }

@media (max-width:700px) {
  #s2047-hamburger-shell-v51217 { left:max(10px, env(safe-area-inset-left))!important; }
  #s2047-main-options-shell-v5300 { right:max(10px, env(safe-area-inset-right))!important; }
}


/* SOURCE: assets/css/menu-control-final-v5510.css */
/* Space 2047 HD Edition v5.51.0 — final exclusive hamburger/X behaviour. */
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-final-menu-close-v5510 .s2047-hamburger-bars-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-final-menu-close-v5510 .s2047-main-options-bars-v5300{display:none!important}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-final-menu-close-v5510::before,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-final-menu-close-v5510::before{content:'×'!important;display:block!important;font-size:38px!important;font-weight:500!important;line-height:.72!important;color:#fff!important}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-final-menu-close-v5510 b,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-final-menu-close-v5510 b{font-size:9px!important}
html.s2047-final-info-open-v5510 #s2047-main-options-shell-v5300,
html.s2047-final-options-open-v5510 #s2047-hamburger-shell-v51217{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.s2047-final-info-open-v5510 #s2047-hamburger-shell-v51217,
html.s2047-final-options-open-v5510 #s2047-main-options-shell-v5300{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
html:not(.s2047-final-info-open-v5510):not(.s2047-final-options-open-v5510) #s2047-hamburger-shell-v51217,
html:not(.s2047-final-info-open-v5510):not(.s2047-final-options-open-v5510) #s2047-main-options-shell-v5300{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}


/* SOURCE: assets/css/menu-controls-v5520.css */
/* Space 2047 HD Edition v5.52.0 — reliable mutually exclusive menu launchers. */
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-menu-is-open-v5520 .s2047-hamburger-bars-v51217,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-menu-is-open-v5520 .s2047-main-options-bars-v5300{display:none!important}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-menu-is-open-v5520::before,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-menu-is-open-v5520::before{content:'×'!important;display:block!important;font-size:38px!important;font-weight:600!important;line-height:.72!important;color:#fff!important}
#s2047-hamburger-shell-v51217 .s2047-hamburger-toggle-v51217.s2047-menu-is-open-v5520 b,
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300.s2047-menu-is-open-v5520 b{font-size:9px!important}
html.s2047-info-open-v5520 #s2047-main-options-shell-v5300,
html.s2047-options-open-v5520 #s2047-hamburger-shell-v51217{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.s2047-info-open-v5520 #s2047-hamburger-shell-v51217,
html.s2047-options-open-v5520 #s2047-main-options-shell-v5300,
html:not(.s2047-info-open-v5520):not(.s2047-options-open-v5520) #s2047-hamburger-shell-v51217,
html:not(.s2047-info-open-v5520):not(.s2047-options-open-v5520) #s2047-main-options-shell-v5300{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}


/* SOURCE: assets/css/menu-controls-v5530.css */
/* Space 2047 HD Edition v5.53.0 — native, non-blocking menu controls. */
#s2047-hamburger-shell-v51217.s2047-peer-hidden,
#s2047-main-options-shell-v5300.s2047-peer-hidden{display:none!important;visibility:hidden!important;pointer-events:none!important}
.s2047-hamburger-toggle-v51217.s2047-native-menu-open .s2047-hamburger-bars-v51217,
.s2047-main-options-toggle-v5300.s2047-native-menu-open .s2047-main-options-bars-v5300{display:none!important}
.s2047-hamburger-toggle-v51217.s2047-native-menu-open::before,
.s2047-main-options-toggle-v5300.s2047-native-menu-open::before{content:'×';display:block;font-size:38px;font-weight:700;line-height:.75;color:#fff}
#s2047-hamburger-shell-v51217,
#s2047-main-options-shell-v5300{pointer-events:none!important}
#s2047-hamburger-shell-v51217 button,
#s2047-hamburger-shell-v51217 aside,
#s2047-main-options-shell-v5300 button,
#s2047-main-options-shell-v5300 aside{pointer-events:auto}


/* SOURCE: assets/css/menu-title-centre-v5534.css */
/* Space 2047 HD Edition v5.53.4 — centre the live Information & Options title. */
#s2047-v51220-panel > header {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) 88px !important;
  align-items: center !important;
  justify-items: stretch !important;
  min-height: 116px !important;
  padding: max(12px, env(safe-area-inset-top)) 12px 10px !important;
}
#s2047-v51220-panel > header > h2 {
  grid-column: 2 !important;
  justify-self: center !important;
  align-self: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15 !important;
}
#s2047-v51220-panel > header > #s2047-v51220-close {
  grid-column: 3 !important;
  justify-self: end !important;
  align-self: center !important;
}
@media (max-width: 420px) {
  #s2047-v51220-panel > header {
    grid-template-columns: 82px minmax(0, 1fr) 82px !important;
  }
  #s2047-v51220-panel > header > h2 {
    font-size: 18px !important;
  }
}


/* SOURCE: assets/css/inventory-organiser-v5536.css */
/* Space 2047 HD v5.53.6 — organised, searchable inventory without changing core item actions. */
#s2047-inventory.s2047-inventory{
  width:min(720px,calc(100vw - 28px));
  max-height:min(86vh,760px);
  overscroll-behavior:contain;
  scroll-behavior:smooth;
}
.s2047-inventory-toolbar-v5536{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:10px;margin:14px 0 10px}
.s2047-inventory-toolbar-v5536 label{display:grid;gap:5px;min-width:0;color:#c9e9f6;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.s2047-inventory-toolbar-v5536 input,.s2047-inventory-toolbar-v5536 select{width:100%;min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#102235;color:#fff;font:inherit;outline:none}
.s2047-inventory-toolbar-v5536 input:focus,.s2047-inventory-toolbar-v5536 select:focus{border-color:#ffe177;box-shadow:0 0 0 3px rgba(255,225,119,.14)}
.s2047-inventory-tabs-v5536{grid-column:1/-1;display:flex;gap:7px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin;scroll-snap-type:x proximity}
.s2047-inventory-tabs-v5536 button{flex:0 0 auto;min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-weight:800;cursor:pointer;scroll-snap-align:start}
.s2047-inventory-tabs-v5536 button.is-active{border-color:#ffe177;background:#ffe177;color:#251c00}
#s2047-inventory-items.s2047-inventory-items{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#s2047-inventory-items .s2047-item-row{position:relative;min-height:58px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
#s2047-inventory-items .s2047-item-row:hover,#s2047-inventory-items .s2047-item-row:focus-visible{border-color:rgba(255,225,119,.7);background:rgba(255,225,119,.09);outline:none}
#s2047-inventory-items .s2047-item-row.is-selected{border-color:#ffe177;box-shadow:0 0 0 2px rgba(255,225,119,.13)}
#s2047-inventory-items .s2047-item-row[hidden]{display:none!important}
.s2047-inventory-details-v5536{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin-top:12px;padding:13px 14px;border:1px solid rgba(165,224,255,.25);border-radius:13px;background:rgba(8,31,50,.72)}
.s2047-inventory-details-v5536 strong{font-size:1rem;color:#fff}
.s2047-inventory-details-v5536 p{grid-column:1/-1;color:#c9e9f6;font-size:.9rem}
.s2047-inventory-badge-v5536{align-self:start;padding:4px 8px;border-radius:999px;background:rgba(255,225,119,.14);color:#ffe177;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.s2047-inventory-filter-empty-v5536{grid-column:1/-1;padding:18px;text-align:center;border:1px dashed rgba(255,255,255,.2);border-radius:12px;color:#c9e9f6}
@media(max-width:640px){
  #s2047-inventory.s2047-inventory{inset:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));width:auto;max-height:none;transform:none;padding:18px 14px 22px}
  .s2047-inventory-toolbar-v5536{grid-template-columns:1fr}
  .s2047-inventory-toolbar-v5536 .s2047-inventory-sort-v5536{grid-column:1}
  .s2047-inventory-tabs-v5536{grid-column:1}
  #s2047-inventory-items.s2047-inventory-items{grid-template-columns:1fr}
  .s2047-inventory-details-v5536{grid-template-columns:1fr}
  .s2047-inventory-badge-v5536{justify-self:start}
}
@media(prefers-reduced-motion:reduce){#s2047-inventory.s2047-inventory{scroll-behavior:auto}.s2047-item-row{transition:none!important}}


/* SOURCE: assets/css/local-map-upgrade-v5537.css */
/* Space 2047 HD Edition v5.53.7 — Local Map clarity and waypoint controls. */
#s2047-minimap-wrap,.s2047-minimap-wrap{overflow:visible!important}
#s2047-minimap-wrap .s2047-map-tools,.s2047-minimap-wrap .s2047-map-tools{display:flex;align-items:center;justify-content:center;gap:4px;margin:4px 0 0}
.s2047-map-tools button{width:28px;height:25px;min-width:28px;padding:0;border:1px solid rgba(126,225,255,.62);border-radius:7px;background:rgba(3,22,36,.94);color:#fff;font-weight:900;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.35);touch-action:manipulation}
.s2047-map-tools button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.s2047-map-tools .s2047-map-waypoint{width:auto;min-width:48px;padding:0 7px;font-size:9px;letter-spacing:.04em}
#s2047-minimap-wrap canvas,.s2047-minimap-wrap canvas{transform:scale(var(--s2047-map-zoom,1));transform-origin:center;transition:transform .18s ease;cursor:crosshair}
#s2047-minimap-wrap.s2047-map-pick canvas,.s2047-minimap-wrap.s2047-map-pick canvas{outline:2px solid #ffe45b;outline-offset:2px}
.s2047-map-status{display:block;max-width:100%;margin-top:3px;color:#dff8ff;font-size:8px;line-height:1.15;text-align:center;white-space:normal!important;overflow-wrap:anywhere}
@media(max-width:760px),(pointer:coarse){.s2047-map-tools{gap:3px!important}.s2047-map-tools button{width:24px;height:23px;min-width:24px;font-size:12px}.s2047-map-tools .s2047-map-waypoint{min-width:42px;padding:0 5px;font-size:8px}.s2047-map-status{font-size:7px}}
@media(prefers-reduced-motion:reduce){#s2047-minimap-wrap canvas,.s2047-minimap-wrap canvas{transition:none}}


/* SOURCE: assets/css/left-menu-x-close-v5538.css */
/* Space 2047 HD Edition v5.53.8 — match the left Menu launcher to the Options X-close style. */
#s2047-v51220-open.s2047-native-menu-open > span {
  display: none !important;
}

#s2047-v51220-open.s2047-native-menu-open::before {
  content: '×' !important;
  display: block !important;
  color: #fff !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: .72 !important;
  margin: 0 !important;
}

#s2047-v51220-open.s2047-native-menu-open > b {
  display: block !important;
  margin-top: 2px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
}

@media (max-width: 720px) {
  #s2047-v51220-open.s2047-native-menu-open::before {
    font-size: 36px !important;
  }
}


/* SOURCE: assets/css/dialogue-system-v5600.css */
.s2047-dialogue-v5600{z-index:2147482500!important;width:min(680px,calc(100vw - 28px))!important;max-height:min(72vh,650px)!important;scroll-behavior:smooth}
.s2047-dialogue-v5600-head{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:12px}
.s2047-dialogue-v5600-portrait{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;font-size:1.35rem;font-weight:950;letter-spacing:.06em;color:#fff;background:linear-gradient(145deg,var(--portrait-colour,#6e91a9),#172331);border:2px solid rgba(255,255,255,.42);box-shadow:0 9px 25px rgba(0,0,0,.28)}
.s2047-dialogue-v5600-title h2{margin:0!important;padding:0!important}.s2047-dialogue-v5600-meta{margin-top:5px;font-size:.78rem;opacity:.78;font-weight:700}
.s2047-dialogue-v5600-choices{display:grid;gap:8px;margin:14px 0 2px}.s2047-dialogue-v5600-choices button{margin:0!important;width:100%;text-align:left;background:rgba(18,48,67,.94)!important;color:#fff!important;border-color:rgba(126,213,255,.38)!important}.s2047-dialogue-v5600-choices button:hover,.s2047-dialogue-v5600-choices button:focus-visible{transform:translateY(-1px);border-color:#ffe177!important}
.s2047-dialogue-v5600-history-button{background:rgba(255,255,255,.11)!important;color:#fff!important}
#s2047-dialogue-history-v5600{position:fixed;z-index:2147483000;inset:7vh max(14px,calc((100vw - 720px)/2));background:linear-gradient(180deg,#09283b,#061923);color:#fff;border:1px solid rgba(126,213,255,.42);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.65);padding:18px;overflow:auto}#s2047-dialogue-history-v5600[hidden]{display:none!important}
#s2047-dialogue-history-v5600 header{position:sticky;top:-18px;display:flex;justify-content:space-between;align-items:center;padding:16px 4px;background:#09283b;z-index:2}#s2047-dialogue-history-v5600 header div{display:grid;text-align:center;flex:1}#s2047-dialogue-history-v5600 header small{letter-spacing:.18em;font-weight:800;opacity:.7}#s2047-dialogue-history-v5600 header strong{font-size:1.3rem}#s2047-dialogue-history-v5600 header button{width:46px;height:46px;border-radius:14px;font-size:1.5rem}
#s2047-dialogue-history-v5600 article{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.13)}#s2047-dialogue-history-v5600 article strong,#s2047-dialogue-history-v5600 article small{display:block}#s2047-dialogue-history-v5600 article small{opacity:.65;margin-top:2px}#s2047-dialogue-history-v5600 article p{margin:.55rem 0 0;line-height:1.5}
@media(max-width:720px){.s2047-dialogue-v5600{max-height:54vh!important;bottom:calc(164px + env(safe-area-inset-bottom))!important}.s2047-dialogue-v5600-head{grid-template-columns:54px minmax(0,1fr);gap:10px}.s2047-dialogue-v5600-portrait{width:52px;height:52px;border-radius:14px;font-size:1rem}.s2047-dialogue-v5600-meta{font-size:.7rem}.s2047-dialogue-v5600-choices{gap:6px;margin-top:10px}.s2047-dialogue-v5600-choices button{min-height:42px!important;font-size:.9rem;padding:8px 11px!important}#s2047-dialogue-history-v5600{inset:10px;padding:14px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.s2047-dialogue-v5600,.s2047-dialogue-v5600 *{scroll-behavior:auto!important;transition:none!important}}

.s2047-dialogue-v5600[data-automatic-npc-reply="1"] .s2047-dialogue-v5600-choices{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.s2047-dialogue-v5600-choices button{position:relative;z-index:2;pointer-events:auto!important}

/* v5.80.0 guaranteed visible reply controls */
#s2047-dialogue.s2047-dialogue-v5600{display:block!important;position:fixed!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#s2047-dialogue.s2047-dialogue-v5600[hidden]{display:none!important}
#s2047-dialogue .s2047-dialogue-v5600-choices{display:grid!important;visibility:visible!important;opacity:1!important;min-height:44px!important;position:relative!important;z-index:2147483001!important}
#s2047-dialogue .s2047-dialogue-v5600-choices button{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;min-height:48px!important}


/* v5.81.0 independent reply tray: remains visible even when the dialogue panel clips its contents */
#s2047-dialogue-reply-tray{position:fixed!important;left:50%!important;transform:translateX(-50%)!important;bottom:max(18px,env(safe-area-inset-bottom))!important;z-index:2147483646!important;width:min(680px,calc(100vw - 24px))!important;display:grid!important;gap:8px!important;padding:10px!important;border-radius:16px!important;background:rgba(4,20,30,.96)!important;border:2px solid rgba(255,225,119,.78)!important;box-shadow:0 18px 60px rgba(0,0,0,.7)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#s2047-dialogue-reply-tray[hidden]{display:none!important}
#s2047-dialogue-reply-tray button{display:block!important;width:100%!important;min-height:48px!important;margin:0!important;padding:10px 14px!important;text-align:left!important;font-size:1rem!important;font-weight:800!important;color:#fff!important;background:#123f59!important;border:1px solid #7ed5ff!important;border-radius:11px!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#s2047-dialogue-reply-tray button:focus-visible,#s2047-dialogue-reply-tray button:hover{outline:3px solid #ffe177!important;outline-offset:2px!important}
@media(max-width:720px){#s2047-dialogue-reply-tray{bottom:calc(92px + env(safe-area-inset-bottom))!important;max-height:42vh!important;overflow:auto!important}#s2047-dialogue-reply-tray button{min-height:46px!important;font-size:.92rem!important}}


/* SOURCE: assets/css/building-interaction-pass-v5610.css */
#s2047-interior-activity-v5610{position:absolute;right:18px;top:92px;width:min(310px,32vw);max-height:calc(100% - 190px);overflow:hidden;border:1px solid rgba(121,223,255,.5);border-radius:16px;background:rgba(3,16,28,.94);box-shadow:0 16px 44px rgba(0,0,0,.48);z-index:9;color:#eefbff;backdrop-filter:blur(10px)}
#s2047-interior-activity-v5610 header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(121,223,255,.25);background:linear-gradient(135deg,rgba(21,73,96,.96),rgba(9,35,54,.96))}
#s2047-interior-activity-v5610 header div{display:grid;gap:2px}#s2047-interior-activity-v5610 header small{font-size:10px;letter-spacing:.18em;color:#9fe9ff}#s2047-interior-activity-v5610 header strong{font-size:16px}
#s2047-interior-activity-v5610 header button{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.25);color:#fff;font-size:22px;font-weight:900}
#s2047-interior-activity-v5610 section{padding:12px;overflow:auto;max-height:calc(100vh - 220px);scroll-behavior:smooth;overscroll-behavior:contain}
#s2047-interior-activity-v5610 h3{margin:7px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffd95a}
#s2047-interior-activity-v5610 [data-npcs],#s2047-interior-activity-v5610 [data-objects]{display:grid;gap:8px}
#s2047-interior-activity-v5610 button{touch-action:manipulation}
.s2047-indoor-npc,#s2047-interior-activity-v5610 [data-objects] button{width:100%;text-align:left;border:1px solid rgba(133,217,255,.28);border-radius:12px;background:rgba(18,51,70,.78);color:#fff;padding:10px 11px}
.s2047-indoor-npc{display:grid;grid-template-columns:12px 1fr;gap:9px;align-items:center;opacity:.75;transition:opacity .25s,transform .25s}.s2047-indoor-npc.active{opacity:1;transform:translateX(-2px)}
.s2047-indoor-npc .pulse{width:9px;height:9px;border-radius:50%;background:#74ee9b;box-shadow:0 0 0 0 rgba(116,238,155,.5);animation:s2047IndoorPulse 2s infinite}.s2047-indoor-npc span:last-child{display:grid;gap:1px}.s2047-indoor-npc strong{font-size:13px}.s2047-indoor-npc small{color:#9edcf0}.s2047-indoor-npc em{font-size:11px;color:#c9dbe2;font-style:normal}
#s2047-interior-activity-v5610 [data-objects] button:hover,#s2047-interior-activity-v5610 [data-objects] button:focus-visible{border-color:#ffd95a;background:rgba(76,69,31,.82)}
#s2047-interior-activity-v5610.collapsed{width:auto}#s2047-interior-activity-v5610.collapsed section{display:none}
#s2047-interior-toast-v5610{position:fixed;left:50%;top:110px;transform:translate(-50%,-12px);max-width:min(520px,88vw);padding:12px 18px;border-radius:12px;border:1px solid rgba(255,219,92,.7);background:rgba(8,20,31,.96);color:#fff;font-weight:750;text-align:center;z-index:100000;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 12px 34px rgba(0,0,0,.42)}#s2047-interior-toast-v5610.show{opacity:1;transform:translate(-50%,0)}
@keyframes s2047IndoorPulse{70%{box-shadow:0 0 0 8px rgba(116,238,155,0)}100%{box-shadow:0 0 0 0 rgba(116,238,155,0)}}
@media(max-width:760px){#s2047-interior-activity-v5610{top:auto;right:8px;bottom:98px;width:min(270px,72vw);max-height:42vh}#s2047-interior-activity-v5610 section{max-height:34vh;padding:9px}#s2047-interior-activity-v5610 header{padding:8px 10px}#s2047-interior-activity-v5610 header strong{font-size:14px}.s2047-indoor-npc,#s2047-interior-activity-v5610 [data-objects] button{padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.s2047-indoor-npc,#s2047-interior-toast-v5610{transition:none}.s2047-indoor-npc .pulse{animation:none}}


/* SOURCE: assets/css/living-transport-v5620.css */
#s2047-living-transport-v5620{position:fixed;left:18px;top:94px;width:min(330px,32vw);max-height:calc(100vh - 205px);overflow:hidden;border:1px solid rgba(118,220,255,.48);border-radius:16px;background:rgba(3,16,29,.94);color:#f3fbff;box-shadow:0 18px 46px rgba(0,0,0,.48);backdrop-filter:blur(10px);z-index:8200}
#s2047-living-transport-v5620[hidden]{display:none!important}
#s2047-living-transport-v5620 header{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid rgba(118,220,255,.24);background:linear-gradient(135deg,rgba(17,67,91,.96),rgba(7,31,50,.96))}
#s2047-living-transport-v5620 header div{display:grid;gap:2px}#s2047-living-transport-v5620 header small{font-size:9px;letter-spacing:.17em;color:#9cecff}#s2047-living-transport-v5620 header strong{font-size:15px}
#s2047-living-transport-v5620 header button{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.32);background:rgba(0,0,0,.24);color:#fff;font-size:21px;font-weight:900}
#s2047-living-transport-v5620 .body{padding:10px;overflow:auto;max-height:calc(100vh - 275px);scroll-behavior:smooth;overscroll-behavior:contain}
#s2047-living-transport-v5620 .summary{margin-bottom:9px;padding:8px 9px;border-radius:9px;background:rgba(91,178,207,.12);font-size:11px;color:#bceeff}
#s2047-living-transport-v5620 .routes{display:grid;gap:8px}#s2047-living-transport-v5620 article{padding:9px 10px;border:1px solid rgba(136,209,234,.26);border-radius:11px;background:rgba(15,47,65,.76)}
#s2047-living-transport-v5620 article.boarding{border-color:rgba(117,238,159,.62)}#s2047-living-transport-v5620 article.moving{border-color:rgba(255,217,84,.52)}
#s2047-living-transport-v5620 .route-head{display:flex;gap:8px;justify-content:space-between;align-items:center}#s2047-living-transport-v5620 .route-head strong{font-size:12px}#s2047-living-transport-v5620 .route-head span{font-size:9px;font-weight:900;letter-spacing:.06em;color:#88efad}
#s2047-living-transport-v5620 article.moving .route-head span{color:#ffe27d}#s2047-living-transport-v5620 article.waiting .route-head span{color:#a7c4d1}
#s2047-living-transport-v5620 p{margin:5px 0 0;font-size:10px;line-height:1.35;color:#d5e8ef}#s2047-living-transport-v5620 .cargo{color:#9fc4d3}
#s2047-living-transport-v5620 article button{margin-top:7px;width:100%;padding:7px 8px;border:1px solid rgba(255,217,84,.48);border-radius:8px;background:rgba(85,69,20,.44);color:#fff;font-size:11px;font-weight:800;touch-action:manipulation}
#s2047-living-transport-v5620.collapsed{width:auto}#s2047-living-transport-v5620.collapsed .body{display:none}
#s2047-transport-toast-v5620{position:fixed;left:50%;top:114px;transform:translate(-50%,-10px);max-width:min(520px,88vw);padding:11px 16px;border:1px solid rgba(255,219,92,.68);border-radius:11px;background:rgba(6,19,31,.97);color:#fff;text-align:center;font-weight:760;opacity:0;z-index:100000;transition:opacity .2s,transform .2s;box-shadow:0 14px 38px rgba(0,0,0,.45)}#s2047-transport-toast-v5620.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){#s2047-living-transport-v5620{left:8px;top:94px;width:min(270px,72vw);max-height:42vh}#s2047-living-transport-v5620 .body{max-height:34vh;padding:8px}#s2047-living-transport-v5620 header{padding:8px 10px}#s2047-living-transport-v5620 header strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){#s2047-transport-toast-v5620{transition:none}}


/* SOURCE: assets/css/world-ambience-v5630.css */
#s2047-ambience-layer-v5630{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50;isolation:isolate}
#s2047-ambience-layer-v5630 .sky,#s2047-ambience-layer-v5630 .clouds,#s2047-ambience-layer-v5630 .mist,#s2047-ambience-layer-v5630 .particles{position:absolute;inset:0;transition:opacity 1.2s ease,background 1.2s ease}
html[data-s2047-time="dawn"] #s2047-ambience-layer-v5630 .sky{background:linear-gradient(180deg,rgba(255,153,92,.16),transparent 48%)}
html[data-s2047-time="day"] #s2047-ambience-layer-v5630 .sky{background:linear-gradient(180deg,rgba(96,200,255,.06),transparent 52%)}
html[data-s2047-time="dusk"] #s2047-ambience-layer-v5630 .sky{background:linear-gradient(180deg,rgba(177,89,255,.17),transparent 50%)}
html[data-s2047-time="night"] #s2047-ambience-layer-v5630 .sky{background:linear-gradient(180deg,rgba(7,12,47,.28),rgba(0,5,18,.08) 65%,transparent)}
html[data-s2047-weather="mist"] #s2047-ambience-layer-v5630 .mist{opacity:.72;background:radial-gradient(ellipse at 20% 70%,rgba(202,232,242,.2),transparent 42%),radial-gradient(ellipse at 78% 62%,rgba(194,226,238,.17),transparent 45%);animation:s2047Mist5630 12s ease-in-out infinite alternate}
#s2047-ambience-layer-v5630 .particles{opacity:0}
html[data-s2047-weather="rain"] #s2047-ambience-layer-v5630 .particles,html[data-s2047-weather="wind"] #s2047-ambience-layer-v5630 .particles{opacity:.66}
#s2047-ambience-layer-v5630 .particles i{position:absolute;left:var(--x);top:-12vh;width:2px;height:18px;border-radius:99px;background:rgba(151,235,255,.8);box-shadow:0 0 8px rgba(111,223,255,.55);animation:s2047Rain5630 var(--speed) linear infinite;animation-delay:var(--delay)}
html[data-s2047-weather="wind"] #s2047-ambience-layer-v5630 .particles i{width:4px;height:4px;border-radius:50%;background:rgba(255,222,116,.78);animation-name:s2047Wind5630}

#s2047-ambience-layer-v5630 .clouds{position:absolute;inset:0;overflow:hidden;opacity:1;transition:opacity 1.2s ease,filter 1.2s ease}
#s2047-ambience-layer-v5630 .cloud{position:absolute;left:-34vw;top:var(--cloud-y);width:210px;height:62px;opacity:var(--cloud-opacity);transform:scale(var(--cloud-scale));transform-origin:center;filter:blur(.15px) drop-shadow(0 7px 9px rgba(25,55,76,.13));animation:s2047CloudDrift5640 var(--cloud-duration) linear infinite;animation-delay:var(--cloud-delay)}
#s2047-ambience-layer-v5630 .cloud::before,#s2047-ambience-layer-v5630 .cloud::after{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(ellipse 52px 42px at 24% 58%,rgba(255,255,255,.96) 0 68%,transparent 70%),radial-gradient(ellipse 68px 56px at 45% 38%,rgba(255,255,255,.98) 0 68%,transparent 70%),radial-gradient(ellipse 58px 48px at 67% 53%,rgba(255,255,255,.95) 0 68%,transparent 70%),radial-gradient(ellipse 48px 37px at 83% 64%,rgba(255,255,255,.88) 0 67%,transparent 70%),linear-gradient(180deg,rgba(255,255,255,.94),rgba(220,235,244,.83));box-shadow:inset 0 -10px 15px rgba(105,145,170,.12)}
#s2047-ambience-layer-v5630 .cloud::after{inset:21px 9px -7px 14px;opacity:.32;filter:blur(8px);background:linear-gradient(180deg,transparent,rgba(70,109,138,.48));box-shadow:none}
#s2047-ambience-layer-v5630 .cloud-1{width:270px;height:78px}
#s2047-ambience-layer-v5630 .cloud-1::before{background:radial-gradient(ellipse 62px 46px at 17% 62%,rgba(255,255,255,.92) 0 68%,transparent 70%),radial-gradient(ellipse 78px 63px at 38% 36%,rgba(255,255,255,.98) 0 68%,transparent 70%),radial-gradient(ellipse 72px 58px at 58% 45%,rgba(255,255,255,.96) 0 68%,transparent 70%),radial-gradient(ellipse 66px 45px at 78% 62%,rgba(255,255,255,.89) 0 68%,transparent 70%),linear-gradient(180deg,rgba(255,255,255,.95),rgba(216,233,243,.84))}
#s2047-ambience-layer-v5630 .cloud-2{width:165px;height:45px;filter:blur(.7px) drop-shadow(0 5px 7px rgba(25,55,76,.1))}
#s2047-ambience-layer-v5630 .clouds-far{filter:blur(1.5px)}
#s2047-ambience-layer-v5630 .clouds-far .cloud{opacity:calc(var(--cloud-opacity) * .65)}
#s2047-ambience-layer-v5630 .clouds-near .cloud{filter:drop-shadow(0 10px 13px rgba(25,55,76,.16))}
html[data-s2047-time="dawn"] #s2047-ambience-layer-v5630 .cloud::before{filter:sepia(.15) saturate(1.2);background-color:rgba(255,190,154,.2)}
html[data-s2047-time="dusk"] #s2047-ambience-layer-v5630 .cloud::before{filter:sepia(.22) hue-rotate(318deg) saturate(1.35);background-color:rgba(255,156,183,.18)}
html[data-s2047-time="night"] #s2047-ambience-layer-v5630 .clouds{opacity:.48;filter:brightness(.62) saturate(.8)}
html[data-s2047-weather="mist"] #s2047-ambience-layer-v5630 .clouds{opacity:.72;filter:blur(1px)}
html[data-s2047-weather="rain"] #s2047-ambience-layer-v5630 .clouds{opacity:.86;filter:brightness(.68) saturate(.72)}
html[data-s2047-weather="wind"] #s2047-ambience-layer-v5630 .cloud{animation-duration:calc(var(--cloud-duration) * .55)}
@keyframes s2047CloudDrift5640{from{translate:0 0}to{translate:150vw 0}}

html[data-s2047-weather="off"] #s2047-ambience-layer-v5630{display:none}
@keyframes s2047Rain5630{to{transform:translate(var(--drift),120vh)}}
@keyframes s2047Wind5630{from{transform:translate(-12vw,10vh)}to{transform:translate(112vw,75vh)}}
@keyframes s2047Mist5630{from{transform:translateX(-1.5%)}to{transform:translateX(1.5%)}}
#s2047-world-conditions-v5630{position:fixed;left:18px;bottom:18px;width:min(310px,31vw);border:1px solid rgba(145,218,255,.38);border-radius:14px;background:rgba(3,15,28,.92);color:#f6fbff;box-shadow:0 14px 38px rgba(0,0,0,.42);backdrop-filter:blur(10px);z-index:8100;overflow:hidden}
#s2047-world-conditions-v5630 .toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:0;background:linear-gradient(135deg,rgba(22,68,91,.94),rgba(8,30,48,.94));color:#fff;text-align:left;touch-action:manipulation}
#s2047-world-conditions-v5630 .toggle span{font-size:9px;font-weight:900;letter-spacing:.15em;color:#9fe7ff}#s2047-world-conditions-v5630 .toggle b{font-size:13px;color:#ffe680}
#s2047-world-conditions-v5630 .details{display:grid;gap:4px;padding:9px 11px}#s2047-world-conditions-v5630 .details strong{font-size:13px}#s2047-world-conditions-v5630 .details span{font-size:10px;line-height:1.35;color:#d4e8f2}#s2047-world-conditions-v5630 .details small{font-size:9px;color:#9fbfcd}
#s2047-world-conditions-v5630 [data-effects]{margin-top:4px;padding:7px 9px;border:1px solid rgba(255,220,95,.4);border-radius:8px;background:rgba(85,68,17,.34);color:#fff;font-size:10px;font-weight:800}
#s2047-world-conditions-v5630.collapsed{width:auto}#s2047-world-conditions-v5630.collapsed .details{display:none}
@media(max-width:760px){#s2047-ambience-layer-v5630 .clouds-far .cloud:nth-child(n+4),#s2047-ambience-layer-v5630 .clouds-mid .cloud:nth-child(n+5){display:none}#s2047-ambience-layer-v5630 .cloud{width:150px;height:46px}#s2047-world-conditions-v5630{left:8px;bottom:146px;width:min(230px,58vw)}#s2047-world-conditions-v5630 .details{padding:7px 9px}#s2047-world-conditions-v5630 .toggle{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){#s2047-ambience-layer-v5630 *{animation:none!important;transition:none!important}}

/* v5.66.1 — remove fixed mist ovals that appeared to follow the player/camera. */
#s2047-ambience-layer-v5630 .mist,
html[data-s2047-weather="mist"] #s2047-ambience-layer-v5630 .mist{
  display:none!important;
  opacity:0!important;
  background:none!important;
  animation:none!important;
  transform:none!important;
}

/* v5.69.1 — remove viewport-fixed cloud/mist shapes that appeared to follow the player. */
#s2047-ambience-layer-v5630 .clouds,
#s2047-ambience-layer-v5630 .cloud,
#s2047-ambience-layer-v5630 .mist {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  transform: none !important;
}


/* SOURCE: assets/css/desktop-game-logo-v5710.css */
/* Space 2047 HD v5.71.0 — desktop/tablet-only centred game logo. */
#s2047-desktop-game-logo-v5710 {
  display: block !important;
  visibility: visible !important;
  opacity: 1;
  position: fixed;
  top: max(8px, env(safe-area-inset-top));
  left: 50%;
  z-index: 2147483640;
  width: clamp(250px, 31vw, 440px);
  aspect-ratio: 710 / 215;
  transform: translateX(-50%);
  border: 1px solid rgba(112, 224, 255, .3);
  border-radius: 12px;
  background:
    url('../images/space-2047-game-logo-v5710.png') center / contain no-repeat,
    #061523;
  box-shadow: 0 10px 34px rgba(0, 0, 0, .42), 0 0 24px rgba(76, 201, 255, .12);
  pointer-events: none;
  user-select: none;
}

/* Keep the logo out of every phone layout, including landscape phones. */
@media (max-width: 767px), (max-height: 520px) and (pointer: coarse) {
  #s2047-desktop-game-logo-v5710 { display: none !important; }
}

@media (prefers-reduced-motion: no-preference) {
  #s2047-desktop-game-logo-v5710 { animation: s2047-logo-arrive-v5710 .45s ease-out both; }
  @keyframes s2047-logo-arrive-v5710 {
    from { opacity: 0; transform: translate(-50%, -10px) scale(.98); }
    to { opacity: 1; transform: translate(-50%, 0) scale(1); }
  }
}


/* SOURCE: assets/css/character-talk-reply-repair-v5820.css */
#s2047-character-replies-v5820{position:fixed!important;left:50%!important;bottom:max(18px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:2147483647!important;width:min(700px,calc(100vw - 24px))!important;max-height:45vh!important;overflow:auto!important;padding:10px!important;border:2px solid #ffe177!important;border-radius:16px!important;background:rgba(3,18,29,.98)!important;color:#fff!important;box-shadow:0 18px 70px rgba(0,0,0,.8)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#s2047-character-replies-v5820[hidden]{display:none!important}
#s2047-character-replies-v5820 header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 9px!important;padding:0 2px!important}
#s2047-character-replies-v5820 header strong{font-size:1rem!important;color:#ffe177!important}
#s2047-character-replies-v5820 header button{width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;font-size:1.35rem!important;background:#7a1820!important;color:#fff!important;border:1px solid #fff!important}
#s2047-character-replies-v5820 [data-reply-list]{display:grid!important;gap:8px!important}
#s2047-character-replies-v5820 [data-reply-choice]{display:block!important;width:100%!important;min-height:48px!important;margin:0!important;padding:10px 14px!important;text-align:left!important;font-size:1rem!important;font-weight:800!important;color:#fff!important;background:#123f59!important;border:1px solid #7ed5ff!important;border-radius:11px!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#s2047-character-replies-v5820 [data-reply-choice]:hover,#s2047-character-replies-v5820 [data-reply-choice]:focus-visible{outline:3px solid #ffe177!important;outline-offset:1px!important}
@media(max-width:720px){#s2047-character-replies-v5820{bottom:calc(94px + env(safe-area-inset-bottom))!important;max-height:38vh!important}#s2047-character-replies-v5820 [data-reply-choice]{min-height:46px!important;font-size:.92rem!important}}


/* SOURCE: assets/css/character-talk-reply-direct-v5830.css */
#s2047-character-replies-v5820{display:none!important}
#s2047-direct-talk-v5830{position:fixed!important;right:max(14px,env(safe-area-inset-right))!important;bottom:calc(104px + env(safe-area-inset-bottom))!important;z-index:2147483647!important;display:block!important;min-width:112px!important;min-height:54px!important;padding:12px 18px!important;border:2px solid #ffe177!important;border-radius:16px!important;background:#103f5b!important;color:#fff!important;font-size:1rem!important;font-weight:900!important;box-shadow:0 10px 34px rgba(0,0,0,.55)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#s2047-direct-replies-v5830{position:fixed!important;left:50%!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:2147483647!important;width:min(700px,calc(100vw - 24px))!important;max-height:44vh!important;overflow:auto!important;padding:10px!important;border:2px solid #ffe177!important;border-radius:16px!important;background:rgba(3,18,29,.99)!important;color:#fff!important;box-shadow:0 18px 70px rgba(0,0,0,.8)!important}
#s2047-direct-replies-v5830[hidden]{display:none!important}#s2047-direct-replies-v5830 header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:8px!important}#s2047-direct-replies-v5830 header strong{color:#ffe177!important}#s2047-direct-replies-v5830 header button{width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important;background:#7a1820!important;color:#fff!important;border:1px solid #fff!important}#s2047-direct-replies-v5830 [data-list]{display:grid!important;gap:8px!important}#s2047-direct-replies-v5830 [data-choice]{display:block!important;width:100%!important;min-height:48px!important;padding:10px 14px!important;text-align:left!important;font-weight:850!important;color:#fff!important;background:#123f59!important;border:1px solid #7ed5ff!important;border-radius:11px!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:720px){#s2047-direct-talk-v5830{right:12px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important;min-width:96px!important;min-height:50px!important}#s2047-direct-replies-v5830{bottom:calc(154px + env(safe-area-inset-bottom))!important;max-height:38vh!important}}


/* SOURCE: assets/css/character-talk-canvas-bridge-v5840.css */
#s2047-canvas-replies-v5840{position:fixed!important;left:50%!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:2147483647!important;width:min(720px,calc(100vw - 22px))!important;max-height:46vh!important;overflow:auto!important;padding:11px!important;border:3px solid #ffe177!important;border-radius:17px!important;background:rgba(3,18,29,.99)!important;color:#fff!important;box-shadow:0 18px 70px rgba(0,0,0,.82)!important}
#s2047-canvas-replies-v5840[hidden]{display:none!important}#s2047-canvas-replies-v5840 header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:9px!important}#s2047-canvas-replies-v5840 strong{color:#ffe177!important;font-size:1.05rem!important}#s2047-canvas-replies-v5840 [data-close]{width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;background:#7a1820!important;color:#fff!important;border:1px solid #fff!important;font-size:1.3rem!important}#s2047-canvas-replies-v5840 [data-list]{display:grid!important;gap:9px!important}#s2047-canvas-replies-v5840 [data-choice]{display:block!important;width:100%!important;min-height:50px!important;padding:11px 14px!important;text-align:left!important;font-weight:900!important;color:#fff!important;background:#123f59!important;border:2px solid #7ed5ff!important;border-radius:12px!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:720px){#s2047-canvas-replies-v5840{bottom:calc(150px + env(safe-area-inset-bottom))!important;max-height:40vh!important}#s2047-direct-talk-v5830{min-width:128px!important}}


/* SOURCE: assets/css/universal-character-talk-v5850.css */
#s2047-universal-talk-button-v5850{position:fixed;right:18px;bottom:118px;z-index:2147482500;display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 16px;border:2px solid #ffe36c;border-radius:16px;background:#071a2b;color:#fff;font:800 15px/1.1 Arial,sans-serif;box-shadow:0 8px 28px #0009;cursor:pointer}#s2047-universal-talk-button-v5850 b{font-size:22px;color:#ffe36c}#s2047-universal-talk-v5850{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:end center;padding:18px;background:rgba(0,8,18,.42);font-family:Arial,sans-serif}#s2047-universal-talk-v5850[hidden]{display:none!important}.s2047-ut-card{width:min(760px,100%);max-height:min(78vh,720px);overflow:hidden;border:2px solid #ffe36c;border-radius:22px 22px 8px 8px;background:#071a2b;color:#fff;box-shadow:0 20px 70px #000c}.s2047-ut-card header{display:grid;grid-template-columns:58px 1fr 44px;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #ffffff2b;background:#0d2940}.s2047-ut-card h2{margin:2px 0 0;font-size:22px}.s2047-ut-card small{color:#9fe8ff;font-weight:800}.s2047-ut-card header button{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#071a2b;font-size:28px;cursor:pointer}.s2047-ut-portrait{display:grid;place-items:center;width:54px;height:54px;border:2px solid #ffe36c;border-radius:50%;background:#123b58;color:#ffe36c;font-size:19px;font-weight:900}.s2047-ut-history{max-height:34vh;overflow:auto;padding:14px;display:grid;gap:10px}.s2047-ut-line{max-width:88%;padding:10px 12px;border-radius:14px;background:#12334d}.s2047-ut-line.player{justify-self:end;background:#3d315b}.s2047-ut-line strong{display:block;color:#ffe36c;font-size:12px}.s2047-ut-line p{margin:3px 0 0;line-height:1.4}.s2047-ut-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 14px 16px;border-top:1px solid #ffffff22}.s2047-ut-choices button{min-height:50px;padding:10px 12px;border:1px solid #76dfff;border-radius:12px;background:#102d44;color:#fff;text-align:left;font-weight:800;cursor:pointer}.s2047-ut-choices button:hover,.s2047-ut-choices button:focus{outline:3px solid #ffe36c;background:#174766}@media(max-width:640px){#s2047-universal-talk-button-v5850{right:12px;bottom:98px;padding:10px 13px}.s2047-ut-choices{grid-template-columns:1fr}.s2047-ut-card{max-height:86vh}.s2047-ut-history{max-height:38vh}}


/* SOURCE: assets/css/popup-character-chat-v5860.css */
/* v5.86.0: replace all legacy speech systems with one typed popup chat. */
#s2047-dialogue,#s2047-dialogue-reply-tray,#s2047-dialogue-history-v5600,#s2047-universal-talk-v5850,#s2047-universal-talk-button-v5850,#s2047-character-talk-panel-v5820,#s2047-direct-talk-panel-v5830{display:none!important;visibility:hidden!important;pointer-events:none!important}
#s2047-popup-character-chat-v5860{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:16px;background:rgba(0,8,14,.64);backdrop-filter:blur(5px)}
#s2047-popup-character-chat-v5860[hidden]{display:none!important}.s2047-chat-card{width:min(700px,100%);max-height:min(760px,88vh);display:grid;grid-template-rows:auto minmax(180px,1fr) auto auto;overflow:hidden;color:#f7fbff;background:linear-gradient(180deg,#0b2d42,#061923);border:2px solid #7ed5ff;border-radius:22px;box-shadow:0 28px 100px rgba(0,0,0,.78)}
.s2047-chat-card header{display:grid;grid-template-columns:64px minmax(0,1fr) 48px;gap:13px;align-items:center;padding:15px 16px;background:#0d3650;border-bottom:1px solid rgba(126,213,255,.35)}.s2047-chat-avatar{width:60px;height:60px;display:grid;place-items:center;border-radius:16px;background:#153f58;border:2px solid #ffe177;font-size:1.15rem;font-weight:950}.s2047-chat-heading small{display:block;color:#9edfff;font-weight:850;letter-spacing:.12em}.s2047-chat-heading h2{margin:2px 0 0!important;color:#fff!important;font-size:1.35rem!important}.s2047-chat-card header button{width:46px;height:46px;padding:0!important;border-radius:13px!important;background:#173f55!important;color:#fff!important;border:1px solid #82d9ff!important;font-size:1.6rem!important}
.s2047-chat-log{min-height:220px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:11px;background:radial-gradient(circle at top,#0c3147,#061923 72%)}.s2047-chat-message{max-width:84%;padding:10px 13px;border-radius:15px}.s2047-chat-message strong{display:block;font-size:.76rem;margin-bottom:4px;opacity:.8}.s2047-chat-message p{margin:0!important;line-height:1.45}.s2047-chat-message.npc{align-self:flex-start;background:#16445e;border:1px solid rgba(126,213,255,.42)}.s2047-chat-message.player{align-self:flex-end;background:#5d4b12;border:1px solid #ffe177}.s2047-chat-message.player strong{text-align:right}
.s2047-chat-typing{display:flex;align-items:center;gap:5px;padding:7px 18px;color:#bfeaff;font-size:.82rem}.s2047-chat-typing[hidden]{display:none!important}.s2047-chat-typing span{width:7px;height:7px;border-radius:50%;background:currentColor;animation:s2047-chat-dot .9s infinite alternate}.s2047-chat-typing span:nth-child(2){animation-delay:.15s}.s2047-chat-typing span:nth-child(3){animation-delay:.3s}.s2047-chat-typing em{margin-left:5px}@keyframes s2047-chat-dot{to{transform:translateY(-5px);opacity:.5}}
.s2047-chat-card form{padding:13px 16px 17px;background:#0a293b;border-top:1px solid rgba(126,213,255,.25)}.s2047-chat-card form label{display:block;margin-bottom:7px;font-size:.8rem;font-weight:800;color:#bfeaff}.s2047-chat-card form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.s2047-chat-card input{width:100%;min-width:0;height:50px;padding:0 14px;border-radius:12px;border:2px solid #75ccee;background:#fff;color:#07131b;font-size:16px}.s2047-chat-card form button{min-width:92px;border-radius:12px!important;background:#ffe177!important;color:#171100!important;border:0!important;font-weight:950!important}
#s2047-popup-talk-button-v5860{position:fixed;z-index:2147482000;right:18px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 16px;border-radius:15px;background:#082d42;color:#fff;border:2px solid #ffe177;box-shadow:0 10px 30px rgba(0,0,0,.45);font-weight:900}#s2047-popup-talk-button-v5860 b{font-size:1.25rem}
.s2047-chat-open body{overflow:hidden}@media(max-width:720px){#s2047-popup-character-chat-v5860{padding:8px;align-items:end}.s2047-chat-card{max-height:82vh;border-radius:18px 18px 0 0}.s2047-chat-card header{grid-template-columns:52px minmax(0,1fr) 44px;padding:11px}.s2047-chat-avatar{width:48px;height:48px;border-radius:13px}.s2047-chat-log{min-height:180px;padding:12px}.s2047-chat-message{max-width:91%}.s2047-chat-card form{padding:10px}.s2047-chat-card form>div{grid-template-columns:minmax(0,1fr) 76px}.s2047-chat-card form button{min-width:0}#s2047-popup-talk-button-v5860{right:10px;bottom:calc(92px + env(safe-area-inset-bottom));min-height:48px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){.s2047-chat-typing span{animation:none}}


/* v5.86.2: one universal Talk button on desktop, tablet and mobile. */
#s2047-popup-talk-button-v5860,#s2047-desktop-talk-button-v5861{display:none!important}
#s2047-popup-talk-button-v5862{position:fixed!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;gap:9px!important;right:18px!important;bottom:18px!important;z-index:2147483647!important;min-width:126px!important;min-height:58px!important;padding:10px 18px!important;border:3px solid #ffe177!important;border-radius:16px!important;background:#082d42!important;color:#fff!important;box-shadow:0 12px 34px rgba(0,0,0,.62)!important;font:900 18px/1.1 system-ui,sans-serif!important;transform:none!important}
#s2047-popup-talk-button-v5862 b{font-size:25px!important}
@media(max-width:720px){#s2047-popup-talk-button-v5862{right:10px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important;min-width:108px!important;min-height:52px!important;padding:8px 14px!important}}

/* v5.86.3: collision-safe Talk control for every viewport. */
#s2047-popup-talk-button-v5862{
  position:fixed!important;
  top:var(--s2047-talk-top, max(82px, calc(env(safe-area-inset-top) + 70px)))!important;
  right:var(--s2047-talk-right, max(12px, env(safe-area-inset-right)))!important;
  bottom:auto!important;
  left:auto!important;
  z-index:2147483647!important;
  isolation:isolate!important;
  contain:layout style paint!important;
  transform:translate3d(0,0,0)!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
#s2047-popup-talk-button-v5862:focus-visible{outline:4px solid #fff!important;outline-offset:3px!important}
@media(max-width:720px){
  #s2047-popup-talk-button-v5862{
    top:var(--s2047-talk-top, max(72px, calc(env(safe-area-inset-top) + 62px)))!important;
    right:var(--s2047-talk-right, max(8px, env(safe-area-inset-right)))!important;
    bottom:auto!important;
    max-width:min(132px,calc(100vw - 24px))!important;
  }
}


/* v5.86.5: mobile Talk belongs to the action grid; expanded missions use the screen width. */
@media (max-width:720px), (pointer:coarse) {
  #s2047-mobile-labelled-actions > #s2047-popup-talk-button-v5862 {
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:52px!important;
    grid-column:1/-1!important;
    justify-content:center!important;
    margin:0!important;
    transform:none!important;
  }
  #s2047-mwo-hud.expanded {
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    overflow:visible!important;
  }
  #s2047-mwo-hud.expanded .s2047-mwo-list {
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    max-height:42vh!important;
    overflow-x:hidden!important;
  }
  #s2047-mwo-hud.expanded .s2047-mwo-list article {
    grid-template-columns:minmax(0,1fr) minmax(92px,auto)!important;
    width:100%!important;
  }
  #s2047-mwo-hud.expanded .s2047-mwo-list article>button:first-child {
    grid-template-columns:30px minmax(0,1fr)!important;
    min-width:0!important;
  }
  #s2047-mwo-hud.expanded .s2047-mwo-list b,
  #s2047-mwo-hud.expanded .s2047-mwo-list small {
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #s2047-mwo-hud.expanded .s2047-mwo-list article>button:last-child {
    min-width:92px!important;
    text-align:center!important;
    white-space:normal!important;
  }
}


/* v5.86.6: dependable touch activation and map-safe wide mobile missions. */
#s2047-popup-talk-button-v5862{touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}
@media (max-width:760px), (pointer:coarse) {
  #s2047-mobile-labelled-actions > #s2047-popup-talk-button-v5862{pointer-events:auto!important;cursor:pointer!important;position:relative!important;z-index:3!important}
  #s2047-mwo-hud.expanded{
    left:max(8px,env(safe-area-inset-left))!important;
    right:var(--s2047-mission-map-clearance,max(108px,calc(env(safe-area-inset-right) + 108px)))!important;
    width:auto!important;
    min-width:280px!important;
    max-width:none!important;
    transform:none!important;
  }
  #s2047-mwo-hud.expanded .s2047-mwo-list{left:0!important;right:0!important;width:auto!important;max-height:min(44vh,430px)!important}
  #s2047-mwo-hud.expanded .s2047-mwo-list article{grid-template-columns:minmax(0,1fr) 104px!important}
  #s2047-mwo-hud.expanded .s2047-mwo-list article>button:last-child{width:104px!important;min-width:104px!important}
}
@media (max-width:390px){#s2047-mwo-hud.expanded{min-width:0!important;right:var(--s2047-mission-map-clearance,92px)!important}}


/* v5.86.8: Talk is an independent fixed control, never nested in a potentially hidden action tray. */
#s2047-popup-talk-button-v5862{
 position:fixed!important;
 left:auto!important;
 top:auto!important;
 right:max(18px,env(safe-area-inset-right))!important;
 bottom:max(18px,env(safe-area-inset-bottom))!important;
 display:flex!important;
 visibility:visible!important;
 opacity:1!important;
 pointer-events:auto!important;
 z-index:2147483647!important;
 contain:none!important;
 isolation:isolate!important;
 touch-action:manipulation!important;
}
@media(max-width:760px),(pointer:coarse){
 #s2047-popup-talk-button-v5862,
 #s2047-mobile-labelled-actions > #s2047-popup-talk-button-v5862{
  position:fixed!important;
  left:auto!important;
  top:auto!important;
  right:max(10px,env(safe-area-inset-right))!important;
  bottom:max(104px,calc(env(safe-area-inset-bottom) + 104px))!important;
  width:auto!important;
  min-width:112px!important;
  max-width:calc(100vw - 24px)!important;
  grid-column:auto!important;
  margin:0!important;
 }
}


/* v5.88.6 selectable player replies in every character conversation. */
.s2047-chat-choice-replies-v5886{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px;background:#082436;border-top:1px solid rgba(126,213,255,.25)}
.s2047-chat-choice-replies-v5886>strong{grid-column:1/-1;color:#bfeaff;font-size:.84rem}
.s2047-chat-choice-replies-v5886 button{min-height:46px;padding:9px 12px!important;text-align:left!important;border:1px solid #65c8ef!important;border-radius:11px!important;background:#123c55!important;color:#fff!important;font-weight:850!important;line-height:1.25!important}
.s2047-chat-choice-replies-v5886 button:focus-visible,.s2047-chat-choice-replies-v5886 button:hover{outline:3px solid #ffe177!important;outline-offset:1px!important}
@media(max-width:720px){.s2047-chat-card{grid-template-rows:auto minmax(120px,1fr) auto auto auto}.s2047-chat-choice-replies-v5886{grid-template-columns:1fr;padding:9px 10px;max-height:190px;overflow:auto}.s2047-chat-choice-replies-v5886 button{min-height:42px!important;font-size:.88rem!important}}


/* SOURCE: assets/css/nearby-character-talk-popup-v5869.css */
/* Space 2047 HD v5.87.0 — correctly placed Talk control and multi-character chooser. */
#s2047-popup-talk-button-v5862,#s2047-universal-talk-button-v5850,#s2047-direct-talk-v5830{display:none!important;visibility:hidden!important;pointer-events:none!important}
.s2047-nearby-talk-action-v5869{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-width:0!important;min-height:58px!important;padding:10px 14px!important;border:2px solid #7897a8!important;border-radius:18px!important;background:#09293b!important;color:#fff!important;box-shadow:0 6px 18px rgba(0,0,0,.36)!important;font:900 17px/1.1 system-ui,sans-serif!important;touch-action:manipulation!important}
.s2047-nearby-talk-action-v5869 b{font-size:22px!important}.s2047-nearby-talk-action-v5869:active{transform:translateY(1px)!important}
.s2047-interior-action-panel .s2047-nearby-talk-action-v5869,#s2047-mobile-labelled-actions .s2047-nearby-talk-action-v5869{position:relative!important;inset:auto!important;width:100%!important;margin:0!important;z-index:2!important}
#s2047-nearby-talk-fallback-v5869{position:fixed!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px))!important;z-index:2147483000!important;min-width:122px!important}
#s2047-nearby-talk-chooser-v5869{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:16px;background:rgba(0,8,14,.7);backdrop-filter:blur(5px)}
#s2047-nearby-talk-chooser-v5869[hidden]{display:none!important}.s2047-nearby-talk-card{width:min(760px,100%);max-height:min(760px,88vh);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;color:#fff;background:linear-gradient(180deg,#112c3e,#071923);border:2px solid #7998aa;border-radius:22px;box-shadow:0 28px 100px rgba(0,0,0,.78)}
.s2047-nearby-talk-card>header{display:grid;grid-template-columns:58px minmax(0,1fr) 48px;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid rgba(160,205,230,.3);background:#102b3d}.s2047-nearby-talk-card>header>span{font-size:42px}.s2047-nearby-talk-card h2{margin:0!important;color:#fff!important;font-size:2rem!important}.s2047-nearby-talk-card header small{color:#9edfff;font-weight:850;letter-spacing:.1em}.s2047-nearby-talk-card header button{width:46px;height:46px;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:2.2rem!important}
.s2047-nearby-talk-instruction{margin:0!important;padding:18px 22px 10px;font-size:1.08rem}.s2047-nearby-talk-list{overflow:auto;padding:8px 22px 18px;display:grid;gap:12px}.s2047-nearby-talk-list>button{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;width:100%!important;padding:11px 14px!important;text-align:left!important;color:#fff!important;background:#102a3b!important;border:2px solid #405d6d!important;border-radius:16px!important}.s2047-nearby-talk-list>button:hover,.s2047-nearby-talk-list>button:focus-visible{border-color:#ffe177!important;background:#15384e!important}.s2047-nearby-talk-avatar{width:62px;height:62px;display:grid;place-items:center;border:2px solid #ffe177;border-radius:15px;background:#173f58;font-weight:950;font-size:1.15rem}.s2047-nearby-talk-copy{min-width:0;display:grid;gap:4px}.s2047-nearby-talk-copy strong{font-size:1.15rem}.s2047-nearby-talk-copy small{font-size:.95rem;color:#c4dfed}.s2047-nearby-talk-copy em{font-style:normal;color:#aebfca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s2047-nearby-talk-go{display:flex;align-items:center;gap:7px;padding:12px 17px;border:2px solid #79a1b7;border-radius:15px;background:#0c4969;font-size:1rem;white-space:nowrap}.s2047-nearby-talk-close-bottom{margin:0!important;padding:15px!important;border:0!important;border-top:1px solid rgba(160,205,230,.25)!important;background:#0b2332!important;color:#9edfff!important;font-weight:850!important}.s2047-nearby-talk-empty{padding:28px;text-align:center;border:1px dashed #648496;border-radius:15px;display:grid;gap:7px}.s2047-nearby-talk-open body{overflow:hidden}
@media(max-width:720px){#s2047-nearby-talk-chooser-v5869{padding:8px;align-items:end}.s2047-nearby-talk-card{max-height:86vh;border-radius:18px 18px 0 0}.s2047-nearby-talk-card>header{grid-template-columns:46px minmax(0,1fr) 42px;padding:11px 13px}.s2047-nearby-talk-card>header>span{font-size:31px}.s2047-nearby-talk-card h2{font-size:1.55rem!important}.s2047-nearby-talk-instruction{padding:14px 14px 7px}.s2047-nearby-talk-list{padding:7px 12px 14px}.s2047-nearby-talk-list>button{grid-template-columns:54px minmax(0,1fr) 76px!important;gap:9px!important;padding:9px!important}.s2047-nearby-talk-avatar{width:50px;height:50px}.s2047-nearby-talk-copy em{font-size:.8rem}.s2047-nearby-talk-go{justify-content:center;padding:10px 8px}.s2047-nearby-talk-go b{font-size:.93rem}.s2047-interior-action-panel .s2047-nearby-talk-action-v5869,#s2047-mobile-labelled-actions .s2047-nearby-talk-action-v5869{min-height:54px!important;font-size:16px!important}}


/* SOURCE: assets/css/talk-popup-v5880.css */
/* Space 2047 HD v5.88.0 — single global Talk launcher and popup. */
#s2047-talk-button-v5880{
 position:fixed!important;right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;
 z-index:2147483646!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
 align-items:center!important;justify-content:center!important;gap:9px!important;min-width:126px!important;min-height:58px!important;
 padding:10px 18px!important;border:3px solid #ffe177!important;border-radius:16px!important;background:#082d42!important;color:#fff!important;
 box-shadow:0 12px 34px rgba(0,0,0,.62)!important;font:900 18px/1.1 system-ui,sans-serif!important;cursor:pointer!important;transform:none!important;
}
#s2047-talk-button-v5880:focus-visible{outline:4px solid #fff!important;outline-offset:3px!important}
#s2047-talk-popup-v5880{position:fixed!important;inset:0!important;z-index:2147483647!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(0,6,13,.76)!important;pointer-events:auto!important}
#s2047-talk-popup-v5880.s2047-show{display:flex!important}
#s2047-talk-popup-v5880 .s2047-talk-card{width:min(560px,100%)!important;max-height:min(82vh,720px)!important;overflow:auto!important;border:3px solid #ffe177!important;border-radius:20px!important;background:#071f30!important;color:#fff!important;box-shadow:0 24px 80px rgba(0,0,0,.75)!important;padding:18px!important}
#s2047-talk-popup-v5880 header{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:12px!important}
#s2047-talk-popup-v5880 h2{margin:0!important;font:900 clamp(23px,5vw,32px)/1.1 system-ui,sans-serif!important}
#s2047-talk-popup-v5880 .s2047-talk-close{margin-left:auto!important;width:46px!important;height:46px!important;border:2px solid #fff!important;border-radius:50%!important;background:#9c1c2c!important;color:#fff!important;font:900 28px/1 system-ui,sans-serif!important;cursor:pointer!important}
#s2047-talk-popup-v5880 p{margin:0 0 14px!important;color:#d9f0ff!important}
#s2047-talk-list-v5880{display:grid!important;gap:10px!important}
#s2047-talk-list-v5880 button{width:100%!important;display:flex!important;align-items:center!important;gap:12px!important;text-align:left!important;padding:13px!important;border:2px solid #4ec8ff!important;border-radius:14px!important;background:#0d3850!important;color:#fff!important;cursor:pointer!important}
#s2047-talk-list-v5880 button:hover,#s2047-talk-list-v5880 button:focus-visible{background:#14506f!important;outline:3px solid #ffe177!important}
#s2047-talk-list-v5880 strong{display:block!important;font-size:18px!important}#s2047-talk-list-v5880 small{display:block!important;color:#cdefff!important;margin-top:2px!important}
#s2047-talk-list-v5880 .s2047-avatar{display:grid!important;place-items:center!important;flex:0 0 46px!important;height:46px!important;border-radius:50%!important;background:#ffe177!important;color:#052033!important;font-weight:900!important}
/* Retire every earlier Talk launcher while preserving the v5.86 conversation window. */
#s2047-popup-talk-button-v5862,#s2047-nearby-talk-fallback-v5869,.s2047-nearby-talk-action-v5869,#s2047-universal-talk-button-v5850,#s2047-direct-talk-v5830{display:none!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:600px){#s2047-talk-button-v5880{right:12px!important;bottom:12px!important;min-width:112px!important;min-height:54px!important}#s2047-talk-popup-v5880{padding:10px!important;align-items:flex-end!important}#s2047-talk-popup-v5880 .s2047-talk-card{max-height:88vh!important;border-radius:18px 18px 8px 8px!important}}
/* v5.88.1: dedicated building Talk control and proximity-only chooser. */
.s2047-talk-inside-building #s2047-talk-button-v5880{display:none!important}
#s2047-isometric-interior .s2047-interior-action-panel .s2047-interior-talk-v5881{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;justify-content:center!important;gap:6px!important;border:2px solid #ffe177!important;background:#08344d!important;color:#fff!important;font-weight:900!important}
#s2047-isometric-interior .s2047-interior-action-panel .s2047-interior-talk-v5881 b{font-size:20px!important}
#s2047-talk-list-v5880 .s2047-talk-empty{display:grid!important;gap:7px!important;padding:18px!important;border:2px dashed #6fd8ff!important;border-radius:14px!important;background:#0b3046!important;color:#fff!important;text-align:center!important}
#s2047-talk-list-v5880 .s2047-talk-empty span{color:#cdefff!important}

/* v5.88.2: reliable nearby building conversations and unobscured action placement. */
#s2047-isometric-interior .s2047-interior-action-panel .s2047-interior-talk-v5881{
 grid-column:1/-1!important;order:90!important;width:100%!important;min-width:0!important;min-height:50px!important;
 position:relative!important;inset:auto!important;overflow:visible!important;clip:auto!important;z-index:2147483000!important;
 box-shadow:0 7px 22px rgba(0,0,0,.58)!important;touch-action:manipulation!important;
}
#s2047-isometric-interior .s2047-interior-action-panel .s2047-interior-talk-v5881 span{display:inline!important;white-space:normal!important;overflow:visible!important}
@media(max-width:600px){
 #s2047-isometric-interior .s2047-interior-action-panel .s2047-interior-talk-v5881{min-height:46px!important;padding:7px 10px!important;font-size:13px!important}
 #s2047-isometric-interior .s2047-interior-action-panel .s2047-interior-talk-v5881 b{display:grid!important;flex:0 0 27px!important;width:27px!important;height:27px!important;font-size:17px!important}
}


/* SOURCE: assets/css/universal-live-talk-v5890.css */
#s2047-talk-button-v5880,#s2047-popup-talk-button-v5862,#s2047-nearby-talk-fallback-v5869,.s2047-nearby-talk-action-v5869,[data-s2047-interior-talk]{display:none!important}
#s2047-talk-button-v5890{position:fixed!important;left:50%!important;right:auto!important;top:max(78px,calc(env(safe-area-inset-top) + 68px))!important;bottom:auto!important;transform:translateX(-50%)!important;z-index:2147483647!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:126px!important;min-height:56px!important;padding:10px 18px!important;margin:0!important;border:3px solid #ffe177!important;border-radius:18px!important;background:#082b40!important;color:#fff!important;font:900 18px/1 system-ui,sans-serif!important;box-shadow:0 8px 24px #000c!important;isolation:isolate!important;touch-action:manipulation!important}
#s2047-talk-button-v5890 b{font-size:24px}#s2047-talk-button-v5890:hover,#s2047-talk-button-v5890:focus-visible{background:#0d405c!important;border-color:#fff3a8!important;outline:3px solid #fff!important;outline-offset:3px!important}
#s2047-universal-dialog-v5894{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:14px;background:#00101dcc;backdrop-filter:blur(5px)}#s2047-universal-dialog-v5894[hidden]{display:none!important}.s2047-universal-dialog-card{width:min(720px,100%);max-height:88vh;display:grid;grid-template-rows:auto minmax(150px,1fr) auto;overflow:hidden;border:2px solid #7ed5ff;border-radius:22px;background:#071e2b;color:#fff;box-shadow:0 30px 100px #000c}.s2047-universal-dialog-card header{display:grid;grid-template-columns:60px minmax(0,1fr) 48px;align-items:center;gap:12px;padding:15px 18px;background:#102e40}.s2047-universal-dialog-card h2{margin:2px 0 0!important;color:#fff!important}.s2047-universal-dialog-card header small{color:#9edfff;font-weight:900;letter-spacing:.1em}.s2047-universal-dialog-card header button{width:46px;height:46px;border:1px solid #82d9ff!important;border-radius:13px!important;background:#173f55!important;color:#fff!important;font-size:30px!important}.s2047-universal-avatar{width:56px;height:56px;display:grid;place-items:center;border:2px solid #ffe177;border-radius:15px;background:#17455f;font-weight:950}.s2047-universal-log{overflow:auto;padding:16px;display:grid;align-content:start;gap:10px}.s2047-universal-message{max-width:86%;padding:10px 12px;border-radius:14px;background:#12384e}.s2047-universal-message.player{justify-self:end;background:#51430d}.s2047-universal-message strong{display:block;margin-bottom:3px;color:#ffe177}.s2047-universal-message p{margin:0}.s2047-universal-replies{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:12px 16px!important;background:#082436!important;border-top:1px solid rgba(126,213,255,.3)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.s2047-universal-replies>strong{grid-column:1/-1;color:#c9edff}.s2047-universal-replies button{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;min-height:48px!important;padding:10px 13px!important;text-align:left!important;border:2px solid #65c8ef!important;border-radius:11px!important;background:#123c55!important;color:#fff!important;font-weight:900!important}.s2047-universal-replies button:hover,.s2047-universal-replies button:focus-visible{outline:3px solid #ffe177!important;outline-offset:1px!important}#s2047-talk-notice-v5894{position:fixed;left:50%;bottom:max(84px,calc(env(safe-area-inset-bottom) + 80px));transform:translateX(-50%);z-index:2147483647;width:min(520px,calc(100vw - 28px));padding:13px 17px;border:2px solid #ffe177;border-radius:14px;background:#071f30;color:#fff;box-shadow:0 16px 50px #000c;text-align:center;font:800 15px/1.35 system-ui,sans-serif}#s2047-talk-notice-v5894[hidden]{display:none!important}.s2047-universal-talk-open body{overflow:hidden}
@media(max-width:720px){#s2047-talk-button-v5890{top:max(74px,calc(env(safe-area-inset-top) + 64px))!important;bottom:auto!important;min-width:116px!important;min-height:52px!important;padding:8px 15px!important;font-size:16px!important}#s2047-universal-dialog-v5894{align-items:end;padding:6px}.s2047-universal-dialog-card{max-height:86vh;border-radius:18px 18px 0 0;grid-template-rows:auto minmax(120px,1fr) auto}.s2047-universal-replies{grid-template-columns:1fr!important;max-height:230px!important;overflow:auto!important;padding:9px 10px!important}.s2047-universal-replies button{min-height:44px!important;font-size:.92rem!important}}
/* v5.89.6 — align Talk with the top menu row and add reply scrolling controls. */
#s2047-talk-button-v5890{top:max(18px,env(safe-area-inset-top))!important;bottom:auto!important}
.s2047-reply-scroller{display:grid;grid-template-rows:44px minmax(120px,240px) 44px;min-height:0;background:#082436;border-top:1px solid rgba(126,213,255,.3)}
.s2047-reply-arrow{display:grid!important;place-items:center!important;width:100%!important;min-height:42px!important;margin:0!important;border:0!important;border-radius:0!important;background:#123f58!important;color:#ffe177!important;font:950 24px/1 system-ui,sans-serif!important;cursor:pointer!important;touch-action:manipulation!important}
.s2047-reply-arrow:hover,.s2047-reply-arrow:focus-visible{background:#195677!important;outline:3px solid #ffe177!important;outline-offset:-3px!important}
.s2047-universal-replies{display:grid!important;grid-template-columns:1fr!important;align-content:start!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain!important;scroll-behavior:smooth!important;padding:10px 14px!important}
@media(max-width:720px){#s2047-talk-button-v5890{top:max(14px,env(safe-area-inset-top))!important}.s2047-reply-scroller{grid-template-rows:42px minmax(116px,220px) 42px}.s2047-universal-dialog-card{max-height:90vh}}

/* v5.90.7 — mobile interior Talk safe zone.
   Outdoors the control remains centred between Menu and Options.
   Inside buildings it becomes a compact header control at the far left,
   using the header's reserved padding so it cannot cover titles, close,
   characters, canvas interactions, or the bottom movement/action trays. */
@media (max-width:720px){
  html.s2047-interior-open #s2047-talk-button-v5890{
    position:fixed!important;
    left:max(14px,calc(env(safe-area-inset-left) + 10px))!important;
    right:auto!important;
    top:max(10px,calc(env(safe-area-inset-top) + 6px))!important;
    bottom:auto!important;
    transform:none!important;
    min-width:88px!important;
    width:88px!important;
    min-height:42px!important;
    height:42px!important;
    padding:5px 9px!important;
    gap:6px!important;
    border-width:2px!important;
    border-radius:13px!important;
    font-size:14px!important;
    line-height:1!important;
    box-shadow:0 4px 12px rgba(0,0,0,.62)!important;
  }
  html.s2047-interior-open #s2047-talk-button-v5890 b{
    font-size:19px!important;
  }
}
@media (max-width:390px){
  html.s2047-interior-open #s2047-talk-button-v5890{
    left:max(10px,calc(env(safe-area-inset-left) + 7px))!important;
    min-width:78px!important;
    width:78px!important;
    padding:4px 7px!important;
    font-size:13px!important;
  }
}


/* SOURCE: assets/css/building-services-v5917.css */
#s2047-building-services{position:fixed;z-index:2147483000;inset:72px 14px auto auto;width:min(440px,calc(100vw - 28px));max-height:calc(100vh - 150px);overflow:auto;border:2px solid #71e8ff;border-radius:18px;background:rgba(3,13,25,.97);color:#fff;box-shadow:0 18px 65px rgba(0,0,0,.75);padding:14px}#s2047-building-services[hidden]{display:none!important}#s2047-building-services header{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border-bottom:1px solid rgba(113,232,255,.35);padding-bottom:10px}#s2047-building-services h3{margin:2px 0;color:#fff;font-size:1.18rem}#s2047-building-services header small{color:#71e8ff;letter-spacing:.12em;font-weight:800}#s2047-building-services header button{border:0;background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer}.s2047-service-balance{padding:7px 10px;border:1px solid #ffd84d;border-radius:999px;color:#ffd84d;white-space:nowrap}.s2047-service-status{display:grid;gap:4px;margin:12px 0;padding:11px;border-radius:12px;background:rgba(113,232,255,.09);border:1px solid rgba(113,232,255,.25)}.s2047-service-status span{opacity:.85}.s2047-service-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.s2047-service-actions button{min-height:52px;border:1px solid #71e8ff;border-radius:12px;background:#10384b;color:#fff;padding:9px;font-weight:750;cursor:pointer}.s2047-service-actions button.secondary{background:#172635;border-color:#71879a}.s2047-service-log{display:grid;gap:7px;margin-top:12px}.s2047-service-line{display:grid;gap:2px;padding:9px;border-left:4px solid #71e8ff;background:rgba(255,255,255,.06);border-radius:5px 10px 10px 5px}.s2047-service-line strong{color:#71e8ff}.s2047-service-line.good{border-color:#63ef9a}.s2047-service-line.good strong{color:#63ef9a}.s2047-service-line.warn{border-color:#ffd84d}.s2047-service-line.bad,.s2047-service-line.eric{border-color:#ff6b6b}.s2047-service-line.eric strong{color:#ff8585}.s2047-service-line.potato{border-color:#d8a85a}.s2047-service-line.potato strong{color:#f0c878}@media(max-width:620px){#s2047-building-services{inset:58px 8px auto 8px;width:auto;max-height:calc(100vh - 128px);padding:11px}.s2047-service-actions{grid-template-columns:1fr}#s2047-building-services header{grid-template-columns:1fr auto auto}.s2047-service-actions button{min-height:48px}}


/* SOURCE: assets/css/universe-work-system-v5918.css */
#s2047-universe-work-button{position:fixed;right:18px;bottom:92px;z-index:99991;display:flex;gap:8px;align-items:center;padding:11px 15px;border:2px solid #ffe16a;border-radius:999px;background:#10263b;color:#fff;font-weight:800;box-shadow:0 8px 28px #0009}#s2047-universe-work-button[hidden]{display:none!important}#s2047-universe-work-button b{color:#ffe16a;font-size:20px}#s2047-work-panel{position:fixed;right:18px;top:76px;width:min(390px,calc(100vw - 24px));max-height:calc(100vh - 96px);overflow:auto;z-index:100050;border:2px solid #f6d55c;border-radius:16px;background:linear-gradient(180deg,#10283d,#071521);color:#f8fbff;box-shadow:0 22px 70px #000c}#s2047-work-panel[hidden]{display:none}#s2047-work-panel header{position:sticky;top:0;display:flex;align-items:center;gap:10px;padding:14px;background:#0b2032;border-bottom:1px solid #ffffff24;z-index:2}#s2047-work-panel header div{flex:1}#s2047-work-panel header small,.s2047-job-card small,.s2047-work-task small{color:#f6d55c;font-weight:800;letter-spacing:.08em}#s2047-work-panel h3,#s2047-work-panel h4{margin:2px 0}#s2047-work-panel header button{width:38px;height:38px;border:0;border-radius:50%;font-size:24px}.s2047-work-body{padding:14px}.s2047-work-status,.s2047-job-card,.s2047-work-task{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid #ffffff24;border-radius:12px;background:#ffffff0c;margin-bottom:12px}.s2047-job-card dl{display:flex;gap:10px;margin:8px 0}.s2047-job-card dl div{flex:1;padding:8px;border-radius:8px;background:#0003}.s2047-job-card dt{font-size:12px;opacity:.72}.s2047-job-card dd{margin:2px 0;font-weight:800}.s2047-work-body button{width:100%;padding:11px;border:0;border-radius:9px;background:#f6d55c;color:#102030;font-weight:900;cursor:pointer}.s2047-work-body button.secondary{margin-top:8px;background:#ffffff18;color:#fff;border:1px solid #ffffff2b}.s2047-work-progress{height:10px;border-radius:8px;background:#0006;overflow:hidden;margin:10px 0}.s2047-work-progress span{display:block;height:100%;background:#f6d55c}.s2047-work-task.complete{border-color:#72e49b}.s2047-work-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:100100;display:flex;flex-direction:column;gap:3px;max-width:min(480px,90vw);padding:12px 16px;border:2px solid #f6d55c;border-radius:12px;background:#071521;color:#fff;box-shadow:0 12px 42px #000b}.s2047-work-toast b{color:#f6d55c}@media(max-width:700px){#s2047-work-panel{top:58px;right:8px;max-height:calc(100vh - 70px)}#s2047-universe-work-button{right:10px;bottom:150px}}

/* v5.93.0: place Work inside the mobile action grid so it matches and sits above the other actions. */
@media(max-width:899px){#s2047-mobile-labelled-actions>#s2047-universe-work-button{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important;display:flex!important;width:100%!important;min-width:0!important;min-height:52px!important;padding:8px 10px!important;border:2px solid rgba(224,239,255,.72)!important;border-radius:18px!important;background:rgba(5,24,34,.92)!important;color:#fff!important;box-shadow:0 5px 16px rgba(0,0,0,.42)!important;font-size:13px!important;font-weight:800!important;line-height:1.1!important;text-align:left!important;justify-content:flex-start!important;gap:8px!important;grid-column:1 / -1!important}#s2047-mobile-labelled-actions>#s2047-universe-work-button b{display:grid!important;place-items:center!important;flex:0 0 29px!important;width:29px!important;height:29px!important;border-radius:50%!important;background:rgba(255,216,77,.16)!important;color:#ffd84d!important;font-size:19px!important}}


/* SOURCE: assets/css/object-use-popup-v5919.css */
#s2047-object-use-popup{position:fixed;z-index:2147483646;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 30px));overflow:auto;border:2px solid #70dcff;border-radius:18px;background:linear-gradient(165deg,rgba(3,18,31,.98),rgba(8,35,49,.98));box-shadow:0 24px 80px #000,0 0 32px rgba(75,211,255,.28);color:#effcff;font:700 15px/1.35 Arial,sans-serif;padding:0}
#s2047-object-use-popup[hidden]{display:none!important}#s2047-object-use-popup header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:rgba(2,14,25,.98);border-bottom:1px solid rgba(112,220,255,.35)}#s2047-object-use-popup header small{display:block;color:#80e7ff;letter-spacing:.14em;font-size:10px}#s2047-object-use-popup h3{margin:2px 0 0;font-size:23px}#s2047-object-use-popup [data-close]{width:42px;height:42px;border:1px solid #70dcff;border-radius:50%;background:#102b3b;color:#fff;font-size:27px}.s2047-object-summary{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}.s2047-object-summary>*{padding:6px 10px;border-radius:999px;background:rgba(91,209,244,.12);border:1px solid rgba(112,220,255,.25)}.s2047-object-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 18px}.s2047-object-options button{min-height:68px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #70dcff;border-radius:13px;background:linear-gradient(145deg,#12384a,#0a2534);color:#fff;padding:11px 13px;font:800 14px Arial}.s2047-object-options button:active{transform:translateY(1px)}.s2047-object-options button b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:#75daf7;color:#06202d;font-size:19px}@media(max-width:520px){#s2047-object-use-popup{top:auto;bottom:12px;transform:translateX(-50%);max-height:72vh}.s2047-object-options{grid-template-columns:1fr 1fr}}
/* v5.92.1 unified object interaction feedback */
#s2047-interior-canvas.s2047-object-hover{cursor:pointer}
#s2047-object-use-popup .s2047-object-help{margin:0;padding:0 16px 14px;color:#cfeaf3;font-weight:600}
#s2047-object-use-popup .s2047-object-options button span{display:flex;flex-direction:column;gap:3px}
#s2047-object-use-popup .s2047-object-options button strong{font:800 14px Arial,sans-serif}
#s2047-object-use-popup .s2047-object-options button small{color:#b9d9e4;font:600 11px/1.25 Arial,sans-serif}
[data-object-name],[data-interactable="true"],[data-object-actions]{cursor:pointer}

/* v5.92.5 mobile checkout touch repair */
#s2047-object-use-popup{pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#s2047-object-use-popup *{pointer-events:auto}
#s2047-object-use-popup .s2047-object-options button,#s2047-object-use-popup [data-close]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
@media(max-width:520px){#s2047-object-use-popup{bottom:max(12px,env(safe-area-inset-bottom));max-height:78dvh}.s2047-object-options button{min-height:76px;font-size:16px}}


/* SOURCE: assets/css/robot-police-prison-v5945.css */
.s2047-police-alert,.s2047-prison{position:fixed;inset:0;z-index:2147483000;background:rgba(2,7,14,.93);display:grid;place-items:center;padding:16px;color:#fff;font-family:system-ui,sans-serif}.s2047-police-card{width:min(560px,100%);background:#102436;border:2px solid #ffda55;border-radius:18px;padding:24px;box-shadow:0 18px 60px #000}.s2047-police-card h2{margin:0 0 12px;color:#ffda55}.s2047-police-card p{line-height:1.5}.s2047-police-actions,.s2047-prison nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.s2047-police-actions button,.s2047-prison button{min-height:48px;border:1px solid #7be6ff;border-radius:12px;background:#17384e;color:#fff;font-weight:800;padding:10px;cursor:pointer}.s2047-police-actions button:focus,.s2047-prison button:focus{outline:3px solid #ffda55;outline-offset:2px}.s2047-prison-room{width:min(820px,100%);max-height:calc(100vh - 24px);overflow:auto;background:#101b24;border:2px solid #8bdfff;border-radius:18px;padding:16px}.s2047-prison-room header{display:flex;justify-content:space-between;gap:16px;align-items:center}.s2047-prison-room h2{margin:2px 0 8px}.s2047-prison-room small{opacity:.78}.s2047-prison-clock{text-align:center;background:#07121b;border:1px solid #ffda55;border-radius:12px;padding:8px 14px}.s2047-prison-clock b{display:block;font-size:2rem;color:#ffda55}.s2047-prison-clock span{font-size:.78rem}.s2047-prison-scene{position:relative;height:300px;margin:12px 0;border-radius:14px;overflow:hidden;background:linear-gradient(#273b48 0 62%,#493f34 62%);border:1px solid #637986}.s2047-bars{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 48px,#a8b3b8 49px 56px);pointer-events:none}.s2047-guard{position:absolute;right:24px;top:68px;font-size:64px;text-align:center}.s2047-guard span{display:block;font-size:11px}.s2047-prisoners{position:absolute;left:42px;bottom:56px;display:flex;gap:28px;font-size:54px}.s2047-prison-scene [data-prison-floor]{position:absolute;left:40%;bottom:18px;background:#55452f;border-color:#c99f5d;transform:skewX(-8deg)}.s2047-prison-status{background:#07121b;border-radius:12px;padding:10px 14px;margin-bottom:12px}.s2047-prison-status p{margin:6px 0}.s2047-prison-toast{position:fixed;left:50%;bottom:24px;z-index:2147483640;transform:translate(-50%,30px);opacity:0;max-width:min(620px,calc(100% - 24px));background:#07121b;color:#fff;border:2px solid #ffda55;border-radius:12px;padding:12px 16px;text-align:center;font-weight:700;transition:.2s}.s2047-prison-toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:600px){.s2047-prison-room header{align-items:flex-start}.s2047-prison-scene{height:240px}.s2047-prisoners{left:18px;gap:8px;font-size:42px}.s2047-guard{right:10px;font-size:48px}.s2047-prison nav{grid-template-columns:1fr 1fr}.s2047-prison-room{padding:12px}}


/* SOURCE: assets/css/restored-working-interface-v604.css */
/* Space 2047 HD Edition v6.0.4
   Restores the last known working HUD arrangement without replacing the game runtime. */
html,body{width:100%;height:100%;min-height:100%;overflow:hidden!important}
#s2047-app,.s2047-app,#s2047-game-shell{min-height:100dvh!important;height:100dvh!important}
#s2047-canvas{display:block!important;visibility:visible!important;opacity:1!important;max-width:none!important;max-height:none!important}
/* Keep the established Options launcher and Local Map visible. */
#s2047-main-options-shell-v5300{display:block!important;visibility:visible!important;opacity:1!important}
#s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.s2047-minimap-wrap,#s2047-minimap-wrap{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
/* Preserve the original labelled action controls and movement controller. */
#s2047-mobile-labelled-actions,.s2047-mobile-labelled-actions,.s2047-action-controls{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.s2047-move-pad,.s2047-touch-pad,#s2047-touch-pad,#s2047-movement-pad{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
/* Prevent later clean-HUD remnants from hiding the proven interface. */
.s2047-clean-hud-menu,.s2047-clean-hud-launcher,[data-s2047-clean-hud]{display:none!important}
@media(max-width:760px){
  #s2047-app,.s2047-app,#s2047-game-shell{height:100svh!important;min-height:100svh!important}
  #s2047-main-options-shell-v5300 .s2047-main-options-toggle-v5300{top:max(8px,env(safe-area-inset-top))!important;right:max(8px,env(safe-area-inset-right))!important}
  .s2047-minimap-wrap,#s2047-minimap-wrap{top:max(8px,env(safe-area-inset-top))!important;right:max(78px,calc(env(safe-area-inset-right) + 78px))!important}
}


/* SOURCE: assets/css/mobile-viewport-loading-repair-v605.css */
/* Space 2047 HD v6.0.5 — mobile visual viewport and control visibility repair. */
:root{--s2047-vv-height:100dvh;--s2047-vv-width:100vw;--s2047-vv-top:0px;--s2047-vv-left:0px}
html,body{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none!important}
body.s2047-hd-body{position:fixed!important;inset:0!important;width:100%!important;height:var(--s2047-vv-height)!important;min-height:0!important}
#s2047-game,.s2047-game{position:fixed!important;left:var(--s2047-vv-left)!important;top:var(--s2047-vv-top)!important;right:auto!important;bottom:auto!important;width:var(--s2047-vv-width)!important;height:var(--s2047-vv-height)!important;min-height:0!important;max-height:var(--s2047-vv-height)!important;overflow:hidden!important}
#s2047-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
/* The universe work launcher was introduced after the preferred screen setup. */
#s2047-universe-work-button{display:none!important}
@media(max-width:899px),(pointer:coarse){
  .s2047-hud{top:8px!important;left:8px!important;right:8px!important;gap:6px!important}
  .s2047-title-card{max-width:48vw!important;padding:6px 8px!important;border-radius:10px!important}
  .s2047-title-card small{font-size:9px!important;line-height:1.15!important}
  .s2047-actions{max-width:48vw!important;gap:4px!important}
  .s2047-actions button{min-width:36px!important;min-height:34px!important;padding:0 7px!important;font-size:11px!important}
  #s2047-minimap-wrap,.s2047-minimap-wrap{top:68px!important;right:8px!important;width:112px!important;padding:6px!important;border-radius:12px!important}
  #s2047-minimap-wrap canvas,.s2047-minimap-wrap canvas{width:100px!important;height:100px!important}
  .s2047-minimap-wrap span{font-size:9px!important;padding-top:3px!important}
  .s2047-joystick-zone{display:grid!important;visibility:visible!important;opacity:1!important;left:4px!important;bottom:max(6px,env(safe-area-inset-bottom))!important;width:142px!important;height:142px!important;z-index:2147482000!important}
  .s2047-action-cluster{display:none!important}
  #s2047-mobile-labelled-actions{display:grid!important;visibility:visible!important;opacity:1!important;right:6px!important;bottom:max(6px,env(safe-area-inset-bottom))!important;width:min(220px,55vw)!important;gap:6px!important;z-index:2147482500!important}
  #s2047-mobile-labelled-actions .s2047-labelled-action{min-height:42px!important;padding:5px 7px!important;border-radius:13px!important;font-size:11px!important}
  #s2047-mobile-labelled-actions .s2047-labelled-action b{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:15px!important}
  .s2047-status{left:150px!important;right:8px!important;bottom:calc(max(6px,env(safe-area-inset-bottom)) + 102px)!important;transform:none!important;max-width:none!important;padding:5px 8px!important;font-size:10px!important;white-space:normal!important;line-height:1.2!important}
  .s2047-dialogue{bottom:156px!important;max-height:calc(var(--s2047-vv-height) - 190px)!important;overflow:auto!important}
}
@media(max-width:390px){
  #s2047-minimap-wrap,.s2047-minimap-wrap{width:96px!important}
  #s2047-minimap-wrap canvas,.s2047-minimap-wrap canvas{width:84px!important;height:84px!important}
  .s2047-joystick-zone{width:128px!important;height:128px!important}
  #s2047-mobile-labelled-actions{width:min(204px,56vw)!important}
}



/* v6.3.3 — centre controller button fires the selected character laser. */
.s2047-reference-dpad-centre[data-action="laser"]{
  background:radial-gradient(circle at 35% 28%,#fff6a8 0,#ffd63e 24%,#e63b22 62%,#701008 100%)!important;
  color:#171000!important;font-size:clamp(18px,3.8vw,28px)!important;font-weight:950!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55);box-shadow:0 0 0 2px rgba(255,225,90,.72),0 0 18px rgba(255,74,37,.78),inset 0 2px 5px rgba(255,255,255,.55)!important;
}
.s2047-reference-dpad-centre[data-action="laser"]:active{transform:scale(.92)!important;filter:brightness(1.25)}
