
/* General narrative setup and film-scoring workspace. */
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-card{display:flex;flex-direction:column;gap:10px;text-align:left;padding:19px;border:1px solid var(--line);border-radius:5px;background:#fff;font-weight:400;line-height:1.45}.choice-card strong{font-family:Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1.2}.choice-card span:not(.eyebrow){font-size:.9375rem;color:var(--muted)}.choice-card small{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:9px}.choice-card.selected{border-color:#356791;box-shadow:inset 3px 0 #356791;background:#edf3f9}.choice-card .eyebrow{font-size:.75rem;color:#436184;min-height:18px}.setup-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:22px}.setup-body{padding:26px}.setup-body>h2{margin:6px 0 24px}.setup-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:27px;padding-top:20px;border-top:1px solid var(--line)}.cast-setup-list{display:grid;gap:15px}.cast-setup-row{display:grid;grid-template-columns:1.2fr 1.1fr 1fr auto;align-items:end;gap:12px;padding:18px;background:#f5f8fb;border:1px solid var(--line);border-radius:4px}.cast-goal{grid-column:1/-1}.summary-panel{padding:18px;background:#f5f8fb;box-shadow:none}.summary-panel h3{margin-bottom:12px}.summary-panel p{font-size:.9375rem;color:var(--muted);margin-top:7px}.structure-works{display:grid;gap:23px}.stage-list{padding:5px 22px}.stage-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.stage-row:last-child{border:0}.stage-info h3{font-size:1rem;line-height:1.3}.stage-info p{font-size:.875rem;color:var(--muted);margin-top:6px}.stage-scenes{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.stage-scenes button{font-weight:400;background:#eef3f8;color:#355578}.legacy-notes{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.legacy-notes summary{font-size:.875rem;cursor:pointer}.legacy-notes p,.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.scoring-prompts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:23px 0}.scoring-prompts>div{border-left:2px solid var(--music);padding-left:13px;font-size:.875rem}.scoring-prompts p{color:var(--muted);margin-top:6px}.music-associations{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.music-details p{font-size:.875rem;color:var(--muted);margin-top:5px}.cue-table-scroll{overflow:auto}.cue-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:780px}.cue-table th{text-align:left;color:var(--muted);font-size:.8125rem;font-weight:600;background:#f4f7fa;padding:13px 18px;border-bottom:1px solid var(--line)}.cue-table td{padding:17px 18px;border-bottom:1px solid var(--line);vertical-align:top;max-width:330px}.cue-table td>strong{display:block;font-size:.9375rem}.cue-table td>span.eyebrow{display:block;margin-bottom:7px}.cue-table p{font-size:.875rem;color:var(--muted);margin-top:6px}.cue-table .badge{margin:0 4px 5px 0;white-space:normal}.cue-table tr:last-child td{border:none}@media(max-width:1100px){.cast-setup-row{grid-template-columns:1fr 1fr}.cast-setup-row>button{justify-self:start}.setup-layout{grid-template-columns:170px minmax(0,1fr)}}@media(max-width:700px){.setup-layout{display:block}.setup-layout .guide-steps{flex-direction:row;overflow:auto;margin-bottom:15px}.setup-body{padding:20px}.choice-grid{grid-template-columns:1fr}.choice-card{padding:17px}.cast-setup-row{grid-template-columns:1fr;padding:15px}.stage-list{padding:0 15px}.stage-row{grid-template-columns:24px minmax(0,1fr);gap:10px}.stage-row>button{grid-column:2;justify-self:start}.structure-works .panel-header{align-items:start;flex-direction:column}.setup-footer button{font-size:.875rem}.scoring-prompts{grid-template-columns:1fr}.cast-goal{grid-column:auto}}
:root{--ink:#17283d;--muted:#52647a;--navy:#132032;--paper:#f2f5f8;--line:#d9e1ea;--gold:#d8af72;--char:#356791;--plot:#785480;--theme:#427366;--music:#986331;--shadow:0 12px 42px #13203212;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b4813d;outline-offset:3px}a{color:inherit}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:5px;padding:9px 14px;font-size:.875rem;font-weight:600}button:hover{background:#edf2f7}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.primary:hover{background:#284463}button.gold{background:var(--gold);border-color:var(--gold);color:#182637}.quiet{background:transparent;border-color:transparent}.danger{color:#9c2732}.small{padding:5px 9px;font-size:.8125rem}.eyebrow{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:650;color:var(--muted)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}h1,h2,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:2rem}h2{font-size:1.65rem}h3{font-size:1.125rem}.muted{color:var(--muted)}.sub{font-size:.875rem}.app{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.rail{background:var(--navy);color:#e3e9f1;padding:29px 21px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:35px;height:39px;border:1px solid #d8af7260;display:grid;place-items:center;color:var(--gold);font:23px Georgia}.brand strong{font:1.12rem Georgia}.brand small{display:block;color:#a5b4c7;font-size:.75rem;letter-spacing:.06em;margin-top:3px}.project-name{font:1.45rem/1.25 Georgia;overflow-wrap:anywhere;color:white}.rail .eyebrow{color:#a5b4c7}.rail nav{display:grid;gap:4px}.nav-button{border:0;background:transparent;color:#bbc7d8;display:flex;gap:12px;align-items:center;text-align:left;padding:12px 10px;border-radius:4px;width:100%;font-weight:500}.nav-button:hover{background:#ffffff09;color:white}.nav-button.active{background:#ffffff0d;color:white;box-shadow:inset 3px 0 var(--gold)}.nav-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.rail-bottom{margin-top:auto;display:grid;gap:12px;color:#b3c0d0;font-size:.8125rem}.rail-bottom button{color:#cbd5e3;border-color:#ffffff25;background:transparent}.rail-bottom a{color:#b3c0d0;text-decoration:none}.workspace{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 34px;border-bottom:1px solid var(--line);gap:16px;background:#fff}.top-left{display:flex;align-items:center;gap:18px}.save-status{font-size:.8125rem;color:var(--muted)}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.content{padding:30px 34px 50px}.view-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.view-heading p{margin-top:8px;max-width:660px;color:var(--muted);font-size:.9375rem}.view-heading .eyebrow{margin-bottom:8px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar input{min-width:160px;max-width:270px}.toolbar label{font-size:.875rem}.toolbar select{width:auto;min-width:120px}.notice{background:#eaf0f6;border:1px solid #d4dfe9;border-left:3px solid var(--char);padding:12px 16px;display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:.875rem;margin-bottom:21px}.notice button{flex:none}.panel{background:white;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.panel-header{padding:17px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-body{padding:21px}.stats{display:flex;gap:23px;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.stats strong{color:var(--ink);font-size:1.2rem;margin-right:5px;font-family:Georgia;font-weight:400}.legend{display:flex;gap:18px;font-size:.8125rem;color:var(--muted);align-items:center;flex-wrap:wrap}.dot{display:inline-block;width:8px;height:8px;background:var(--color);border-radius:50%;margin-right:6px}.score-wrap{overflow:auto;max-height:65vh;position:relative;border-radius:6px}.score-grid{display:grid;min-width:max-content;position:relative}.score-label{position:sticky;left:0;z-index:2;background:white;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 16px;display:flex;align-items:center;gap:9px;font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.score-label small{display:block;font-weight:400;font-size:.75rem;color:var(--muted);margin-top:3px}.score-label button{padding:0;text-align:left;background:none;border:0;width:100%;font-size:inherit}.score-head{background:#f7f9fb;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:13px 14px;font-size:.8125rem}.score-head strong{display:block;font-size:.875rem;margin-top:4px}.score-cell{border-bottom:1px solid var(--line);border-right:1px solid #e8edf2;min-height:69px;display:flex;align-items:center;padding:12px;background:linear-gradient(transparent calc(50% - .5px),#edf1f5 calc(50% - .5px),#edf1f5 calc(50% + .5px),transparent calc(50% + .5px))}.scene-cell{align-items:stretch;background:#fff;padding:10px;min-height:160px}.scene-card{width:100%;text-align:left;border:1px solid #cbd8e5;border-left:3px solid var(--plot);padding:12px;background:#fff;border-radius:4px;display:flex;flex-direction:column;gap:8px;font-weight:400;box-shadow:0 3px 9px #13203206;position:relative}.scene-card:hover{background:#f8fafc;border-color:#9aaec2}.scene-card .title{font-size:.9375rem;font-weight:600;line-height:1.3}.scene-card .snippet{color:var(--muted);font-size:.8125rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.scene-card .card-bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:auto}.badge{display:inline-block;padding:2px 7px;background:#edf2f7;border-radius:3px;font-size:.75rem;font-weight:500;color:#4e6278}.badge.prompt{background:#f5eee3;color:#7b582c}.lane-beat{border:1px solid color-mix(in srgb,var(--color) 30%,white);border-left:3px solid var(--color);background:color-mix(in srgb,var(--color) 7%,white);color:var(--color);padding:8px 10px;font-size:.8125rem;width:100%;text-align:left;font-weight:500;line-height:1.3}.lane-beat:hover{background:color-mix(in srgb,var(--color) 13%,white)}.empty-cell{color:#a8b4c3;font-size:.75rem}.dragover{background:#e7edf5!important;outline:2px dashed #356791;outline-offset:-3px}.empty{padding:44px 24px;text-align:center;display:grid;gap:15px;justify-items:center}.empty p{max-width:460px;color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.book-card{overflow:hidden}.book-top{padding:25px;background:var(--navy);color:white;min-height:146px}.book-top .eyebrow{color:var(--gold);margin-bottom:12px}.book-top h2{font-size:1.7rem}.book-top p{color:#b9c6d6;margin-top:8px;font-size:.875rem}.book-content{padding:21px;display:grid;gap:17px}.book-anchor{border-bottom:1px solid #edf1f5;padding-bottom:13px}.book-anchor:last-child{border:none}.book-anchor strong{display:block;font-size:.875rem;margin-bottom:5px}.book-anchor p{font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere}.book-bridge{padding:16px;background:#edf2f7;font-size:.875rem}.section-space{margin-top:26px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.entity-list{display:grid;gap:12px}.entity-card{display:flex;gap:15px;align-items:flex-start;padding:20px;border-top:3px solid var(--color)}.entity-card .avatar{width:42px;height:42px;display:grid;place-items:center;background:color-mix(in srgb,var(--color) 10%,white);color:var(--color);font:1.2rem Georgia;flex:none}.entity-card .details{flex:1;min-width:0}.entity-card p{color:var(--muted);font-size:.875rem;margin-top:8px;white-space:pre-wrap}.entity-card .mini{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.entity-card h3{font-family:Georgia;font-size:1.35rem;font-weight:400}.entity-card .quiet{flex:none}.arc-chart{width:100%;height:auto;display:block;min-width:640px}.chart-scroll{overflow:auto}.arc-chart text{font-family:system-ui;font-size:13px;fill:#52647a}.arc-chart .point{cursor:pointer}.arc-description{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.arc-description div{border-left:2px solid var(--line);padding-left:13px;font-size:.875rem}.arc-description strong{display:block;margin-bottom:4px}.arc-note{padding:14px 20px;background:#f8fafc;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.thread-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;padding:18px 21px;border-bottom:1px solid var(--line);align-items:start}.thread-item:last-child{border:none}.thread-index{font:1.2rem Georgia;color:var(--muted)}.thread-item h3{font-size:1rem;margin-bottom:5px}.thread-item p{font-size:.875rem;color:var(--muted)}.thread-links{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}.thread-links button{font-size:.75rem;padding:4px 7px;font-weight:400}.heatmap{display:grid;gap:14px}.heat-row{display:flex;gap:5px;align-items:center}.heat-row strong{min-width:160px;font-size:.875rem}.heat-row button{width:30px;height:34px;padding:0;background:#f0f3f7;border:0;border-radius:3px;color:var(--muted);font-size:.75rem;flex:none}.heat-row button.filled{background:var(--theme);color:white}.heat-scroll{overflow:auto}.music-card{padding:22px;display:grid;gap:15px;border-top:3px solid var(--music)}.music-card h3{font:1.4rem Georgia}.music-card .notes{font:1.2rem/1.5 Georgia;color:var(--music);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;min-height:53px}.music-card audio{width:100%;height:35px}.music-meta{font-size:.875rem;color:var(--muted);display:flex;gap:20px;flex-wrap:wrap}.guide-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:22px}.guide-steps{display:flex;flex-direction:column;gap:6px}.guide-step{display:flex;text-align:left;gap:12px;align-items:center;padding:13px;background:transparent;border-color:transparent;font-weight:400}.guide-step.active{background:white;border-color:var(--line)}.step-num{width:27px;height:27px;border:1px solid #aebdcd;border-radius:50%;display:grid;place-items:center;flex:none;font-size:.8125rem}.guide-step.active .step-num{background:var(--ink);color:white;border-color:var(--ink)}.guide-body{padding:27px}.guide-body h2{margin-bottom:10px}.guide-body>p{color:var(--muted);margin-bottom:24px}.question{padding:19px 0;border-top:1px solid var(--line)}.question label{font-weight:600;display:block;margin-bottom:7px}.question .hint{font-size:.875rem;color:var(--muted);margin-bottom:10px;max-width:760px}.guide-tip{border-left:3px solid var(--gold);background:#f7f4ed;padding:15px;font-size:.875rem;margin:20px 0}.source-links{margin-top:25px;border-top:1px solid var(--line);padding-top:18px;font-size:.8125rem;color:var(--muted)}.source-links a{display:inline-block;margin:5px 10px 5px 0}.check-item{display:flex;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:14px 0;font-size:.875rem}.check-item .mark{font-size:1.1rem;color:#a77940;line-height:1.2}.check-item.good .mark{color:var(--theme)}.check-item strong{display:block;margin-bottom:3px}.check-item p{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;max-width:920px;width:calc(100% - 32px);padding:0;box-shadow:0 30px 100px #0005;color:var(--ink);max-height:90vh;background:white}dialog::backdrop{background:#09131f9c;backdrop-filter:blur(3px)}.dialog-top{position:sticky;top:0;background:#fff;z-index:3;padding:20px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-top h2{font-size:1.5rem}.dialog-body{padding:25px}.dialog-bottom{position:sticky;bottom:0;background:white;padding:16px 25px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;align-items:center;z-index:3}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-field{display:grid;gap:6px;align-content:start}.form-field.wide{grid-column:1/-1}.form-field label{font-size:.875rem;font-weight:600}.form-field small{font-size:.8125rem;color:var(--muted)}input,select,textarea{border:1px solid #bdcbd9;border-radius:4px;background:white;padding:10px 11px;color:var(--ink);width:100%;font-size:.9375rem;min-width:0}textarea{resize:vertical;min-height:85px;line-height:1.5}.dialog-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.dialog-section h3{font-family:Georgia;font-weight:400;font-size:1.3rem;margin-bottom:13px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:7px 11px;border-radius:4px;font-size:.875rem;cursor:pointer}.chip:has(input:checked){background:color-mix(in srgb,var(--color) 10%,white);border-color:var(--color);color:var(--color)}.chip input{width:15px;height:15px;margin:0;accent-color:var(--color)}.rating-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px;margin:8px 0;font-size:.875rem}.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:white;max-width:420px;padding:14px 20px;border-radius:5px;box-shadow:var(--shadow);z-index:50;font-size:.875rem}.hidden{display:none!important}.mobile-title{display:none}.help-copy{display:grid;gap:16px}.help-copy p,.help-copy li{font-size:.9375rem;color:var(--muted)}.help-copy ol{padding-left:24px;margin:0}.help-copy li{margin-bottom:10px}.storage-error{color:#9c2732!important}.move-buttons{display:flex;gap:6px}.print-title{display:none}@media(max-width:1050px){.app{grid-template-columns:190px minmax(0,1fr)}.rail{padding:25px 15px}.topbar{padding:17px 22px}.content{padding:24px 22px}.grid-3{grid-template-columns:1fr}.book-top{min-height:100px}.book-content{grid-template-columns:1fr 1fr}.book-bridge{grid-column:1/-1}.guide-layout{grid-template-columns:170px minmax(0,1fr)}.arc-description{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}@media(max-width:700px){.app{display:block}.rail{padding:15px 16px;gap:16px}.brand{display:none}.project-name{font-size:1.3rem}.rail .project-block{display:flex;gap:12px;align-items:center;justify-content:space-between}.rail .project-block .eyebrow{font-size:.6875rem}.rail nav{display:flex;overflow:auto;gap:4px;margin:0 -6px}.nav-button{white-space:nowrap;padding:9px 10px;width:auto;font-size:.8125rem;gap:6px}.nav-button svg{width:15px;height:15px}.nav-button.active{box-shadow:inset 0 -2px var(--gold)}.rail-bottom{display:none}.topbar{padding:13px 16px;display:block}.top-left{justify-content:space-between;margin-bottom:12px}.top-left .eyebrow{font-size:.6875rem}.actions{gap:5px}.actions button{padding:7px 10px;font-size:.8125rem}.content{padding:22px 16px 40px}.view-heading{align-items:start}.view-heading h1{font-size:1.75rem}.view-heading p{font-size:.875rem}.notice{display:block}.notice button{margin-top:10px}.toolbar input{max-width:none;flex:1}.toolbar select{flex:1;min-width:110px}.panel-header{padding:14px 16px}.stats{gap:12px}.score-wrap{max-height:65vh}.score-label{padding:13px 12px;font-size:.8125rem}.legend{gap:12px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.dialog-body{padding:18px}.dialog-top,.dialog-bottom{padding:15px 18px}.dialog-bottom{flex-wrap:wrap}.book-content{display:grid;grid-template-columns:1fr}.guide-layout{display:block}.guide-steps{flex-direction:row;overflow:auto;margin-bottom:15px}.guide-step{white-space:nowrap;padding:8px;font-size:.8125rem;gap:7px}.guide-body{padding:19px}.thread-item{grid-template-columns:28px minmax(0,1fr) auto;padding:16px 14px;gap:8px}.rating-row{grid-template-columns:1fr;gap:4px}.heat-row strong{min-width:120px}.toast{left:16px;right:16px;bottom:16px}.music-card{padding:18px}}@media print{.rail,.topbar,.toolbar,.notice,button,.toast{display:none!important}.app{display:block}.content{padding:0}.panel{box-shadow:none;break-inside:avoid}.grid-3{display:block}.book-card{margin-bottom:20px}.score-wrap{overflow:visible;max-height:none}.score-grid{transform:scale(.65);transform-origin:top left}.print-title{display:block}}

/* ---- Narrative Studio v3: step-by-step builder, blueprint and projects ---- */
.narrative-page .choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.narrative-page .choice-card.compact{padding:15px;gap:7px}
.narrative-page .choice-card.compact strong{font-size:1.12rem}
.narrative-page .choice-card.compact span:not(.eyebrow){font-size:.875rem}
.narrative-page .choice-card .reason-chips{display:flex;flex-wrap:wrap;gap:6px}
.narrative-page .choice-card .reason-chips em{font-style:normal;font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft,#e6eef6);color:var(--ink,#17283d)}
.narrative-page .guide-step .step-text{display:grid;gap:2px;min-width:0}
.narrative-page .guide-step .step-text small{font-size:.75rem;color:var(--ink-2,#52647a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.narrative-page .guide-step.done .step-num{background:var(--accent-soft,#e6eef6);color:var(--accent,#356791);border-color:var(--accent,#356791)}
.narrative-page .guide-step.active.done .step-num{background:var(--accent,#356791);color:var(--on-accent,#fff)}
.narrative-page .setup-body .lead{font-size:1.02rem;margin:0 0 18px;color:var(--ink-2,#52647a)}
.narrative-page .sub-heading{font-family:var(--font-ui,inherit);font-size:.95rem;font-weight:600;margin:0 0 12px}
.narrative-page .label{font-weight:600;font-size:.9rem}
.narrative-page .seg{display:inline-flex;border:1px solid var(--line-2,#c9d3de);border-radius:6px;overflow:hidden;width:max-content}
.narrative-page .seg button{border:0;border-radius:0;padding:9px 16px;background:var(--surface,#fff)}
.narrative-page .seg button+button{border-left:1px solid var(--line-2,#c9d3de)}
.narrative-page .seg button.selected{background:var(--accent-fill,#356791);color:var(--on-accent,#fff)}
.narrative-page .convention-panel{padding:18px 22px}
.narrative-page .convention-panel h3{margin:0 0 8px}
.narrative-page .convention-panel ul,.narrative-page .bp-list{margin:0 0 6px;padding-left:20px;display:grid;gap:4px}
.narrative-page .premise-grid input{width:100%}
.narrative-page .logline-field textarea,.narrative-page blockquote.logline{font-family:var(--font-display,Georgia,serif);font-size:1.15rem;line-height:1.45}
.narrative-page blockquote.logline{margin:0 0 14px;padding:12px 18px;border-left:3px solid var(--accent,#356791);background:var(--surface-2,#f2f5f8);border-radius:0 6px 6px 0}
.narrative-page .link-button{border:0;background:none;padding:0;color:var(--accent,#356791);text-decoration:underline;font:inherit;cursor:pointer}
.narrative-page .length-panel{padding:20px 22px}
.narrative-page .length-figures{display:flex;flex-wrap:wrap;gap:12px 34px;margin:6px 0 10px}
.narrative-page .length-figures div{display:grid}
.narrative-page .length-figures strong{font-family:var(--font-display,Georgia,serif);font-size:1.6rem;font-weight:400;line-height:1.15}
.narrative-page .length-figures span{font-size:.8rem;color:var(--ink-2,#52647a)}
.narrative-page .length-panel p{font-size:.9rem}
.narrative-page .target-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:8px 0 4px}
.narrative-page .target-row input{width:160px}
.narrative-page .more-structures summary{cursor:pointer;font-weight:600;padding:8px 0}
.narrative-page .beat-scroll{overflow-x:auto}
.narrative-page .beat-table{width:100%;border-collapse:collapse;font-size:.875rem}
.narrative-page .beat-table th{text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2,#52647a);padding:10px 14px;border-bottom:1px solid var(--line,#d9e1ea);background:var(--surface-2,#f2f5f8)}
.narrative-page .beat-table td{padding:10px 14px;border-bottom:1px solid var(--line,#d9e1ea);vertical-align:top}
.narrative-page .beat-table td:first-child{color:var(--ink-2,#52647a);width:28px}
.narrative-page .beat-table td:nth-child(2) strong{display:block}
.narrative-page .beat-table td:nth-child(2) span{display:block;color:var(--ink-2,#52647a);font-size:.84rem}
.narrative-page .beat-table td:nth-child(3),.narrative-page .beat-table td:nth-child(4),.narrative-page .beat-table td:nth-child(5){white-space:nowrap}
.narrative-page .beat-table tr:last-child td{border-bottom:0}
.narrative-page .chip-toggle,.narrative-page .chip-static{border:1px solid var(--line-2,#c9d3de);border-radius:999px;padding:6px 13px;font-size:.85rem;background:var(--surface,#fff)}
.narrative-page .chip-toggle.selected{background:var(--accent-fill,#356791);color:var(--on-accent,#fff);border-color:transparent}
.narrative-page .track-list{margin:0;padding:6px 22px 14px 40px;display:grid;gap:8px}
.narrative-page .track-list li strong{display:block}
.narrative-page .track-list li span{color:var(--ink-2,#52647a);font-size:.875rem}
.narrative-page .review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.narrative-page .review-summary>div{border:1px solid var(--line,#d9e1ea);border-radius:6px;padding:12px 14px;background:var(--surface-2,#f2f5f8)}
.narrative-page .review-summary strong{display:block;font-family:var(--font-display,Georgia,serif);font-weight:400;font-size:1.1rem;margin-top:2px}
.narrative-page .review-summary p{margin:4px 0 0;font-size:.82rem;color:var(--ink-2,#52647a)}
.narrative-page .review-group{margin:20px 0 0}
.narrative-page .review-group h3{margin:0 0 8px;font-size:1.05rem}
.narrative-page .review-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line,#d9e1ea);border-radius:6px;margin-bottom:6px;background:var(--surface,#fff);cursor:pointer}
.narrative-page .review-row input[type=checkbox]{margin-top:7px;width:16px;height:16px}
.narrative-page .review-main{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:4px 12px;align-items:center}
.narrative-page .review-main em{font-style:normal;font-size:.78rem;color:var(--accent,#356791);grid-column:1}
.narrative-page .review-main>span{grid-column:2;grid-row:1/span 2;font-size:.875rem;color:var(--ink-2,#52647a)}
.narrative-page .review-main strong{grid-column:1/-1}
.narrative-page .review-main strong+span{grid-column:1/-1;grid-row:auto}
.narrative-page .review-name{padding:6px 9px;font-weight:600}
.narrative-page .review-note{font-size:.72rem;color:var(--ink-2,#52647a);white-space:nowrap;padding-top:8px}
.narrative-page .notice.warn{border-color:var(--gold,#d8af72)}
.narrative-page .bp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.narrative-page .bp-card .panel-body{padding-top:4px}
.narrative-page .bp-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;font-size:.9rem}
.narrative-page .bp-dl dt{color:var(--ink-2,#52647a)}
.narrative-page .bp-dl dd{margin:0}
.narrative-page .quiet-panel{opacity:.85}
.narrative-page .stage-info h3 .badge{margin-left:10px;font-family:var(--font-ui,inherit);font-size:.72rem;vertical-align:middle}
.narrative-page .project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.narrative-page .project-card{padding:18px 20px;display:grid;gap:6px;align-content:start}
.narrative-page .project-card h3{margin:2px 0;font-size:1.35rem}
.narrative-page .project-card p{margin:0}
.narrative-page .project-card .logline-small{font-family:var(--font-display,Georgia,serif);font-size:.98rem;line-height:1.4}
.narrative-page .project-card .actions{margin-top:8px;flex-wrap:wrap}
.narrative-page .project-card.current{border-color:var(--accent,#356791);box-shadow:inset 3px 0 var(--accent,#356791)}
.narrative-page .project-card.broken{border-style:dashed}
.narrative-page .rail .all-projects{margin-top:10px;width:100%}
@media(max-width:1100px){.narrative-page .choice-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.narrative-page .review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.narrative-page .choice-grid.three,.narrative-page .bp-grid,.narrative-page .review-summary{grid-template-columns:1fr}.narrative-page .review-main{grid-template-columns:1fr}.narrative-page .review-main>span{grid-column:1;grid-row:auto}.narrative-page .review-note{display:none}.narrative-page .guide-step .step-text small{display:none}}
.narrative-page .src-inline{font-size:.8rem;color:var(--ink-2,#52647a)}
.narrative-page .src-inline a{white-space:nowrap}
