/* Planning follows the author's sketch, top to bottom on iPad and desktop. */
.planning-flow{display:grid;gap:20px;max-width:1180px;margin:auto}
.planning-flow>.panel{margin:0;padding:24px;min-width:0}
.planning-flow h3{margin:0 0 18px}.planning-flow h4{margin:18px 0 10px}
.planning-start>section{border:0;box-shadow:none;padding:0;margin:0}
.planning-start>section>h3{display:none}
.planning-start details{margin-top:12px}.planning-start textarea{min-height:145px!important}
.story-pattern-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.story-pattern-grid button{margin:0;padding:16px 12px;min-height:148px;text-align:left;display:flex;flex-direction:column;gap:10px;white-space:normal;overflow-wrap:anywhere}
.story-pattern-grid small{opacity:.7}.story-pattern-grid strong{font-size:15px}.story-pattern-grid span{font-size:12px;line-height:1.6}
.story-pattern-grid [aria-pressed="true"],.planning-flow [data-outline-group][aria-pressed="true"]{background:#f4dce0;border:2px solid #ad3e48}
.planning-flow .planning-variables{grid-template-columns:1fr;margin-bottom:14px}
.planning-flow .planning-variables section{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px}
.planning-flow .planning-variables h4{flex-basis:100%;margin:0 0 6px}
.planning-flow .planning-variables button{width:auto;min-height:44px;flex:1 1 150px;margin:0;border-radius:22px;padding:10px 16px}
.planning-flow .field{margin:14px 0}.planning-flow textarea{line-height:1.8;min-height:76px;height:auto;resize:vertical}
.planning-flow textarea[data-path$=".summary"]{min-height:260px}.planning-flow textarea[data-path$=".characters"]{min-height:150px}
.planning-flow .idea-chat-log{max-height:340px;overflow:auto;margin-top:18px;overscroll-behavior:contain}
.planning-flow .idea-chat-log p{white-space:pre-wrap;overflow-wrap:anywhere}
.planning-flow button{min-height:44px}.planning-flow #outline-proposal>.primary{display:block;width:100%;margin-top:24px;padding:16px}
@media(max-width:1000px){.story-pattern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.planning-flow>.panel{padding:16px}.story-pattern-grid{grid-template-columns:1fr 1fr}.story-pattern-grid button{min-height:140px}.planning-flow input,.planning-flow textarea{font-size:16px}}

/* Plot workshop: source, generation, document, review, then approved handoff. */
.plot-flow{display:grid;gap:20px;max-width:1180px;margin:auto}
.plot-flow>.panel{margin:0;padding:24px;min-width:0}
.plot-flow h2{font-size:20px;margin:0 0 12px}.plot-flow h3{margin:18px 0 10px}
.plot-source-text{max-height:320px;overflow:auto;overscroll-behavior:contain;padding:16px;background:#faf7f5;border:1px solid #e8dfd9;border-radius:10px}
.plot-source-text pre{font:inherit;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.plot-flow .plot-generation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:start}
.plot-generation h3{margin-top:0}.plot-generation .plot-actions{display:block;margin:0}.plot-generation details{margin-top:12px}
.plot-flow .plot-workspace{display:flex;flex-direction:column;gap:20px}
.plot-flow .plot-document,.plot-flow .plot-chat{width:100%;min-width:0;position:static;max-height:none}
.plot-flow .plot-document>.panel{margin:0;padding:24px}.plot-flow .plot-document>.panel+.panel{margin-top:20px}
.plot-flow .plot-chat{padding:24px;background:#fff;border:1px solid #ead8d7}
.plot-flow .plot-review-lenses{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}
.plot-flow .plot-review-lenses button{flex:1 1 150px;margin:0;min-height:48px;border-radius:24px}
.plot-flow .plot-chat textarea{width:100%;min-height:110px}.plot-flow .plot-conversation{max-height:none;overflow:visible}
.plot-flow .plot-turn{margin:18px 0;padding:18px;background:#faf7f5;border:1px solid #ead8d7;border-radius:12px}
.plot-flow .plot-turn pre{max-height:460px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.plot-flow button{min-height:44px}.plot-flow .plot-next{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.plot-flow .plot-next .sub{flex-basis:100%;margin:0}
@media(max-width:700px){.plot-flow>.panel,.plot-flow .plot-chat,.plot-flow .plot-document>.panel{padding:16px}.plot-flow .plot-generation{grid-template-columns:minmax(0,1fr);gap:16px}.plot-flow input,.plot-flow textarea{font-size:16px}}

/* Script follows the approved plot through review, playable acts, and comic preview. */
.script-flow{display:grid;gap:20px;max-width:1180px;margin:auto}
.script-flow>.panel{margin:0;padding:24px;min-width:0}.script-flow h2{font-size:21px;margin:0 0 14px}
.script-flow h3{margin:0 0 12px}.script-source>pre{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;background:#faf7f5;padding:16px;border-radius:10px}
.script-generation>.primary{margin-top:16px}.script-review-lenses{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.script-review-lenses button{flex:1 1 180px;min-height:54px;border-radius:24px}
.script-review details{margin-top:16px}.script-review pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow:auto}
.script-flow .script-workbench>.grid{grid-template-columns:minmax(0,1.6fr) minmax(180px,1fr);align-items:start;gap:16px}
.script-act{margin:24px 0;scroll-margin-top:16px}.script-act .panel{margin:0;min-width:0;padding:20px}
.script-act aside{position:static;max-height:none;border:1px solid #ead8d7;border-radius:10px;background:#faf7f5}
.script-act aside pre{max-height:400px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.script-act textarea[data-script-scene-text]{min-height:320px;line-height:1.9;resize:vertical}.script-flow button{min-height:44px}
.script-flow #screening-voice{margin:14px 0;padding:14px;background:#faf7f5}.script-flow #screening-voice h3{font-size:15px}
.script-flow .script-act [data-script-play]{float:right;margin:0 0 10px 10px}.script-act label{clear:both}
@media(max-width:800px){.script-flow>.panel{padding:16px}.script-flow .script-workbench>.grid{grid-template-columns:minmax(0,1fr)}.script-act aside{order:2}.script-flow textarea,.script-flow select{font-size:16px}}

/* Keep everyday controls compact; show errors separately. */
.script-generation>.field{display:inline-flex;flex-direction:column;width:calc(50% - 8px);margin:0 12px 12px 0;vertical-align:top}
.script-generation>.field:nth-of-type(2){margin-right:0}
.script-generation>label:not(.field){display:block;font-size:13px;margin:4px 0 12px}
.plot-ai-choice>.field{margin:0 0 10px}.meeting-settings .field{margin:10px 0}
.voice-toolbar{gap:8px;align-items:end}.voice-toolbar label{display:inline-flex;flex-direction:column;gap:3px;margin:0}.voice-toolbar select{margin:0;min-width:90px}.voice-toolbar button{margin:0}
[data-reading-metrics]{font-size:13px;margin:8px 0 0;color:#88676d}
.script-review-lenses{margin:0}.connection-controls{margin:10px 0}.plot-generation .plot-actions>.primary{margin:0}
.script-generation [data-script-from-plot]{display:block}.script-source details{margin-top:12px}
@media(max-width:600px){.script-generation>.field{width:100%;margin-right:0}.voice-toolbar{flex-wrap:wrap}}
