/* One room: the conversation is the workspace, with cast and an on-demand plan in its header. */
.first-script { --script-muted:#b9bfaa; --script-border:#37392e; --script-content:1180px; min-width:0; }
.first-script * { box-sizing:border-box; }
.first-script svg { flex:none; width:20px; height:20px; }
.first-script :is(button,select,textarea,summary):focus-visible { outline:2px solid #ffe27a; outline-offset:3px; }
.first-script-overline { margin:0; color:#c9c194; font-size:11px; font-weight:700; line-height:1.4; letter-spacing:.09em; text-transform:uppercase; }
.first-script-chat { --script-room-height:clamp(640px,calc(100dvh - 215px),1100px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:var(--script-room-height); min-height:0; min-width:0; overflow:hidden; border:1px solid #464838; border-radius:16px; background:radial-gradient(ellipse at 75% 0,#b4a34d08,transparent 55%),#171915; }
.first-script-chat-head { position:relative; z-index:3; display:grid; grid-template-columns:auto minmax(330px,1fr) auto 190px; grid-template-areas:"identity cast plan model"; align-items:center; gap:20px; padding:12px 24px; border-bottom:1px solid #34362b; background:#1d2019; }
.first-script-room-heading { grid-area:identity; display:flex; align-items:center; gap:14px; min-width:0; }
.wiki-btn.first-script-exit { display:flex; flex:none; align-items:center; justify-content:center; gap:7px; min-width:44px; min-height:44px; padding:9px 12px; border:1px solid #424b34; border-radius:8px; background:transparent; color:#bdc5a7; font-family:inherit; font-size:12px; line-height:1.3; letter-spacing:0; text-transform:none; }
.wiki-btn.first-script-exit:hover { border-color:#7d8b60; background:#2b3321; color:#ede9cd; }
.first-script-exit svg { width:17px; height:17px; transform:rotate(180deg); }
.first-script-room-identity { display:grid; gap:5px; min-width:0; }
.first-script-room-identity h2 { display:flex; align-items:center; gap:10px; margin:0; color:#f0edde; font:29px/1 var(--wiki-display); letter-spacing:-.01em; }
.first-script-room-identity h2:focus { outline:none; }
.first-script-room-meta { margin:0; color:#adb69c; font-size:12px; line-height:1.4; }
.wiki-btn.first-script-inspect-toggle { display:inline; margin-left:10px; padding:0; border:0; border-radius:2px; background:transparent; color:#dccc7b; font:inherit; letter-spacing:0; text-transform:none; text-decoration:underline; text-underline-offset:3px; }
.first-script-inspector { width:min(1000px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:22px; overflow:auto; border:1px solid #6b7850; border-radius:14px; background:#1d2419; color:#d6dfca; box-shadow:0 24px 90px #0009; font:14px/1.5 var(--wiki-body, sans-serif); }
.first-script-inspector::backdrop { background:#000a; }
.first-script-inspector-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.first-script-inspector h3 { margin:3px 0 0; color:#f0efdf; font:30px/1.2 var(--wiki-display); }
.first-script-inspector .wiki-btn { padding:9px 12px; font:inherit; letter-spacing:0; text-transform:none; }
.first-script-inspector-setting { display:flex; align-items:center; gap:9px; margin:18px 0; cursor:pointer; }
.first-script-inspector-setting input { width:18px; height:18px; margin:0; accent-color:#dccc7b; }
.first-script-inspector select { width:100%; padding:9px; border:1px solid #64744a; border-radius:6px; background:#25301f; color:#e8ecd8; font:inherit; }
.first-script-inspector-model { overflow-wrap:anywhere; color:#aebe9b; }
.first-script-inspector-content details { margin:10px 0; border:1px solid #48563a; border-radius:7px; overflow:hidden; }
.first-script-inspector-content summary { padding:12px; color:#ecedda; cursor:pointer; font-weight:600; }
.first-script-inspector pre { margin:0; padding:14px; border-top:1px solid #48563a; background:#141a11; color:#c8d5ba; white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.6 ui-monospace,monospace; }
.first-script-inspector-actions { position:sticky; bottom:-22px; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:16px 0; border-top:1px solid #48563a; background:#1d2419; }
.first-script-chat-dot { display:inline-block; flex:none; width:6px; height:6px; border-radius:50%; background:#7c806c; }
.first-script-chat-dot.is-on { background:#a7c571; box-shadow:0 0 8px #b8d18c33; }
.first-script-model { grid-area:model; min-width:0; }
.first-script-model>summary { display:grid; gap:4px; padding:8px 10px; border:1px solid #566043; border-radius:8px; background:#24291e; cursor:pointer; list-style:none; }
.first-script-model>summary::-webkit-details-marker { display:none; }
.first-script-model-label { color:#b0b99c; font-size:9px; font-weight:700; letter-spacing:.06em; }
.first-script-model-title { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; }
.first-script-model-title strong { color:#f0efdf; font-size:14px; font-weight:600; line-height:1.3; overflow-wrap:anywhere; }
.first-script-model-title svg { width:14px; height:14px; color:#bbc5a7; }
.first-script-model>summary>small { color:#b4c19e; font-size:11px; line-height:1.3; }
.first-script-model-menu { position:absolute; z-index:6; top:calc(100% + 8px); right:18px; width:410px; max-width:calc(100% - 24px); max-height:min(720px,calc(var(--script-room-height) - 240px)); overflow:auto; overscroll-behavior:contain; padding:18px; border:1px solid #667047; border-radius:12px; background:#22291b; box-shadow:0 18px 60px #0008; color:#c7d0b8; font-size:14px; line-height:1.5; scrollbar-width:thin; }
.first-script-model-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.first-script-model-heading h3 { margin:0; color:#f0efdf; font:26px/1.1 var(--wiki-display); }
.first-script-model-intro { margin:10px 0 18px; }
.first-script-model-menu h4 { margin:0 0 8px; color:#e1d593; font-size:12px; font-weight:600; }
.wiki-btn.first-script-model-option { display:grid; gap:4px; width:100%; margin:8px 0; padding:12px; border:1px solid #47513a; border-radius:8px; background:#1c2317; color:#d9e1cb; text-align:left; font-family:inherit; font-weight:400; letter-spacing:0; text-transform:none; }
.wiki-btn.first-script-model-option:hover:not(:disabled) { border-color:#b7b576; background:#2d3522; }
.wiki-btn.first-script-model-option.is-selected { border-color:#d4c47a; background:#c2b66112; }
.first-script-model-option-name { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.first-script-model-option-name strong { color:#f0efdf; font-size:16px; }
.first-script-model-option-name svg { width:16px; height:16px; color:#e2d086; }
.first-script-model-purpose { color:#c4ceb4; font-size:13px; line-height:1.4; }
.first-script-model-source { color:#d6cd92; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.first-script-model-option code { color:#95a386; font-size:11px; overflow-wrap:anywhere; }
.first-script-model-more>summary { padding:12px 0 6px; cursor:pointer; }
.first-script-model-issue { color:#e6b899; font-size:13px; }
.first-script-model-billing { margin:16px 0; padding-top:14px; border-top:1px solid #465033; color:#aebc99; font-size:12px; }
.first-script-model-actions { display:flex; flex-wrap:wrap; gap:8px; }
.first-script-model-actions .wiki-btn,.wiki-btn.first-script-model-close { padding:8px 10px; font-family:inherit; font-size:12px; letter-spacing:0; text-transform:none; }
.first-script-face { display:block; flex:none; width:32px; height:32px; overflow:hidden; border-radius:50%; background:#302b24; }
.first-script-face.ninja-portrait { width:32px; height:32px; border-radius:50%; }
.first-script-face img { display:block; width:100%; height:100%; min-width:0; object-fit:cover; }
.first-script-face.is-empty { display:grid; place-items:center; border:1px dashed #545e3f; background:#20271b; color:#899573; font-size:17px; font-weight:400; }

/* Cast, progress and model share the room's first row on desktop. */
.first-script-cast-strip { grid-area:cast; justify-self:center; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:18px; width:100%; max-width:560px; min-width:0; }
.first-script-cast-person,.wiki-btn.first-script-cast-person { display:flex; align-items:center; gap:8px; min-width:0; min-height:44px; padding:0; border:0; border-radius:5px; background:transparent; color:#eceedd; text-align:left; font-family:inherit; letter-spacing:0; text-transform:none; }
.wiki-btn.first-script-cast-person:hover:not(:disabled) { color:#f2df91; background:transparent; }
.wiki-btn.first-script-cast-person:hover:not(:disabled) .first-script-face { outline:2px solid #dcc975; outline-offset:2px; }
.first-script-cast-person-copy { display:grid; gap:3px; min-width:0; }
.first-script-cast-person strong { overflow:hidden; color:inherit; font-size:14px; font-weight:600; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.first-script-cast-person small { color:#aeb89b; font-size:11px; font-weight:400; line-height:1.3; }
.first-script-cast-person.is-empty { color:#b6c0a1; }
.first-script-cast-person.is-empty strong { font-size:13px; font-weight:400; }

/* The current step also opens the full plan, earlier choices, and reset. */
.first-script-plan { grid-area:plan; min-width:0; }
.first-script-plan-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; min-width:0; padding:7px 10px; border:1px solid #414b33; border-radius:8px; list-style:none; cursor:pointer; }
.first-script-plan-toggle::-webkit-details-marker { display:none; }
.first-script-plan-current { display:grid; gap:4px; }
.first-script-plan-current strong { color:#e0e4c9; font-size:13px; font-weight:600; line-height:1.3; }
.first-script-plan-current small { color:#a6b393; font-size:11px; line-height:1.3; }
.first-script-plan-affordance { display:flex; align-items:center; gap:5px; color:#bac7a0; }
.first-script-plan-affordance>span { display:none; }
.first-script-plan-affordance svg { width:14px; height:14px; transition:transform .15s; }
.first-script-plan[open] .first-script-plan-affordance svg { transform:rotate(180deg); }
.first-script-plan-toggle:hover .first-script-plan-affordance { color:#e4d98f; }
.first-script-plan-panel { position:absolute; z-index:5; top:calc(100% + 8px); right:18px; width:430px; max-width:calc(100% - 24px); max-height:min(650px,calc(var(--script-room-height) - 230px)); overflow:auto; padding:20px; border:1px solid #667047; border-radius:12px; background:#22291b; box-shadow:0 18px 60px #0008; scrollbar-width:thin; scrollbar-color:#606e40 transparent; overscroll-behavior:contain; }
.first-script-plan-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid #465033; }
.first-script-plan-head h3 { margin:0 0 6px; color:#ede9cd; font:23px/1.15 var(--wiki-display); }
.first-script-plan-head p { margin:0; color:#b6c0a2; font-size:13px; line-height:1.5; }
.wiki-btn.first-script-plan-close { display:grid; flex:none; place-items:center; width:28px; height:28px; padding:3px; border:0; border-radius:5px; background:transparent; color:#b7c19e; }
.first-script-plan-close svg { width:16px; height:16px; }
.first-script-plan-stages { display:grid; gap:20px; margin:20px 0 0; padding:0; list-style:none; }
.first-script-plan-stage { display:flex; align-items:flex-start; gap:12px; }
.first-script-plan-number { display:grid; flex:none; place-items:center; width:23px; height:23px; border:1px solid #616d45; border-radius:50%; color:#a2ad86; font-size:10px; }
.first-script-plan-number svg { width:13px; height:13px; }
.first-script-plan-stage.is-current>.first-script-plan-number { border-color:#e0cb75; background:#e0cb75; color:#242b18; }
.first-script-plan-stage.is-done>.first-script-plan-number { border-color:#738b4766; background:#8caa4d15; color:#b8d17d; }
.first-script-plan-stage-copy { flex:1; min-width:0; }
.first-script-plan-stage-copy>strong { color:#dce2c7; font-size:15px; line-height:1.5; }
.first-script-plan-stage.is-current>.first-script-plan-stage-copy>strong { color:#f1e4a8; }
.first-script-plan-stage-copy>p { margin:5px 0 0; color:#b3be9e; font-size:13px; line-height:1.5; }
.first-script-plan-stage-copy>.first-script-change { margin-top:8px; }
.first-script-beats { margin:12px 0 0; padding:0; list-style:none; }
.first-script-beat-edit,.wiki-btn.first-script-beat-edit { display:flex; width:100%; align-items:flex-start; gap:7px; min-height:32px; padding:7px 0; border:0; border-radius:4px; background:transparent; color:#96a180; text-align:left; text-transform:none; letter-spacing:0; font-family:inherit; }
.wiki-btn.first-script-beat-edit:hover { background:#d0dd8909; }
.first-script-beat-dot { display:grid; flex:none; place-items:center; width:14px; height:14px; margin-top:1px; border:1px solid #5b6a3d; border-radius:50%; }
.first-script-beat-dot svg { width:10px; height:10px; }
.first-script-beat-copy { display:grid; flex:1; min-width:0; gap:4px; }
.first-script-beat-copy strong { font-size:13px; font-weight:500; line-height:1.4; }
.first-script-beat-copy small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#adba95; font-size:12px; font-weight:400; line-height:1.5; }
.first-script-beat-time { flex:none; color:#b4bf9c; font:12px/1.5 ui-monospace,monospace; }
.first-script-beats .is-done .first-script-beat-dot { color:#bbcf8a; border-color:#8d9d66; }
.first-script-beats .is-done strong { color:#cbd4b2; }
.first-script-beats .is-current strong,.first-script-beats .is-current .first-script-beat-time { color:#edd988; }
.first-script-beats .is-current .first-script-beat-dot { border-color:#e5ce6f; background:#e5ce6f; }
.first-script-room-notes { margin-top:20px; border-top:1px solid #424e2f; color:#b0bc96; font-size:11px; }
.first-script-room-notes summary { padding-top:14px; cursor:pointer; }
.first-script-room-notes>div { margin-top:14px; font-size:11px; line-height:1.6; }
.first-script-room-notes p { margin:6px 0 0; color:#a5b18d; }
.wiki-btn.first-script-reset { display:block; width:100%; margin-top:20px; padding:14px 0 0; border:0; border-top:1px solid #465033; border-radius:0; background:transparent; color:#a1ac88; font-size:11px; font-family:inherit; font-weight:400; text-align:left; text-transform:none; letter-spacing:0; }
.wiki-btn.first-script-reset:hover { color:#e0d9b3; background:transparent; }
.wiki-btn.first-script-reset.is-confirming { color:#ffa48d; }

/* A readable conversation, with choices where the reply happens. */
.first-script-log { display:flex; flex-direction:column; align-items:center; gap:16px; min-height:0; min-width:0; padding:24px clamp(18px,3vw,40px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#565e42 transparent; }
.first-script-log>* { flex-shrink:0; width:100%; max-width:var(--script-content); }
.first-script-stage-heading { display:grid; gap:8px; animation:first-script-enter .2s ease-out; }
.first-script-stage-title { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.first-script-stage-heading h4 { margin:0; color:#f3f0dd; font:clamp(30px,2.5vw,36px)/1.15 var(--wiki-display); letter-spacing:-.015em; text-wrap:balance; }
.first-script-stage-heading h4:focus { outline:none; }
.first-script-stage-description { max-width:960px; margin:0; color:#c8cebb; font-size:18px; line-height:1.5; }
.first-script-coach-label { display:flex; align-items:center; gap:7px; color:#c3cdac; font-size:13px; font-weight:600; }
.first-script-coach-label svg { width:14px; height:14px; color:#d2ca7d; }
.first-script-turn-time { padding:4px 8px; border-radius:4px; background:#d5c86e12; color:#d8cd8d; font:13px/1.4 ui-monospace,monospace; }
.first-script-cast { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; padding:0; }
.wiki-btn.first-script-pick { --stance-accent:#c6b778; --cast-padding:16px; --cast-divider:color-mix(in srgb,var(--stance-accent) 28%,#30382d); display:flex; flex-direction:column; align-items:stretch; gap:0; min-width:0; padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--stance-accent) 50%,#363a32); border-radius:12px; background:linear-gradient(140deg,color-mix(in srgb,var(--stance-accent) 11%,#1c1e1a),color-mix(in srgb,var(--stance-accent) 5%,#171916)); color:#f1eddc; text-align:left; text-transform:none; letter-spacing:0; font-family:inherit; transition:border-color .15s,background .15s,transform .15s,box-shadow .15s; }
.wiki-btn.first-script-pick:hover:not(:disabled):not(.is-selected) { transform:translateY(-2px); border-color:var(--stance-accent); background:color-mix(in srgb,var(--stance-accent) 14%,#1c1e1a); box-shadow:0 6px 16px #0002; }
.wiki-btn.first-script-pick.is-selected { border-color:var(--stance-accent); background:linear-gradient(140deg,color-mix(in srgb,var(--stance-accent) 18%,#1c1e1a),color-mix(in srgb,var(--stance-accent) 9%,#171916)); box-shadow:0 0 0 1px var(--stance-accent); color:#fff7d9; }
.first-script-pick-top { display:flex; align-items:center; gap:12px; min-width:0; padding:var(--cast-padding); }
.first-script-pick .first-script-face { width:56px; height:56px; box-shadow:0 4px 12px #0003; }
.first-script-pick-mark { display:grid; flex:none; place-items:center; width:26px; height:26px; border:1px solid color-mix(in srgb,var(--stance-accent) 45%,transparent); border-radius:50%; color:var(--stance-accent); }
.first-script-pick-mark svg { width:12px; height:12px; }
.is-selected .first-script-pick-mark { border-color:var(--stance-accent); background:var(--stance-accent); color:#1c1e1a; }
.first-script-pick-copy { display:grid; flex:1; gap:5px; min-width:0; }
.first-script-pick-copy strong { color:#f3f0e7; font:30px/1.05 var(--wiki-display); overflow-wrap:anywhere; }
.first-script-pick-role { color:var(--stance-accent); font-size:14px; font-weight:600; line-height:1.3; }
.first-script-pick-detail { display:flex; flex-direction:column; flex:1; color:#bec8ad; font-size:14px; font-weight:400; line-height:1.5; overflow-wrap:anywhere; }
.first-script-relationship-facts { display:grid; flex:1; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto 1fr; gap:0; }
.first-script-relationship-fact,.first-script-relationship-note { display:grid; align-content:start; min-width:0; gap:2px; padding:10px var(--cast-padding); border-top:1px solid var(--cast-divider); }
.first-script-relationship-fact.is-dynamics { grid-column:1/-1; }
.first-script-relationship-fact:not(.is-dynamics)+.first-script-relationship-fact { border-inline-start:1px solid var(--cast-divider); }
.first-script-relationship-label { color:#b4bbab; font-size:12px; font-weight:500; }
.first-script-relationship-value { color:color-mix(in srgb,var(--stance-accent) 20%,#edf1e2); }
.first-script-relationship-note .first-script-relationship-value { white-space:pre-wrap; }
.first-script-options { display:grid; gap:9px; }
.first-script-options.is-genres { grid-template-columns:repeat(2,minmax(0,1fr)); }
.wiki-btn.first-script-option { display:flex; align-items:center; gap:12px; padding:15px; min-width:0; border:1px solid #414b31; border-radius:10px; background:#21281b; color:#f3edda; text-align:left; text-transform:none; letter-spacing:0; font-family:inherit; transition:background .15s,border-color .15s,transform .15s; }
.wiki-btn.first-script-option:hover:not(:disabled) { border-color:#c9bf73; background:#2a3220; transform:translateX(2px); }
.first-script-option>svg { width:15px; height:15px; margin-left:auto; color:#879771; }
.first-script-option-key { display:grid; flex:none; place-items:center; width:31px; height:31px; border:1px solid #b4ad5438; border-radius:8px; background:#b6ab450b; color:#d0c77c; font-size:12px; font-weight:700; }
.first-script-option-key svg { width:18px; height:18px; }
.first-script-option-copy { display:grid; gap:5px; min-width:0; }
.first-script-option-copy strong { color:#edf1df; font-size:17px; font-weight:600; line-height:1.45; }
.first-script-option-copy small { color:#bfccb0; font-size:15px; font-weight:400; line-height:1.5; }
.is-genres .first-script-option { align-items:flex-start; min-height:108px; }
.is-genres .first-script-option>svg { display:none; }
.is-genres .first-script-option-copy { gap:8px; }
.is-genres .first-script-option-copy strong { font:32px/1.1 var(--wiki-display); }
.is-genres .first-script-option-copy small { color:#b5c1a6; font-size:14px; line-height:1.5; }
.first-script-msg { display:grid; gap:9px; padding:18px 20px; border-radius:11px; font-size:18px; line-height:1.6; overflow-wrap:anywhere; }
.first-script-msg p { margin:0; }
.first-script-msg.is-ai { border:1px solid #48563866; background:#242d1d; color:#d5dfc7; }
.first-script-log>.first-script-msg.is-ai { align-self:flex-start; max-width:min(100%,880px); margin-left:max(0px,calc((100% - var(--script-content))/2)); }
.first-script-log>.first-script-msg.is-me { align-self:flex-end; width:fit-content; max-width:min(80%,760px); margin-right:max(0px,calc((100% - var(--script-content))/2)); border:1px solid #c3b86430; background:#b8ad3314; color:#e9e9c5; padding:12px 18px; font-size:17px; }
.first-script-committed-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; color:#c5bc8c; font-size:12px; }
.wiki-btn.first-script-undo { min-height:32px; padding:4px 8px; border:1px solid #b7b16155; border-radius:5px; background:transparent; color:#e1d596; font-size:12px; font-family:inherit; font-weight:500; text-transform:none; letter-spacing:0; }
.wiki-btn.first-script-change { padding:4px 7px; border:1px solid #b7b16140; border-radius:5px; background:transparent; color:#c7c287; font-size:10px; }
.first-script-msg.is-typing { animation:first-script-pulse 1.4s ease-in-out infinite; }
.first-script-error { padding:15px; border:1px solid #bc725055; border-radius:9px; background:#3b251a; color:#ffc8a5; font-size:16px; line-height:1.5; }
.first-script-error p { margin:0 0 10px; }
.first-script-connect,.first-script-empty { display:grid; justify-items:start; gap:10px; padding:20px; border:1px solid #9a9d5366; border-radius:10px; background:#2b321e; }
.first-script-connect h3,.first-script-empty h4 { margin:0; color:#e5e7b6; font:25px/1.1 var(--wiki-display); }
.first-script-connect p,.first-script-empty p { margin:0; color:#c7d2b4; font-size:16px; line-height:1.6; }
.first-script-empty { border-style:dashed; }
.first-script-log>.first-script-next { width:fit-content; }

/* A chat composer; casting confirmation appears only after a card is selected. */
.first-script-footer { min-width:0; padding:0 max(22px,calc((100% - var(--script-content))/2)); border-top:1px solid #3e4830; background:#1b2216; }
.first-script-casting-dock { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #3f4a2c; }
.first-script-casting-dock>div { display:flex; align-items:center; gap:9px; min-width:0; color:#d2ddbc; font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
.first-script-casting-dock .first-script-face { width:28px; height:28px; }
.first-script .wiki-btn.primary { border-color:#dccc7b; border-radius:8px; background:#dccc7b; color:#252917; font-size:15px; font-family:inherit; font-weight:700; line-height:1.35; letter-spacing:0; text-transform:none; }
.first-script .wiki-btn.primary:hover:not(:disabled) { background:#eddf94; border-color:#eddf94; }
.first-script .wiki-btn.primary:disabled { opacity:.38; }
.first-script .wiki-btn.first-script-cast-confirm { display:flex; flex:none; align-items:center; justify-content:center; gap:12px; min-height:44px; max-width:48%; padding:10px 15px; overflow-wrap:anywhere; }
.first-script-cast-confirm svg { width:16px; height:16px; }
.first-script-composer { display:grid; gap:8px; padding:12px 0; }
.first-script-entry-context { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#e4d78d; font-size:14px; font-weight:600; }
.wiki-btn.first-script-entry-cancel { min-height:32px; padding:5px 9px; border:1px solid #657044; border-radius:6px; background:transparent; color:#c6d0b1; font-size:13px; font-family:inherit; font-weight:400; text-transform:none; letter-spacing:0; }
.first-script-composer.is-editing .first-script-compose-row { border-color:#dccc7b; }
.first-script-compose-row { display:flex; align-items:flex-end; gap:14px; padding:8px 10px 8px 18px; border:1px solid #71834f; border-radius:12px; background:#25301f; }
.first-script-compose-row:focus-within { border-color:#c9cc7b; box-shadow:0 0 0 2px #c9cc7910; }
.first-script-composer textarea { flex:1; min-width:0; min-height:80px; max-height:min(180px,25dvh); margin:0; padding:10px 0; border:0; border-radius:0; background:transparent; color:#f0f4e5; font-size:18px; font-family:inherit; line-height:1.55; resize:vertical; }
.first-script-composer textarea:focus-visible { outline:none; }
.first-script-composer textarea::placeholder { color:#b8c7a6; opacity:1; }
.first-script-composer textarea:disabled { opacity:.5; }
.first-script .first-script-compose-row>.wiki-btn { display:flex; flex:none; align-items:center; gap:8px; min-height:46px; max-width:40%; padding:11px 16px; }
.first-script-compose-row>.wiki-btn svg { width:14px; height:14px; }

/* The final draft appears as a page in the conversation. */
.first-script-page { padding:clamp(22px,4vw,44px) clamp(18px,5vw,56px); border:1px solid #e8dfc0; border-radius:5px; background:#f5f0df; color:#25251d; font:16px/1.6 "Courier Prime","Courier New",Courier,monospace; box-shadow:0 14px 34px #0003; }
.first-script-log>.first-script-page { max-width:900px; }
.first-script-page-label { margin:0 0 14px; color:#6c6856; font-size:11px; text-align:center; letter-spacing:.12em; }
.first-script-title { margin:0 0 8px; font-size:21px; font-family:inherit; font-weight:700; line-height:1.3; text-align:center; text-transform:uppercase; }
.first-script-logline { margin:0 0 22px; color:#625f4f; font-size:15px; font-style:italic; text-align:center; }
.first-script-line { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.first-script-line.is-scene-heading { margin-top:20px; font-weight:700; text-transform:uppercase; }
.first-script-line.is-action { margin-top:12px; }
.first-script-line.is-character { margin:14px 0 0 38%; text-transform:uppercase; }
.first-script-line.is-parenthetical { margin-left:30%; }
.first-script-line.is-dialogue { margin:0 14% 0 22%; }
.first-script-line.is-transition { margin-top:14px; text-align:right; text-transform:uppercase; }
.first-script-script-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.first-script-done { margin:0; color:#c4da92; font:22px/1.2 var(--wiki-display); }
.engine-level-board.engine-episode-board { grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "actions"; }
.engine-episode-board .engine-level-board-copy { align-self:auto; }
.first-script-board-logline { display:grid; gap:4px; max-width:560px; margin:14px 0 0; color:#b3ab9f; font-size:14px; line-height:1.5; }
.first-script-board-logline strong { color:#fff1dc; font:900 18px/1.1 var(--wiki-display); text-transform:uppercase; }
@keyframes first-script-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes first-script-pulse { 50% { opacity:.55; } }
@media (min-width:901px) and (max-width:1250px) {
  .first-script-chat-head { grid-template-columns:auto minmax(300px,1fr) auto 160px; gap:14px; padding-inline:16px; }
  .first-script-room-heading { gap:10px; }
  .first-script-exit span { display:none; }
  .first-script-cast-strip { gap:8px; }
  .first-script-cast-person,.wiki-btn.first-script-cast-person { gap:6px; }
  .first-script-cast-strip .first-script-face { width:28px; height:28px; }
  .first-script-cast-person.is-empty .first-script-face { display:none; }
}
@media (max-width:900px) {
  .first-script-chat-head { grid-template-columns:minmax(0,1fr) 230px; grid-template-areas:"identity model" "cast plan"; gap:10px 24px; }
  .first-script-cast-strip { justify-self:start; gap:12px; }
  .first-script-cast { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .first-script-log { padding:20px 24px; }
}
@media (max-width:680px) {
  .first-script-chat { --script-room-height:clamp(640px,calc(100dvh - 150px),940px); border-radius:12px; }
  .first-script-chat-head { grid-template-columns:minmax(0,1fr) 150px; grid-template-areas:"identity model" "cast cast" "plan plan"; padding:10px 16px; gap:8px 12px; }
  .first-script-room-heading { gap:8px; }
  .first-script-exit span { display:none; }
  .first-script-room-identity h2 { font-size:26px; }
  .first-script-room-meta { font-size:11px; }
  .first-script-model-label { display:none; }
  .first-script-model>summary { min-height:44px; padding:7px; }
  .first-script-model-menu { right:12px; padding:16px; }
  .first-script-cast-strip { gap:8px; max-width:none; }
  .first-script-cast-person,.wiki-btn.first-script-cast-person { min-height:38px; gap:6px; }
  .first-script-cast-strip .first-script-face { width:30px; height:30px; }
  .first-script-cast-person strong { font-size:13px; }
  .first-script-plan-toggle { min-height:36px; padding:6px 8px; }
  .first-script-plan-current { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; }
  .first-script-plan-current small { font-size:12px; }
  .first-script-plan-panel { right:12px; padding:17px; }
  .first-script-log { padding:20px 16px; }
  .first-script-stage-heading h4 { font-size:30px; }
  .first-script-stage-description { font-size:16px; }
  .first-script-cast,.first-script-options.is-genres { grid-template-columns:1fr; }
  .wiki-btn.first-script-pick { --cast-padding:14px; }
  .first-script-pick .first-script-face { width:50px; height:50px; }
  .first-script-pick-copy strong { font-size:28px; }
  .is-genres .first-script-option { min-height:0; }
  .is-genres .first-script-option-copy strong { font-size:28px; }
  .wiki-btn.first-script-option { padding:14px; gap:10px; }
  .first-script-option-copy strong { font-size:16px; }
  .first-script-option-copy small { font-size:14px; }
  .first-script-msg { padding:16px; font-size:16px; }
  .first-script-log>.first-script-msg.is-me { max-width:90%; padding:12px 14px; font-size:16px; }
  .first-script-footer { padding:0 16px; }
  .first-script-casting-dock { gap:10px; }
  .first-script-casting-dock>div { font-size:14px; }
  .first-script-composer { padding:10px 0; }
  .first-script-composer textarea { min-height:76px; font-size:16px; }
  .first-script-line.is-character { margin-left:28%; }
  .first-script-line.is-parenthetical { margin-left:18%; }
  .first-script-line.is-dialogue { margin:0 4% 0 10%; }
}
@media (max-width:440px) {
  .first-script-chat-head { grid-template-columns:minmax(0,1fr) 132px; padding:10px 12px; }
  .first-script-room-identity h2 { font-size:25px; gap:6px; }
  .first-script-cast-person,.wiki-btn.first-script-cast-person { gap:5px; }
  .first-script-cast-strip .first-script-face { width:26px; height:26px; }
  .first-script-cast-person.is-empty strong { font-size:12px; }
  .first-script-log { padding:18px 12px; }
  .first-script-footer { padding:0 12px; }
  .first-script-casting-dock .first-script-face { display:none; }
  .first-script .wiki-btn.first-script-cast-confirm { max-width:55%; padding:9px 10px; gap:6px; font-size:14px; }
  .first-script-compose-row { padding:6px 8px 6px 12px; gap:8px; }
  .first-script .first-script-compose-row>.wiki-btn { padding:10px; font-size:14px; }
  .first-script-compose-row>.wiki-btn svg { display:none; }
}
/* Both the character navigation and overview enter the same full-viewport workspace.
   The enclosing wiki dialog keeps its focus trap; only the conversation scrolls. */
#wikimodal:has(.first-script-host) { inset:0; margin:0; width:100vw; height:100dvh; max-width:none; max-height:none; padding:0; border:0; border-radius:0; }
#wikimodal:has(.first-script-host) :is(.wiki-nav,.wiki-wizard-back,#wiki-ai-account,.engine-character-tabs) { display:none; }
body:has(#wikimodal[open] .first-script-host) #apptabs { display:none; }
#wikimodal:has(.first-script-host) :is(.wiki-shell,.wiki-main,#wiki-main-content,.engine-character-wiki,.engine-character-body) { height:100%; min-height:0; overflow:hidden; }
#wikimodal:has(.first-script-host) :is(.wiki-main,#wiki-main-content) { flex:1 1 0; }
#wikimodal:has(.first-script-host) #wiki-main-content { padding:0; }
#wikimodal:has(.first-script-host) .engine-character-body { display:block; }
.first-script-host,.first-script-host>.first-script { height:100%; min-height:0; }
.first-script-host .first-script-chat { --script-room-height:100dvh; height:100%; border:0; border-radius:0; padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px); }
.first-script-log>.wiki-status,.first-script-log>.wiki-notice { margin:0; }
@media (prefers-reduced-motion:reduce) {
  .first-script *, .first-script *::before,.first-script *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
