.script-writer { --writer-accent:#365b30; --writer-soft:#ecf1e5; }
.writer-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[data-theme='dark'] .script-writer { --writer-accent:#c2dca3; --writer-soft:#2b3523; }
.writer-hero { display:flex; justify-content:space-between; align-items:end; gap:36px; padding:42px 0 30px; }
.writer-hero h1 { font-size:clamp(44px,5.2vw,76px); font-weight:500; letter-spacing:-.05em; line-height:1.05; margin:14px 0 18px; }
.writer-hero p { max-width:67ch; margin:0; }
.writer-hero .kicker { color:var(--writer-accent); }
.writer-hero-meta { font:11px/1.8 var(--mono); color:var(--muted); flex-shrink:0; padding-bottom:3px; }
.writer-jump { display:flex; align-items:center; flex-wrap:wrap; gap:12px 25px; padding:16px 0; margin-bottom:28px; border-block:1px solid var(--rule); font-size:13px; }
.writer-hero .writer-hero-action { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:22px; font-size:12px; }
#imported-count { font:11px var(--mono); color:var(--muted); }
.writer-workspace { display:grid; grid-template-columns:230px minmax(0,1.08fr) minmax(0,1fr); gap:30px; align-items:start; }
.writer-workspace > * { min-width:0; }
.writer-library { border:1px solid var(--rule); background:var(--field); }
.writer-library > summary { padding:16px; font-weight:600; cursor:pointer; }
.writer-library-inner { padding:0 14px 16px; }
.writer-field { display:block; margin-bottom:15px; }
.writer-field-label { display:block; font-size:12px; font-weight:500; margin-bottom:6px; }
.script-writer input,.script-writer select,.script-writer textarea { width:100%; min-width:0; min-height:42px; padding:10px 11px; border:1px solid var(--rule-strong); border-radius:2px; color:var(--ink); background:var(--paper); font:14px/1.5 var(--sans); }
.script-writer textarea { resize:vertical; display:block; }
.script-writer input::placeholder,.script-writer textarea::placeholder { color:var(--muted); opacity:1; }
.script-writer input[type=file] { font-size:12px; padding:8px; }
.script-writer input::file-selector-button { font:inherit; border:0; padding:7px 9px; margin-right:8px; cursor:pointer; background:var(--field); color:var(--ink); }
.script-writer button:disabled { cursor:default; opacity:.45; }
.writer-library-meta { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:11px; margin:4px 0 10px; }
.writer-text-button { border:0; padding:6px 0; background:transparent; color:var(--writer-accent); font:12px/1.5 var(--sans); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.writer-film-list { list-style:none; padding:0; margin:0 -14px -16px; max-height:700px; overflow:auto; overscroll-behavior:contain; }
.writer-film { display:grid; grid-template-columns:25px minmax(0,1fr); gap:8px; padding:15px 13px; border-top:1px solid var(--rule); border-left:3px solid transparent; text-decoration:none; }
.writer-film:hover { background:var(--paper); }
.writer-film[aria-current='true'] { border-left-color:var(--writer-accent); background:var(--writer-soft); }
.writer-rank { font:10px/1.8 var(--mono); color:var(--muted); }
.writer-film-copy { display:block; min-width:0; }
.writer-film-title { display:block; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.writer-film-meta { display:block; margin-top:7px; font:10px/1.6 var(--mono); color:var(--muted); }
.writer-reference > .kicker { margin:0 0 12px; }
.writer-reference h2 { font-size:clamp(25px,2.4vw,35px); line-height:1.2; letter-spacing:-.035em; font-weight:500; margin:0 0 20px; }
.writer-source-links { display:flex; flex-wrap:wrap; gap:10px 19px; font-size:12px; margin-bottom:24px; }
.writer-tabs { display:flex; gap:25px; border-bottom:1px solid var(--rule); margin-bottom:24px; }
.writer-tabs button { border:0; border-bottom:2px solid transparent; padding:13px 0; font:14px var(--sans); color:var(--muted); background:transparent; cursor:pointer; }
.writer-tabs button[aria-selected='true'] { color:var(--ink); border-bottom-color:var(--ink); }
.writer-source-frame { margin:0 0 22px; }
.writer-source-frame img { display:block; width:100%; height:auto; max-height:290px; object-fit:contain; background:#191b18; }
.writer-source-frame figcaption { color:var(--muted); font:10px/1.6 var(--mono); margin-top:8px; }
.writer-pattern { font-size:19px; line-height:1.4; letter-spacing:-.015em; margin:15px 0; }
.writer-reading { line-height:1.75; font-size:14px; }
.writer-beats { list-style:none; padding:0; margin:28px 0; }
.writer-beats > li { padding:20px 0; border-top:1px solid var(--rule); }
.writer-beat-heading { display:grid; grid-template-columns:48px 1fr; align-items:baseline; gap:14px; }
.writer-time { font:11px/1.6 var(--mono); color:var(--writer-accent); }
.writer-beat-heading h4 { font-size:16px; font-weight:500; margin:0; line-height:1.4; }
.writer-beats p { font-size:13px; line-height:1.75; margin:12px 0 7px; }
.writer-note { background:var(--field); border-left:2px solid var(--writer-accent); padding:17px 19px; margin-top:22px; font-size:13px; line-height:1.75; }
.writer-note p { margin:8px 0 0; }
.writer-limit { font-size:12px; color:var(--muted); line-height:1.7; }
.writer-draft { background:var(--field); border:1px solid var(--rule); padding:22px; }
.writer-draft-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; }
.writer-draft h2 { font-size:27px; letter-spacing:-.03em; font-weight:500; margin:0; }
.writer-draft > p { font-size:12px; line-height:1.7; color:var(--muted); }
.writer-draft fieldset { border:0; margin:0; padding:0; min-width:0; }
.writer-draft .writer-field { margin-bottom:17px; }
.writer-draft #draft-title { font-size:18px; }
.writer-agent { margin-top:24px; padding-top:22px; border-top:1px solid var(--rule); }
.writer-agent h3 { font-size:22px; font-weight:500; letter-spacing:-.02em; line-height:1.3; margin:10px 0 14px; }
.writer-agent > p { font-size:12px; line-height:1.7; }
.writer-agent .kicker { color:var(--writer-accent); margin:0; font-size:10px; }
.writer-agent-reference { border-left:2px solid var(--writer-accent); padding:10px 12px; background:var(--writer-soft); overflow-wrap:anywhere; }
.writer-brief-options { font-size:12px; }
.writer-brief-options summary { cursor:pointer; margin-bottom:14px; }
.writer-agent .video-button { white-space:normal; text-align:center; }
.writer-save { font:10px/1.5 var(--mono); color:var(--muted); max-width:22ch; text-align:right; }
.writer-draft-beat { padding-top:22px; border-top:1px solid var(--rule); margin-top:24px; }
.writer-draft-beat .kicker { font-size:10px; margin:0; }
.writer-order { display:flex; align-items:center; gap:10px; }
.writer-icon-button { padding:5px 10px; border:1px solid var(--rule); background:var(--paper); color:var(--ink); font-size:15px; min-height:34px; cursor:pointer; }
.writer-recording-times { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.writer-recording-times input { font:11px/1.8 var(--mono); }
.writer-reference-note { margin:0 0 15px; padding:10px 12px; background:var(--writer-soft); font-size:11px; line-height:1.6; }
.writer-reference-note summary { cursor:pointer; }
.writer-reference-note p { margin:12px 0; }
.writer-timing-error { font-size:12px; color:#a63728; }
.writer-timing-error:empty { display:none; }
[data-theme='dark'] .writer-timing-error,[data-theme='dark'] [data-error='true'] { color:#ffb7a8; }
[data-error='true'] { color:#a63728; }
.writer-draft-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; }
.writer-draft-actions .video-button { font-size:12px; padding:10px 13px; }
.writer-stats { font:10px/1.6 var(--mono); color:var(--muted); margin:14px 0; }
.writer-transfer { padding:18px 0 0; margin-top:22px; border-top:1px solid var(--rule); font-size:12px; }
.writer-transfer summary { cursor:pointer; }
.writer-transfer label { margin-top:15px; }
.writer-transfer .writer-draft-actions { margin-top:14px; }
.writer-help { margin-top:45px; padding:28px 0 40px; border-top:1px solid var(--rule); }
.writer-help-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px; }
.writer-help h2 { font-size:26px; font-weight:500; letter-spacing:-.025em; margin:0 0 15px; }
.writer-help h3 { font-size:18px; font-weight:500; margin:0 0 15px; }
.writer-help p,.writer-help li { font-size:14px; max-width:78ch; }
.writer-help code { font-size:12px; }
.writer-help pre { overflow:auto; padding:20px; background:var(--field); font:12px/1.8 var(--mono); }
.writer-help details { margin-top:20px; }
.writer-help summary { cursor:pointer; font-size:14px; }
.writer-import { border:1px solid var(--rule); background:var(--field); padding:18px; margin-bottom:22px; }
.writer-import p { font-size:12px; line-height:1.7; }
.writer-import h3 { font-size:18px; margin:0 0 12px; font-weight:500; }
.writer-import .writer-field { margin-bottom:0; }
.writer-transcript-empty { border:1px dashed var(--rule-strong); padding:24px; margin:22px 0; }
.writer-transcript-empty h3 { margin:0 0 10px; font-size:18px; }
.writer-transcript-empty p { margin:0; font-size:14px; }
.writer-transcript-meta { font:11px/1.7 var(--mono); color:var(--muted); }
.writer-transcript-units { padding:12px 0; max-height:420px; overflow:auto; overscroll-behavior:contain; margin:15px 0; }
.writer-unit { color:var(--ink); background:transparent; border:1px solid transparent; border-radius:2px; font:16px/1.8 var(--sans); padding:4px 5px; margin:2px 0; cursor:pointer; min-height:38px; overflow-wrap:anywhere; max-width:100%; }
.writer-unit:hover { background:var(--field); border-color:var(--rule); }
.writer-unit.writer-match { text-decoration:underline; text-decoration-color:var(--writer-accent); text-decoration-thickness:2px; text-underline-offset:4px; }
.writer-unit[aria-pressed='true'] { background:var(--ink); color:var(--paper); }
.writer-transcript-units[data-timing='cue'] { display:flex; flex-direction:column; gap:9px; }
.writer-transcript-units[data-timing='cue'] .writer-unit { text-align:left; display:block; font-size:14px; border-color:var(--rule); padding:12px; white-space:pre-wrap; }
.writer-cue-time { display:block; font:10px/1.6 var(--mono); margin-bottom:6px; }
.writer-pagination { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-block:12px; border-block:1px solid var(--rule); }
.writer-pagination span { font:10px/1.7 var(--mono); }
.writer-pagination .video-button { padding:8px 12px; font-size:12px; }
.writer-selection { margin:18px 0; }
.writer-selection p { font-size:12px; }
.writer-selection .video-actions { gap:8px; }
.writer-selection .video-button { font-size:12px; padding:9px 12px; }
.writer-selection button[aria-pressed='true'] { background:var(--writer-soft); border-color:var(--writer-accent); }
.writer-downloads { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.writer-status { font-size:13px; padding:12px 16px; margin:0 0 22px; background:var(--field); border:1px solid var(--rule); }
.writer-status:empty,.writer-local-status:empty { display:none; }
.writer-local-status { font-size:12px; line-height:1.6; }
.writer-fallback { columns:2; }
.writer-fallback li { margin-bottom:12px; break-inside:avoid; }
.script-writer [hidden] { display:none!important; }
@media (max-width:1250px) { .writer-workspace { grid-template-columns:210px minmax(0,1fr) minmax(0,1fr); gap:22px; } .writer-draft { padding:17px; } }
@media (max-width:1050px) {
  .writer-workspace { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; }
  .writer-library { grid-column:1/-1; }
  .writer-library-inner { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
  .writer-library-meta,.writer-film-list,#library-empty { grid-column:1/-1; }
  .writer-film-list { max-height:360px; }
  .writer-hero { align-items:start; }
  .writer-hero-meta { max-width:20ch; }
}
@media (max-width:760px) {
  .writer-workspace { grid-template-columns:minmax(0,1fr); gap:30px; }
  .writer-library { grid-column:auto; }
  .writer-hero { display:block; padding:28px 0 22px; }
  .writer-hero-meta { display:block; margin-top:18px; max-width:none; }
  .writer-hero p { font-size:14px; }
  .writer-jump { gap:12px 20px; }
  .writer-help-grid { grid-template-columns:1fr; gap:30px; }
  .writer-reference h2 { font-size:30px; }
  .writer-draft { padding:20px 16px; }
  .writer-library-inner { grid-template-columns:1fr; }
  .writer-recording-times { gap:9px; }
  .writer-fallback { columns:1; }
  .writer-unit { min-height:44px; }
  .writer-pagination { gap:6px; }
}
@media (prefers-reduced-motion:reduce) { .script-writer *, .script-writer *::before { scroll-behavior:auto!important; transition:none!important; } }
@media print {
  .writer-library,.writer-import,.writer-tabs,.writer-order,.writer-draft-actions,.writer-transfer,.writer-jump,.writer-status { display:none!important; }
  .writer-workspace,.writer-help-grid { display:block; }
  .writer-draft { margin-top:30px; }
  .script-writer textarea { min-height:120px; }
}
