:root,:root[data-theme=dark]{--frame: #111113;--canvas: #19191c;--dot: rgba(255, 255, 255, .055);--surface: #222226;--surface-2: #2a2a2f;--surface-3: #34343a;--line: rgba(255, 255, 255, .07);--line-2: rgba(255, 255, 255, .13);--ink: #ececf1;--mid: #9c9ca8;--faint: #5e5e69;--accent: #5b8cff;--accent-ink: #ffffff;--sel: rgba(91, 140, 255, .16);--focus-bg: rgba(255, 255, 255, .045);--warn: #ff8f70;--ok: #4cc38a;--shadow: 0 10px 30px rgba(0, 0, 0, .38), 0 1px 0 rgba(255, 255, 255, .03) inset;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--c-theme: #b48cff;--c-cast: #4cc38a;--c-format: #e3b45c;--c-plot: #5b8cff;--c-beats: #ff8a5b;--c-script: #c7c7d2;--idea: #3a3424;color-scheme:dark}:root[data-theme=light]{--frame: #e7e8ec;--canvas: #f3f4f7;--dot: rgba(0, 0, 0, .07);--surface: #ffffff;--surface-2: #f3f3f6;--surface-3: #e8e8ee;--line: rgba(0, 0, 0, .08);--line-2: rgba(0, 0, 0, .15);--ink: #1b1b21;--mid: #696975;--faint: #a8a8b3;--sel: rgba(91, 140, 255, .13);--focus-bg: rgba(91, 140, 255, .06);--warn: #c2410c;--shadow: 0 10px 30px rgba(20, 20, 40, .1);--shadow-sm: 0 2px 8px rgba(20, 20, 40, .08);--c-theme: #8b5cf6;--c-cast: #16a34a;--c-format: #b7791f;--c-plot: #3b6cf0;--c-beats: #ea6a35;--c-script: #55555f;--idea: #fbf3d9;color-scheme:light}#app[data-stage=theme]{--stage: var(--c-theme)}#app[data-stage=cast]{--stage: var(--c-cast)}#app[data-stage=format]{--stage: var(--c-format)}#app[data-stage=plot]{--stage: var(--c-plot)}#app[data-stage=beats]{--stage: var(--c-beats)}#app[data-stage=script]{--stage: var(--c-script)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font:13px/1.5 Inter,-apple-system,system-ui,sans-serif;color:var(--ink);background:var(--frame);-webkit-font-smoothing:antialiased}button,select,input,textarea{font:inherit;color:inherit}::selection{background:var(--sel)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}h2{font-size:17px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em}h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);font-weight:600;margin:18px 0 8px}h3.first{margin-top:0}h4{margin:0 0 4px;font-size:15px;font-weight:600}a{color:var(--accent)}.muted{color:var(--mid)}.small{font-size:12px}.tiny{font-size:11px}.err{color:var(--warn)}.pre{white-space:pre-wrap}pre{white-space:pre-wrap;font-size:11px;background:var(--surface-2);padding:8px;border-radius:8px;color:var(--mid)}.clamp2,.clamp4{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp2{-webkit-line-clamp:2;line-clamp:2}.clamp4{-webkit-line-clamp:4;line-clamp:4}.boot{padding:40px;color:var(--mid)}.spacer{flex:1}.row{display:flex;justify-content:space-between;align-items:center;gap:6px}.pad{padding:6px 10px}.narrow{max-width:720px}button{border:1px solid var(--line);background:var(--surface-2);padding:4px 10px;cursor:pointer;border-radius:8px;transition:background .12s,border-color .12s}button:hover{background:var(--surface-3)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}button.primary:hover{filter:brightness(1.08)}button.on{background:var(--surface-3);border-color:var(--line-2);font-weight:600}button.link{border:0;background:none;padding:0 2px;color:inherit;text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;border-radius:4px}button.link:hover{color:var(--accent);background:none}button.danger{color:var(--warn);background:transparent}button.danger:hover{background:color-mix(in srgb,var(--warn) 12%,transparent)}.iconbtn{border:0;background:transparent;width:30px;height:30px;padding:0;display:inline-grid;place-items:center;color:var(--mid);border-radius:8px}.iconbtn:hover,.iconbtn.on{background:var(--surface-2);color:var(--ink)}.x{border:0;background:none;color:var(--faint);padding:0 4px}.x:hover{color:var(--warn);background:none}select,input[type=password],input[type=text],input[type=email],input[type=number]{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px 8px;color:var(--ink)}select:hover,input:hover{border-color:var(--line-2)}input[type=checkbox]{accent-color:var(--accent)}.filebtn{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:4px 10px;cursor:pointer}.filebtn:hover{background:var(--surface-3)}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}.actions.tight{margin-top:4px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.subview,.subtabs{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center}.subview button,.subtabs button{border:0;background:transparent;border-radius:7px;padding:4px 11px;color:var(--mid)}.subview button:hover,.subtabs button:hover{color:var(--ink);background:var(--surface-2)}.subview button.on,.subtabs button.on{background:var(--surface-3);color:var(--ink);font-weight:600}.subtabs{display:flex;margin-bottom:16px}.subtabs button.link{color:var(--mid);background:none;text-decoration:none;font-size:12px}.tag{display:inline-flex;align-items:center;gap:2px;background:var(--surface-3);color:var(--mid);border:0;border-radius:6px;padding:1px 7px;font-size:11px;margin:1px 4px 1px 0;white-space:nowrap;line-height:1.6}.tag.dark{background:color-mix(in srgb,var(--stage, var(--accent)) 22%,transparent);color:color-mix(in srgb,var(--stage, var(--accent)) 85%,var(--ink));font-weight:500}.tag .x{padding:0 0 0 4px;font-size:12px}.link-tag{cursor:pointer}.link-tag:hover{background:var(--sel);color:var(--ink)}.chips{margin:8px 0;display:flex;flex-wrap:wrap;gap:4px}.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:1px 9px;font-size:11px;color:var(--mid)}.chip.on{background:var(--sel);border-color:transparent;color:var(--ink)}.idchips{display:inline-flex;flex-wrap:wrap;gap:3px 4px;align-items:center}.idchips select{font-size:11px;padding:1px 6px;border-radius:6px}.legend{font-size:11px;color:var(--mid);margin:0 0 10px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.box{background:var(--surface);border:1px solid var(--line);padding:10px 12px;border-radius:12px;margin-bottom:12px}.later{border:1px dashed var(--line-2);border-radius:12px;padding:12px 14px;margin-bottom:14px;color:var(--mid)}.later b{color:var(--ink);margin-right:6px}#app{height:100vh;display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:8px}#app.with-nav{grid-template-columns:252px minmax(0,1fr)}#app.focus{padding:0}#sidebar{display:flex;flex-direction:column;min-height:0;padding:4px 8px 4px 2px;gap:2px}.side-head{display:flex;align-items:center;gap:4px;padding:2px 0 10px}.proj{flex:1;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 6px;font-weight:600;font-size:13.5px;text-align:left;min-width:0}.proj:hover{background:var(--surface)}.proj .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-mark{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12px;color:#fff;background:linear-gradient(135deg,#ff9d5c,#e2574c);flex:none}.side-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:8px;color:var(--mid)}.side-item:hover{background:var(--surface);color:var(--ink)}.side-item.on{background:var(--surface-2);color:var(--ink)}.side-item .ic{flex:none}.side-item .lbl{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.25}.side-item .lbl>span{color:inherit;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-item .lbl small{font-size:10.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-item kbd{font:10px Inter,sans-serif;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:0 4px;opacity:0}.side-item:hover kbd{opacity:1}.stagelist .stage-theme .ic{color:var(--c-theme)}.stagelist .stage-cast .ic{color:var(--c-cast)}.stagelist .stage-format .ic{color:var(--c-format)}.stagelist .stage-plot .ic{color:var(--c-plot)}.stagelist .stage-beats .ic{color:var(--c-beats)}.stagelist .stage-script .ic{color:var(--c-script)}.side-sep{height:1px;background:var(--line);margin:8px 6px}.navlist{flex:1;overflow:auto;min-height:0;padding-right:2px}.navlist .grp{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--mid);font-weight:500;margin:12px 0 2px;padding:0 8px}.navlist .grp:first-child{margin-top:2px}.navlist .item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:0;background:transparent;padding:4px 8px 4px 20px;border-radius:7px;color:var(--ink);font-size:12.5px}.navlist .item .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navlist .item:hover{background:var(--surface)}.navlist .item.on{background:var(--surface-2)}.navlist .item .sub{padding-left:10px;color:var(--mid);font-size:12px}.navlist .item.sub{padding-left:30px;font-family:Courier Prime,Courier New,monospace;font-size:11.5px;color:var(--mid)}.navlist .item.subsub{padding-left:40px;align-items:flex-start;cursor:pointer;color:var(--mid)}.navlist .item.strong{font-weight:600}.navlist .check-item{cursor:pointer;color:var(--mid)}.count{font-size:10.5px;color:var(--mid);background:var(--surface-2);border-radius:5px;padding:0 6px;min-width:18px;text-align:center}.side-foot{border-top:1px solid var(--line);padding-top:6px;margin-top:6px}.side-foot .cloud-synced .ic{color:var(--ok)}.side-foot .cloud-error .ic,.side-foot .cloud-conflict .ic{color:var(--warn)}.workspace{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--canvas);border:1px solid var(--line);border-radius:14px;overflow:hidden}#app.focus .workspace{border-radius:0;border:0}.topbar{display:flex;align-items:center;gap:8px;height:46px;padding:0 10px 0 14px;border-bottom:1px solid var(--line);flex:none}.crumbs-top{display:flex;align-items:center;gap:6px;min-width:0;flex:1;font-size:13px}.crumbs-top .crumb{color:var(--mid);white-space:nowrap;border:0;background:none;padding:2px 4px;display:inline-flex;align-items:center;gap:6px}.crumbs-top .crumb.strong{color:var(--ink);font-weight:600}.crumbs-top .crumb.strong svg{color:var(--stage)}.crumbs-top .crumb.sel{overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.crumbs-top .slash{color:var(--faint)}.top-right{display:flex;align-items:center;gap:4px}.syncdot{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mid);padding:0 8px}.syncdot i{width:7px;height:7px;border-radius:50%;background:var(--ok)}.syncdot.sync-dirty i,.syncdot.sync-saving i{background:var(--c-format)}.syncdot.sync-error i,.syncdot.sync-conflict i{background:var(--warn)}.banner{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-bottom:1px solid var(--line);padding:8px 14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ws-body{flex:1;display:flex;min-height:0}#main{flex:1;min-width:0;overflow:auto;padding:26px 30px 120px;background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:22px 22px}#main>div>h3,#main section>h3,#main .stage-theme>h3{display:flex;align-items:center;gap:10px;font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);margin:26px 0 12px}#main>div>h3:before,#main section>h3:before,#main .stage-theme>h3:before{content:"";width:3px;height:16px;border-radius:2px;background:var(--stage)}#panel{width:344px;flex:none;margin:10px 10px 10px 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}#panel .tabs{display:flex;align-items:center;gap:2px;padding:6px;border-bottom:1px solid var(--line)}#panel .tabs button[role=tab]{flex:1;border:0;background:transparent;padding:6px;border-radius:8px;color:var(--mid)}#panel .tabs button[role=tab]:hover{background:var(--surface-2);color:var(--ink)}#panel .tabs button[role=tab].on{background:var(--surface-2);color:var(--ink);font-weight:600}#panel .tabs .close{width:28px;height:28px;font-size:16px}#panel .content{overflow:auto;padding:14px 16px 40px;flex:1}#panel .kv{grid-template-columns:92px minmax(0,1fr)}#panel select{max-width:100%}#panel .note{background:var(--surface-2)}.pin{margin-bottom:12px}.dock{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);z-index:10}#app.with-panel .dock{left:calc(50% - 177px)}.dock button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:7px 11px;border-radius:10px;color:var(--mid);font-size:12.5px}.dock button:hover{background:var(--surface-2);color:var(--ink)}.dock button.on{background:var(--surface-3);color:var(--ink)}.dock button svg{color:var(--stage)}.dock-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.field{margin:8px 0}.field .lbl{font-size:11px;color:var(--mid);display:flex;gap:6px;align-items:center;margin-bottom:2px;font-weight:500}textarea.auto{display:block;resize:none;overflow:hidden;border:0;border-radius:6px;padding:2px 4px;margin:0 -4px;width:calc(100% + 8px);background:transparent;line-height:1.5;color:var(--ink)}textarea.auto:hover{background:var(--focus-bg)}textarea.auto:focus{outline:none;background:var(--focus-bg);box-shadow:0 0 0 1px var(--line-2)}textarea.auto::placeholder{color:var(--faint)}textarea.auto.inline{width:auto;flex:1;min-width:160px;margin:0}.q{width:17px;height:17px;padding:0;border-radius:50%;font-size:10px;line-height:15px;text-align:center;background:transparent;color:var(--faint);border:1px solid var(--line-2)}.q.has{background:var(--accent);color:#fff;border-color:var(--accent)}.suggest{color:var(--mid);font-style:italic}.row-fields{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.row-fields .field{flex:1 1 160px}.narrowfield{flex:0 0 80px!important}.narrowfield input{width:70px}.kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 12px;align-items:baseline;font-size:12px;margin:8px 0}.kv>*{min-width:0}.kv>span:nth-child(odd){color:var(--mid);font-size:11px}.kv select{max-width:100%}.custom{position:relative}.custom>.x{position:absolute;right:0;top:0}.card-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.learn{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:4px 0}.learn select{max-width:280px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;align-items:start}.cards.wide{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.ecard,.tcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);transition:border-color .12s,box-shadow .12s}.ecard:hover,.tcard:hover{border-color:var(--line-2)}.ecard.open{grid-column:1 / -1}.ecard.on,.ucard.on,.relcard.on{box-shadow:0 0 0 1.5px var(--accent),var(--shadow-sm);border-color:transparent}.ecard .ch{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;cursor:pointer;border-radius:14px 14px 0 0}.ecard .ch:hover{background:var(--focus-bg)}.ecard .ch .tt{flex:1;min-width:0}.ecard .ch .chev{color:var(--faint)}.ecard .cb{padding:0 14px 12px}.ecard .cbody{border-top:1px solid var(--line);padding:8px 16px 16px}.ecard .foot{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;color:var(--mid);padding:8px 14px;border-top:1px solid var(--line)}.avatar{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-weight:600;font-size:14px;color:var(--ink);background:linear-gradient(135deg,color-mix(in srgb,var(--stage, var(--accent)) 45%,var(--surface-3)),var(--surface-3))}.avatar.group{border-radius:50%}.oneliner{font-size:12.5px;margin-top:4px;color:var(--ink)}.oneliner b{font-weight:600;color:var(--mid);font-size:11px;margin-right:5px}.fgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 28px}.meter{display:inline-flex;gap:2px}.meter i{width:6px;height:6px;border-radius:2px;background:var(--surface-3)}.meter i.f{background:var(--stage, var(--accent))}.tcard{padding:12px 16px}.tcard .lbl{text-transform:uppercase;letter-spacing:.06em}.tcard.clickable{cursor:pointer}.tcard.hero{grid-column:1 / -1;text-align:center;padding:20px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--stage) 10%,var(--surface)),var(--surface))}.tcard.hero .lbl{justify-content:center}.tcard.hero textarea.auto{font-size:21px;font-weight:600;text-align:center;letter-spacing:-.01em}.arc{display:grid;grid-template-columns:1fr auto 1fr;gap:10px}.arc .side{background:var(--surface-2);border-radius:10px;padding:2px 10px}.arc .to{align-self:center;color:var(--stage);font-size:18px}.note{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 10px;margin:8px 0}.note .act{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.note.me{background:var(--sel)}.check{padding:5px 0;border-bottom:1px solid var(--line)}.diff{border-left:3px solid var(--accent);padding:6px 10px;margin:8px 0;background:var(--surface);border-radius:0 8px 8px 0}.diff del{display:block;color:var(--mid)}.diff ins{display:block;text-decoration:none;font-weight:500}.diff ins:before{content:"→ ";color:var(--mid)}textarea.askbox{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px;resize:vertical;margin-top:8px}.provider{display:grid;grid-template-columns:96px 1fr 1fr;gap:6px 8px;align-items:center;margin:8px 0}.provider>span{grid-column:2 / -1}.provider input{width:100%}.snip{position:relative;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:8px;padding:6px 22px 6px 8px;margin:6px 0;font-family:Courier Prime,Courier New,monospace;font-size:12px;white-space:pre-wrap;cursor:grab}.snip .x{position:absolute;right:2px;top:2px}.snipzone{border-radius:10px}.snipzone.over{outline:2px dashed var(--accent)}.markrow{display:block;width:100%;text-align:left}.kw{margin:8px 0}.kw>b{display:block;font-size:11px;color:var(--mid);font-weight:600;margin-bottom:2px}table.kt{border-collapse:collapse;width:100%;margin-top:6px}table.kt th,table.kt td{border-bottom:1px solid var(--line);padding:4px;text-align:left;vertical-align:top}table.kt th{font-weight:600;color:var(--mid);font-size:11px}table.kt tr{cursor:pointer}table.kt tr.cur td{background:var(--sel)}.sbar.s-hidden{border-top:1px dashed var(--faint)}.sbar.s-introduced{border-top:2px solid var(--faint)}.sbar.s-suspected{border-top:4px solid var(--mid)}.sbar.s-revealed{border-top:6px solid var(--stage, var(--accent))}i.sbar{display:inline-block;width:22px;vertical-align:middle}.states{display:flex;gap:3px;margin-top:8px}.states span{flex:1;text-align:center;font-size:10px;color:var(--mid)}.states span i{display:block;height:7px;box-sizing:border-box;margin:0 0 2px}.relwrap{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}@media(max-width:1300px){.relwrap{grid-template-columns:minmax(0,1fr)}}.relgraph{width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}.relgraph .edge{cursor:pointer}.relgraph .edge line{stroke:var(--mid)}.relgraph .edge line.hit{stroke:transparent;stroke-width:16px}.relgraph .edge rect{fill:var(--surface-2);stroke:var(--line-2)}.relgraph .edge text{font-size:11px;fill:var(--ink)}.relgraph .edge:hover rect,.relgraph .edge.on rect{stroke:var(--accent);stroke-width:1.5}.relgraph .edge:hover line:not(.hit),.relgraph .edge.on line:not(.hit){stroke:var(--accent)}.relgraph .edge.dim{opacity:.12}.relgraph .node{cursor:pointer}.relgraph .node>circle{fill:var(--surface-3);stroke:var(--stage);stroke-width:1.5}.relgraph .node.on>circle{fill:var(--stage)}.relgraph .node.on .ini{fill:var(--frame)}.relgraph .node .ini{font-weight:700;font-size:14px;text-anchor:middle;fill:var(--ink)}.relgraph .node .nm{font-size:12px;text-anchor:middle;fill:var(--mid)}.relgraph .node.dim{opacity:.28}.relgraph .node circle.badge{fill:var(--accent);stroke:none}.relgraph .badge-t{fill:#fff;font-size:10px;font-weight:700;text-anchor:middle}.relcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin:8px 0;cursor:pointer}.relcard:hover{border-color:var(--line-2)}table.grid{border-collapse:separate;border-spacing:0;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}table.grid td,table.grid th{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:7px 9px;vertical-align:top;text-align:left}table.grid th{background:var(--surface-2);font-weight:600;font-size:12px}table.grid td.off{background:var(--surface-2)}table.grid td.clickable{cursor:pointer}table.grid td.clickable:hover{background:var(--focus-bg)}table.grid.tps{margin-top:10px}table.grid.tps tr.missing td{background:color-mix(in srgb,var(--warn) 9%,transparent)}table.grid.tps button.link{margin-right:8px}.actband{margin-bottom:22px}.actband>.hd{display:inline-flex;align-items:center;gap:10px;border:0;background:none;padding:0;font-weight:600;margin-bottom:10px;font-size:14px}.actband>.hd:before{content:"";width:3px;height:16px;border-radius:2px;background:var(--stage)}.actband>.hd .muted{font-weight:400}.ucards{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 8px;align-items:flex-start}.ucard{width:260px;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer;box-shadow:var(--shadow-sm)}.ucard:hover{border-color:var(--line-2)}.ucard.tentative{border-style:dashed}.ucard.open{width:430px}.ucard .uh{padding:11px 13px 4px}.ucard .ub{padding:0 13px 10px;font-size:12.5px}.ucard .ends{border-top:1px solid var(--line);margin-top:8px;padding-top:6px;font-size:12px}.ucard .threads{display:flex;flex-wrap:wrap;gap:3px;padding:8px 13px;border-top:1px solid var(--line)}.ucard .evlist{border-top:1px solid var(--line);padding:8px 13px;cursor:default}.ucard .foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--mid);padding:8px 13px;border-top:1px solid var(--line)}.evrow{display:grid;grid-template-columns:96px 1fr;gap:6px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:4px 0;font-size:12px;background:none}.evrow:hover{background:var(--focus-bg)}.addcard{width:130px;flex:none;align-self:stretch;border:1.5px dashed var(--line-2);border-radius:14px;color:var(--mid);min-height:90px;background:transparent}.addcard:hover{color:var(--ink);border-color:var(--stage);background:var(--focus-bg)}.plotgrid-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.plot{display:grid;font-size:12px}.plot .cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px;min-height:36px}.plot .lane{position:sticky;left:0;background:var(--surface);z-index:2;font-weight:600;border-right:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:flex-start;gap:4px}.plot .act{background:var(--surface-2);font-weight:600;text-align:center;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line-2);border-radius:0;padding:6px}.plot .unit{cursor:pointer}.plot .unit:hover{background:var(--focus-bg)}.plot .unit.on{box-shadow:inset 0 0 0 2px var(--accent)}.plot .unit.tentative{color:var(--mid)}.plot .unit .ends{border-top:1px solid var(--line);margin-top:5px;padding-top:4px}.plot .ev{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px 6px;margin-bottom:4px;font-size:12px}.plot .ev:hover{border-color:var(--line-2);background:var(--surface-3)}.plot .ev.on{box-shadow:0 0 0 1.5px var(--accent)}.plot .ev.dot{display:inline-block;width:12px;height:12px;padding:0;margin:0 3px 0 0;border-radius:50%;border:1.5px solid var(--stage);background:transparent;vertical-align:middle}.plot .ev.dot.tp{background:var(--stage)}.plot.dense .cell{min-height:24px;padding:4px}.plot .lanegrp{background:var(--surface-2);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mid);padding:3px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;position:sticky;left:0}.plot .sbar{margin-top:4px}.crumbs{margin-bottom:12px;color:var(--mid)}.crumbs b{color:var(--ink)}.track{display:flex;flex-wrap:wrap;gap:12px 0;align-items:stretch;padding:14px;background:color-mix(in srgb,var(--surface) 55%,transparent);border:1px solid var(--line);border-radius:16px}.trackitem{display:flex;align-items:stretch}.track .arrow{align-self:center;padding:0 6px;color:var(--faint)}.track .card{width:190px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--faint);border-radius:12px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm)}.track .card:hover{border-color:var(--line-2)}.track .card.on{box-shadow:0 0 0 1.5px var(--accent),var(--shadow-sm)}.track .card.dragging{opacity:.4}.track .card.over{box-shadow:-4px 0 0 var(--accent)}.track .card.status-drafted{border-top-color:var(--stage)}.track .card.status-done{border-top-color:var(--ok)}.track .card.beat{width:220px;cursor:default;border-top-color:var(--stage)}.track .card select{max-width:100%;font-size:11px}.track .addcard{width:120px;min-height:100px;margin-left:12px}.ideas{display:flex;gap:12px;flex-wrap:wrap}.sticky{width:180px;min-height:80px;background:var(--idea);border:0;border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-sm)}.sticky.add{color:var(--mid);align-items:center;justify-content:center;background:transparent;border:1.5px dashed var(--line-2);box-shadow:none}.scenebox .kv{grid-template-columns:100px minmax(0,1fr)}.scenebox .kv button{margin-right:3px}.script-stage{max-width:800px;margin:0 auto}.sticky-bar{position:sticky;top:-26px;z-index:3;padding:8px;margin:-8px -8px 14px;background:color-mix(in srgb,var(--canvas) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0 0 12px 12px}.fountain-editor .cm-editor{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-height:72vh;box-shadow:var(--shadow-sm);color:var(--ink)}.fountain-editor .cm-editor.cm-focused{outline:none;border-color:var(--line-2)}.fountain-editor .cm-content{font-family:Courier Prime,Courier New,Courier,monospace;font-size:15px;line-height:1.6;padding:36px 0;caret-color:var(--accent)}.fountain-editor .cm-line{padding:0 64px}.fountain-editor .cm-selectionBackground,.fountain-editor .cm-focused .cm-selectionBackground{background:var(--sel)!important}.fountain-editor .cm-cursor{border-left-color:var(--accent)}.fl-heading{font-weight:700;text-transform:uppercase;padding-top:16px!important}.fl-sceneId,.fl-note{font-family:Inter,sans-serif;font-size:10px;color:var(--faint);line-height:1.2}.fl-section1,.fl-section2{font-family:Inter,sans-serif;color:var(--mid);font-weight:600;font-size:12px}.fl-section1{padding-top:16px!important}.fl-section2{padding-left:76px!important}.fl-synopsis{font-family:Inter,sans-serif;font-style:italic;color:var(--mid);font-size:12.5px;box-shadow:inset 2px 0 0 var(--stage)}.fl-cue{padding-left:calc(64px + 33%)!important;padding-top:10px!important}.fl-paren{padding-left:calc(64px + 26%)!important}.fl-dialogue{padding-left:calc(64px + 16%)!important;padding-right:calc(64px + 14%)!important}.fl-transition{text-align:right}.fl-centered{text-align:center}.fl-id{font-family:Inter,sans-serif;font-size:10px;color:var(--faint)}.fl-name{text-decoration:underline dotted var(--mid);text-underline-offset:3px;cursor:pointer}.fl-mark{background:color-mix(in srgb,var(--c-format) 28%,transparent);border-radius:3px}.script-stage .hint{margin-top:10px}.print-view{display:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:64px;z-index:30}.dlg{background:var(--surface);width:min(740px,92vw);max-height:82vh;overflow:auto;border:1px solid var(--line-2);padding:18px 20px;border-radius:16px;box-shadow:var(--shadow)}.dlg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dlg input[type=password],.dlg input[type=email]{width:100%;max-width:360px}.qrow{border-bottom:1px solid var(--line);padding:10px 0}button.link+button.link{margin-left:10px}@media(max-width:900px){#app.with-nav{grid-template-columns:minmax(0,1fr)}#sidebar,#panel{display:none}#app.with-panel .dock{left:50%}}@media print{@page{size:A4;margin:2.5cm 2.5cm 2.5cm 3.5cm}body{background:#fff}body>#root{display:none!important}.print-view{display:block;font-family:Courier Prime,Courier New,Courier,monospace;font-size:12pt;line-height:1.2;color:#000}.pv-title{text-align:center;font-size:14pt;margin:30% 0;page-break-after:always;text-transform:uppercase}.pv-heading{font-weight:700;text-transform:uppercase;margin-top:1.2em;page-break-after:avoid}.pv-cue{margin-left:37%;margin-top:1em;page-break-after:avoid}.pv-paren{margin-left:30%}.pv-dialogue{margin-left:20%;margin-right:18%}.pv-transition{text-align:right}.pv-centered{text-align:center}.pv-section1,.pv-section2,.pv-sceneId{display:none}.pv-pagebreak{page-break-after:always;visibility:hidden}}button.link{text-align:left}.foot button.link,.track .card button.link,.ucard button.link,.navlist button.link{text-decoration:none;color:var(--mid);white-space:nowrap}.foot button.link:hover,.track .card button.link:hover,.ucard button.link:hover,.navlist button.link:hover{color:var(--accent)}.track .card .row.small{white-space:nowrap;font-size:11px;gap:4px}.track .card .row.small>span:last-child{display:inline-flex;gap:8px}.navlist .item.row{padding-right:8px}.script-stage .toolbar{gap:6px;flex-wrap:nowrap;overflow-x:auto}.script-stage .toolbar button{padding:4px 9px;white-space:nowrap}.script-stage .toolbar select{max-width:230px}.script-stage .toolbar label{white-space:nowrap}kbd{font:500 10.5px Inter,sans-serif;color:var(--mid);background:var(--surface-2);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;padding:0 5px;min-width:18px;display:inline-block;text-align:center;line-height:16px}.searchbtn{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 8px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--mid)}.searchbtn span{flex:1;text-align:left}.searchbtn kbd{margin-left:2px}.side-item kbd.always{opacity:1}.palette{width:min(620px,92vw);padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:70vh}.pal-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--mid)}.pal-input input{flex:1;border:0;background:transparent;font-size:15px;padding:2px 0;outline:none;color:var(--ink)}.pal-input input:focus-visible{outline:none}.hits{overflow:auto;padding:6px}.hit{display:flex;gap:12px;align-items:baseline;width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;border-radius:8px}.hit .kind{flex:none;width:90px;font-size:11px;color:var(--mid)}.hit .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hit.on{background:var(--sel)}.pal-foot{padding:8px 14px;border-top:1px solid var(--line)}.shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 28px}.shortcuts h3{margin-top:14px}.sc-row{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:5px 0;border-bottom:1px solid var(--line);font-size:12.5px;align-items:baseline}.sc-row .keys{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.sc-row .keys i{font-style:normal;color:var(--faint);font-size:11px;margin:0 2px}.sc-row .keys kbd{margin-right:2px}
