/*
Theme Name: Space 2047 HD Edition
Theme URI: https://space2047.com/
Author: Benjamin Arthur Robinson
Description: Playable 2:1 isometric Nouala vertical slice with virtual analogue controls, multitouch actions and rebuilt ten-world isometric adventure foundation with responsive controls, world navigation, multiple save slots, autosave, minimap, living NPCs, credits, shops, usable food, energy, achievements and extended quest gameplay, planetary scanning and optional mission-board contracts, crew companions and faction reputation progression, crafting and selectable equipment loadouts a persistent Space 2047 Field Guide, saved navigation waypoints, and a persistent Explorer Camera photo journal, Nouala Museum collection, and searchable Space 2047 Encyclopedia, and a persistent Captain’s Expedition Log, guided cross-world Relic Hunts, a persistent ten-world Explorer Passport, and offline-progress Crew Expeditions, a Captain’s Trophy Gallery, a Galactic Completion Board, and an interactive Nouala District Event Calendar with a seasonal festival countdown, Festival Plaza navigation, and wearable festival keepsake displays a persistent Festival Hall of Fame, a personal Festival Memory Book, and a Festival Memory Curator reward.
Version: 3.39.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: space2047-hd
*/

: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 */
