:root[data-appearance="dark"] {
  color-scheme: dark;
  --ground: #1b1e1d;
  --surface: #292e2b;
  --ink: #e3e7f0;
  --ink-2: #c7cddb;
  --ink-muted: #aab0bc;
  --prototype-accent: #c9d0df;
  --dark-field: #222724;
  --dark-raised: #333a35;
  --dark-border: #ffffff26;
  --dark-glass: #292e2bf2;
  --dark-shadow: 0 14px 40px -20px #000a;
  --dark-selected: #333a4a;
  background: var(--ground);
}

[data-appearance="light"] { color-scheme: light; }

[data-appearance="dark"] :is(body, .v-application) { color: var(--ink); }

[data-appearance="dark"] :is(button, a, input, select, textarea, summary):focus-visible {
  outline-color: var(--prototype-accent) !important;
}

[data-appearance="dark"] .brand-mark { filter: invert(1); }

[data-appearance="dark"] :is(
  .glass, .smoke, .app-header, .page-loader-centre, .scene-unavailable,
  .creation-guide, .centered-creator > .creation-guide.icon-start-panel,
  .centered-creator > .creation-guide.imagine-dock, .creation-context-card,
  .ambient-environment > .environment-controls, .world-story-start > .world-story-form,
  .demo-transport, .demo-narrative, .story-filter-menu, .preview-card-info,
  .demo-launch-card .demo-card-copy, .story-preview-caption,
  .world-map-error, .world-map-tools, .world-placement-caption
) {
  background: var(--dark-glass);
  border-color: var(--dark-border);
  box-shadow: var(--dark-shadow);
  color: var(--ink);
}

[data-appearance="dark"] :is(.profile-dropdown.v-list, .dialog-card) {
  background: var(--surface) !important;
  border-color: var(--dark-border);
  box-shadow: var(--dark-shadow) !important;
  color: var(--ink);
}

[data-appearance="dark"] .v-overlay__scrim { background: #0e100f !important; }
[data-appearance="dark"] .v-tooltip > .v-overlay__content {
  background: var(--dark-raised);
  border-color: var(--dark-border);
  color: var(--ink);
}

[data-appearance="dark"] :is(
  .app-header nav > a, .app-footer, .subtext, .local-note, .eyebrow,
  .portal-title > p:not(.eyebrow):not(.local-note), .story-intention, .intro,
  .form-footer p, .story-filter-menu :is(label, footer > span),
  .profile-menu-heading span, .account-heading > p:last-child,
  .profile-identity p, .preference-row p, .duration-setting span, .account-description,
  .step-select > span:last-child, .timeline-moment p, .source-footer span,
  .agent-panel > p:not(.eyebrow), .attention-note p, .agent-request label,
  .smoke .context-detail p, .request-note, .creation-guide label, .question-hint,
  .creation-place-context, .creation-guide-meta, .question-count,
  .creation-guide-footer > span, .creation-guide-note > span, .creation-ready-summary,
  .creation-context-card p:last-child, .live-scene-caption, .environment-context p,
  .environment-choice-group h2, .environment-controls footer > span,
  .world-story-form footer > span, .world-place-hint, .world-coordinate-row,
  .earth-search-provider, .earth-search-status, .refinement-status,
  .demo-card-copy small, .demo-badge, .demo-scrubber > span:last-child,
  .demo-narrative > p, .demo-narrative details, .preview-card-meta,
  .story-preview-caption .preview-mode, .story-preview-caption > span:last-child,
  .page-loader-centre p
) { color: var(--ink-muted); }

[data-appearance="dark"] :is(
  .creation-guide h1, .creation-scene-summary, .story-card .preview-card-info h2,
  .story-preview-caption strong, .step-select, .playback-track button,
  .earth-address-results button, .world-map-crosshair
) { color: var(--ink); }

[data-appearance="dark"] :is(
  input:not([type="range"]), textarea, select, .account-card select, .story-filter-menu select,
  .creation-guide :is(input, textarea), .agent-request input,
  .world-story-form :is(input, textarea), .earth-address-field
) {
  background: var(--dark-field);
  color: var(--ink);
  border-color: var(--dark-border);
}

[data-appearance="dark"] :is(input, textarea)::placeholder,
[data-appearance="dark"] :is(.creation-guide, .agent-request) :is(input, textarea)::placeholder {
  color: var(--ink-muted);
}

[data-appearance="dark"] .world-story-form .earth-address-field input { background: transparent; }

[data-appearance="dark"] :is(
  .step-select.current, .account-nav nav a[aria-current="page"],
  .playback-track button.current, .studio-mode-option.selected,
  .demo-moments button[aria-current], .library-tool-active.v-btn,
  .earth-address-results button:is(:hover, :focus-visible)
) {
  background: var(--dark-selected);
  border-color: var(--prototype-accent);
  color: var(--ink);
  box-shadow: none;
}

[data-appearance="dark"] :is(
  .glass .v-btn--variant-outlined, .scene-heading .v-btn--variant-outlined, .smoke .v-btn:not(.bg-primary)
) { color: var(--ink-2) !important; }

[data-appearance="dark"] :is(
  .source-state, .status-context button, .source-footer button, .search-field-icon,
  .reorder-controls .icon-action.v-btn, .creation-step-dot.is-complete,
  .creation-step-dot[aria-current="step"]
) { color: var(--prototype-accent); }

[data-appearance="dark"] :is(
  .scene-label, .map-controls > span, .attention-note, .viewer-note, .proposal blockquote,
  .suggestion-prompts button, .profile-avatar, .demo-card-play, .demo-moments button:not([aria-current]),
  .scene-loading p, .creation-demo-badge, .story-card-actions .icon-action.v-btn,
  .story-preview .preview-toggle.icon-action.v-btn
) {
  background: var(--dark-raised);
  color: var(--ink-2);
  border-color: var(--dark-border);
  box-shadow: none;
}

[data-appearance="dark"] :is(.create-story-card, .create-story-card:hover, .create-story-card[aria-busy="true"]) {
  background: var(--surface);
  color: var(--ink-2);
  border-color: var(--dark-border);
}

[data-appearance="dark"] :is(.create-story-mark, .create-story-card:hover .create-story-mark, .create-story-card:focus-visible .create-story-mark) {
  background: var(--dark-selected);
  color: var(--prototype-accent);
  box-shadow: none;
}

[data-appearance="dark"] .demo-card-art { background: linear-gradient(145deg, #313847, #313d35); }
[data-appearance="dark"] .demo-launch-story .demo-card-art { background: linear-gradient(145deg, #273d3e, #31353d); }
[data-appearance="dark"] .story-card .story-thumb:not(:has(.story-preview-poster), .preview-active) {
  background-blend-mode: multiply;
  background-color: #6a6d75;
}
[data-appearance="dark"] .story-preview.preview-active { --preview-ground: var(--dark-field); }
[data-appearance="dark"] .page-loader { background: var(--ground); }

[data-appearance="dark"] :is(.wire-field, .page-loader > .page-loader-field, .scene-loading .scene-loading-field) {
  color: var(--prototype-accent);
}

[data-appearance="dark"] :is(.creation-workspace > .live-scene, .studio-live-scene, .world-map-loading, .scene-loading) {
  background: var(--dark-field);
}

[data-appearance="dark"] .creation-backdrop {
  background: radial-gradient(ellipse at 76% 34%, #53699922, transparent 62%),
              radial-gradient(ellipse at 20% 72%, #69826d24, transparent 66%);
}

[data-appearance="dark"] :is(.world-map.world-dark, .map-reveal:has(> .creation-backdrop)) { background: #181b1a; }

[data-appearance="dark"] .world-map :is(.maplibregl-ctrl-attrib, .maplibregl-ctrl-group) {
  background: var(--surface);
  color: var(--ink-2);
  box-shadow: var(--dark-shadow);
}

[data-appearance="dark"] .world-map .maplibregl-ctrl-attrib a { color: inherit; }
[data-appearance="dark"] .world-map :is(.maplibregl-ctrl-attrib-button, .maplibregl-ctrl-icon) { filter: invert(1); }
[data-appearance="dark"] .world-map-loading > span:last-child { background: var(--surface); color: var(--ink-2); }

[data-appearance="dark"] .world-moment-pin {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--ink-muted);
}

[data-appearance="dark"] .world-moment-pin.current {
  background: var(--prototype-accent);
  color: var(--ground);
}

[data-appearance="dark"] :is(.studio-mode-toggle, .embedded-mode-bar .studio-mode-toggle) {
  background: var(--dark-field);
  border-color: var(--dark-border);
  box-shadow: none;
}

[data-appearance="dark"] .studio-mode-option:not(.selected) { color: var(--ink-muted); }

[data-appearance="dark"] :is(.centered-creator .icon-only-choices, .ambient-environment .environment-controls) .choice-tile {
  background: color-mix(in srgb, var(--choice-tint, #dbe2f3) 18%, var(--dark-field));
}

[data-appearance="dark"] :is(.centered-creator .icon-only-choices, .ambient-environment .environment-controls) .choice-tile:is(:hover, [aria-pressed="true"]) {
  background: color-mix(in srgb, var(--choice-tint, #dbe2f3) 32%, var(--dark-field));
  outline-color: var(--prototype-accent);
}

[data-appearance="dark"] .choice-tile .choice-tile-icon { color: var(--ink-2); }

[data-appearance="dark"] :is(
  .centered-creator .creation-panel-tools, .centered-creator .creation-guide-footer,
  .imagine-dock-menu, .imagine-playback-controls, .refinement-actions, .refinement-input
) .icon-action.v-btn { color: var(--ink-muted); }

[data-appearance="dark"] :is(
  .centered-creator .creation-panel-tools, .centered-creator .creation-guide-footer,
  .imagine-dock-menu, .imagine-playback-controls, .refinement-actions, .refinement-input
) .icon-action.v-btn:not(:disabled):is(:hover, :focus-visible) { color: var(--ink); }

[data-appearance="dark"] .creation-step-dot { color: #717682; }
[data-appearance="dark"] .creation-step-dot.is-complete > span:first-child,
[data-appearance="dark"] .creation-step-dot[aria-current="step"] > span:first-child {
  box-shadow: 0 0 0 3px var(--surface);
}

[data-appearance="dark"] :is(.creation-ready-mark, .choice-tile-check) { background: #394738; color: #bad3a9; }
[data-appearance="dark"] :is(.save-state, .save-feedback) { color: #bad3a9; }
[data-appearance="dark"] :is(.form-error, .storage-error) { background: #283249; color: #e6edff; }
[data-appearance="dark"] .creation-save-error { color: #e6edff; }
