@font-face{font-family:Nimbus Sans L;src:url(/fonts/nimbus-sans-l-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Funnel Sans;src:url(/fonts/funnel-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Funnel Sans;src:url(/fonts/funnel-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--tile: #e7e4de;--tile-dot: rgba(36, 31, 32, .06);--paper: #f1efea;--surface: #f7f5f1;--fill-2: #ddd9d1;--ink: #241f20;--soft: #8a877f;--line: #d6d2cb;--draft: #d6453a;--draft-locked: #3cd380;--cream: #faf9f6;--prov-matt: #6b6660;--prov-claude: #4684b2;--ease: cubic-bezier(.2, .8, .2, 1);--gutter: clamp(22px, 5vw, 60px);--row-pad-y: 32px;--rail-w: clamp(248px, 22vw, 320px);--panel-w: clamp(300px, 26vw, 380px);--display: "Nimbus Sans L", "Helvetica Neue", Arial, sans-serif;--ui: "Funnel Sans", system-ui, -apple-system, sans-serif;--mono: "Geist Mono", ui-monospace, Menlo, "SF Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui);background:var(--tile);color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{height:100vh;display:flex;flex-direction:column}.eyebrow{font:400 10px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase}.goodbar{display:flex;align-items:center;gap:18px;padding:8px 18px;background:var(--ink);color:var(--cream)}.goodbar-mark{font-family:var(--display);font-weight:400;letter-spacing:.05em;color:var(--cream);text-decoration:none;text-transform:uppercase}.goodbar-tools{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap}.goodbar-tool a,.goodbar-tool span{display:inline-block;padding:3px 10px;border-radius:3px;font:400 13px var(--ui);text-decoration:none;color:#b8b6b0;letter-spacing:.01em}.goodbar-tool a:hover{color:var(--cream)}.goodbar-tool.current span{background:var(--cream);color:var(--ink);font-weight:600}.goodbar-tool.soon span{color:#6f6b65}.goodbar-tool.soon span:after{content:" · soon";font-size:10px;opacity:.7}.topbar{flex:0 0 auto;height:54px;display:flex;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--paper);z-index:40}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:4px;margin:0;cursor:pointer;display:grid;place-items:center;color:var(--ink);opacity:.82;transition:opacity .2s}.icon-btn:hover,.icon-btn.act{opacity:1}.brand{font-family:var(--display);font-weight:400;letter-spacing:.14em;font-size:16px;text-transform:uppercase}.crumbs{margin-left:auto;display:flex;align-items:center;gap:16px;font:500 11px var(--ui);letter-spacing:.05em;color:var(--soft)}.crumbs b{color:var(--ink);font-weight:600}.ctx{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:var(--surface);opacity:.5;transition:opacity .3s var(--ease)}.ctx.on{opacity:1}.ctx .dot{width:7px;height:7px;border-radius:50%;background:var(--soft);transition:background .3s}.ctx.on .dot{background:var(--ink)}.pres{display:inline-flex;align-items:center;gap:8px;color:var(--soft)}.pres .seg{display:inline-flex;border-radius:999px;background:var(--surface);overflow:hidden}.pres .seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:500 10px var(--ui);letter-spacing:.05em;padding:6px 12px;cursor:pointer;color:var(--soft)}.pres .seg button.act{background:var(--ink);color:var(--paper)}.stage-wrap{flex:1 1 auto;position:relative;overflow:hidden}.field{position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;background-color:var(--tile);background-image:radial-gradient(circle,var(--tile-dot) 1px,transparent 1.4px);background-size:27px 27px;transition:left .3s var(--ease),right .3s var(--ease)}.stage-wrap.rail-open .field{left:var(--rail-w)}.stage-wrap.panel-open .field{right:var(--panel-w)}.field::-webkit-scrollbar{width:0;height:0}.rows,.set{position:relative}.row{position:relative;padding:0 var(--gutter);border-bottom:1px solid var(--line);cursor:pointer}.row .body{padding:var(--row-pad-y) 0 calc(var(--row-pad-y) + 2px);transition:opacity .18s,transform .18s}.row .label{display:block;color:var(--soft);margin-bottom:16px}.row:hover{background:#ffffff47}.row.sel:before,.row.sel:after{content:"";position:absolute;top:14px;bottom:14px;width:2px;background:var(--ink)}.row.sel:before{left:0}.row.sel:after{right:0}.row.sel{background:#ffffff6b}.plus{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper);display:none;place-items:center;cursor:pointer;font:400 20px/1 var(--ui);z-index:6}.row.sel .plus{display:grid}.row.nested{padding-left:calc(var(--gutter) + 26px)}.row.nested:before{content:none}.row.nested .body{border-left:1px solid var(--line);padding-left:22px;margin-left:-22px}.row .label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:middle;background:var(--soft)}.row.prov-matt .label:before{background:var(--prov-matt)}.row.prov-claude .label:before{background:var(--prov-claude)}.row.prov-system .label:before{background:transparent;box-shadow:inset 0 0 0 1px var(--soft)}.row.lockable.locked:not(.r-output){box-shadow:inset 3px 0 0 var(--draft-locked)}.spacer{height:28vh;pointer-events:none}.k{color:var(--soft);font:400 11px var(--ui);letter-spacing:.14em;text-transform:uppercase}.seed-title{margin:.5rem 0 0;font-family:var(--display);font-weight:400;line-height:1;font-size:clamp(34px,5vw,72px);text-transform:uppercase;letter-spacing:.01em}.seed-sub{margin:1.1rem 0 0;font:400 15px/1.5 var(--mono);color:var(--soft);max-width:460px;margin-left:clamp(0px,40%,560px)}.out-title{margin:.4rem 0 0;font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.6vw,34px);letter-spacing:.01em}.out-meta{margin:.5rem 0 0;font:400 12px var(--mono);text-transform:uppercase;letter-spacing:.04em}.text-body{margin:.3rem 0 0;font:400 15px/1.6 var(--mono);color:var(--ink);max-width:640px}.note-body{margin:.3rem 0 0;font:400 13px/1.5 var(--mono);color:var(--soft);max-width:640px}.r-heading .body{padding:6px 0}.drift-wrap{overflow:visible;text-align:center}.drift{display:inline-block;font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.98;letter-spacing:-4px;font-size:clamp(39px,8.4vw,147px);white-space:nowrap;will-change:transform}.field[data-pres-heading=b] .r-heading .drift{font-size:clamp(24px,3.4vw,50px);line-height:1.1}.scene-h{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.2vw,46px);line-height:1;letter-spacing:.01em;margin:.35rem 0 0}.scene-desc{font:400 16px/1.5 var(--mono);max-width:640px;margin:16px 0 0}.scene-loc{margin-top:14px;color:var(--soft)}.shot-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px}.shot-no{font:400 12px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}.shot-desc{font:400 15px var(--mono)}.refs{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.ref{font:500 10px var(--ui);letter-spacing:.03em;color:var(--soft);background:var(--surface);border-radius:999px;padding:5px 11px}.pipe{display:flex;align-items:stretch;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.pipe::-webkit-scrollbar{height:0}.stage{flex:0 0 auto;min-width:104px;border-radius:9px;padding:10px;background:var(--surface);display:flex;flex-direction:column;gap:9px}.stage.gate{min-width:120px}.stage.empty{opacity:.45}.stage .st{font:400 9px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}.arr{flex:0 0 22px;display:grid;place-items:center;color:#c1beb7}.thumbs{display:flex;gap:4px}.thumb{width:24px;height:15px;border-radius:2px;background:var(--fill-2)}.thumb.dash{background:none;box-shadow:inset 0 0 0 1px var(--line)}.locked{display:flex;align-items:center;gap:8px}.lframe{width:38px;height:22px;border-radius:3px;background:var(--fill-2)}.lbadge{font:400 9px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.lbadge.soft{color:var(--soft)}.play{width:0;height:0;border-left:14px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent}.small{font:400 11px var(--mono);color:var(--soft)}.r-output{background:var(--draft);transition:background-color .4s var(--ease)}.r-output.locked{background:var(--draft-locked)}.r-output .k,.r-output .label,.r-output .out-title,.r-output .out-meta{color:var(--cream)}.r-output .label:before{background:var(--cream);box-shadow:none}.r-output:hover{background:var(--draft)}.r-output.locked:hover{background:var(--draft-locked)}.r-output.sel:before,.r-output.sel:after{background:var(--cream)}.r-output.sel{background:var(--draft)}.r-output.locked.sel{background:var(--draft-locked)}.r-output .plus{background:var(--cream);color:var(--draft)}.rail{position:absolute;top:0;left:0;bottom:0;width:var(--rail-w);background:var(--paper);border-right:1px solid var(--line);z-index:20;transform:none;transition:transform .3s var(--ease)}.rail.collapsed{transform:translate(-102%)}.panel{position:absolute;top:0;right:0;bottom:0;width:var(--panel-w);background:var(--paper);border-left:1px solid var(--line);z-index:20;transform:translate(102%);transition:transform .3s var(--ease)}.panel.open{transform:none}.rail-inner{height:100%;display:flex;flex-direction:column}.rail-sec{padding:24px 26px;border-bottom:1px solid var(--line)}.rail-sec.grow{flex:1 1 auto;overflow:auto;padding:0}.rail-title{color:var(--soft);margin-bottom:16px;display:flex;justify-content:space-between;align-items:baseline}.panel-head{padding-bottom:18px}.panel-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--soft);font-size:20px;line-height:1;cursor:pointer}.panel-x:hover{color:var(--ink)}.create-sec{padding:12px 16px}.create{display:flex;gap:4px;align-items:stretch}.create button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:600 12px var(--ui);letter-spacing:.02em;color:var(--ink);padding:6px 8px;cursor:pointer;border-radius:6px;transition:background .2s;text-align:center}.create button:hover{background:var(--surface)}.create button span{color:var(--soft);margin-right:5px;font-weight:400}.create .sep{flex:0 0 1px;background:var(--line);align-self:stretch;margin:4px 0}.filter-sec{padding:14px 16px}.filters{display:flex;gap:6px;flex-wrap:wrap}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font:500 11px var(--ui);padding:6px 11px;border-radius:999px;background:var(--surface);color:var(--soft);display:inline-flex;align-items:center;gap:7px;transition:background .2s,color .2s}.chip .c{font:500 10px var(--mono)}.chip.act{background:var(--ink);color:var(--paper)}.idx-head{display:grid;grid-template-columns:46px 1fr;padding:12px 26px;color:var(--soft);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}.idx-head span{font:400 10px var(--ui);letter-spacing:.1em;text-transform:uppercase}.idx-list{display:flex;flex-direction:column}.idx-empty{padding:20px 26px;color:var(--soft);font:400 13px/1.5 var(--mono)}.idx-row{display:grid;grid-template-columns:46px 1fr;align-items:baseline;padding:13px 26px;border-bottom:1px solid var(--line);cursor:pointer;transition:padding-left .25s var(--ease),background .2s}.idx-row:hover{padding-left:34px;background:var(--surface)}.idx-row .n{font:400 13px var(--mono);color:var(--soft)}.idx-row .p{font:500 15px var(--ui)}.idx-row .p small{display:block;color:var(--soft);font-weight:400;font-size:12px;margin-top:3px}.idx-row.cur,.idx-row.cur:hover{background:var(--ink)}.idx-row.cur .p{color:var(--paper);font-weight:600}.idx-row.cur .p small,.idx-row.cur .n{color:#b8b6b0}.rail-warn{border-top:1px solid var(--line);padding:10px 20px;font:400 11px/1.4 var(--mono);color:var(--draft)}.rail-warn div{margin:2px 0}.sel-controls{display:flex;gap:8px;padding:14px 16px}.sel-btn{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 11px var(--ui);letter-spacing:.04em;text-transform:uppercase;padding:10px 8px;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s;display:flex;flex-direction:column;align-items:center;gap:3px}.sel-btn:hover:not(:disabled){border-color:var(--soft)}.sel-btn.delete:hover:not(:disabled){border-color:var(--draft);color:var(--draft)}.sel-btn:disabled{opacity:.5;cursor:not-allowed}.sel-btn .lock-note{font:400 9px var(--mono);letter-spacing:.02em;text-transform:none;color:var(--soft)}.confirm-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#14141257;display:grid;place-items:center;z-index:60}.confirm{width:min(380px,84vw);background:var(--paper);border-radius:12px;padding:24px;box-shadow:0 24px 70px #00000042}.confirm-title{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:22px}.confirm-body{margin:14px 0 22px;font:400 13px/1.55 var(--mono);color:var(--soft);display:flex;flex-direction:column;gap:6px}.confirm-body b{color:var(--ink);font-weight:400}.confirm-row{display:flex;gap:10px;justify-content:flex-end}.confirm-cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:none;color:var(--ink);font:500 12px var(--ui);padding:9px 16px;border-radius:8px;cursor:pointer}.confirm-cancel:hover{border-color:var(--soft)}.confirm-red{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--draft);color:var(--cream);font:600 12px var(--ui);letter-spacing:.04em;padding:9px 20px;border-radius:8px;cursor:pointer;transition:filter .2s}.confirm-red:hover{filter:brightness(1.06)}.lb-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#14141257;display:grid;place-items:center;z-index:55}.lightbox{width:min(760px,92vw);max-height:84vh;overflow:auto;background:var(--paper);border-radius:14px;padding:26px;box-shadow:0 24px 80px #00000047}.lb-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.lb-head .eyebrow{color:var(--soft)}.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.lb-tile{position:relative;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:16px 14px;min-height:118px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,transform .12s}.lb-tile:hover{border-color:var(--ink);transform:translateY(-1px)}.lb-tile-ground{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--tile);background-image:radial-gradient(circle,var(--tile-dot) 1px,transparent 1.4px);background-size:18px 18px;opacity:.5;pointer-events:none}.lb-tile-name{position:relative;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:20px;line-height:1}.lb-tile-blurb{position:relative;font:400 11px/1.4 var(--mono);color:var(--soft)}.lb-tile-more{position:relative;margin-top:auto;font:500 10px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--prov-claude)}.lb-format-title{color:var(--soft);margin-bottom:14px}.lb-format-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lb-fmt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:18px 16px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}.lb-fmt:hover{border-color:var(--ink)}.lb-fmt-name{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:20px}.lb-fmt-blurb{font:400 11px/1.45 var(--mono);color:var(--soft)}.lb-back{margin-top:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--soft);font:500 12px var(--ui);cursor:pointer;padding:4px 0}.lb-back:hover{color:var(--ink)}.param-host{padding:0}.param-empty{padding:26px;color:var(--soft);font:400 13px/1.5 var(--mono)}.param-body{padding:20px 26px}.param-type{color:var(--soft);margin-bottom:18px}.param-lock{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 12px var(--ui);letter-spacing:.04em;padding:10px 14px;border-radius:8px;cursor:pointer;margin-bottom:22px;transition:background .2s,border-color .2s,color .2s}.param-lock:hover{border-color:var(--soft)}.param-lock.on{background:var(--draft-locked);border-color:var(--draft-locked);color:var(--cream)}.param-group{margin-bottom:18px}.param-group-title{color:var(--soft);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.param{display:block;margin-bottom:18px}.param-label{display:flex;justify-content:space-between;font:400 10px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:8px}.param-label .v{font-family:var(--mono);letter-spacing:0;color:var(--ink)}.param input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:var(--line);border-radius:2px;outline:none}.param input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--ink);cursor:pointer}.param input[type=range]::-moz-range-thumb{width:15px;height:15px;border:none;border-radius:50%;background:var(--ink);cursor:pointer}.param-note{font:400 12px/1.5 var(--mono);color:var(--soft);border-top:1px solid var(--line);padding-top:16px;margin-top:6px}.param-note b{color:var(--ink);font-weight:400}.reshuffle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--surface);color:var(--ink);font:500 12px var(--ui);padding:9px 14px;border-radius:8px;cursor:pointer;width:100%;transition:background .2s;margin:4px 0 20px}.reshuffle:hover{background:#eceae4}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
