/* VOLT Phase 5 — Agent Theater finishing pass (v14-theater).
   Purpose: theater-ONLY override stylesheet for readability on
   physical phones — brighter muted text, explicit type floors,
   stronger card borders, first-class figures/prices, and clearer
   live/recorded section separation. It is linked only on
   /agent-theater, after v13-site.css, so every rule here is
   theater-page-scoped by load context; no storefront page loads
   this file. Premium black / electric-blue palette preserved:
   no colour family changes, only contrast and size lifts on
   theater text and chrome. */

/* (a) Token brightening — theater page only (load context). */
:root{
  --mut:#aeb9cc;
  --mut2:#c9d3e6;
  --dim:#9fadc2;
  --line:#414f7d;
  --line2:#55648f;
}

/* (b) Primary card borders — #5c6c99: 3.87:1 vs page bg, 3.43:1 vs panel2. */
.th-ev,.th-panel,.th-live-section .th-composer,.th-preset,.wow-card,.wow-mission,.wow-player,.th-cmp-col,.wow-cmp-col,.th-finale-line,.pol-fig,.th-rec,.th-outcome,.th-compat{border-color:#5c6c99}

/* (c) Type floors — body text. */
.th-ev p,.th-outcome p,.wow-outcome p,.wow-note,.th-rec p,.th-hero figcaption,.th-compat p,.pol-ev-tx,.th-finale-summary,.th-finale-status,.pol-finale-handoff,.rel-note,.sandbox-note,.wow-live-note,.th-fine{font-size:1rem;line-height:1.65;color:var(--mut2)}

/* (c) Type floors — labels (>= 0.875rem). */
.th-ev-k,.wow-seg,.wow-badge,.brand,.narr-caption-k,.th-preset-tag,.th-rec-badge,.pol-verdict-k,.pol-ev-h,.th-state-chip,.kicker{font-size:.875rem}

/* (c) Type floors — metadata (>= 0.95rem). */
.th-ev-list,.wow-spec,.th-cart-line span,.wow-budget-top,.wow-scenelabel,.wow-facts,.th-outcome-facts,.th-rec-facts,.pol-fig .pol-fig-sub,.th-custom span{font-size:.95rem}
.th-state{font-size:1rem}
.th-budget-top{font-size:1rem}

/* (c) Type floors — individual adjustments. */
.pol-ev-stage{font-size:.875rem;color:var(--mut)}
.wow-was{color:var(--mut);font-size:.95rem}
.wow-cmp-table tr.pol-same td{color:var(--mut);opacity:.88}
.pol-agent-tx p{font-size:1rem;color:#e9effc}
.th-journey li{font-size:.95rem}
.th-journey li::before{font-size:.85rem}
.th-hero p.lede{font-size:1.13rem;color:#e6edf9}

/* (d) Figures / prices first-class. */
.th-card .price,.wow-price{font-size:1.35rem}
#thBudgetLabel,#wowBudgetLabel{font-size:1rem;font-weight:800;color:var(--ink)}
.th-finale-total b{font-size:1.6rem}
.th-finale-budget{font-size:1rem}
.th-cart-line b{font-size:1.02rem}

/* (e) Buttons on this page. */
.btn{background:#1f6bf0;font-size:1.08rem;min-height:52px;display:inline-flex;align-items:center}
.btn:hover{background:#1a63e0}
.btn.ghost{border:1px solid var(--line2);color:var(--ink);background:rgba(85,100,143,.12)}
.wow-btn{background:#1f6bf0;font-size:1.05rem;min-height:48px}
.wow-btn:hover{background:#1a63e0}
.wow-btn-mini{min-height:44px;font-size:.95rem;color:var(--ink)}

/* (f) Journey prominence. */
.th-journey li.active{background:rgba(47,123,255,.16)}
.th-journey li{border-color:#414f7d}

/* (g) Live-section differentiation + status. */
.th-live-section{background:linear-gradient(180deg,rgba(47,123,255,.08),rgba(47,123,255,.015));border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.th-live-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 14px;font-size:.875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid}
.th-live-pill.open{color:var(--ok);border-color:rgba(62,207,142,.55);background:rgba(62,207,142,.1)}
.th-live-pill.closed{color:var(--warn);border-color:rgba(255,184,77,.55);background:rgba(255,184,77,.09)}
.th-status{border:1px solid rgba(255,184,77,.5);background:rgba(255,184,77,.07);border-radius:14px;padding:16px 18px;margin-bottom:18px;font-size:1rem;line-height:1.6;color:var(--mut2)}
.th-status b{color:var(--ink)}
.th-locked-chip{display:inline-flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:10px 18px;font-weight:700;color:var(--ink);font-size:1rem}

/* (h) Composer disabled state WITHOUT the fade. */
.th-fieldset:disabled{opacity:1}
.th-fieldset:disabled textarea,.th-fieldset:disabled .th-preset{cursor:not-allowed}
.th-fieldset:disabled .th-preset{border-color:#5c6c99}
textarea:disabled{color:var(--mut2)}

/* (i) Recorded-section separation. */
.th-recorded-section{border-top:1px solid var(--line2);margin-top:8px}

/* (j) Text over images. */
.wow-poster-tx{background:linear-gradient(0deg,rgba(5,8,14,.95),rgba(5,8,14,.6) 55%,transparent)}
.wow-poster-tx span{color:#d9e2f2}
.wow-badge,.pol-rec-tag,.wow-over-tag{background-color:rgba(8,11,18,.88)}

/* (k) Markdown rendering (live view, from mdRender in v3-theater.js). */
.th-md-scroll{overflow-x:auto}
.th-md-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.95rem}
.th-md-table th,.th-md-table td{border:1px solid var(--line2);padding:7px 10px;text-align:left;color:var(--mut2)}
.th-md-table th{color:var(--ink);background:var(--panel2)}
.th-ev-note ul,.th-ev-note ol,.th-ev-note ul,.th-ev-note ol,.th-outcome ul,.th-outcome ol,.th-finale-summary ul,.th-finale-summary ol{margin:8px 0 8px 20px}
.th-ev-note code,.th-ev-note code,.th-outcome code,.th-finale-summary code{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.92em;color:var(--ink)}

/* (c, cont.) Phones: re-assert the same floors so nothing shrinks. */
@media (max-width:700px){
  .th-ev p,.th-outcome p,.wow-outcome p,.wow-note,.th-rec p,.th-hero figcaption,.th-compat p,.pol-ev-tx,.th-finale-summary,.th-finale-status,.pol-finale-handoff,.rel-note,.sandbox-note,.wow-live-note,.th-fine{font-size:1rem;line-height:1.65;color:var(--mut2)}
  .th-ev-k,.wow-seg,.wow-badge,.brand,.narr-caption-k,.th-preset-tag,.th-rec-badge,.pol-verdict-k,.pol-ev-h,.th-state-chip,.kicker{font-size:.875rem}
  .th-ev-list,.wow-spec,.th-cart-line span,.wow-budget-top,.wow-scenelabel,.wow-facts,.th-outcome-facts,.th-rec-facts,.pol-fig .pol-fig-sub,.th-custom span{font-size:.95rem}
  .th-state{font-size:1rem}
  .th-budget-top{font-size:1rem}
  .pol-ev-stage{font-size:.875rem;color:var(--mut)}
  .wow-was{color:var(--mut);font-size:.95rem}
  .pol-agent-tx p{font-size:1rem;color:#e9effc}
  .th-journey li{font-size:.95rem}
  .th-journey li::before{font-size:.85rem}
  .th-hero p.lede{font-size:1.13rem;color:#e6edf9}
  .th-card .price,.wow-price{font-size:1.35rem}
  #thBudgetLabel,#wowBudgetLabel{font-size:1rem;font-weight:800;color:var(--ink)}
  .th-finale-total b{font-size:1.6rem}
  .th-finale-budget{font-size:1rem}
  .th-cart-line b{font-size:1.02rem}
}
@media (max-width:480px){
  .th-journey li{font-size:.88rem;padding:8px 10px}
}

/* (m) Coordinator fix round (acceptance-driven): elements the first
   cut missed. .wow-hero-note is the hero's availability note;
   .wow-watch is the recorded cards' Watch link (its own v13 rule,
   separate from .btn/.wow-btn); .wow-budget-chip carries the budget
   and order chips; .th-preset small is the preset description (also
   set to block so it stops running into the preset title);
   .demo-banner is the global demo strip as rendered on THIS page
   (this file loads only on /agent-theater, so the storefront's
   banner is untouched). */
.wow-hero-note{font-size:1rem;line-height:1.6;color:var(--mut2)}
.wow-watch{background:#1f6bf0;font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
.wow-watch:hover{background:#1a63e0}
.wow-budget-chip{font-size:.95rem}
.th-preset small{display:block;font-size:.95rem;line-height:1.55;margin-top:3px;color:var(--mut2)}
.demo-banner{font-size:.95rem}

/* (l) Reduced motion: disable the narration pulse here too. */
@media (prefers-reduced-motion:reduce){
  .narr-spot{animation:none}
}
