/* Screenplay Writer — site frame and side panel, white Courier page (10 characters per inch, 1 ch = 0.1 in). */
.sp-hero{background:radial-gradient(circle at 92% 18%,#ffd16633,transparent 38%),linear-gradient(120deg,#3a2a1f,#211d38 75%)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sp-frame{border:1px solid var(--usp-line,#3a3352);border-radius:16px;background:#1c182e;margin-top:14px;overflow:hidden}
.sp-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;background:#2d2645;border-bottom:1px solid #3a3352;position:sticky;top:0;z-index:5}
.sp-group{display:flex;gap:4px;align-items:center}.sp-right{margin-left:auto}
.sp .sp-bar button{min-height:34px;padding:4px 11px;font-size:.86rem;border-radius:8px;background:#1c182e;border:1px solid #3a3352;color:#e9e3f7}
.sp .sp-bar button[aria-pressed=true],.sp .sp-views [aria-selected=true]{background:#a77bff;color:#140f24;border-color:transparent;font-weight:700}
.sp .sp-elt select{height:34px;min-height:0;padding:3px 8px;font-size:.88rem;border-radius:8px;min-width:160px}
.sp-count{font-size:.82rem;color:#d9d3ea;white-space:nowrap}
.sp-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:72vh}
.sp .sp-side{border-radius:0;border:0;border-right:1px solid #3a3352;max-height:calc(100vh - 140px);position:sticky;top:51px;align-self:start;overflow:auto}
.sp-main{background:#4a4458;min-width:0}
.sp-paperwrap{position:relative;overflow:auto;max-height:calc(100vh - 150px);padding:22px 12px}
.sp-paper{--fs:16px;font:var(--fs)/1 'Courier Prime','Courier New',Courier,monospace;line-height:calc(var(--fs)*1);width:85ch;box-sizing:border-box;margin:0 auto;background:#fff;color:#111;padding:6ch 10ch 12ch 15ch;min-height:110ch;box-shadow:0 6px 30px #0006;overflow-x:clip;outline:none;caret-color:#7a2cff;border-radius:2px}
.sp-paper>div{min-height:1em;white-space:pre-wrap;word-wrap:break-word;margin:0;position:relative}
.sp-b[data-t=scene]{margin-top:1em;text-transform:uppercase}
.sp-b[data-t=action],.sp-b[data-t=shot],.sp-b[data-t=centered],.sp-b[data-t=transition],.sp-b[data-t=character]{margin-top:1em}
.sp-b[data-t=shot]{text-transform:uppercase}
.sp-b[data-t=character]{--ml:22ch;margin-left:22ch;text-transform:uppercase;width:33ch}
.sp-b[data-t=parenthetical]{--ml:16ch;margin-left:16ch;width:24ch}
.sp-b[data-t=dialogue]{--ml:10ch;margin-left:10ch;width:35ch}
.sp-b[data-t=transition]{--ml:40ch;text-align:right;text-transform:uppercase;margin-left:40ch}
.sp-b[data-t=centered]{text-align:center}
.sp-b[data-t=section],.sp-b[data-t=synopsis],.sp-b[data-t=note]{margin-top:1em;font-family:system-ui,'Segoe UI',sans-serif;font-size:.85em;color:#6b4fa8;background:#f4efff;border-left:3px solid #a77bff;padding:2px 8px}
.sp-b[data-t=section]{font-weight:700}.sp-b[data-t=synopsis]{font-style:italic}.sp-b[data-t=note]{color:#7a5b00;background:#fff7d6;border-color:#f5c542}
.sp-b[data-t=pagebreak]{margin-top:1em;border-top:2px dashed #b9b2c7;color:#9a93a8;font:12px system-ui;text-align:center;min-height:14px}
.sp-b[data-t=pagebreak]::after{content:'page break'}
.sp-b[data-t=scene]:first-child,.sp-b:first-child{margin-top:0}
.sp-b.pg::before{content:attr(data-pg);position:absolute;left:calc(-15ch - var(--ml,0ch));width:85ch;box-sizing:border-box;top:-.55em;border-top:1px dashed #c9c2d8;font:11px system-ui;color:#9a93a8;text-align:right;padding-right:6px;pointer-events:none}
.sp-b.empty:not(:focus-within)::after{content:attr(data-hint);color:#bbb;pointer-events:none}
.sp-b.cur{background:linear-gradient(90deg,#f6f1ff,transparent 90%)}
.sp-ac{position:absolute;z-index:20;background:#fff;border:1px solid #a77bff;border-radius:8px;box-shadow:0 8px 24px #0004;min-width:200px;max-height:220px;overflow:auto;font:14px 'Courier New',monospace}
.sp-ac div{padding:6px 10px;cursor:pointer;color:#222}.sp-ac div[aria-selected=true]{background:#efe6ff;color:#3b1d7a}
.sp-preview{overflow:auto;max-height:calc(100vh - 150px);padding:20px 12px}
#spPages{display:flex;flex-direction:column;align-items:center;gap:18px}
.sp-pagewrap{position:relative}
.sp-page{position:absolute;left:0;top:0;width:816px;height:1056px;background:#fff;box-shadow:0 6px 30px #0006;font:16px/16px 'Courier Prime','Courier New',Courier,monospace;color:#111;transform-origin:0 0}
.sp-page .ln{position:absolute;white-space:pre}.sp-page .pn{position:absolute;right:96px;top:48px}
.sp-page .tp{position:absolute;left:0;right:0;text-align:center;white-space:pre}
.sp-page .snl{position:absolute;left:72px}.sp-page .snr{position:absolute;left:708px}
.sp-scenes{list-style:none;margin:0;padding:0;counter-reset:sc}
.sp-scenes li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:6px;align-items:start;padding:7px 6px;border-bottom:1px solid #2e2843;cursor:pointer;border-radius:6px;font-size:.84rem}
.sp-scenes li:hover,.sp-scenes li.on{background:#2d2645}.sp-scenes b{color:#d9c1ff}.sp-scenes span{color:#fff;word-break:break-word}.sp-scenes small{color:var(--usp-muted,#a39bb8);white-space:nowrap}
.sp-scenes em{grid-column:2/-1;color:#c8bfd9;font-size:.78rem}
.sp-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.sp-stats div{background:#2d2645;border-radius:10px;padding:8px 10px}.sp-stats b{display:block;font-size:1.2rem;color:#fff}.sp-stats span{font-size:.74rem;color:#c8bfd9;text-transform:uppercase;letter-spacing:.04em}
.sp-cast{width:100%;border-collapse:collapse;font-size:.84rem}.sp-cast th,.sp-cast td{padding:6px 4px;border-bottom:1px solid #2e2843;text-align:right}.sp-cast th:first-child,.sp-cast td:first-child{text-align:left}.sp-cast th{color:#d9c1ff;font-size:.72rem;text-transform:uppercase}
.sp-btns{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.sp .sp-btns button,.sp .sp-btns .usp-file{min-height:34px;padding:5px 11px;font-size:.85rem}
.sp-keys{margin:0;padding-left:16px;font-size:.8rem;color:#d9d3ea;line-height:1.7}.sp-keys kbd{background:#2d2645;border:1px solid #4a4163;border-radius:4px;padding:0 4px;font-size:.75rem}
.sp .tx-row textarea{width:100%;min-height:70px;padding:6px 8px;font:inherit;font-size:.88rem;border-radius:8px;grid-column:1/-1}
.sp .sp-side .tg-tabs [role=tab]{flex:1 1 0;min-width:0;padding:9px 4px;font-size:.86rem}
.sp-frame:fullscreen,.sp-frame.sp-full{position:fixed;inset:0;z-index:1000;margin:0;border:0;border-radius:0;display:flex;flex-direction:column}
.sp-frame:fullscreen .sp-body,.sp-frame.sp-full .sp-body{flex:1;min-height:0}
.sp-frame:fullscreen .sp-paperwrap,.sp-frame.sp-full .sp-paperwrap,.sp-frame:fullscreen .sp-preview,.sp-frame.sp-full .sp-preview{max-height:none;height:100%}
.sp-frame:fullscreen .sp-main,.sp-frame.sp-full .sp-main{overflow:hidden;display:flex;flex-direction:column}.sp-frame:fullscreen .sp-main>[role=tabpanel]:not([hidden]),.sp-frame.sp-full .sp-main>[role=tabpanel]:not([hidden]){flex:1;min-height:0}
.sp-frame:fullscreen .sp-side,.sp-frame.sp-full .sp-side{max-height:none;height:100%;position:static}
.sp-frame .usp-status:empty{display:none}.sp-frame .usp-status{margin:0}
@media(max-width:900px){.sp-body{grid-template-columns:1fr}.sp .sp-side{position:static;max-height:none;border-right:0;border-bottom:1px solid #3a3352}.sp-paperwrap{max-height:none;padding:12px}}
@media(max-width:420px){.sp .sp-elt select{min-width:130px}}
.sp-paper .mk{color:#b9b0c9;font-weight:400;font-style:normal;text-decoration:none}.sp-paper b{font-weight:700}
.sp-paper .sp-b:not(.cur) .mk{display:none}
@media(max-width:900px){.sp-frame:fullscreen,.sp-frame.sp-full{overflow-y:auto;display:block}.sp-frame:fullscreen .sp-body,.sp-frame.sp-full .sp-body{flex:none;height:auto;min-height:0}.sp-frame:fullscreen .sp-main,.sp-frame.sp-full .sp-main{display:block;overflow:visible}}
