/* Final application token layer. Keep native controls, screenplay paper and
   strip colours intact. Decorative separators are not control boundaries. */
:root {
  color-scheme:light;
  --bg:#f3f4f2; --paper:#fdfdfb; --ink:#26313b; --muted:#53616c;
  --line:#d9dfe0; --surface-2:#eaeef0; --surface-3:#dde4e7;
  --input:#ffffff; --hover:#e9edf1; --soft-accent:#eeebf5;
  --brand:#65529b; --accent:#65529b; --focus:#564186; --on-brand:#ffffff;
  --control-line:#788691; --chrome:#f7f8f6;
  --studio-lilac:#eeebf5; --studio-lilac-ink:#574578;
  --studio-mint:#e6f0eb; --studio-mint-ink:#285e4c;
  --studio-peach:#f5edde; --studio-peach-ink:#765323;
  --tone-info:#315d8a; --tone-info-bg:#eaf0f6; --tone-info-line:#8aa4be;
  --tone-success:#285e4c; --tone-success-bg:#e6f0eb; --tone-success-line:#82a494;
  --tone-warning:#765323; --tone-warning-bg:#f5edde; --tone-warning-line:#b69a6b;
  --tone-danger:#923c4b; --tone-danger-bg:#f8ebed; --tone-danger-line:#be8690;
  --detail-blue:var(--tone-info); --detail-teal:var(--tone-success);
  --detail-amber:var(--tone-warning); --success-ink:var(--tone-success);
  --danger-ink:var(--tone-danger); --studio-shadow:0 2px 8px #26313b06;
  /* Legacy modules use these names. Aliases prevent dark fallback panels in light mode. */
  --panel:var(--paper); --surface:var(--paper); --surface-alt:var(--surface-2);
  --border:var(--line); --foreground:var(--ink); --muted-foreground:var(--muted);
  --primary:var(--brand); --button-text:var(--on-brand);
}
html[data-theme="dark"] {
  color-scheme:dark;
  --bg:#22272c; --paper:#2b3137; --ink:#e6eaed; --muted:#b8c2ca;
  --line:#424b53; --surface-2:#343c43; --surface-3:#414b54;
  --input:#252b31; --hover:#3b444d; --soft-accent:#3c374b;
  --brand:#705aa6; --accent:#c9b8e9; --focus:#d2c0f2; --on-brand:#ffffff;
  --control-line:#84909b; --chrome:#272d33;
  --studio-lilac:#3c374b; --studio-lilac-ink:#dacbed;
  --studio-mint:#2d413b; --studio-mint-ink:#b7ddcb;
  --studio-peach:#453c2d; --studio-peach-ink:#e7d1ac;
  --tone-info:#b4cee7; --tone-info-bg:#2c3b49; --tone-info-line:#6887a5;
  --tone-success:#b7ddcb; --tone-success-bg:#2d413b; --tone-success-line:#729c8b;
  --tone-warning:#e7d1ac; --tone-warning-bg:#453c2d; --tone-warning-line:#ac9165;
  --tone-danger:#f0bcc5; --tone-danger-bg:#47333c; --tone-danger-line:#b38691;
  --studio-shadow:0 2px 8px #0000000c;
}

/* Quiet framing, without disguising fields or actionable cards as plain text. */
html[data-theme] :is(.sidebar,.topbar) {background:var(--chrome)}
.page :is(.panel,.profile-tile,.concept-card,.task-card) {box-shadow:none}
.page .panel {border-radius:12px}
.page :is(.pw-overview,.dash-columns)>section>h2 {line-height:1.3}
.page :is(.pw-overview,.dash-columns)>.panel>.panel {
  border:0; border-radius:8px; box-shadow:none;
}
.page :is(.heading,.pw-head,.dash-head) h1 {
  font-size:clamp(1.55rem,2.3vw,2rem); line-height:1.25;
  letter-spacing:-.025em; font-weight:650;
}
.page :is(.heading,.pw-head,.dash-head) p {max-width:72ch;line-height:1.6}
.page :is(.panel,.task-card) h2 {font-size:1.25rem;line-height:1.35;font-weight:650}
.page .field> :is(span,label) {color:var(--ink);font-weight:500}
.page :is(.input-hint,.sb-hint,.pw-context) {color:var(--muted);line-height:1.55}

/* Clear field edges even when the surrounding cards are deliberately subtle.
   Exclude manuscript elements: their paper/editor styling has its own contract. */
html[data-theme] :is(.page,dialog,.auth-card) :is(
  input:not([type]),input[type="text"],input[type="search"],input[type="email"],
  input[type="url"],input[type="tel"],input[type="password"],input[type="number"],
  input[type="date"],input[type="time"],input[type="datetime-local"],select,textarea
):not(.sp-paper *) {border-color:var(--control-line);box-shadow:none}
/* The original brief editor sets its edge with !important; override only that edge. */
.page .brief-input:not(.sp-paper *) {border-color:var(--control-line)!important}
html[data-theme] :where(.page,dialog,.auth-card) :is(input,textarea)::placeholder {
  color:var(--muted);opacity:1;
}
html[data-theme] select option {background:var(--input);color:var(--ink)}
html[data-theme] :is(button,a,summary,input,select,textarea):focus-visible {
  outline:3px solid var(--focus);outline-offset:3px;
}
.page .button.primary {background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:none}
.page .button.primary:not(:disabled):hover {filter:brightness(1.08);background:var(--brand)}
.page .button.quiet {border-color:transparent}
.page .button.quiet:not(:disabled):hover {background:var(--hover);border-color:var(--line)}
.page :is(.pw-tabs,.sb-tabs,.production-status-switch) :is([aria-current],[aria-pressed="true"]) {
  background:var(--studio-lilac);color:var(--studio-lilac-ink);
  border-color:var(--accent);box-shadow:inset 0 -2px var(--accent);
}
.page .production-quick-nav {
  border:0;border-bottom:1px solid var(--line);border-radius:0;
  background:transparent;box-shadow:none;padding-inline:0;
}
.page .production-quick-nav [aria-current="page"] {
  color:var(--studio-lilac-ink);background:var(--studio-lilac);border-color:var(--accent);
}
.page :is(.sp-scene-sidebar,.sp-production-sidebar) {background:var(--paper);box-shadow:none}
.page .sp-editor-tools {background:var(--chrome);border:1px solid var(--line);border-radius:8px}
/* Lists use spacing and one separator instead of a stack of outlined cards. */
.page :is(.dash-item,.queue-row,.task-comment) {border-color:var(--line)}
.page .task-column {background:var(--surface-2)}
.page .task-card {background:var(--paper)}

@media(max-width:760px) {
  .page :is(.heading,.pw-head,.dash-head) h1 {font-size:1.55rem}
  .page :is(.heading,.pw-head,.dash-head) p {font-size:1rem}
  .page :is(.pw-card-actions,.pw-quick-links,.sb-toolbar) {gap:8px}
  .page :is(.pw-card-actions,.pw-quick-links) .button {min-height:44px}
}
@media(prefers-reduced-motion:reduce) {
  .page .button,.page .panel {transition:none}
}
@media(forced-colors:active) {
  .page :is(.panel,.task-card,.button),.page :is(input,select,textarea) {border-color:CanvasText}
  html[data-theme] :is(button,a,summary,input,select,textarea):focus-visible {outline-color:Highlight}
  .page :is(.pw-tabs,.sb-tabs,.production-status-switch) :is([aria-current],[aria-pressed="true"]) {
    color:HighlightText;background:Highlight;border-color:Highlight;
  }
}

/* Salvia & linne: appearance-only light palette. Dark/editor/stripboard semantics retained. */
html[data-theme="light"] {
  --bg:#f5f2ec; --paper:#fffdfa; --ink:#303831; --muted:#596259;
  --line:#d8d7cd; --surface-2:#eceee5; --surface-3:#dce7db;
  --input:#fffdf8; --hover:#e4ebdf; --soft-accent:#dce7db;
  --brand:#365c50; --accent:#365c50; --green:#365c50; --focus:#426b59;
  --on-brand:#ffffff; --control-line:#818b7c; --chrome:#eeece3;
  --studio-lilac:#e6dff0; --studio-lilac-ink:#625174;
  --studio-mint:#dce7db; --studio-mint-ink:#365c50;
  --studio-peach:#f1e3cf; --studio-peach-ink:#755429;
  --tone-info:#4d6172; --tone-info-bg:#e4e9eb; --tone-info-line:#8faaa9;
  --tone-success:#365c50; --tone-success-bg:#dce7db; --tone-success-line:#8da48c;
  --tone-warning:#755429; --tone-warning-bg:#f1e3cf; --tone-warning-line:#b69b73;
  --tone-danger:#914953; --tone-danger-bg:#f1dfe0; --tone-danger-line:#bc8e92;
  --studio-shadow:0 2px 8px #544b3608;
}
html[data-theme="light"] .story-public {
  --story-lavender:#e6dff0; --story-sage:#dce7db; --story-peach:#f1e3cf; --story-accent:#365c50;
}
html[data-theme="light"] :is(.button.primary,.button.accent,.public-nav .button.primary) {
  background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:none;
}
html[data-theme="light"] :is(.nav button.active,.mobile-nav button.active,.mobile-bottom-nav [aria-current="page"],.pw-tabs [aria-current="page"],.pw-tabs [aria-pressed="true"],.sb-tabs [aria-pressed="true"],.production-status-switch [aria-pressed="true"],.production-quick-nav [aria-current="page"]) {
  background:var(--studio-mint);color:var(--studio-mint-ink);border-color:var(--accent);
}
html[data-theme="light"] :is(.avatar,.format.active) {background:var(--studio-mint);color:var(--studio-mint-ink)}
html[data-theme="light"] .assistant-launcher {background:var(--studio-lilac);color:var(--studio-lilac-ink);border-color:#b8a8c8}
html[data-theme="light"] .assistant-panel {background:var(--paper);color:var(--ink)}
html[data-theme="light"] .assistant-panel>header {background:var(--studio-lilac)}
