/* Rocket Reels Script Analyzer: shared design system + app shell */
:root {
  --bg: #F3F4F9;
  --surface: #ffffff;
  --ink: #14162E;
  --muted: #5B6079;
  --line: #E1E4EE;
  --line-strong: #C7CCDD;

  /* Updated Brand Accents */
  --brand-green: #84fd77;
  --brand-blue: #68d1ed;
  --accent: #14152E;
  --accent-soft: rgba(104, 209, 237, 0.15);
  --accent-light: #68d1ed;
  --amber: #84fd77;

  /* Sidebar Palette */
  --side: #14152E;
  --side-ink: #C9CCE6;
  --side-muted: #8A8FB5;
  --side-line: #2C2F5C;

  /* Status Colors */
  --ok: #15803d;
  --ok-bg: rgba(132, 253, 119, 0.2);
  --warn: #8A5200;
  --warn-bg: #FFF0D2;
  --bad: #9E2A2A;
  --bad-bg: #FBE1E1;

  --head: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
  --side-w: 276px;
  --side-w-c: 78px;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.55 var(--body); }
h1, h2, h3 { font-family: var(--head); margin: 0; line-height: 1.2; }
h2 { font-size: 1.12rem; }
h3 { font-size: .95rem; margin-top: 12px; }
a { color: #0284c7; }
:focus-visible { outline: 3px solid var(--brand-blue); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Shell Layout & Sidebar ---------- */
body.has-shell { display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); min-height: 100vh; }
.topbar, .scrim { display: none; }
.side { position: sticky; top: 0; height: 100vh; background: var(--side); color: var(--side-ink); display: flex; flex-direction: column; overflow: hidden; }
.side :focus-visible { outline-color: var(--brand-green); }
.side-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 18px 14px 8px 18px; }
.brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; min-width: 0; }
.brand-text { display: grid; line-height: 1.15; min-width: 0; }
.brand-text b { font: 700 1.05rem var(--head); }
.brand-text small { color: var(--side-muted); font-size: .8rem; }
.icon-btn { flex: none; width: 34px; height: 34px; padding: 0; display: grid; place-items: center; border-radius: 8px; border: 1px solid var(--side-line); background: transparent; color: var(--side-ink); cursor: pointer; }
.icon-btn:hover { background: rgba(255, 255, 255, .08); }
.icon-btn svg { transition: transform .2s; }
.rail { flex: 1; overflow: auto; padding: 4px 14px 16px; }
.stage { font-size: .8rem; font-weight: 600; color: var(--side-muted); margin: 18px 8px 8px; }
.rail ol { list-style: none; margin: 0; padding: 0; position: relative; }
.rail ol::before { content: ""; position: absolute; left: 21px; top: 16px; bottom: 16px; width: 2px; background: var(--side-line); }

/* Navigation Items */
.nav-item { position: relative; display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: 10px; color: var(--side-ink); text-decoration: none; }
.nav-item:hover { background: rgba(255, 255, 255, .07); }
.node { position: relative; z-index: 1; flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font: 700 .8rem var(--head); background: var(--side); border: 2px solid #3A3E75; color: var(--side-muted); }
.nav-item.live .node { border-color: var(--brand-blue); color: #fff; background: #2A2A66; }
.nav-item.current { background: rgba(104, 209, 237, 0.15); color: #fff; border-left: 3px solid var(--brand-blue); }
.nav-item.current .node { background: var(--brand-green); border-color: var(--brand-green); color: #14152E; }
.nav-item.soon { color: var(--side-muted); }
.nav-text { min-width: 0; }
.nav-title { display: block; font-weight: 600; font-size: .95rem; line-height: 1.25; }
.nav-sub { display: block; font-size: .8rem; color: var(--side-muted); line-height: 1.3; }
.nav-item.current .nav-sub { color: var(--side-ink); }
.tag-soon { margin-left: auto; flex: none; font-size: .72rem; border: 1px solid #3A3E75; border-radius: 999px; padding: 0 8px; color: var(--side-muted); }

/* User Controls Sidebar */
.side-user { border-top: 1px solid var(--side-line); padding: 12px 14px; display: flex; gap: 10px; align-items: center; }
.side-user .user-name { color:#fff; font-weight:700; font-size:.9rem; line-height:1.25; }
.side-user .user-role { color:var(--side-muted); font-size:.78rem; text-transform:capitalize; }
.avatar { flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--brand-blue); color: #14152E; display: grid; place-items: center; font: 700 .95rem var(--head); }
.user-fields { min-width: 0; flex: 1; display: grid; gap: 4px; }
.user-fields input, .user-fields select { width: 100%; background: rgba(255, 255, 255, .06); border: 1px solid #3A3E75; color: #fff; border-radius: 6px; padding: 4px 8px; font: inherit; font-size: .88rem; }
.user-fields select option { color: #14162E; }
.user-fields input::placeholder { color: var(--side-muted); }

/* Main Shell Container */
.shell-main { padding: 28px clamp(16px, 3vw, 40px) 40px; max-width: 1380px; width: 100%; margin: 0 auto; }
.page-head { display: flex; flex-wrap: wrap; gap: 14px 24px; justify-content: space-between; align-items: flex-end; margin-bottom: 22px; }
.crumb { display: flex; gap: 12px; align-items: center; font-size: .86rem; color: var(--muted); }
.ticks { display: inline-flex; gap: 3px; }
.ticks i { width: 14px; height: 4px; border-radius: 2px; background: var(--line-strong); }
.ticks i.on { background: var(--brand-blue); }
.ticks i.cur { background: var(--brand-green); }
.page-head h1 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 6px; }
.page-head .sub { margin: 4px 0 0; color: var(--muted); max-width: 62ch; }
.pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.pager a { display: block; padding: 14px 18px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); text-decoration: none; color: var(--ink); }
.pager a:hover { border-color: var(--brand-blue); }
.pager a small { display: block; color: var(--muted); }
.pager a strong { font-family: var(--head); }
.pager a.next { text-align: right; border-color: var(--brand-green); box-shadow: inset 0 -3px 0 var(--brand-green); }
.pager .spacer { display: block; }

/* Responsive Collapsed & Drawer Sidebar */
@media (min-width: 901px) {
  body.has-shell.side-collapsed { grid-template-columns: var(--side-w-c) minmax(0, 1fr); }
  body.side-collapsed .brand-text, body.side-collapsed .nav-text, body.side-collapsed .tag-soon,
  body.side-collapsed .stage, body.side-collapsed .user-fields { display: none; }
  body.side-collapsed .side-top { flex-direction: column; padding: 16px 0 8px; gap: 12px; }
  body.side-collapsed .side-user { justify-content: center; }
  body.side-collapsed #side-collapse svg { transform: rotate(180deg); }
  body.side-collapsed .rail { padding: 4px 12px 16px; }
}
@media (prefers-reduced-motion: no-preference) { body.has-shell { transition: grid-template-columns .2s ease; } }
@media (max-width: 900px) {
  body.has-shell { display: block; }
  .topbar { display: flex; position: sticky; top: 0; z-index: 30; align-items: center; gap: 12px; padding: 10px 14px; background: var(--side); color: #fff; }
  .topbar b { font-family: var(--head); }
  .topbar .where { margin-left: auto; color: var(--side-muted); font-size: .86rem; }
  .side { position: fixed; inset: 0 auto 0 0; width: min(86vw, 310px); z-index: 50; transform: translateX(-104%); }
  body.drawer-open .side { transform: none; }
  body.drawer-open .scrim { display: block; }
  .scrim { position: fixed; inset: 0; background: rgba(10, 10, 30, .55); z-index: 40; }
  #side-collapse { display: none; }
  .pager { grid-template-columns: 1fr; }
}

/* ---------- Shared Components ---------- */
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 18px; margin-bottom: 16px; }
.panel > h2 { margin-bottom: 10px; }
label { display: block; font-weight: 600; font-size: .88rem; margin: 10px 0 3px; }
input, select, textarea { width: 100%; padding: 8px 10px; border: 1px solid #9AA2B8; border-radius: 6px; font: inherit; background: #fff; color: var(--ink); }
textarea { min-height: 84px; resize: vertical; }
.hint, .note { font-size: .84rem; color: var(--muted); margin: 2px 0 0; }

/* Buttons */
button, .btn { display: inline-block; font: inherit; font-weight: 600; padding: 8px 16px; border-radius: 8px; border: 1px solid var(--brand-blue); background: var(--brand-blue); color: #14152E; cursor: pointer; text-decoration: none; transition: all 0.15s ease; }
button:hover, .btn:hover { background: #53c4e3; border-color: #53c4e3; }
button.secondary, .btn.secondary { background: #fff; color: #14152E; border-color: var(--line-strong); }
.btn.amber, button.amber { background: var(--brand-green); border-color: var(--brand-green); color: #14152E; }
.btn.amber:hover, button.amber:hover { background: #6fe363; border-color: #6fe363; }
button:disabled { opacity: .5; cursor: not-allowed; }

.row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.between { justify-content: space-between; }
.chip { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .82rem; font-weight: 600; border: 1px solid currentColor; white-space: nowrap; }
.chip.ok { color: var(--ok); background: var(--ok-bg); border-color: var(--brand-green); }
.chip.warn { color: var(--warn); background: var(--warn-bg); }
.chip.bad { color: var(--bad); background: var(--bad-bg); }
.chip.info { color: #0284c7; background: rgba(104, 209, 237, 0.2); border-color: var(--brand-blue); }

.list { list-style: none; margin: 0; padding: 0; }
.list li button { width: 100%; text-align: left; background: #fff; color: var(--ink); border: 1px solid var(--line); margin-bottom: 6px; font-weight: 400; border-radius: 8px; }
.list li button:hover { border-color: var(--brand-blue); }
.list li button[aria-current=true] { border-color: var(--brand-blue); background: var(--accent-soft); }

/* Tables & Scorecard Layout */
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { font-weight: 600; color: var(--muted); background: #f8fafc; }

.screen3-container { padding: 24px; max-width: 1200px; margin: 0 auto; }
.summary-card { display: flex; align-items: center; gap: 20px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 20px; margin-bottom: 24px; }
.score-badge { font-size: 2.2rem; font-weight: 800; color: var(--ink); }
.status-badge { padding: 6px 12px; border-radius: 20px; font-size: 0.875rem; font-weight: 600; background: #e2e8f0; color: #475569; }
.status-badge.complete { background: var(--ok-bg); color: var(--ok); border: 1px solid var(--brand-green); }

.rubric-table { width: 100%; border-collapse: collapse; background: #ffffff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.rubric-table th { background: #f1f5f9; text-align: left; padding: 12px 16px; font-size: 0.85rem; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--line-strong); }
.rubric-table td { padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 0.9rem; color: var(--ink); vertical-align: top; }
.rubric-table tr:hover { background-color: #f8fafc; }

.evidence-box { background: rgba(104, 209, 237, 0.08); border-left: 3px solid var(--brand-blue); padding: 8px 12px; margin-top: 6px; font-style: italic; font-size: 0.85rem; color: #334155; border-radius: 0 6px 6px 0; }

/* ---------- Screen 1: Concept approval refresh ---------- */
:root {
  --brand-green: #84fd77;
  --brand-blue: #68d1ed;
  --green-ink: #17351a;
  --blue-ink: #102e38;
}
.shell-main { padding: clamp(18px, 3vw, 38px); max-width: 1700px; width: 100%; min-width: 0; }
.page-head { align-items: flex-start; margin-bottom: 22px; }
.page-head h1 { letter-spacing: -.035em; font-size: clamp(2rem, 3.5vw, 2.8rem); }
.page-head .sub { font-size: 1rem; max-width: 70ch; }
.concept-hero {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between;
  gap: 24px; min-height: 205px; margin: 0 0 16px; padding: clamp(22px, 3vw, 34px);
  border: 1px solid #2d355c; border-radius: 18px; color: #f8faff;
  background: radial-gradient(ellipse at 88% 20%, rgba(104,209,237,.19), transparent 34%),
              linear-gradient(120deg, #14152e 0%, #20264b 72%, #19213c 100%);
}
.hero-copy { position: relative; z-index: 1; max-width: 760px; }
.eyebrow { display: block; color: #55707b; font-size: .72rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 7px; }
.concept-hero .eyebrow { color: var(--brand-blue); }
.concept-hero h2 { font-size: clamp(1.45rem, 2.7vw, 2.15rem); letter-spacing: -.025em; margin: 0 0 10px; }
.concept-hero p { max-width: 68ch; margin: 0; color: #c4c9e0; }
.hero-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.hero-pills span { border: 1px solid #454b70; background: rgba(255,255,255,.04); color: #e6eaf8; border-radius: 999px; padding: 6px 10px; font-size: .78rem; }
.hero-pills span:first-child { border-color: var(--brand-green); color: var(--brand-green); }
.hero-mark { position: relative; flex: 0 0 130px; width: 130px; height: 130px; display: grid; place-items: center; border: 1px solid rgba(104,209,237,.45); border-radius: 32px; transform: rotate(8deg); background: linear-gradient(135deg,rgba(104,209,237,.13),rgba(132,253,119,.1)); }
.hero-mark span { font: 800 2.2rem var(--head); color: var(--brand-green); letter-spacing: -.08em; transform: rotate(-8deg); }
.hero-mark i,.hero-mark b { position: absolute; display: block; border-radius: 50%; }
.hero-mark i { width: 12px; height: 12px; background: var(--brand-blue); top: 13px; right: 14px; }
.hero-mark b { width: 7px; height: 7px; background: var(--brand-green); bottom: 17px; left: 16px; }
.workflow-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 22px; }
.workflow-strip > div { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.76); }
.step-number { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; font-weight: 800; color: #102e38; background: var(--brand-blue); }
.workflow-strip > div:first-child .step-number { background: var(--brand-green); color: #17351a; }
.workflow-strip strong,.workflow-strip small { display: block; }
.workflow-strip strong { font-size: .9rem; }
.workflow-strip small { color: var(--muted); font-size: .78rem; }
.layout { align-items: start; gap: 20px; }
.layout > div:first-child { min-width: 0; }
.panel { border-radius: 14px; padding: clamp(16px, 2vw, 23px); box-shadow: 0 4px 16px rgba(20,22,46,.035); }
.panel h2 { font-size: 1.2rem; letter-spacing: -.015em; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.panel-heading .eyebrow { margin-bottom: 4px; }
.required-note { font-size: .75rem; color: var(--muted); white-space: nowrap; }
.panel-intro { color: var(--muted); font-size: .9rem; margin: 8px 0 18px; }
label { margin-top: 14px; margin-bottom: 5px; color: #292d4a; }
label small { font-weight: 500; color: var(--muted); }
input,select,textarea { border-color: #d4d9e7; border-radius: 9px; padding: 11px 12px; transition: border-color .15s, box-shadow .15s; }
input:focus,select:focus,textarea:focus { outline: none; border-color: #36aeca; box-shadow: 0 0 0 3px rgba(104,209,237,.2); }
textarea { min-height: 74px; }
.form-footnote { display: flex; gap: 9px; align-items: flex-start; margin-top: 18px; padding: 11px 12px; border-radius: 10px; background: rgba(104,209,237,.12); color: #38515c; font-size: .8rem; line-height: 1.45; }
.status-dot { flex: 0 0 8px; width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: #21839b; }
button,.btn { border-radius: 9px; font-weight: 700; }
.btn.amber,button.amber { background: var(--brand-green); border-color: var(--brand-green); color: #17351a; }
.btn.amber:hover,button.amber:hover { background: #a0ff96; border-color: #a0ff96; }
#submit-btn { padding: 13px 16px; }
#concepts-list { padding: 0; list-style: none; }
#concepts-list li { margin-top: 8px; }
#concepts-list li > button { border: 1px solid var(--line); background: #fff; text-align: left; padding: 12px; }
#concepts-list li > button:hover { border-color: var(--brand-blue); background: #f7fdff; }
#evaluation-view .panel:first-child { border-top: 3px solid var(--brand-blue); }
.chip { border-radius: 999px; padding: 4px 9px; font-weight: 700; font-size: .75rem; }
@media (max-width: 900px) {
  .shell-main { padding: 18px 14px 28px; }
  .concept-hero { min-height: auto; }
  .hero-mark { flex-basis: 90px; width: 90px; height: 90px; border-radius: 24px; }
  .hero-mark span { font-size: 1.7rem; }
}
@media (max-width: 600px) {
  .hero-mark { display: none; }
  .workflow-strip { grid-template-columns: 1fr; }
  .workflow-strip > div { padding: 10px 12px; }
  .panel-heading { align-items: flex-start; }
}

/* ---------- Screen 02: Executive overview + genre ---------- */
.screen2-main { max-width: 1500px; }
.screen2-head { align-items: flex-end; }
.screen2-head h1 { margin-top: 12px; letter-spacing: -.04em; font-size: clamp(2rem, 3.2vw, 3rem); }
.heading-and { color: #1597b7; }
.screen2-head .sub { max-width: 680px; }
.s2-workflow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0 0 22px; }
.s2-step { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); background: rgba(255,255,255,.78); border-radius: 12px; }
.s2-step > span { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 10px; font-weight: 800; background: #edf0f7; color: var(--muted); }
.s2-step div { display: grid; min-width: 0; line-height: 1.25; }
.s2-step b { font-size: .9rem; }
.s2-step small { color: var(--muted); font-size: .78rem; margin-top: 3px; }
.s2-step i { margin-left: auto; font-style: normal; color: #176d2c; font-weight: 800; }
.s2-step-done { border-color: rgba(132,253,119,.8); }
.s2-step-done > span { background: var(--brand-green); color: #17351a; }
.s2-step-current { border-color: var(--brand-blue); box-shadow: inset 0 -3px var(--brand-blue); }
.s2-step-current > span { background: var(--brand-blue); color: #123744; }
.s2-layout { display: grid; grid-template-columns: minmax(290px,.78fr) minmax(0,1.5fr); align-items: start; gap: 20px; }
.s2-upload-panel { position: sticky; top: 18px; }
.s2-upload-panel .panel-heading { align-items: flex-start; }
.s2-eyebrow { display: block; color: #27869d; font-size: .7rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 5px; }
.s2-icon,.s2-story-mark { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 12px; font-size: 1.35rem; font-weight: 800; color: #163b24; background: var(--brand-green); }
.s2-form { display: grid; gap: 15px; }
.s2-field { display: grid; gap: 6px; }
.s2-field label { font-size: .88rem; font-weight: 700; }
.s2-field small { color: var(--muted); font-size: .78rem; line-height: 1.4; }
.required-mark { color: #c24141; }
.optional-mark { font-size: .72rem; font-weight: 500; color: var(--muted); margin-left: 5px; }
.s2-field input,.s2-field select { min-height: 43px; }
.s2-dropzone { position: relative; display: grid; justify-items: center; text-align: center; gap: 3px; padding: 18px 12px; border: 1.5px dashed #83cfe0; border-radius: 12px; background: rgba(104,209,237,.09); cursor: pointer; }
.s2-dropzone:hover { background: rgba(104,209,237,.16); border-color: #269ab7; }
.s2-dropzone strong { font-size: .88rem; max-width: 100%; overflow-wrap: anywhere; }
.s2-dropzone > span:not(.s2-upload-symbol) { color: var(--muted); font-size: .78rem; }
.s2-upload-symbol { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; margin-bottom: 4px; color: #143a44; background: var(--brand-blue); font-size: 1.4rem; }
.s2-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.s2-submit { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 48px; margin-top: 2px; padding: 12px 15px; }
.s2-submit:disabled { opacity: .65; cursor: wait; }
.s2-cost-note { display: flex; gap: 8px; align-items: flex-start; margin: -3px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.s2-cost-note span { color: #268d3d; }
.s2-results { min-width: 0; }
.s2-empty-state { min-height: 420px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.s2-empty-state h2,.s2-error-state h2 { font-size: 1.65rem; letter-spacing: -.03em; margin: 4px 0 8px; }
.s2-empty-state > p,.s2-error-state > p { color: var(--muted); max-width: 540px; margin: 0 0 18px; }
.s2-empty-art { position: relative; width: 100px; height: 88px; display: grid; place-items: center; margin: 0 0 24px 4px; }
.s2-empty-art span { display: grid; place-items: center; width: 64px; height: 70px; border-radius: 18px 18px 24px 12px; transform: rotate(-8deg); background: var(--brand-green); color: #193d20; font: 900 2.4rem var(--head); box-shadow: 12px 8px 0 rgba(104,209,237,.5); }
.s2-empty-art i,.s2-empty-art b { position: absolute; display: block; border-radius: 50%; background: var(--brand-blue); }
.s2-empty-art i { width: 12px; height: 12px; top: 1px; right: 10px; }
.s2-empty-art b { width: 7px; height: 7px; bottom: 4px; left: 8px; background: var(--brand-green); }
.s2-preview-list { display: grid; gap: 9px; margin-top: 6px; }
.s2-preview-list > div { display: flex; gap: 11px; align-items: center; border-top: 1px solid var(--line); padding-top: 10px; }
.s2-preview-list > div > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(104,209,237,.2); color: #176c83; font-size: .75rem; font-weight: 800; }
.s2-preview-list p { display: grid; gap: 2px; margin: 0; line-height: 1.3; }
.s2-preview-list b { font-size: .87rem; }
.s2-preview-list small { color: var(--muted); font-size: .78rem; }
.s2-alert { padding: 10px 12px; border-radius: 9px; margin-top: 12px; font-size: .85rem; overflow-wrap: anywhere; }
.s2-alert-info { background: rgba(104,209,237,.14); border: 1px solid rgba(104,209,237,.7); color: #155b70; }
.s2-alert-success { background: rgba(132,253,119,.18); border: 1px solid rgba(75,180,66,.4); color: #205d27; }
.s2-alert-error { background: #fff0f0; border: 1px solid #f0bcbc; color: #8c2727; }
.s2-overview-card,.s2-story-card,.s2-structure-card { margin-bottom: 16px; }
.s2-result-top,.s2-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.s2-result-top h2 { font-size: clamp(1.35rem,2vw,1.8rem); overflow-wrap: anywhere; }
.s2-result-meta { margin: 5px 0 0; color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.s2-status { display: inline-flex; flex: none; padding: 5px 9px; border-radius: 999px; font-size: .72rem; text-transform: capitalize; font-weight: 800; }
.s2-status-good { color: #176d2c; background: rgba(132,253,119,.25); }
.s2-status-warn { color: #855400; background: #fff1d3; }
.s2-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 20px 0 24px; }
.s2-metric { min-width: 0; display: grid; gap: 4px; padding: 13px 12px; border-radius: 11px; background: #f6f8fb; border: 1px solid var(--line); }
.s2-metric strong { font: 800 clamp(1.15rem,2vw,1.55rem) var(--head); letter-spacing: -.03em; overflow-wrap: anywhere; }
.s2-metric span { font-size: .78rem; font-weight: 700; line-height: 1.25; }
.s2-metric small { color: var(--muted); font-size: .7rem; line-height: 1.3; }
.s2-section-heading { align-items: center; margin-bottom: 12px; }
.s2-section-heading h3 { font-size: 1.15rem; margin: 0; }
.s2-confidence { border: 1px solid rgba(104,209,237,.7); background: rgba(104,209,237,.12); color: #155b70; padding: 5px 9px; border-radius: 999px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.s2-genre-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.s2-genre-primary,.s2-genre-secondary { display: grid; align-content: start; gap: 7px; padding: 16px; border-radius: 12px; min-width: 0; }
.s2-genre-primary { background: #eafce7; border: 1px solid #b9f6b1; }
.s2-genre-secondary { background: #eaf9fd; border: 1px solid #bcebf6; }
.s2-genre-grid small,.s2-compare small,.s2-story-field small,.s2-patterns > small { font-size: .68rem; font-weight: 800; letter-spacing: .09em; color: var(--muted); }
.s2-genre-grid strong { font: 800 clamp(1.15rem,2vw,1.5rem) var(--head); overflow-wrap: anywhere; }
.s2-genre-grid span { font-size: .78rem; color: var(--muted); }
.s2-tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.s2-tag { display: inline-flex; border-radius: 999px; padding: 5px 9px; background: rgba(132,253,119,.2); border: 1px solid rgba(75,180,66,.24); color: #245d2b; font-size: .76rem; font-weight: 700; }
.s2-tag-blue { background: rgba(104,209,237,.16); border-color: rgba(45,160,190,.25); color: #155b70; }
.s2-muted { color: var(--muted); font-size: .8rem; }
.s2-note { margin-top: 12px; border-left: 3px solid #e6ae43; padding: 10px 12px; background: #fff8e8; border-radius: 0 8px 8px 0; }
.s2-note p { margin: 4px 0 0; color: #6e4b0c; font-size: .85rem; }
.s2-compare { display: grid; grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr); gap: 10px; align-items: center; padding: 14px; margin-top: 18px; background: #f8f9fc; border: 1px solid var(--line); border-radius: 12px; }
.s2-compare > div:not(.s2-compare-arrow) { display: grid; gap: 5px; min-width: 0; }
.s2-compare strong { font-size: .95rem; overflow-wrap: anywhere; }
.s2-compare span { color: var(--muted); font-size: .76rem; line-height: 1.4; }
.s2-compare-arrow { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--brand-blue); color: #143a44; font-weight: 800; }
.s2-story-mark { background: var(--brand-blue); color: #16404b; }
.s2-story-field { min-width: 0; padding: 12px 13px; background: #f7f9fc; border: 1px solid var(--line); border-radius: 10px; }
.s2-story-field p { margin: 5px 0 0; line-height: 1.5; font-size: .88rem; overflow-wrap: anywhere; }
.s2-story-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 9px; }
.s2-patterns { margin-top: 14px; }
.s2-details { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.s2-details summary { cursor: pointer; font-size: .84rem; font-weight: 800; }
.s2-details ul { margin-bottom: 0; padding-left: 20px; color: var(--muted); font-size: .84rem; }
.s2-warning-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.s2-warning-list li { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; background: #fff8e8; border-radius: 8px; color: #76510d; font-size: .82rem; }
.s2-warning-list b { flex: none; }
.s2-clean-note { padding: 12px; margin: 0; background: rgba(132,253,119,.14); border-radius: 9px; color: #285e2d; font-size: .84rem; }
.s2-evidence-list { display: grid; gap: 10px; margin-top: 12px; }
.s2-evidence-list blockquote { margin: 0; padding: 12px; border-left: 3px solid var(--brand-blue); border-radius: 0 8px 8px 0; background: rgba(104,209,237,.09); }
.s2-evidence-list blockquote p { margin: 0 0 6px; font-size: .88rem; }
.s2-evidence-list small,.s2-evidence-list span { display: block; color: var(--muted); font-size: .74rem; }
.s2-evidence-list span { margin-top: 5px; }
.s2-result-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 16px 0; color: var(--muted); font-size: .72rem; }
.s2-next-button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 13px 15px; }
.s2-loading { min-height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.s2-loading h2 { margin-top: 16px; }
.s2-loading p { color: var(--muted); }
.s2-spinner { display: inline-block; width: 15px; height: 15px; border: 2px solid rgba(20,22,46,.22); border-top-color: #14162e; border-radius: 50%; animation: s2spin .8s linear infinite; }
.s2-spinner-large { width: 34px; height: 34px; border-width: 3px; border-color: rgba(104,209,237,.35); border-top-color: #1786a2; }
@keyframes s2spin { to { transform: rotate(360deg); } }
.s2-error-state { border-color: #f0bcbc; }
@media (max-width: 1080px) { .s2-layout { grid-template-columns: minmax(270px,.8fr) minmax(0,1.2fr); gap: 14px; } .s2-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .s2-story-columns { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .s2-layout { grid-template-columns: 1fr; } .s2-upload-panel { position: static; } .s2-workflow { grid-template-columns: 1fr; } .s2-step { padding: 9px 11px; } .s2-genre-grid { grid-template-columns: 1fr; } .s2-compare { grid-template-columns: 1fr; } .s2-compare-arrow { transform: rotate(90deg); justify-self: center; } .s2-result-top { flex-direction: column; } .s2-confidence { white-space: normal; } }
@media (prefers-reduced-motion: reduce) { .s2-spinner { animation: none; } }

/* Screen 3 — full-screenplay scorecard */
.s3-main { max-width: 1540px; }
.s3-hero { display:flex; justify-content:space-between; align-items:center; gap:26px; padding:28px 30px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(118deg,#fff 0%,#f7fcff 68%,#f5fff2 100%); box-shadow:0 12px 34px rgba(24,35,65,.045); }
.s3-hero-copy { min-width:0; }
.s3-hero .page-title { margin:8px 0 9px; font-size:clamp(1.8rem,3vw,2.55rem); letter-spacing:-.04em; }
.s3-hero .sub { max-width:720px; line-height:1.6; margin:0; color:var(--muted); }
.s3-trust-row { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:20px; color:#526075; font-size:.79rem; }
.s3-trust-row span,.s3-legend span { display:inline-flex; align-items:center; gap:7px; }
.s3-dot { display:inline-block; flex:none; width:8px; height:8px; border-radius:50%; background:#a3adbd; }
.s3-dot.green { background:#55c747; }.s3-dot.blue { background:#38b7da; }.s3-dot.amber { background:#d89a23; }
.s3-score-hero { flex:none; display:grid; justify-items:center; gap:9px; min-width:154px; }
.s3-score-ring { --score-pct:0%; display:grid; place-items:center; width:126px; height:126px; border-radius:50%; background:conic-gradient(var(--brand-green) var(--score-pct),#e8edf2 0); position:relative; }
.s3-score-ring:before { content:""; position:absolute; inset:8px; border-radius:50%; background:#fff; }
.s3-score-ring > div { position:relative; display:grid; justify-items:center; gap:2px; }
.s3-score-ring strong { font:800 2.15rem/1 var(--head); color:#17223a; letter-spacing:-.06em; }
.s3-score-ring span { font-size:.7rem; color:var(--muted); }
.s3-state { padding:6px 10px; border-radius:999px; font-size:.72rem; font-weight:800; background:#edf1f5; color:#596477; }
.s3-state.complete { background:#e7fbe4; color:#286c28; }.s3-state.review { background:#fff2d8; color:#855b0d; }
.s3-workflow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 20px; }
.s3-project-panel { padding:24px; }
.s3-panel-heading,.s3-result-heading,.s3-dimension-header { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.s3-panel-heading h2,.s3-result-heading h2,.s3-dimension-header h2 { margin:5px 0 4px; font:800 1.28rem var(--head); letter-spacing:-.025em; }
.s3-panel-heading p,.s3-result-heading p,.s3-dimension-header p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.5; }
.s3-panel-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; background:var(--brand-green); color:#183c20; font:900 1.15rem var(--head); }
.s3-select-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:16px; margin-top:21px; }
.s3-select { width:100%; min-height:46px; border:1px solid var(--line-strong); border-radius:10px; background:#fff; padding:10px 13px; color:var(--ink); font:inherit; }
.s3-select:focus { outline:3px solid rgba(104,209,237,.25); border-color:#43b6d2; }
.s3-run-btn { min-height:46px; white-space:nowrap; }.s3-run-btn:disabled { opacity:.55; cursor:not-allowed; }
.s3-field small,.s2-field small { display:block; margin-top:6px; color:var(--muted); font-size:.76rem; line-height:1.45; }
.s3-meta-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:20px; }
.s3-meta-item { display:grid; gap:5px; min-width:0; padding:12px 14px; border:1px solid var(--line); border-radius:11px; background:#f8fafc; }
.s3-meta-item small,.s3-summary-card small { color:#788397; font-size:.66rem; font-weight:800; letter-spacing:.09em; }
.s3-meta-item b { overflow-wrap:anywhere; font-size:.86rem; color:#202a40; }
.s3-status { margin-top:12px; }.s3-alert { border-radius:10px; padding:11px 13px; font-size:.84rem; line-height:1.45; }
.s3-alert.info { background:#eef9fc; color:#215d6c; border:1px solid #cceef5; }.s3-alert.success { background:#effced; color:#2e6e2a; border:1px solid #d4f3ce; }.s3-alert.warning { background:#fff7e6; color:#805b13; border:1px solid #f6e3b3; }.s3-alert.error { background:#fff0ef; color:#9b3229; border:1px solid #f5cfcb; }
.s3-result-heading { margin:30px 0 15px; align-items:end; }.s3-cost-pill { max-width:48%; padding:8px 11px; border-radius:9px; background:#f1f5f9; color:#596477; font-size:.74rem; text-align:right; overflow-wrap:anywhere; }
.s3-summary-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; }
.s3-summary-card { padding:18px; min-width:0; }.s3-summary-card > div { display:inline-block; vertical-align:middle; margin-left:10px; }.s3-summary-card h3 { margin:3px 0 0; font:800 1rem var(--head); }.s3-summary-card > p { margin:14px 0 0; color:#4d586b; font-size:.87rem; line-height:1.65; white-space:pre-wrap; }
.s3-summary-icon { display:inline-grid; place-items:center; vertical-align:middle; width:36px; height:36px; border-radius:11px; background:#e9fbe6; color:#2f7c2b; font-size:1.1rem; font-weight:800; }.s3-summary-icon.blue { background:#e6f8fc; color:#247b91; }
.s3-bullet-list { display:grid; gap:8px; margin:14px 0 0; padding-left:18px; color:#4d586b; font-size:.84rem; line-height:1.5; }.s3-bullet-list li::marker { color:#49b93f; }
.s3-dimension-header { margin:29px 0 14px; align-items:end; }.s3-legend { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:.72rem; }
.s3-table-wrap { overflow:hidden; }.s3-table { border:0; border-radius:0; table-layout:fixed; }.s3-table th { padding:14px 13px; background:#f5f8fb; color:#566176; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; }.s3-table th:nth-child(1){width:22%}.s3-table th:nth-child(2){width:8%}.s3-table th:nth-child(3){width:10%}.s3-table th:nth-child(4){width:12%}.s3-table th:nth-child(5){width:48%}.s3-table td { padding:16px 13px; }.s3-dim-name { display:block; font-size:.86rem; line-height:1.4; }.s3-dim-key { display:block; margin-top:5px; color:#8a94a5; font-size:.68rem; overflow-wrap:anywhere; }.s3-weight { display:inline-block; padding:5px 8px; border-radius:7px; background:#eef2f7; color:#4d5a6e; font-size:.77rem; font-weight:800; }.s3-rating { display:inline-flex; align-items:baseline; gap:2px; padding:6px 8px; border-radius:8px; background:#eafbe7; color:#2c7626; font-weight:900; font-size:.96rem; }.s3-rating small { color:inherit; opacity:.7; font-size:.63rem; font-weight:600; }.s3-rating.missing { background:#fff2d8; color:#855b0d; }.s3-points { display:block; font-size:.94rem; }.s3-max { display:block; margin-top:4px; color:#8a94a5; font-size:.68rem; }
.s3-evidence-status { display:inline-block; margin:0 7px 7px 0; padding:4px 7px; border-radius:999px; font-size:.64rem; font-weight:800; }.s3-evidence-status.verified { background:#e8fbe5; color:#2c7626; }.s3-evidence-status.review { background:#fff2d8; color:#855b0d; }.s3-location { display:inline-block; margin-bottom:7px; color:#3c6b80; font-size:.72rem; font-weight:800; }.s3-evidence { margin:2px 0 8px; padding:10px 12px; border-left:3px solid var(--brand-blue); border-radius:0 8px 8px 0; background:#f2fbfd; color:#334457; font-size:.82rem; line-height:1.55; overflow-wrap:anywhere; }.s3-no-evidence { margin:4px 0 8px; color:#94691b; font-size:.78rem; font-weight:700; }.s3-rationale { margin:0; color:#596477; font-size:.79rem; line-height:1.55; overflow-wrap:anywhere; }.s3-empty { text-align:center; padding:30px !important; color:var(--muted) !important; }
.s3-footnote { display:flex; gap:11px; align-items:flex-start; margin-top:15px; padding:14px 16px; border:1px solid #dceaf0; border-radius:12px; background:#f5fbfd; }.s3-footnote-icon { display:grid; place-items:center; flex:none; width:24px; height:24px; border-radius:50%; background:var(--brand-blue); color:#174454; font-weight:900; }.s3-footnote p { margin:0; color:#526075; font-size:.8rem; line-height:1.55; }.s3-footnote b { color:#28374a; }.s3-spinner { display:inline-block; width:13px; height:13px; margin-right:6px; vertical-align:-2px; border:2px solid rgba(20,40,30,.25); border-top-color:#17351a; border-radius:50%; animation:s3spin .8s linear infinite; }@keyframes s3spin { to { transform:rotate(360deg); } }
@media(max-width:1050px) { .s3-summary-grid { grid-template-columns:1fr 1fr; }.s3-summary-card:first-child { grid-column:1/-1; }.s3-table th:nth-child(1){width:23%}.s3-table th:nth-child(2){width:8%}.s3-table th:nth-child(3){width:10%}.s3-table th:nth-child(4){width:12%}.s3-table th:nth-child(5){width:47%} }
@media(max-width:760px) { .s3-hero { align-items:flex-start; padding:21px; }.s3-score-hero { min-width:95px; }.s3-score-ring { width:90px; height:90px; }.s3-score-ring:before { inset:6px; }.s3-score-ring strong { font-size:1.55rem; }.s3-trust-row { display:grid; gap:8px; }.s3-workflow { grid-template-columns:1fr; }.s3-select-row { grid-template-columns:1fr; }.s3-run-btn { width:100%; }.s3-meta-grid { grid-template-columns:1fr 1fr; }.s3-panel-heading { align-items:flex-start; }.s3-summary-grid { grid-template-columns:1fr; }.s3-summary-card:first-child { grid-column:auto; }.s3-result-heading,.s3-dimension-header { align-items:flex-start; flex-direction:column; }.s3-cost-pill { max-width:100%; text-align:left; }.s3-table-wrap { overflow:visible; background:transparent; border:0; box-shadow:none; }.s3-table,.s3-table tbody { display:block; width:100%; }.s3-table thead { display:none; }.s3-table tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-bottom:12px; padding:10px 12px; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 4px 14px rgba(24,35,65,.035); }.s3-table td { display:block; padding:9px 6px; border-bottom:0; min-width:0; }.s3-table td:first-child { grid-column:1/-1; border-bottom:1px solid var(--line); padding-bottom:12px; }.s3-table td:last-child { grid-column:1/-1; border-top:1px solid var(--line); margin-top:4px; padding-top:12px; }.s3-table td:before { content:attr(data-label); display:block; margin-bottom:6px; color:#8a94a5; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.s3-table td:first-child:before,.s3-table td:last-child:before { display:none; }.s3-dim-name { font-size:.93rem; }.s3-main .pager { margin-top:20px; } }
@media(max-width:420px) { .s3-hero { flex-direction:column; }.s3-score-hero { display:flex; align-items:center; }.s3-meta-grid { gap:7px; }.s3-project-panel { padding:17px; } }

/* Screen 4 — Editorial gates and intensity dashboard */
.screen4-page { background: var(--surface, #f5f8fa); }
.s4-main { max-width: 1440px; }
.s4-hero { display:flex; justify-content:space-between; align-items:stretch; gap:24px; padding:28px 0 24px; }
.s4-hero-copy { max-width:820px; }
.s4-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#317f40; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.s4-dot { width:8px; height:8px; border-radius:50%; background:#84fd77; box-shadow:0 0 0 4px rgba(132,253,119,.18); }
.s4-hero h1 { margin:12px 0 10px; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.045em; line-height:1.08; }
.s4-hero p { max-width:760px; color:var(--muted); line-height:1.65; margin:0; }
.s4-status-card { flex:0 0 245px; align-self:center; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(25,49,67,.06); display:flex; flex-direction:column; gap:8px; }
.s4-status-label,.s4-status-hint { color:var(--muted); font-size:.78rem; }
.s4-status-card strong { font-size:1.35rem; letter-spacing:-.025em; }
.s4-status-card[data-state="pass"] { border-top:4px solid #4baf58; }
.s4-status-card[data-state="review"] { border-top:4px solid #e5ad40; }
.s4-status-card[data-state="blocked"] { border-top:4px solid #dc5a58; }
.s4-project-bar { display:flex; align-items:flex-end; gap:20px; padding:20px; border-radius:16px; border:1px solid var(--line); background:#fff; box-shadow:0 8px 24px rgba(25,49,67,.04); }
.s4-project-field { flex:1; min-width:0; }
.s4-project-field label { display:block; margin-bottom:8px; font-weight:750; }
.s4-project-field select { width:100%; min-height:46px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--text); font:inherit; }
.s4-project-field small { display:block; margin-top:7px; color:var(--muted); }
.s4-primary { min-height:46px; padding:0 20px; border:0; border-radius:10px; background:#84fd77; color:#173d24; font-weight:800; box-shadow:0 5px 14px rgba(132,253,119,.24); cursor:pointer; }
.s4-primary:hover { filter:brightness(.97); transform:translateY(-1px); }
.s4-primary:disabled { opacity:.65; cursor:wait; transform:none; }
.s4-status-message { min-height:8px; margin:10px 0 2px; }
.s4-alert { border-radius:10px; padding:11px 14px; font-size:.9rem; }
.s4-alert.info { background:#eaf7fc; color:#225a6d; }
.s4-alert.success { background:#eaf9e7; color:#28622b; }
.s4-alert.error { background:#fff0ef; color:#913a35; }
.s4-empty { margin-top:12px; min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:34px; border:1px dashed #cbd8df; border-radius:18px; background:rgba(255,255,255,.8); }
.s4-empty-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; background:rgba(132,253,119,.24); color:#2c7436; font-size:1.5rem; font-weight:900; }
.s4-empty h2 { margin:16px 0 7px; font-size:1.35rem; }
.s4-empty p { max-width:560px; margin:0; color:var(--muted); line-height:1.6; }
.s4-empty-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.s4-empty-pills span,.s4-count { padding:6px 10px; border-radius:999px; background:#f1f6f8; color:#536976; font-size:.75rem; font-weight:700; }
.s4-results { display:flex; flex-direction:column; gap:18px; margin-top:18px; }
.s4-results-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:6px 0 2px; }
.s4-results-heading h2 { margin:7px 0 6px; font-size:1.65rem; letter-spacing:-.03em; }
.s4-results-heading p,.s4-section-head p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.s4-run-meta { display:flex; flex-direction:column; gap:5px; align-items:flex-end; color:#376b42; font-size:.8rem; font-weight:750; text-align:right; }
.s4-run-meta small { color:var(--muted); font-weight:500; }
.s4-results-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:18px; align-items:start; }
.s4-panel { min-width:0; padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,49,67,.035); }
.s4-section-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.s4-section-head h2 { margin:6px 0 0; font-size:1.3rem; letter-spacing:-.025em; }
.s4-gate-list,.s4-meter-list { display:flex; flex-direction:column; gap:12px; }
.s4-gate-card { padding:16px; border:1px solid #e4ebef; border-radius:12px; background:#fbfdfe; }
.s4-gate-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.s4-gate-kicker { display:block; color:#82939c; font-size:.65rem; letter-spacing:.1em; font-weight:800; }
.s4-gate-card h3,.s4-meter-card h3 { margin:5px 0 0; font-size:1rem; }
.s4-gate-card>p { margin:11px 0 0; color:#536671; font-size:.9rem; line-height:1.6; }
.s4-pill { display:inline-flex; flex-shrink:0; align-items:center; border-radius:999px; padding:6px 9px; font-size:.72rem; font-weight:800; white-space:nowrap; }
.s4-pill.pass { color:#24672e; background:#e8f9e5; }
.s4-pill.review { color:#805a12; background:#fff4d9; }
.s4-pill.blocked { color:#963e3a; background:#ffe9e7; }
.s4-flag-list { display:flex; flex-direction:column; gap:9px; margin-top:12px; }
.s4-flag { padding:12px; border-left:3px solid #e7b54c; background:#fff9ea; border-radius:0 9px 9px 0; }
.s4-flag-head,.s4-romance-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.s4-flag blockquote,.s4-romance-card blockquote { margin:10px 0; padding-left:12px; border-left:2px solid #d6e3e8; color:#344c59; font-size:.9rem; line-height:1.6; }
.s4-flag p,.s4-romance-card p { margin:6px 0 0; color:#536671; font-size:.86rem; line-height:1.55; }
.s4-evidence { font-size:.68rem; font-weight:800; border-radius:999px; padding:4px 7px; }
.s4-evidence.verified { color:#286a32; background:#e8f8e6; }
.s4-evidence.unverified { color:#8a6116; background:#fff1d0; }
.s4-meter-card { padding:16px; border:1px solid #e4ebef; border-radius:12px; }
.s4-meter-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.s4-meter-head p { margin:5px 0 0; color:var(--muted); font-size:.8rem; line-height:1.4; }
.s4-meter-head>strong { font-size:1.5rem; letter-spacing:-.04em; white-space:nowrap; }
.s4-meter-head>strong small { font-size:.8rem; color:var(--muted); letter-spacing:0; }
.s4-meter-track { height:7px; margin:14px 0; border-radius:999px; overflow:hidden; background:#edf2f4; }
.s4-meter-track span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#84fd77,#68d1ed); }
.s4-beat-list { margin:0; padding-left:18px; color:#526671; font-size:.85rem; line-height:1.6; }
.s4-beat-list li+li { margin-top:6px; }
.s4-muted { color:var(--muted); font-size:.85rem; }
.s4-romance-panel .s4-section-head { align-items:flex-start; }
.s4-romance-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.s4-romance-card { display:flex; gap:13px; padding:16px; border:1px solid #e3edf0; border-radius:12px; background:linear-gradient(135deg,rgba(104,209,237,.09),rgba(132,253,119,.08)); }
.s4-romance-number { flex:0 0 34px; display:grid; place-items:center; height:34px; border-radius:10px; background:#fff; color:#347d90; font-weight:900; font-size:.8rem; }
.s4-romance-body { min-width:0; flex:1; }
.s4-romance-meta strong { font-size:.85rem; }
.s4-review-panel { border-left:4px solid #e7b54c; }
.s4-review-panel h2 { margin:0 0 10px; font-size:1.05rem; }
.s4-review-panel ul { margin:0; padding-left:20px; color:#536671; line-height:1.6; font-size:.88rem; }
.s4-human-note { display:flex; gap:13px; padding:17px; border:1px solid #e7d6a7; border-radius:13px; background:#fff9e9; }
.s4-human-icon { flex:0 0 30px; display:grid; place-items:center; height:30px; border-radius:50%; background:#f4d98b; color:#664c10; font-weight:900; }
.s4-human-note strong { color:#614a15; }
.s4-human-note p { margin:5px 0 0; color:#76663d; font-size:.86rem; line-height:1.55; }
.s4-next-link { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:17px 20px; border-radius:13px; background:#173d2a; color:#fff; text-decoration:none; }
.s4-next-link>span:last-child { font-size:1.5rem; color:#84fd77; }
.s4-next-link small { display:block; margin-top:4px; color:#d1e5d6; }
.s4-footer { display:flex; justify-content:space-between; gap:16px; padding:24px 0 10px; color:var(--muted); font-size:.78rem; }
.s4-footer a { color:#317f40; font-weight:750; text-decoration:none; }
.s4-spinner { display:inline-block; width:15px; height:15px; margin-right:7px; vertical-align:-2px; border:2px solid rgba(23,61,36,.25); border-top-color:#173d24; border-radius:50%; animation:s4spin .7s linear infinite; }
.s4-spinner-large { width:32px; height:32px; margin:0 0 14px; border-width:3px; }
@keyframes s4spin { to { transform:rotate(360deg); } }
@media(max-width:900px) { .s4-hero { flex-direction:column; } .s4-status-card { align-self:stretch; flex-basis:auto; } .s4-results-grid { grid-template-columns:1fr; } .s4-romance-list { grid-template-columns:1fr; } }
@media(max-width:600px) { .s4-project-bar,.s4-results-heading { flex-direction:column; align-items:stretch; } .s4-primary { width:100%; } .s4-run-meta { align-items:flex-start; text-align:left; } .s4-panel { padding:15px; } .s4-gate-top { flex-direction:column; } .s4-footer { flex-direction:column; } }

/* Screen 5 — Episode diagnostics */
.screen5-page { background:var(--surface,#f5f8fa); }
.s5-main { max-width:1440px; }
.s5-hero { display:flex; align-items:stretch; justify-content:space-between; gap:24px; padding:28px 0 24px; }
.s5-hero-copy { max-width:840px; }
.s5-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#317f40; font-size:.72rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.s5-dot { width:8px; height:8px; border-radius:50%; background:#84fd77; box-shadow:0 0 0 4px rgba(132,253,119,.2); }
.s5-hero h1 { margin:12px 0 10px; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.045em; line-height:1.08; }
.s5-hero p { max-width:780px; margin:0; color:var(--muted); line-height:1.65; }
.s5-status-card { flex:0 0 230px; align-self:center; display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid var(--line); border-top:4px solid #68d1ed; border-radius:17px; background:#fff; box-shadow:0 12px 32px rgba(25,49,67,.06); }
.s5-status-card[data-state="pass"] { border-top-color:#4baf58; }.s5-status-card[data-state="review"] { border-top-color:#e5ad40; }
.s5-status-label,.s5-status-hint { color:var(--muted); font-size:.78rem; }.s5-status-card strong { font-size:2.1rem; line-height:1.1; letter-spacing:-.05em; }
.s5-project-bar { display:flex; align-items:flex-end; gap:18px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,49,67,.04); }
.s5-project-field { flex:1; min-width:0; }.s5-project-field label { display:block; margin-bottom:8px; font-weight:800; }.s5-project-field select { width:100%; min-height:46px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--text); font:inherit; }
.s5-project-field small { display:block; margin-top:7px; color:var(--muted); font-size:.77rem; line-height:1.45; }.s5-filter-field { flex:0 1 245px; }
.s5-primary { min-height:46px; padding:0 18px; border:0; border-radius:10px; background:#84fd77; color:#173d24; font:inherit; font-weight:850; white-space:nowrap; box-shadow:0 5px 14px rgba(132,253,119,.24); cursor:pointer; }.s5-primary:hover { filter:brightness(.97); transform:translateY(-1px); }.s5-primary:disabled { opacity:.65; cursor:wait; transform:none; }
.s5-status-message { min-height:8px; margin:10px 0 2px; }.s5-alert { padding:11px 14px; border-radius:10px; font-size:.9rem; line-height:1.5; }.s5-alert.info { color:#225a6d; background:#eaf7fc; }.s5-alert.success { color:#28622b; background:#eaf9e7; }.s5-alert.error { color:#913a35; background:#fff0ef; }
.s5-empty,.s5-loading { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:280px; margin-top:14px; padding:34px; border:1px dashed #cbd8df; border-radius:18px; background:rgba(255,255,255,.82); text-align:center; }.s5-empty-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; background:rgba(132,253,119,.24); color:#2c7436; font-size:1.5rem; font-weight:900; }.s5-empty h2,.s5-loading h2 { margin:16px 0 7px; font-size:1.35rem; }.s5-empty p,.s5-loading p { max-width:620px; margin:0; color:var(--muted); line-height:1.6; }.s5-empty-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:18px; }.s5-empty-pills span { padding:6px 10px; border-radius:999px; background:#f1f6f8; color:#536976; font-size:.75rem; font-weight:750; }
.s5-results-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:24px 0 15px; }.s5-results-head h2 { margin:6px 0; font-size:1.7rem; letter-spacing:-.035em; }.s5-results-head p { margin:0; color:var(--muted); font-size:.88rem; }.s5-kicker { display:block; color:#80929b; font-size:.65rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.s5-token-meta { color:var(--muted); font-size:.78rem; text-align:right; }
.s5-review-note { margin-top:16px; padding:15px 18px; border:1px solid #ecd9a7; border-radius:12px; background:#fff9e9; color:#705a24; }.s5-review-note ul { margin:8px 0 0; padding-left:20px; font-size:.86rem; line-height:1.55; }.s5-review-note li+li { margin-top:4px; }
.s5-episode-list { display:flex; flex-direction:column; gap:16px; }.s5-episode-card { min-width:0; padding:21px; border:1px solid var(--line); border-left:4px solid #68d1ed; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,49,67,.035); }.s5-episode-head { display:flex; align-items:center; gap:14px; padding-bottom:16px; border-bottom:1px solid #e9eff2; }.s5-episode-number { display:grid; place-items:center; flex:0 0 46px; height:46px; border-radius:13px; background:linear-gradient(135deg,rgba(132,253,119,.42),rgba(104,209,237,.3)); color:#1b5a43; font-weight:900; }.s5-episode-title { flex:1; min-width:0; }.s5-episode-title h3 { margin:5px 0 0; font-size:1.18rem; letter-spacing:-.02em; }.s5-rating-stack { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }.s5-rating { display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; font-size:.71rem; font-weight:850; white-space:nowrap; }.s5-rating.strong { background:#e8f8e6; color:#286a32; }.s5-rating.moderate { background:#fff3d8; color:#825c15; }.s5-rating.weak { background:#ffe9e7; color:#963e3a; }
.s5-hook-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px; }.s5-beat { padding:15px; border:1px solid #e6eef1; border-radius:12px; background:#fbfdfe; }.s5-beat-hook { background:linear-gradient(135deg,rgba(132,253,119,.1),#fff 80%); }.s5-beat-cliff { background:linear-gradient(135deg,rgba(104,209,237,.12),#fff 80%); }.s5-beat p { margin:9px 0 0; color:#405763; font-size:.91rem; line-height:1.6; }
.s5-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; padding:17px 2px; }.s5-detail-grid section { min-width:0; }.s5-detail-grid h4 { margin:0 0 6px; font-size:.88rem; }.s5-detail-grid p { margin:0; color:#526671; font-size:.86rem; line-height:1.6; }.s5-detail-grid .s5-continuity { grid-column:1/-1; padding:12px 14px; border-radius:10px; background:#f4f8fa; }
.s5-task { padding:16px; border:1px solid #d9e9ef; border-radius:12px; background:linear-gradient(135deg,rgba(104,209,237,.08),rgba(132,253,119,.07)); }.s5-task-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.s5-task h4 { margin:6px 0 0; font-size:1rem; line-height:1.45; }.s5-priority { flex-shrink:0; padding:6px 9px; border-radius:999px; font-size:.7rem; font-weight:850; }.s5-priority.high { background:#ffe9e7; color:#963e3a; }.s5-priority.medium { background:#fff3d8; color:#825c15; }.s5-priority.low { background:#e8f8e6; color:#286a32; }.s5-task>p { margin:10px 0 0; color:#526671; font-size:.86rem; line-height:1.55; }.s5-task blockquote { margin:11px 0 0; padding:10px 12px; border-left:3px solid #68d1ed; border-radius:0 8px 8px 0; background:#fff; color:#344c59; font-size:.87rem; line-height:1.6; }.s5-evidence { display:inline-block; margin-left:7px; padding:3px 6px; border-radius:999px; font-size:.64rem; font-weight:850; white-space:nowrap; }.s5-evidence.verified { color:#286a32; background:#e8f8e6; }.s5-evidence.unverified { color:#8a6116; background:#fff1d0; }.s5-unverified { color:#8a6116!important; }.s5-task-status { display:block; margin-top:10px; color:var(--muted); font-size:.75rem; }.s5-no-task { padding:12px 14px; border-radius:10px; background:#f4f8fa; color:#657984; font-size:.84rem; }
.s5-next-link { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:20px; padding:17px 20px; border-radius:13px; background:#173d2a; color:#fff; text-decoration:none; }.s5-next-link>span:last-child { color:#84fd77; font-size:1.5rem; }.s5-next-link small { display:block; margin-top:4px; color:#d1e5d6; }.s5-footer { display:flex; justify-content:space-between; gap:16px; padding:24px 0 10px; color:var(--muted); font-size:.78rem; }.s5-footer a { color:#317f40; font-weight:750; text-decoration:none; }.s5-spinner { display:inline-block; width:15px; height:15px; margin-right:7px; vertical-align:-2px; border:2px solid rgba(23,61,36,.25); border-top-color:#173d24; border-radius:50%; animation:s5spin .7s linear infinite; }.s5-spinner-large { width:32px; height:32px; margin:0 0 14px; border-width:3px; }@keyframes s5spin { to { transform:rotate(360deg); } }
@media(max-width:950px) { .s5-hero { flex-direction:column; }.s5-status-card { align-self:stretch; flex-basis:auto; }.s5-project-bar { flex-wrap:wrap; }.s5-project-field { flex:1 1 45%; }.s5-primary { flex:1 1 100%; }.s5-primary span { margin-left:8px; } }
@media(max-width:650px) { .s5-project-bar,.s5-results-head { flex-direction:column; align-items:stretch; }.s5-project-field,.s5-filter-field { flex-basis:auto; width:100%; }.s5-primary { width:100%; }.s5-token-meta { text-align:left; }.s5-episode-card { padding:14px; }.s5-episode-head { align-items:flex-start; flex-wrap:wrap; }.s5-rating-stack { justify-content:flex-start; width:100%; }.s5-hook-grid,.s5-detail-grid { grid-template-columns:1fr; }.s5-detail-grid .s5-continuity { grid-column:auto; }.s5-task-head { flex-direction:column; }.s5-footer { flex-direction:column; } }

/* Screen 6 — Character & emotional journey */
.screen6-page { background:var(--surface,#f5f8fa); }
.s6-main { max-width:1440px; }
.s6-hero { display:flex; align-items:stretch; justify-content:space-between; gap:24px; padding:28px 0 24px; }
.s6-hero-copy { max-width:850px; }
.s6-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#317f40; font-size:.72rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.s6-dot { width:8px; height:8px; border-radius:50%; background:#84fd77; box-shadow:0 0 0 4px rgba(132,253,119,.2); }
.s6-hero h1 { margin:12px 0 10px; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.045em; line-height:1.08; }
.s6-hero p { max-width:780px; margin:0; color:var(--muted); line-height:1.65; }
.s6-status-card { flex:0 0 225px; align-self:center; display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid var(--line); border-top:4px solid #68d1ed; border-radius:17px; background:#fff; box-shadow:0 12px 32px rgba(25,49,67,.06); }
.s6-status-card[data-state="pass"] { border-top-color:#4baf58; }.s6-status-card[data-state="review"] { border-top-color:#e5ad40; }.s6-status-card[data-state="loading"] { border-top-color:#68d1ed; }
.s6-status-label,.s6-status-hint { color:var(--muted); font-size:.78rem; }.s6-status-card strong { font-size:2.1rem; line-height:1.1; letter-spacing:-.05em; }
.s6-project-bar { display:flex; align-items:flex-end; gap:18px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,49,67,.04); }
.s6-project-field { flex:1; min-width:0; }.s6-project-field label { display:block; margin-bottom:8px; font-weight:800; }.s6-project-field select { width:100%; min-height:46px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--text); font:inherit; }.s6-project-field small { display:block; margin-top:7px; color:var(--muted); font-size:.77rem; line-height:1.45; }
.s6-primary { min-height:46px; padding:0 18px; border:0; border-radius:10px; background:#84fd77; color:#173d24; font:inherit; font-weight:850; white-space:nowrap; box-shadow:0 5px 14px rgba(132,253,119,.24); cursor:pointer; }.s6-primary:hover { filter:brightness(.97); transform:translateY(-1px); }.s6-primary:disabled { opacity:.65; cursor:wait; transform:none; }
.s6-status-message { min-height:8px; margin:10px 0 2px; }.s6-alert { padding:11px 14px; border-radius:10px; font-size:.9rem; line-height:1.5; }.s6-alert.info { color:#225a6d; background:#eaf7fc; }.s6-alert.success { color:#28622b; background:#eaf9e7; }.s6-alert.error { color:#913a35; background:#fff0ef; }
.s6-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:280px; margin-top:14px; padding:34px; border:1px dashed #cbd8df; border-radius:18px; background:rgba(255,255,255,.82); text-align:center; }.s6-empty[hidden],#s6-results[hidden] { display:none!important; }.s6-empty-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; background:rgba(132,253,119,.24); color:#2c7436; font-size:1.5rem; font-weight:900; }.s6-empty h2 { margin:16px 0 7px; font-size:1.35rem; }.s6-empty p { max-width:620px; margin:0; color:var(--muted); line-height:1.6; }.s6-empty-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:18px; }.s6-empty-pills span { padding:6px 10px; border-radius:999px; background:#f1f6f8; color:#536976; font-size:.75rem; font-weight:750; }
.s6-results-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:24px 0 15px; }.s6-results-head h2 { margin:6px 0; font-size:1.7rem; letter-spacing:-.035em; }.s6-results-head p { margin:0; color:var(--muted); font-size:.88rem; }.s6-kicker { display:block; color:#80929b; font-size:.65rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.s6-token-meta { color:var(--muted); font-size:.78rem; text-align:right; }
.s6-review-note { margin-top:16px; padding:15px 18px; border:1px solid #ecd9a7; border-radius:12px; background:#fff9e9; color:#705a24; }.s6-review-note ul { margin:8px 0 0; padding-left:20px; font-size:.86rem; line-height:1.55; }.s6-review-note li+li { margin-top:4px; }
.s6-section { margin-top:24px; }.s6-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-bottom:14px; }.s6-section-heading h3 { margin:5px 0 0; font-size:1.25rem; letter-spacing:-.025em; }.s6-section-count,.s6-human-badge { padding:6px 9px; border-radius:999px; background:#eaf7fc; color:#225a6d; font-size:.72rem; font-weight:800; white-space:nowrap; }.s6-human-badge { background:#fff3d8; color:#825c15; }
.s6-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.s6-character-card,.s6-panel { min-width:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,49,67,.035); }.s6-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }.s6-card-top h4,.s6-character-card h4,.s6-casting-card h4 { margin:5px 0 0; font-size:1.03rem; line-height:1.4; }.s6-character-card { border-top:3px solid #68d1ed; }.s6-character-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:17px; }.s6-character-fields strong,.s6-relationship-card strong { color:#263f4b; font-size:.8rem; }.s6-character-fields p,.s6-relationship-card p,.s6-check-card p,.s6-casting-card p { margin:5px 0 0; color:#526671; font-size:.86rem; line-height:1.6; }
.s6-chip { display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; background:#f1f6f8; color:#536976; font-size:.68rem; font-weight:850; line-height:1.25; }.s6-chip.positive,.s6-chip.verified { color:#286a32; background:#e8f8e6; }.s6-chip.review { color:#825c15; background:#fff3d8; }.s6-chip.blue { color:#225a6d; background:#eaf7fc; }
.s6-two-column { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }.s6-panel { margin-top:18px; }.s6-two-column .s6-panel { margin-top:0; }.s6-stack { display:flex; flex-direction:column; gap:11px; }.s6-relationship-card,.s6-beat-card,.s6-check-card,.s6-casting-card { min-width:0; padding:14px; border:1px solid #e5edf1; border-radius:12px; background:#fbfdfe; }.s6-relationship-card { border-left:3px solid #84fd77; }.s6-beat-card { border-left:3px solid #68d1ed; }.s6-beat-card>p { margin:9px 0 0; color:#526671; font-size:.86rem; line-height:1.6; }.s6-quote,.s6-evidence { margin:11px 0 0; padding:10px 12px; border-left:3px solid #68d1ed; border-radius:0 8px 8px 0; background:#fff; color:#344c59; font-size:.84rem; line-height:1.6; overflow-wrap:anywhere; }.s6-evidence { border-left-color:#84fd77; }.s6-location { display:inline-block; margin-top:8px; color:#80929b; font-size:.73rem; font-weight:800; }.s6-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.s6-check-card { background:#fffdfa; border-color:#f0e4c7; }.s6-casting-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }.s6-age { display:inline-block; margin-top:7px; color:#317f40; font-size:.76rem; font-weight:800; }.s6-traits { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }.s6-disclaimer { margin:14px 0 0; color:var(--muted); font-size:.78rem; line-height:1.55; }.s6-no-data { padding:15px; border:1px dashed #d3dfe4; border-radius:10px; color:#687c87; font-size:.85rem; line-height:1.55; }
.s6-next-link { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:20px; padding:17px 20px; border-radius:13px; background:#173d2a; color:#fff; text-decoration:none; }.s6-next-link>span:last-child { color:#84fd77; font-size:1.5rem; }.s6-next-link small { display:block; margin-top:4px; color:#d1e5d6; }.s6-footer { display:flex; justify-content:space-between; gap:16px; padding:24px 0 10px; color:var(--muted); font-size:.78rem; }.s6-footer a { color:#317f40; font-weight:750; text-decoration:none; }.s6-spinner { display:inline-block; width:14px; height:14px; margin-right:8px; vertical-align:-2px; border:2px solid rgba(23,61,36,.25); border-top-color:#173d24; border-radius:50%; animation:s6spin .7s linear infinite; }@keyframes s6spin { to { transform:rotate(360deg); } }
@media(max-width:950px) { .s6-hero { flex-direction:column; }.s6-status-card { align-self:stretch; flex-basis:auto; }.s6-project-bar { flex-wrap:wrap; }.s6-primary { width:100%; }.s6-profile-grid,.s6-two-column { grid-template-columns:1fr; }.s6-casting-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .s6-project-bar,.s6-results-head { flex-direction:column; align-items:stretch; }.s6-token-meta { text-align:left; }.s6-character-fields,.s6-check-grid,.s6-casting-grid { grid-template-columns:1fr; }.s6-card-top,.s6-section-heading { flex-direction:column; align-items:flex-start; }.s6-footer { flex-direction:column; }.s6-character-card,.s6-panel { padding:15px; } }

/* Screen 7 — audience, title and world-building */
.s7-page{max-width:1440px;margin:0 auto;padding-bottom:34px}.s7-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.s7-hero .sub{max-width:780px;line-height:1.6}.s7-score{min-width:190px;padding:20px;text-align:center;border-top:4px solid var(--brand-blue)}.s7-score span{display:block;font-size:2.35rem;line-height:1.15;font-weight:800;color:var(--text-primary,var(--bg-dark))}.s7-score small{display:block;margin-top:8px;font-size:.68rem;letter-spacing:.08em;color:var(--text-muted)}.s7-selector{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) auto;align-items:end;gap:18px;padding:20px}.s7-select-field label{display:block;font-weight:700;margin-bottom:8px}.s7-select-field select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card-bg,#fff);color:inherit}.s7-select-meta{font-size:.88rem;color:var(--text-muted);padding-bottom:12px}.s7-selector .btn{white-space:nowrap;padding:12px 18px}.s7-results{margin-top:20px}.s7-empty{text-align:center;padding:54px 20px}.s7-empty h2{margin:10px 0}.s7-empty p{max-width:600px;margin:0 auto;color:var(--text-muted);line-height:1.6}.s7-empty-icon{margin:auto;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(132,253,119,.25);font-size:28px;color:#236d28}.s7-grid{display:grid;gap:18px;margin-bottom:18px;align-items:start}.s7-grid-main{grid-template-columns:1.1fr .9fr}.s7-grid-secondary{grid-template-columns:1fr 1fr 1fr}.s7-panel{padding:22px;min-width:0}.s7-panel h2{font-size:1.08rem;margin:0 0 15px}.s7-panel h3{font-size:.9rem;margin:18px 0 8px}.s7-intro,.s7-muted{color:var(--text-muted);font-size:.87rem;line-height:1.55}.s7-segment{padding:14px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:rgba(104,209,237,.055)}.s7-segment-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.s7-segment-top strong{font-size:.92rem}.s7-confidence{font-size:.7rem;white-space:nowrap;padding:5px 8px;border-radius:999px;background:#edf2f7;color:#344054}.s7-confidence.high{background:#e4f9e0;color:#246b29}.s7-confidence.low{background:#fff1d6;color:#865600}.s7-segment p,.s7-insight p,.s7-phase p{font-size:.86rem;line-height:1.55;margin:8px 0 0;color:var(--text-muted)}.s7-segment p b{display:block;color:var(--text-primary,var(--bg-dark));font-size:.77rem;margin-bottom:2px}.s7-insight{border-left:3px solid var(--brand-green);padding:3px 0 3px 12px;margin:12px 0}.s7-insight b{font-size:.87rem}.s7-panel ul{padding-left:20px;margin:8px 0}.s7-panel li{font-size:.86rem;line-height:1.55;margin:5px 0}.s7-phase{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.s7-phase:last-child{border-bottom:0}.s7-phase-index{width:32px;height:32px;border-radius:10px;background:rgba(104,209,237,.18);display:grid;place-items:center;font-size:.75rem;font-weight:800}.s7-phase strong{font-size:.9rem}.s7-title-name{font-size:1.45rem;font-weight:800;overflow-wrap:anywhere}.s7-title-name+p{font-size:.88rem;line-height:1.55;color:var(--text-muted)}.s7-panel blockquote{margin:10px 0 0;padding:12px;border-left:3px solid var(--brand-blue);background:rgba(104,209,237,.08);font-size:.86rem;line-height:1.55}.s7-panel blockquote small{display:block;margin-top:8px;color:var(--text-muted)}.s7-review{margin-bottom:18px}.s7-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--text-muted);font-size:.82rem;margin-top:20px}.s7-footer a{text-decoration:none}.s7-progress,.s7-success,.s7-alert{display:flex;align-items:center;gap:12px;border-radius:12px;padding:13px 16px;margin-top:12px;font-size:.87rem}.s7-progress{background:rgba(104,209,237,.12)}.s7-progress small{display:block;margin-top:4px;color:var(--text-muted)}.s7-success{background:rgba(132,253,119,.18);justify-content:space-between;flex-wrap:wrap}.s7-success span{font-size:.78rem;color:var(--text-muted)}.s7-alert{background:#fff2df;color:#794d00}.s7-spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.15);border-top-color:#23833b;border-radius:50%;animation:s7spin .8s linear infinite;flex:none}@keyframes s7spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.s7-grid-secondary{grid-template-columns:1fr 1fr}.s7-selector{grid-template-columns:1fr 1fr}.s7-select-meta{grid-column:1/-1;grid-row:2}.s7-selector .btn{grid-column:2;grid-row:1}}
@media(max-width:700px){.s7-hero{align-items:stretch;flex-direction:column}.s7-score{min-width:0;text-align:left;display:flex;align-items:center;gap:14px}.s7-score small{margin:0}.s7-selector,.s7-grid-main,.s7-grid-secondary{grid-template-columns:1fr}.s7-select-meta,.s7-selector .btn{grid-column:auto;grid-row:auto}.s7-footer{align-items:stretch;flex-direction:column}.s7-panel{padding:17px}.s7-segment-top{flex-direction:column}}

/* Screen 8: promotional assets, franchise strategy and casting review */
.s8-panel { background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 14px; padding: 18px; box-shadow: 0 5px 18px rgba(15, 23, 42, .045); }
.s8-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; color: var(--text-muted); font-size: .82rem; }
.s8-meter { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 9px; font-size: .75rem; font-weight: 700; background: rgba(132,253,119,.22); color: #215b20; }
.s8-review-note { border-left: 3px solid var(--brand-blue); padding: 10px 12px; margin: 8px 0; background: rgba(104,209,237,.09); border-radius: 0 8px 8px 0; }
#promo-display-area .card { min-width: 0; }
#promo-display-area button:focus-visible, #promo-display-area select:focus-visible, #promo-display-area input:focus-visible { outline: 3px solid rgba(104,209,237,.6); outline-offset: 2px; }
@media (max-width: 900px) {
  #promo-display-area > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  #promo-display-area [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
  .header-section { flex-direction: column !important; gap: 12px; }
  #load-promo-btn { margin-top: 0 !important; }
  .row { flex-direction: column; align-items: stretch !important; }
}

/* Screen 9: responsive production-planning layout */
.screen9-usage { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:12px 16px; margin:0 0 16px; border:1px solid var(--line); border-radius:12px; background:rgba(104,209,237,.08); color:var(--text-muted); font-size:.82rem; }
.screen9-usage strong { color:var(--text-main, #172033); }
.screen9-review-notes { margin:0 0 18px; padding:14px 18px; border-left:4px solid var(--brand-blue); background:rgba(104,209,237,.06); }
.screen9-review-notes h2 { font-size:1rem; margin:0 0 8px; }
.screen9-review-notes p { color:var(--text-muted); font-size:.84rem; margin:8px 0 0; }
.screen9-review-notes ul { margin:6px 0; padding-left:20px; }
.screen9-review-notes li { margin:4px 0; }
@media (max-width: 760px) {
  .shell-main .header-section { flex-direction:column !important; gap:14px; }
  .shell-main .header-section > div:last-child { width:100%; }
  #concept-select { max-width:100%; }
  .screen9-usage { align-items:flex-start; flex-direction:column; gap:6px; }
  #prod-display-area table { min-width:760px; }
  #prod-display-area .card { overflow-wrap:anywhere; }
}

/* Screen 10 — Human Review, Final Decision, Audit & Export */
.s10-main{max-width:1500px}.s10-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.s10-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.s10-trust span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.78rem;color:var(--text-muted);background:rgba(132,253,119,.08)}.s10-completeness{min-width:170px;border:1px solid var(--line);border-top:4px solid var(--brand-green);border-radius:14px;padding:16px;background:var(--card,#fff);display:flex;flex-direction:column;gap:6px}.s10-completeness small,.s10-completeness span{color:var(--text-muted);font-size:.78rem}.s10-completeness strong{font-size:1.35rem}.s10-select{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.s10-select-field{flex:1;min-width:240px}.s10-select label,.s10-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.86rem}.s10-select select,.s10-form input,.s10-form select,.s10-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg,#fff);color:var(--text-dark,#172033);font:inherit}.s10-form textarea{min-height:90px;resize:vertical}.s10-status{width:100%}.s10-message{display:block;padding:9px 12px;border-radius:8px;font-size:.88rem}.s10-message.success{background:rgba(132,253,119,.14);border:1px solid rgba(55,160,53,.35)}.s10-message.error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.35)}.s10-message.info{background:rgba(104,209,237,.12);border:1px solid rgba(104,209,237,.4)}.s10-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.s10-metric{display:flex;flex-direction:column;gap:5px}.s10-metric span,.s10-metric small{color:var(--text-muted);font-size:.8rem}.s10-metric strong{font-size:1.55rem}.s10-panel{margin-bottom:18px;padding:22px}.s10-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.s10-section-head>div{display:flex;gap:10px;align-items:center}.s10-section-head h2{margin:0;font-size:1.12rem}.s10-section-head p{margin:0;max-width:480px;color:var(--text-muted);font-size:.83rem}.s10-step{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:rgba(132,253,119,.18);font-weight:800}.s10-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.s10-module{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.s10-module>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.s10-module strong{font-size:.88rem}.s10-module small{display:block;color:var(--text-muted);font-size:.74rem;margin-top:6px;overflow-wrap:anywhere}.s10-status-pill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700;text-transform:capitalize;white-space:nowrap}.s10-status-pill.ok{background:rgba(132,253,119,.18);color:#276b2c}.s10-status-pill.missing{background:rgba(239,68,68,.1);color:#a12626}.s10-status-pill.partial{background:rgba(245,158,11,.13);color:#8a5400}.s10-gate-summary{margin-top:14px;border-left:3px solid var(--brand-blue);padding:12px;background:rgba(104,209,237,.08);font-size:.85rem}.s10-gate-summary span{display:block;color:var(--text-muted);margin-top:4px}.s10-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.s10-check{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:12px;border-radius:9px;font-size:.86rem;line-height:1.45}.s10-check input{margin-top:3px;accent-color:#42a83d;flex:0 0 auto}.s10-form-footer{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px}.s10-reviewer-fields{display:flex;gap:10px;flex:1;min-width:260px}.s10-reviewer-fields label{flex:1}.s10-help,.s10-footnote{font-size:.8rem;color:var(--text-muted);line-height:1.5}.s10-decision-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.s10-form{display:flex;flex-direction:column;gap:12px;min-width:0}.s10-form h3{margin:0;font-size:1rem}.s10-form>p{margin:0;color:var(--text-muted);font-size:.82rem}.s10-form .btn{align-self:flex-start}.s10-form .s10-reviewer-fields{margin-top:0}.s10-warning{border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.08);border-radius:9px;padding:12px;font-size:.84rem;line-height:1.5;margin:18px 0 0}.s10-wide-form{width:100%}.s10-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.s10-audit-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.s10-audit-list h3{margin:8px 0 0;font-size:1rem}.s10-audit-item{border:1px solid var(--line);border-radius:10px;padding:13px;overflow-wrap:anywhere}.s10-audit-item p{font-size:.87rem;line-height:1.5;margin:8px 0}.s10-audit-item small{font-size:.75rem;color:var(--text-muted)}.s10-audit-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.s10-audit-item pre{white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(104,209,237,.08);padding:10px;border-radius:8px;font-size:.78rem}.s10-empty{color:var(--text-muted);font-size:.88rem}.s10-export-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.s10-export-row .disabled{opacity:.45;pointer-events:none}.s10-footnote{padding:0 2px 20px}
@media(max-width:900px){.s10-hero{flex-direction:column}.s10-completeness{width:100%}.s10-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.s10-section-head{flex-direction:column;gap:8px}.s10-section-head p{max-width:none}.s10-decision-columns{grid-template-columns:1fr}.s10-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.s10-panel{padding:15px}.s10-metrics,.s10-module-grid,.s10-checklist,.s10-form-grid{grid-template-columns:1fr}.s10-select .btn{width:100%}.s10-reviewer-fields{min-width:100%;flex-direction:column}.s10-form-footer .btn{width:100%}.s10-audit-top{align-items:flex-start;flex-direction:column}}

/* Screen 10 readability pass — override legacy global form styles */
.s10-main{box-sizing:border-box;width:100%;max-width:1480px;padding:clamp(20px,2.2vw,36px);font-size:15px;line-height:1.55;color:var(--ink,#172033)}
.s10-main *{box-sizing:border-box}
.s10-main .page-title{font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:1.12;letter-spacing:-.035em;margin:10px 0 14px;max-width:1050px}
.s10-main .sub{font-size:1rem;line-height:1.65;max-width:1000px;margin:0;color:var(--muted,#536174)}
.s10-hero{gap:24px;align-items:stretch}
.s10-hero>div:first-child{flex:1;min-width:0}
.s10-trust{gap:8px 10px;align-items:center}
.s10-trust span{display:inline-flex;align-items:center;gap:6px;line-height:1.35;font-size:.78rem;white-space:normal}
.s10-completeness{flex:0 0 210px;align-self:flex-start;min-width:0;box-shadow:0 4px 16px rgba(23,32,51,.04)}
.s10-select,.s10-panel,.s10-metric{background:var(--surface,#fff);border:1px solid var(--line,#dce2ec);border-radius:16px;box-shadow:0 4px 16px rgba(23,32,51,.035)}
.s10-select{padding:18px;align-items:flex-end}
.s10-select-field{display:flex;flex-direction:column;gap:7px;min-width:min(100%,280px)}
.s10-main label{margin:0;color:var(--ink,#172033);font-size:.88rem;line-height:1.45}
.s10-select select,.s10-form input,.s10-form select,.s10-form textarea{display:block;min-height:44px;padding:11px 13px;background:#fff;color:#172033;border:1px solid #cbd5e1;border-radius:10px;font-size:.92rem;line-height:1.4;box-shadow:none}
.s10-form textarea{min-height:112px;line-height:1.55}
.s10-main input:focus,.s10-main select:focus,.s10-main textarea:focus{outline:3px solid rgba(104,209,237,.28);outline-offset:1px;border-color:#48b9d8}
.s10-main .btn{min-height:44px;padding:11px 17px;border-radius:10px;font-size:.9rem;font-weight:750;line-height:1.25;white-space:normal}
.s10-status{flex-basis:100%;margin-top:0}
.s10-message{line-height:1.5;overflow-wrap:anywhere}
.s10-metrics{gap:14px}
.s10-metric{padding:17px 18px;min-width:0}
.s10-metric span{font-size:.8rem;line-height:1.4;color:#596579}
.s10-metric strong{font-size:1.65rem;line-height:1.2;overflow-wrap:anywhere}
.s10-metric small{font-size:.76rem;line-height:1.4}
.s10-panel{padding:clamp(18px,2vw,28px);margin-bottom:18px;min-width:0}
.s10-section-head{gap:20px;align-items:flex-start}
.s10-section-head>div{flex:0 0 auto;align-items:center;gap:12px}
.s10-section-head h2{font-size:1.18rem;line-height:1.3;letter-spacing:-.015em}
.s10-section-head p{max-width:540px;font-size:.85rem;line-height:1.55;color:#5b6678}
.s10-step{flex:0 0 32px;width:32px;height:32px;font-size:.76rem}
.s10-module-grid{gap:12px}
.s10-module{background:#fff;padding:15px;border-radius:12px}
.s10-module strong{font-size:.9rem;line-height:1.4}
.s10-module small{font-size:.78rem;line-height:1.5;color:#5b6678}
.s10-gate-summary{line-height:1.55;border-radius:0 10px 10px 0;color:#344054}
.s10-checklist{gap:10px;align-items:stretch}
.s10-checklist label.s10-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:flex-start!important;gap:11px!important;min-width:0;margin:0!important;padding:14px!important;background:#fff;border:1px solid #dce2ec;border-radius:11px;font-size:.88rem!important;font-weight:550!important;line-height:1.5!important;color:#253247!important;cursor:pointer}
.s10-checklist label.s10-check input[type=checkbox]{display:block;appearance:auto;flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:3px 0 0!important;padding:0;border:initial;border-radius:3px;accent-color:#328c3b}
.s10-checklist label.s10-check span{display:block;flex:1;min-width:0;overflow-wrap:anywhere}
.s10-form-footer{align-items:flex-end;gap:16px}
.s10-reviewer-fields{gap:12px;min-width:0}
.s10-reviewer-fields label{display:flex;flex-direction:column;gap:7px;min-width:0}
.s10-help,.s10-footnote{font-size:.82rem;line-height:1.55;color:#5b6678}
.s10-decision-columns{gap:18px;align-items:start}
.s10-form{padding:18px;background:#f9fbfd;border:1px solid #e0e6ef;border-radius:13px;gap:14px}
.s10-form h3{font-size:1rem;line-height:1.4;margin:0;color:#172033}
.s10-form>p{font-size:.84rem;line-height:1.5;color:#5b6678}
.s10-form .s10-reviewer-fields{display:flex}
.s10-form-grid{gap:14px}
.s10-warning{font-size:.86rem;line-height:1.6;color:#704b0b}
.s10-audit-list{gap:12px}
.s10-audit-item{background:#fff;border-radius:12px;padding:16px}
.s10-audit-item p{font-size:.88rem;line-height:1.6;color:#344054}
.s10-audit-item small{font-size:.78rem;line-height:1.5;color:#647084}
.s10-audit-item pre{overflow-x:auto;line-height:1.5}
.s10-empty{font-size:.88rem;line-height:1.55;color:#5b6678}
@media(max-width:1000px){.s10-hero{flex-direction:column}.s10-completeness{width:100%;flex-basis:auto}.s10-section-head{flex-direction:column;gap:9px}.s10-section-head p{max-width:none}.s10-decision-columns{grid-template-columns:1fr}.s10-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.s10-main{padding:18px 14px 28px}.s10-metrics,.s10-module-grid,.s10-checklist,.s10-form-grid{grid-template-columns:1fr}.s10-select{padding:14px}.s10-select-field{min-width:100%}.s10-select .btn{width:100%}.s10-panel{padding:16px}.s10-reviewer-fields{min-width:0;flex-direction:column;width:100%}.s10-form-footer{align-items:stretch;flex-direction:column}.s10-form-footer>.btn,.s10-form .btn{width:100%;align-self:stretch}.s10-form{padding:15px}.s10-section-head h2{font-size:1.08rem}}


/* Screen 10 readability repair v2: prevent global shell/card rules from collapsing layout */
.s10-main { width:100% !important; max-width:1480px !important; margin:0 auto !important; font-size:15px !important; line-height:1.55 !important; }
.s10-main .s10-trust { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; gap:8px !important; margin:14px 0 0 !important; }
.s10-main .s10-trust > span { display:inline-flex !important; width:auto !important; margin:0 !important; padding:6px 10px !important; white-space:normal !important; }
.s10-main .s10-completeness { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:6px !important; }
.s10-main .s10-select { display:flex !important; flex-wrap:wrap !important; gap:14px !important; align-items:flex-end !important; }
.s10-main .s10-select-field { display:flex !important; flex-direction:column !important; gap:7px !important; }
.s10-main .s10-metrics { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:14px !important; }
.s10-main .s10-metric { display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:flex-start !important; gap:6px !important; min-width:0 !important; padding:17px 18px !important; }
.s10-main .s10-metric > span, .s10-main .s10-metric > strong, .s10-main .s10-metric > small { display:block !important; width:100% !important; margin:0 !important; line-height:1.4 !important; }
.s10-main .s10-metric > span { font-size:.82rem !important; color:#596579 !important; }
.s10-main .s10-metric > strong { font-size:1.5rem !important; line-height:1.2 !important; }
.s10-main .s10-metric > small { font-size:.76rem !important; color:#596579 !important; }
.s10-main .s10-panel { display:block !important; margin:0 0 18px !important; padding:24px !important; background:#fff !important; border:1px solid #dce2ec !important; border-radius:16px !important; box-shadow:0 4px 16px rgba(23,32,51,.035) !important; }
/* Author display:!important above overrides the HTML hidden attribute — keep hide working. */
.s10-main .s10-panel[hidden], #pending-queue-panel[hidden] { display:none !important; }
.s10-main .s10-section-head { display:flex !important; flex-direction:row !important; justify-content:space-between !important; align-items:flex-start !important; gap:20px !important; margin:0 0 18px !important; }
.s10-main .s10-section-head > div { display:grid !important; grid-template-columns:32px minmax(0,1fr) !important; align-items:center !important; column-gap:12px !important; row-gap:0 !important; flex:1 1 380px !important; min-width:0 !important; }
.s10-main .s10-section-head .s10-step { display:inline-flex !important; grid-column:1 !important; grid-row:1 !important; align-self:center !important; flex:0 0 32px !important; width:32px !important; height:32px !important; margin:0 !important; }
.s10-main .s10-section-head h2 { display:block !important; grid-column:2 !important; grid-row:1 !important; align-self:center !important; min-width:0 !important; margin:0 !important; font-size:1.15rem !important; line-height:1.35 !important; overflow-wrap:normal !important; }
.s10-main .s10-section-head > p { flex:0 1 520px !important; max-width:520px !important; margin:0 !important; font-size:.88rem !important; line-height:1.55 !important; }
.s10-main .s10-checklist { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
.s10-main .s10-checklist label.s10-check { display:flex !important; flex-direction:row !important; align-items:flex-start !important; gap:11px !important; min-width:0 !important; }
.s10-main .s10-checklist label.s10-check input[type=checkbox] { display:block !important; flex:0 0 18px !important; width:18px !important; height:18px !important; min-height:18px !important; margin:3px 0 0 !important; }
.s10-main .s10-checklist label.s10-check span { display:block !important; flex:1 1 auto !important; min-width:0 !important; }
.s10-main .s10-form label { display:flex !important; flex-direction:column !important; gap:7px !important; }
.s10-main .s10-form input, .s10-main .s10-form select, .s10-main .s10-form textarea, .s10-main .s10-select select { display:block !important; width:100% !important; max-width:100% !important; font-size:.92rem !important; }
.s10-main .s10-export-row { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:10px !important; }
.s10-main .s10-export-row .btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; }
@media(max-width:1000px) {
 .s10-main .s10-metrics { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 .s10-main .s10-section-head { flex-direction:column !important; }
 .s10-main .s10-section-head > div { flex:0 1 auto !important; width:100% !important; }
 .s10-main .s10-section-head > p { max-width:none !important; flex:0 1 auto !important; width:100% !important; }
}
@media(max-width:680px) {
 .s10-main { padding:18px 14px 28px !important; }
 .s10-main .s10-metrics, .s10-main .s10-module-grid, .s10-main .s10-checklist, .s10-main .s10-form-grid { grid-template-columns:1fr !important; }
 .s10-main .s10-panel { padding:16px !important; }
 .s10-main .s10-section-head > div { grid-template-columns:30px minmax(0,1fr) !important; column-gap:10px !important; }
 .s10-main .s10-section-head .s10-step { width:30px !important; height:30px !important; }
}

/* Screen 2 episode structure setup */
.s2-structure-box{border:1px solid var(--line,#dce5df);border-radius:16px;padding:16px;margin:4px 0 8px;background:linear-gradient(135deg,rgba(132,253,119,.09),rgba(104,209,237,.09));display:grid;gap:12px}.s2-structure-heading h3{margin:4px 0 0;font-size:1.05rem}.s2-structure-note{margin:0;padding:10px 12px;border-radius:10px;background:rgba(104,209,237,.15);font-size:.82rem;line-height:1.45;color:var(--text,#20332a)}.s2-structure-box [hidden]{display:none!important}
