:root{--bg:#14110f;--panel:#1e1a17;--panel2:#28231e;--line:#3a332b;--text:#efe6d8;--muted:#a39887;--gold:#d9a441;--gold-ink:#1a1305;--teal:#7fb8a6;--red:#d9705f;--gm:#2a2415;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:16px/1.45 var(--sans);-webkit-tap-highlight-color:transparent;margin:0}h1,h2,h3,h4{font-family:var(--serif);text-wrap:balance;margin:0;font-weight:600}h2{align-items:center;gap:10px;margin-bottom:12px;font-size:1.3rem;display:flex}h3{color:var(--gold);margin:18px 0 8px;font-size:1.05rem}h4{font:600 .78rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 8px;display:flex}h4 em,.field-label em{text-transform:none;letter-spacing:0;color:var(--muted);opacity:.8;font-style:normal;font-weight:400}p{margin:0 0 10px}a{color:var(--gold);text-decoration:none}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--red)}.ok{color:var(--teal)}.empty{color:var(--muted);text-align:center;padding:40px 20px}button,.button,select,input,textarea{font:inherit;color:inherit}button,.button{background:var(--panel2);border:1px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:9px 14px;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--gold)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button.primary{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:600}button.accent{border-color:var(--teal);color:var(--teal)}button.danger,.chip.danger{color:var(--red);border-color:#6b3a32}button.ghost{color:var(--muted);background:0 0;border-color:#0000;padding:6px 10px}button.small,.small{min-height:32px;padding:4px 10px;font-size:.85rem}button.big{min-height:54px;padding:12px 22px;font-size:1.1rem}button.on{border-color:var(--gold);color:var(--gold)}button.link{min-height:0;color:var(--gold);text-align:left;background:0 0;border:0;padding:0;display:inline}input,textarea,select{border:1px solid var(--line);background:#110e0c;border-radius:8px;width:100%;min-height:42px;padding:9px 11px}textarea{resize:vertical;line-height:1.45}textarea.gm{background:var(--gm);border-color:#5a4a1f}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--gold)}input[type=range]{accent-color:var(--gold);padding:0}.check{white-space:nowrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.row .narrow{flex:none;width:80px}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 6px;display:flex}.field{margin-bottom:14px;display:block}.field-label{color:#cfc4b2;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:5px;font-size:.82rem;font-weight:600;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.string-list .num{width:22px;color:var(--muted);text-align:right;flex:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:999px;min-height:38px;padding:6px 14px;font-size:.92rem}.chip.on{border-color:var(--gold);color:#f3d491;background:#3b2f14}.chip.done{color:var(--teal);border-color:#3d5a51}.save-status{font:400 .8rem var(--sans);color:var(--muted)}.badge{font:600 .7rem var(--sans);text-transform:uppercase;letter-spacing:.06em;background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-left:6px;padding:2px 8px}.badge.active,.badge.votes{color:var(--gold);border-color:var(--gold)}.badge.solved{color:var(--teal);border-color:var(--teal)}.pill{background:var(--panel2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.88rem;display:inline-flex}.pill.ok{color:var(--teal)}.pill.warn{color:var(--gold)}.pill.over{color:var(--red);border-color:var(--red)}.pill.timer{font-variant-numeric:tabular-nums;padding-right:2px;font-weight:600}.pill.timer em{color:var(--muted);font-style:normal;font-weight:400}.pill.timer button{min-height:30px}.home{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100%;padding:24px;display:flex}.home h1{font-size:clamp(2rem,6vw,3.4rem)}.home.narrow{align-items:stretch;max-width:380px;margin:0 auto}.logo{color:var(--gold)}.home-roles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;width:min(760px,100%);display:grid}.home-roles a{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:16px;gap:6px;padding:26px 18px;display:grid}.home-roles a:hover{border-color:var(--gold)}.home-roles strong{font:600 1.3rem var(--serif)}.home-roles span{color:var(--muted)}.code-input{font:700 2.2rem var(--serif);letter-spacing:.4em;text-align:center;text-transform:uppercase;padding-left:.4em}.app{flex-direction:column;min-height:100%;display:flex}.topbar{padding:10px 18px;padding-top:max(10px, env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--panel);z-index:20;flex-wrap:wrap;align-items:center;gap:14px;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;margin-right:auto;font-size:1.25rem;overflow:hidden}.back{color:var(--muted);white-space:nowrap}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border-color:#0000;border-radius:8px;min-height:38px;padding:6px 12px}.tabs button.on{background:var(--panel2);color:var(--gold);border-color:var(--line)}main{flex:1;min-height:0}.page,.editor>main{width:100%;max-width:1500px;margin:0 auto;padding:18px}.editor>main{min-width:0;padding:14px}.page{align-content:start;gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0;padding:18px}.columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.columns.narrow-left{grid-template-columns:minmax(200px,280px) minmax(0,1fr)}.list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--line);background:var(--panel2);border-radius:10px;align-items:center;gap:6px;display:flex}.list li.on{border-color:var(--gold)}.list li>a,.list li>button:first-child{text-align:left;color:var(--text);background:0 0;border:0;flex:1;justify-content:stretch;gap:2px;min-width:0;padding:10px 12px;display:grid}.list em{color:var(--muted);font-size:.82rem;font-style:normal}.list.media li{flex-wrap:wrap;padding:8px}.list.media input{flex:160px}.list.media select{width:100px}.list.media audio{flex:200px;height:36px}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:14px;display:grid}.card{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;gap:6px;padding:16px;display:grid}.card:hover{border-color:var(--gold)}.card strong{font:600 1.15rem var(--serif)}.card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;display:-webkit-box;overflow:hidden}.card em{color:var(--muted);font-size:.8rem;font-style:normal}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.stats div{background:var(--panel2);border-radius:10px;padding:12px;display:grid}.stats strong{font:600 1.7rem var(--serif);color:var(--gold)}.stats span{color:var(--muted);font-size:.82rem}.problems{gap:8px;margin:0;padding:0;list-style:none;display:grid}.problems li{align-items:baseline;gap:10px;display:flex}.level{font:700 .68rem var(--sans);text-transform:uppercase;width:62px;color:var(--muted);flex:none}.problems .error .level{color:var(--red)}.problems .warning .level{color:var(--gold)}.modal-back{z-index:100;background:#000000a6;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(480px,100%);max-height:92dvh;display:flex}.modal.wide{width:min(820px,100%)}.modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 12px 12px 18px;display:flex}.modal header h3{color:var(--text);margin:0}.modal-body{padding:18px;overflow:auto}.toasts{top:max(14px, env(safe-area-inset-top));z-index:200;pointer-events:none;gap:8px;max-width:min(420px,100vw - 28px);display:grid;position:fixed;right:14px}.toast{border:1px solid var(--gold);background:#2b2418;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;animation:.25s ease-out pop;display:flex;box-shadow:0 8px 30px #00000080}.toast.error{border-color:var(--red)}.toast.hint{border-color:var(--teal)}.toast img{object-fit:cover;border-radius:8px;width:44px;height:44px}@keyframes pop{0%{opacity:0;transform:translateY(-8px)}}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px;display:grid}.asset{background:var(--panel2);border:1px solid var(--line);border-radius:10px;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.asset img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.asset span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:5px 8px;font-size:.78rem;overflow:hidden}.asset .corner{color:#fff;background:#0009;min-height:30px;position:absolute;top:4px;right:4px}.track-list{gap:6px;margin-top:10px;display:grid}.track{text-align:left;justify-content:flex-start}.track em{color:var(--muted);margin-left:auto;font-size:.8rem;font-style:normal}.track.on{border-color:var(--gold);background:#3b2f14}.asset-picker{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.thumb{aspect-ratio:3/2;border:1px dashed var(--line);width:150px;color:var(--muted);background:#110e0c;border-radius:10px;place-items:center;font-size:.8rem;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.picker-buttons{flex-wrap:wrap;gap:8px;display:flex}.track-name{color:var(--muted)}.asset-picker audio{width:100%;height:36px}.story{height:calc(100dvh - var(--chrome,100px));grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:18px;display:grid}.graph-wrap{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.graph-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.graph{flex:1;height:100%;min-height:320px}.story .side{overflow:auto}.react-flow{--xy-background-color:transparent;--xy-edge-stroke:var(--gold);--xy-edge-stroke-width:1.6}.react-flow__edge.edge-puzzle path{stroke:var(--teal)}.react-flow__edge.edge-hidden path{stroke:var(--muted)}.react-flow__edge-text{fill:var(--text);font-size:11px}.react-flow__handle{background:var(--gold);border:2px solid var(--bg);width:12px;height:12px}.scene-node{background:var(--panel2);border:1.5px solid var(--line);border-left:5px solid var(--muted);border-radius:10px;gap:4px;width:210px;min-height:70px;padding:8px 10px;font-size:13px;display:grid}.scene-node strong{font:600 14px var(--serif);line-height:1.25}.scene-node-top{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;display:flex}.scene-node .badge{margin:0;font-size:9.5px}.scene-node.kind-narrative{border-left-color:var(--gold)}.scene-node.kind-investigation{border-left-color:#8fa6d6}.scene-node.kind-puzzle{border-left-color:var(--teal)}.scene-node.kind-ending{border-left-color:var(--red)}.react-flow__node.selected .scene-node{border-color:var(--gold);box-shadow:0 0 0 2px #d9a44159}.scene-node.visited{opacity:.6}.scene-node.current{opacity:1;border-color:var(--gold);background:#3b2f14;box-shadow:0 0 0 4px #d9a44166}.choice-row{border:1px solid var(--line);background:var(--panel2);border-radius:10px;gap:8px;margin-bottom:8px;padding:10px;display:grid}.choice-row .row{margin:0}.arrow{color:var(--gold)}.live{height:100dvh}.live-main{flex:1;grid-template-columns:minmax(0,11fr) minmax(0,9fr);min-height:0;display:grid}.live-scene{border-right:1px solid var(--line);-webkit-overflow-scrolling:touch;padding:18px;overflow:auto}.live-side{flex-direction:column;min-height:0;display:flex}.live-side>.tabs{border-bottom:1px solid var(--line);flex-wrap:nowrap;padding:8px 12px;overflow-x:auto}.live-side>.tabs button{white-space:nowrap;padding:6px 9px;font-size:.93rem}.live-side>.tabs{gap:2px}.live-tab{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.live-tab .graph{min-height:100%}.remote{padding:16px}.callout{border:1px solid var(--gold);background:#3b2f14;border-radius:12px;margin-bottom:16px;padding:16px}.scene-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.scene-head h2{margin:0;font-size:1.6rem}.scene-head .badge{margin:0}.gm-notes{background:var(--gm);border:1px solid #5a4a1f;border-left:4px solid var(--gold);border-radius:10px;margin-bottom:12px;padding:12px 14px}.gm-notes h4{color:var(--gold);margin-top:0}.gm-notes p,.narration p{white-space:pre-wrap;margin:0}.gm-inline{color:#e3cf9f;white-space:pre-wrap;margin:4px 0 8px;font-size:.92rem}.narration{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:10px 14px}.narration summary{cursor:pointer;color:var(--muted);font-size:.85rem}.narration p{font-family:var(--serif);margin-top:8px;font-size:1.05rem}.block{border-top:1px solid var(--line);padding:2px 0 12px}.block.puzzle.active{border:1px solid var(--gold);border-radius:12px;margin:10px 0;padding:2px 12px 12px}.block.puzzle.solved h4{color:var(--teal)}.npc{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.npc .gm-inline{flex-basis:100%;margin:0}.inline-actions{gap:6px;margin-left:auto;display:flex}.choices{gap:8px;display:grid}.choice{text-align:left;border-left:4px solid var(--gold);justify-content:stretch;gap:2px;padding:12px 14px;display:grid}.choice strong{font:600 1.08rem var(--serif)}.choice span{color:var(--muted);font-size:.88rem}.choice em{color:#e3cf9f;font-size:.85rem;font-style:normal}.jump{color:var(--muted);margin-top:10px}.tv-preview{aspect-ratio:16/7;border:1px solid var(--line);background:#0a0908 50%/cover;border-radius:12px;place-content:end start;gap:2px;padding:12px;display:grid;position:relative;overflow:hidden}.tv-preview:before{content:"";background:linear-gradient(#0000 30%,#000c);position:absolute;inset:0}.tv-preview span,.tv-preview em{position:relative}.tv-preview span{font:600 1.15rem var(--serif)}.tv-preview em{color:var(--gold);font-size:.85rem;font-style:normal}.tv-preview.mode-blackout{color:var(--muted);background:#000}.segmented{grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid}.segmented button{border-radius:0;margin-left:-1px}.segmented button:first-child{border-radius:10px 0 0 10px;margin:0}.segmented button:last-child{border-radius:0 10px 10px 0}.segmented button.on,.toggle.on{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);z-index:1;font-weight:600}.toggles{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.now-playing{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:10px;padding:16px;display:grid}.now-playing>span{color:var(--muted);font-size:.85rem}.now-playing>strong{font:600 1.3rem var(--serif)}.transport{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.volume{color:var(--muted);grid-template-columns:auto 1fr 48px;align-items:center;gap:12px;font-size:.88rem;display:grid}.volume input{min-height:44px}.sfx-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.sfx-grid button{min-height:60px}.player-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-top:10px;padding:4px 14px 12px}.player-card.team{border-color:#5a4a1f}.player-card h4{color:var(--text);text-transform:none;letter-spacing:0;margin:10px 0;font-size:.95rem}.player-card h4 button{margin-left:auto}.dot{background:#5b5348;border-radius:50%;width:10px;height:10px}.dot.on{background:#6fcf8f}.stats-row{flex-wrap:wrap;gap:14px;margin-bottom:10px;display:flex}.stat{color:var(--muted);align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.stat strong{color:var(--text);text-align:center;min-width:22px}.stat button{width:34px;min-height:34px;padding:0}.give-grid{gap:10px;display:grid}.log{gap:6px;margin:0;padding:12px 16px;font-size:.92rem;list-style:none;display:grid}.log time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:10px;font-size:.8rem}.log .player{color:#f3d491}.log .system{color:var(--teal)}.tv{font-family:var(--serif);cursor:none;background:#000;position:fixed;inset:0;overflow:hidden}.tv-bg img,.tv-bg-empty{object-fit:cover;width:100%;height:100%;animation:1.5s both fade;position:absolute;inset:0}.tv-bg-empty{background:radial-gradient(at 50% 30%,#2a2219,#0b0908 70%)}.tv-shade{background:linear-gradient(#00000073,#0000 22% 45%,#000000e0);position:absolute;inset:0}.tv.mode-blackout .tv-bg,.tv.mode-blackout .tv-shade{display:none}.tv.mode-ended .tv-shade,.tv.mode-title .tv-shade{background:#0009}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(1.5vh)}}.tv-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4vh;padding:5vh 5vw;display:flex;position:absolute;inset:0}.tv-center h1{text-shadow:0 .3vw 2vw #000;font-size:7vw;line-height:1.05}.tv-center p{color:#d8ccb8;margin:0;font-size:2vw}.title-card{letter-spacing:.02em;animation:2s both fade}.lobby h1{font-size:5vw}.join{border:1px solid var(--line);text-align:left;background:#14110fcc;border-radius:2vw;align-items:center;gap:4vw;padding:3vh 3vw;display:flex}.join img{background:#fff;border-radius:1vw;width:17vw;height:17vw;padding:.6vw}.join p{font:1.6vw var(--sans)}.join strong{display:block}.join-url{font:600 2.6vw var(--sans);margin-bottom:2vh}.join-code{letter-spacing:.25em;color:var(--gold);font-size:7vw;line-height:1}.lobby-players{flex-wrap:wrap;justify-content:center;gap:1.2vw;min-height:5vh;display:flex}.lobby-players span{font:600 1.8vw var(--sans);border:1px solid var(--line);color:var(--muted);background:#14110fcc;border-radius:99px;padding:.6vh 1.6vw;animation:.4s both rise}.lobby-players span.on{color:var(--text);border-color:var(--gold)}.tv-top{justify-content:space-between;align-items:flex-start;gap:3vw;padding:4vh 4vw;display:flex;position:absolute;top:0;left:0;right:0}.tv-top h2{text-shadow:0 .2vw 1.4vw #000;margin:0;font-size:3.4vw;animation:1s both rise}.tv-timer{font:600 2.2vw var(--sans);font-variant-numeric:tabular-nums;background:#0000008c;border-radius:1vw;padding:.6vh 1.4vw}.tv-timer.over{color:var(--red)}.tv-bottom{gap:2vh;padding:0 4vw 4.5vh;display:grid;position:absolute;bottom:0;left:0;right:0}.tv-text{text-shadow:0 .15vw .8vw #000,0 0 2vw #000;white-space:pre-wrap;-webkit-line-clamp:7;-webkit-box-orient:vertical;max-width:68vw;margin:0;font-size:2.35vw;line-height:1.4;animation:1.2s .4s both rise;display:-webkit-box;overflow:hidden}.tv-message{font:600 2.4vw var(--sans);color:var(--gold);text-shadow:0 .15vw .8vw #000;margin:0;animation:.5s both rise}.tv-characters{align-items:flex-end;gap:2vw;display:flex}.tv-characters figure{text-align:center;margin:0;animation:.6s both rise}.tv-characters img,.no-portrait{aspect-ratio:2/3;object-fit:cover;border:.2vw solid var(--gold);border-radius:1.2vw;height:30vh;display:block;box-shadow:0 1vw 3vw #000000b3}.no-portrait{background:var(--panel2);color:var(--gold);place-items:center;font-size:8vw;display:grid}.tv-characters figcaption{text-shadow:0 .1vw .6vw #000;margin-top:1vh;font-size:1.7vw}.tv-inventory{font:1.4vw var(--sans);flex-wrap:wrap;align-items:center;gap:1.2vw;display:flex}.tv-inventory>span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:1.1vw}.tv-inventory div{border:1px solid var(--line);background:#14110fcc;border-radius:.8vw;align-items:center;gap:.6vw;padding:.5vh .9vw;display:flex}.tv-inventory img{aspect-ratio:1;object-fit:cover;border-radius:.5vw;height:4.4vh}.tv-right{gap:2vh;width:27vw;display:grid;position:absolute;top:14vh;right:4vw}.tv-card{border:1px solid var(--line);background:#14110fdb;border-radius:1.4vw;padding:2.2vh 1.8vw;animation:.5s both rise}.tv-card h3{color:var(--gold);margin:0 0 1vh;font-size:2vw}.tv-card p{margin:0 0 1vh;font-size:1.6vw}.tv-card em{font:1.2vw var(--sans);color:var(--muted)}.tv-card img{border-radius:.8vw;width:100%;margin-bottom:1.4vh}.tv-card .hint,.phone-card .hint{color:var(--teal);font-family:var(--sans)}.tv-card .hint{margin-top:1vh;font-size:1.4vw}.tv-choice{border-top:1px solid var(--line);justify-content:space-between;gap:1vw;padding:1vh 0;font-size:1.7vw;display:flex}.tv-choice strong{color:var(--gold);font-family:var(--sans)}.tv-spotlight{text-align:center;align-content:center;justify-items:center;gap:1.2vh;width:60vw;height:50vh;animation:.6s both rise;display:grid;position:absolute;top:13vh;left:4vw}.tv-spotlight img{border:.2vw solid var(--gold);border-radius:1.4vw;max-width:100%;max-height:38vh;box-shadow:0 1.5vw 5vw #000c}.tv-spotlight.full img{max-height:50vh}.tv-spotlight h3{color:var(--text);text-shadow:0 .2vw 1vw #000;margin:0;font-size:2.6vw}.tv-spotlight p{text-shadow:0 .1vw .8vw #000;max-width:46vw;margin:0;font-size:1.7vw}.tv-banner{text-align:center;z-index:5;background:linear-gradient(90deg,#0000,#14110ff2 20% 80%,#0000);padding:3vh 0;animation:.5s both rise;position:absolute;inset:auto 0 38vh}.tv-banner h2{color:var(--teal);margin:0;font-size:4vw;display:block}.tv-banner p{margin:1vh 0 0;font-size:2.2vw}.tv-banner em{font:1.5vw var(--sans);color:var(--muted)}.tv-dice{border:.25vw solid var(--gold);text-align:center;z-index:6;background:#14110ff0;border-radius:2vw;padding:3vh 4vw;animation:.3s ease-out pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tv-dice span{font:1.8vw var(--sans);color:var(--muted);display:block}.tv-dice strong{color:var(--gold);font-size:11vw;line-height:1}.tv .toasts{max-width:60vw;top:4vh;right:50%;transform:translate(50%)}.tv .toast{font:600 2vw var(--sans);border-radius:1.2vw;gap:1.4vw;padding:1.6vh 2vw}.tv .toast img{width:5vw;height:5vw}.tv-unlock{z-index:50;cursor:pointer;background:#000000b8;border:0;border-radius:0;flex-direction:column;gap:1.5vh;position:absolute;inset:0}.tv-unlock strong{font:600 3.4vw var(--serif);color:var(--gold)}.tv-unlock span{color:var(--muted);font-size:1.5vw}.phone{flex-direction:column;max-width:560px;height:100dvh;margin:0 auto;display:flex}.phone>header{padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;display:flex}.phone>header strong{font:600 1.1rem var(--serif)}.phone-stats{color:var(--muted);gap:12px;margin-left:auto;font-size:.85rem;display:flex}.phone-stats b{color:var(--gold)}.phone>main{flex:1;align-content:start;gap:14px;padding:14px;display:grid;overflow:auto}.phone-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;overflow:hidden}.phone-card h2{margin-bottom:8px;font-size:1.35rem}.phone-card h3{margin-top:0}.phone-card>img{aspect-ratio:16/9;object-fit:cover;width:calc(100% + 28px);margin:-14px -14px 12px;display:block}.phone-card p{white-space:pre-wrap}.phone-card.scene p{font-family:var(--serif);font-size:1.05rem}.phone-card.puzzle{border-color:var(--gold)}.caption{color:var(--gold);font-weight:600}.vote{text-align:left;justify-content:space-between;width:100%;min-height:52px;margin-bottom:8px}.vote.on{border-color:var(--gold);background:#3b2f14}.vote:disabled{opacity:1;cursor:default}.vote b{color:var(--gold)}.bag{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.phone h3{margin:4px 0 0}.item-tile{align-content:start;gap:6px;padding:8px;display:grid}.item-tile img,.glyph{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.glyph{color:var(--gold);background:#110e0c;place-items:center;font-size:2rem;display:grid}.item-tile strong{font-size:.85rem;font-weight:600;line-height:1.2}.item-image{border-radius:12px;width:100%;margin-bottom:12px}blockquote{border-left:3px solid var(--gold);background:var(--gm);font-family:var(--serif);white-space:pre-wrap;border-radius:0 10px 10px 0;margin:0 0 12px;padding:12px 14px}.dice-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.dice-grid button{min-height:60px;font-weight:600}.dice-result{font-size:1.2rem}.dice-result strong{color:var(--gold);font-size:2rem}input.wrong{border-color:var(--red)}.phone-tabs{border-top:1px solid var(--line);background:var(--panel);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid}.phone-tabs button{min-height:56px;color:var(--muted);background:0 0;border:0;border-radius:0}.phone-tabs button.on{color:var(--gold);box-shadow:inset 0 2px 0 var(--gold)}.editor>main.full{max-width:none}.search{min-height:38px}kbd{font:600 .72rem var(--sans);border:1px solid var(--line);color:var(--muted);border-bottom-width:2px;border-radius:5px;padding:1px 5px}.jump-button{color:var(--muted)}.segmented.small button{min-height:34px;padding:4px 12px;font-size:.88rem}.check.right{justify-content:flex-end;margin-bottom:8px}h3 em{font:400 .8rem var(--sans);color:var(--muted);margin-left:6px}.warn-text{color:var(--gold);font-size:.9rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.list-thumb{object-fit:cover;border-radius:6px;grid-row:span 2;width:38px;height:38px}.list-thumb.wide{width:56px}.list li>button:first-child:has(.list-thumb){grid-template-columns:auto 1fr;align-items:center;column-gap:10px}.list li em{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.entity-list{max-height:calc(100dvh - var(--chrome,100px));top:calc(var(--chrome,100px) - 14px);position:sticky;overflow:auto}.entity-list .row .search{flex:1}.checker .asset img,.thumb.piece,.piece-grid .piece span,.lthumb,.item-sheet img.piece,.inv-tile.piece .pic{background:repeating-conic-gradient(#2a251f 0% 25%,#1b1714 0% 50%) 0 0/16px 16px}.checker .asset img,.thumb.piece img{object-fit:contain}.scene-node.kind-action{border-left-color:#e08a4e}.scene-node.kind-hub{border-left-color:#b79ae0}.type{font:600 .72rem var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.type.t-scene{color:var(--gold)}.type.t-puzzle{color:var(--teal)}.type.t-event{color:#e08a4e}.type.t-map{color:#8fa6d6}.type.t-character{color:#d7a8c4}.type.t-item{color:#cfc4b2}.palette-list{gap:4px;max-height:55dvh;margin-top:10px;display:grid;overflow:auto}.palette-row{text-align:left;background:0 0;border-color:#0000;grid-template-columns:110px 1fr auto;justify-content:stretch;align-items:baseline;gap:10px;min-height:38px;display:grid}.palette-row.on{background:var(--panel2);border-color:var(--gold)}.palette-row em{color:var(--muted);font-size:.82rem;font-style:normal}.logic-list{gap:8px;display:grid}.logic-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logic-row>select,.logic-row>input{flex:150px;width:auto}.logic-row .w-type{flex:1.3 190px}.logic-row .w-op{flex:0 0 110px}.logic-row .w-val{flex:0 0 90px}.effect-row{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:22px 1fr auto;align-items:start;gap:8px;padding:8px;display:grid}.effect-row .num{color:var(--muted);text-align:right;padding-top:10px;font-size:.85rem}.effect-body{gap:8px;min-width:0;display:grid}.effect-fields{flex-wrap:wrap;gap:8px;display:flex}.effect-fields>*{flex:140px;width:auto}.effect-fields>textarea{flex-basis:100%}.effect-tools{display:flex}.effect-tools button{min-height:34px;padding:4px 8px}.add-effect{color:var(--teal);border-color:#3d5a51}.summary-line{background:var(--panel2);border-left:3px solid #e08a4e;border-radius:0 8px 8px 0;padding:8px 12px;font-size:.92rem}.event-summary{color:var(--muted);font-size:.88rem}.event-summary b{color:var(--text);font-weight:600}.event-list{gap:6px;margin-bottom:6px;display:grid}.event-chip{text-align:left;border-left:3px solid #e08a4e;justify-content:stretch;gap:2px;padding:8px 12px;display:grid}.choice-if{border-top:1px dashed var(--line);gap:6px;padding-top:8px;display:grid}.review{height:calc(100dvh - var(--chrome,100px));flex-direction:column;gap:12px;display:flex}.review-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.review-bar .search{flex:280px;width:auto}.review-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(360px,34vw);gap:16px;min-height:0;display:grid}.review-table{border:1px solid var(--line);background:var(--panel);border-radius:12px;align-content:start;display:grid;overflow:auto}.review-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:104px 44px minmax(0,1fr) 40px 70px;justify-content:stretch;align-items:center;gap:10px;min-height:52px;padding:6px 12px;display:grid}.review-row:hover{background:var(--panel2)}.review-row.on{box-shadow:inset 3px 0 0 var(--gold);background:#3b2f14}.review-row:active{transform:none!important}.thumb-s{background:#110e0c;border-radius:6px;width:44px;height:40px;overflow:hidden}.thumb-s img{object-fit:cover;width:100%;height:100%;display:block}.review-row .what{min-width:0;display:grid}.review-row .what strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.review-row .what em{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-style:normal;overflow:hidden}.review-row .used{color:var(--muted);text-align:right;font-size:.82rem}.marks{justify-content:flex-end;gap:4px;display:flex}.marks i{font:700 .72rem var(--sans);background:var(--panel2);min-width:20px;height:20px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.marks i.error{color:#ffb4a6;background:#5b241c}.marks i.warning{color:#f3d491;background:#4a3a12}.review-detail{overflow:auto}.detail-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.quicklook h2{margin-bottom:4px;font-size:1.5rem}.ql-image{object-fit:contain;background:#110e0c;border-radius:10px;width:100%;max-height:240px;margin:6px 0 10px}.ql-block{margin-bottom:12px}.ql-block h4{margin:0 0 4px}.ql-block>div{white-space:pre-wrap}.ql-block.gm>div{background:var(--gm);border-left:3px solid var(--gold);color:#e3cf9f;border-radius:0 8px 8px 0;padding:8px 12px}.ql-block ol{white-space:normal;margin:0;padding-left:20px}.ql-block p{white-space:normal;margin:0 0 4px}.ql-place{white-space:normal;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.ql-place img{aspect-ratio:3/2;object-fit:cover;border-radius:6px;width:84px}.piece-strip{flex-wrap:wrap;gap:6px;display:flex}.piece-strip img{height:54px}.script{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex:1;overflow:auto}.script article{max-width:820px;margin:0 auto;padding:28px 28px 80px}.script h1{margin-bottom:8px;font-size:2.2rem}.script .lead{font-family:var(--serif);color:#d8ccb8;font-size:1.15rem}.script-toc{flex-wrap:wrap;gap:6px 18px;margin:16px 0 8px;font-size:.92rem;display:flex}.script section{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;scroll-margin-top:12px}.script section>header{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.script section h2{margin:0;font-size:1.5rem}.narration-text{font-family:var(--serif);white-space:pre-wrap;font-size:1.12rem}.script-block{margin:12px 0}.script-block h4,.script-block p{margin:0 0 4px}.script .hints{color:var(--teal);margin:4px 0;padding-left:22px}.script .gm-inline{margin:0}.badge.kind-ending{color:var(--red);border-color:#6b3a32}.badge.kind-puzzle{color:var(--teal)}.badge.kind-investigation{color:#8fa6d6}.badge.kind-action{color:#e08a4e}.studio{height:calc(100dvh - var(--chrome,100px));grid-template-columns:220px minmax(0,1fr) 360px;gap:14px;display:grid}.studio-maps,.studio-side{overflow:auto}.studio-empty{border:1px dashed var(--line);border-radius:14px;grid-column:2/4;place-items:center;display:grid}.studio-stage{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.studio-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.studio-tools .segmented button{min-height:36px;padding:4px 14px}.studio-tools .save-status{margin-left:auto}.stage{touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(#191512 0% 25%,#141110 0% 50%) 0 0/24px 24px;flex:1;min-height:0;position:relative;overflow:hidden}.world{transform-origin:0 0;background:#0e0c0a;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #5a4a1f,0 10px 50px #0009}.world .layer{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:absolute}.world-empty{text-align:center;color:var(--muted);place-items:center;padding:60px;font-size:34px;line-height:1.5;display:grid;position:absolute;inset:0}.world .overlay{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.world canvas.mask{opacity:.5}.world canvas.pieces{opacity:.9}.world svg .cut{fill:none;stroke:#fff;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 2px #000)}.world svg .cut.dim{stroke:#ffffff59;filter:none}.world svg .cut.hover{stroke:var(--red)}.world svg .cut.draft{stroke:var(--gold)}.world svg .erase-trail{fill:none;stroke:#ff00c873;stroke-linejoin:round;stroke-linecap:round}.world svg .window{fill:none;stroke:#8fd3ff}.world svg .brush{fill:#ffffff14;stroke:#fff;filter:drop-shadow(0 0 1px #000)}.world svg .piece-num{fill:#fff;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#000;stroke-width:4px;font-weight:700;font-family:var(--sans)}.selection rect:first-child{fill:none;stroke:#8fd3ff}.selection line{stroke:#8fd3ff}.selection [data-handle]{fill:#fff;stroke:#1b6fa8;stroke-width:1px;pointer-events:all;vector-effect:non-scaling-stroke}.selection circle[data-handle]{cursor:grab}.world svg .place circle{fill:#14110fd9;stroke:var(--gold);stroke-width:2.5px}.world svg .place .dot{fill:var(--gold);stroke:none}.world svg .place text{fill:#fff;font:600 14px var(--sans);text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:4px}.world svg .place.on circle:first-child{stroke:#fff;stroke-width:4px}.world svg .place.dim{opacity:.55}.world svg .place.hidden circle:first-child{stroke-dasharray:4 3}.stage-busy{border:1px solid var(--gold);background:#14110ff0;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.spinner{border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stage-hint{border-top:1px solid var(--line);margin:0;padding:7px 12px;font-size:.82rem}.studio-side h2{margin-bottom:8px}.studio-side .check,.form .check{white-space:normal;align-items:flex-start;margin-bottom:8px}input[type=checkbox]{flex:none}.layers{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.layers li{border:1px solid var(--line);background:var(--panel2);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.layers li.on{border-color:#8fd3ff}.layers .name{text-align:left;background:0 0;border:0;grid-template-columns:40px 1fr;justify-content:stretch;align-items:center;column-gap:8px;min-width:0;padding:4px;display:grid}.layers .name strong{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.layers .name em{color:var(--muted);grid-column:2;font-size:.74rem;font-style:normal}.lthumb{border-radius:4px;grid-row:span 2;width:40px;height:32px;overflow:hidden}.lthumb img{object-fit:contain;width:100%;height:100%;display:block}.layer-props{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.layer-props .chips{margin-bottom:8px}.piece-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.piece-grid .piece{align-content:start;gap:4px;padding:6px;display:grid}.piece-grid .piece span{border-radius:6px;place-items:center;height:70px;display:grid;overflow:hidden}.piece-grid .piece img{max-width:100%;max-height:70px}.piece-grid .piece em{color:var(--muted);font-size:.74rem;font-style:normal;line-height:1.2}.map-table{justify-items:center;gap:1.2vh;width:100%;display:grid}.board{width:min(100%, calc(var(--board-h,60dvh) * var(--aspect)));touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px var(--line), inset 0 0 60px #00000080;background:radial-gradient(at 50% 40%,#3a3026,#1c1713 75%);border-radius:10px;position:relative}.board .frame{background:#0000002e;border:2px dashed #d9a4418c;border-radius:4px;position:absolute}.board .frame img{border-radius:2px;width:100%;height:100%;animation:1.6s both fade;display:block}.map-table.solved .frame{box-shadow:0 0 0 3px var(--gold), 0 0 60px #d9a44173;border:0}.board .piece{filter:drop-shadow(0 3px 5px #000000a6);-webkit-user-drag:none;max-width:none;position:absolute}.board .piece.locked{filter:none}.map-table.interactive .board .piece:not(.locked),.map-table.interactive .tray-piece:not(.not-mine){cursor:grab;touch-action:none}.board .piece.dragging{filter:drop-shadow(0 10px 14px #000c);z-index:5;cursor:grabbing}.tray{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;display:flex}.tray-label{color:var(--muted);font:.85rem var(--sans);text-align:center;width:100%}.tray-piece{object-fit:contain;border:1px solid var(--line);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#ffffff0d;border-radius:8px;max-width:110px;height:64px;padding:4px}.tray-piece.ghost{opacity:.25}.tray-piece.not-mine{opacity:.45}.tv-map{--board-h:72vh;grid-template-rows:auto 1fr;align-content:center;justify-items:center;gap:2vh;padding:4vh 4vw;display:grid;position:absolute;inset:0}.tv-map h2{text-shadow:0 .2vw 1.4vw #000;margin:0;font-size:3vw;display:block}.tv-map .tray-piece{max-width:12vw;height:9vh}.tv-map .tray-label{font-size:1.4vw}.phone-table{z-index:90;background:var(--bg);padding:0 10px calc(10px + env(safe-area-inset-bottom));--board-h:58dvh;flex-direction:column;gap:10px;display:flex;position:fixed;inset:0;overflow:auto}.phone-table header{padding:max(10px, env(safe-area-inset-top)) 4px 0;justify-content:space-between;align-items:center;display:flex}.phone-table .muted{text-align:center}.modal .map-table{--board-h:62dvh}.travel{background:#0b0908;width:100%;height:100%;position:relative;overflow:hidden}.travel-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.travel-world>img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.travel-world>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.footsteps ellipse{fill:#2a1708;stroke:#fff0d28c;stroke-width:.5px}.pin .ring{fill:#14110fcc;stroke:var(--gold);stroke-width:2.6px}.pin .dot{fill:var(--gold)}.pin text{fill:#fff;font:600 15px var(--serif);text-anchor:middle}.pin .halo{stroke:#0a0806eb;stroke-width:5px;stroke-linejoin:round}.pin.here .ring{stroke:#fff}.pin.target .ring{animation:1.1s ease-in-out infinite pulse}.pin.secret{opacity:.5}.pin.secret .ring{stroke-dasharray:4 3}.pin .hit{fill:#0000}.travel.pickable .pin{cursor:pointer}@keyframes pulse{50%{stroke-width:6px;stroke:#fff}}.party circle{fill:#fff;stroke:var(--gold-ink);stroke-width:2px}.party .glow{fill:#d9a44159;stroke:none;animation:1.6s ease-in-out infinite glow}@keyframes glow{50%{opacity:.35}}.tv-travel{position:absolute;inset:0}.tv-travel .tv-message{position:absolute;top:4vh;left:4vw}.travel-card{border:.2vw solid var(--gold);background:#14110feb;border-radius:1.4vw;width:27vw;margin:0;animation:.9s .2s both rise;position:absolute;bottom:4vh;left:3vw;overflow:hidden;box-shadow:0 1.5vw 5vw #000c}.travel-card img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.travel-card figcaption{gap:.6vh;padding:1.6vh 1.6vw;display:grid}.travel-card strong{font:600 2vw var(--serif)}.travel-card span{font:1.3vw var(--sans);color:#d8ccb8;white-space:pre-wrap}.travel-banner{border:1px solid var(--line);font:1.9vw var(--serif);white-space:nowrap;background:#14110fe6;border-radius:99px;margin:0;padding:1.2vh 2.4vw;position:absolute;bottom:5vh;left:50%;transform:translate(-50%)}.gm-travel{aspect-ratio:3/2;border:1px solid var(--line);border-radius:12px;width:100%;max-height:46dvh;margin-bottom:10px;overflow:hidden}.callout.events{padding:4px 14px 10px}.event-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.event-row:first-of-type{border-top:0}.event-row>div:first-child{gap:2px;min-width:0;display:grid}.event-row em{color:var(--muted);font-size:.82rem;font-style:normal}.event-row span{font-size:.88rem}.event-row.fired>div:first-child{opacity:.6}.event-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.more-events summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:.88rem}.choice.locked{border-left-color:var(--muted)}.choice.locked strong{color:var(--muted)}.toast.event{border-color:#e08a4e}.log .event{color:#e8a878}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.inv-tile{text-align:left;align-content:start;justify-items:stretch;gap:4px;padding:8px;display:grid}.inv-tile .pic{aspect-ratio:1;background:#110e0c;border-radius:8px;place-items:center;display:grid;overflow:hidden}.inv-tile .pic img{object-fit:cover;width:100%;height:100%}.inv-tile.piece .pic img{object-fit:contain}.inv-tile strong{font-size:.86rem;line-height:1.2}.inv-tile em{color:var(--muted);font-size:.76rem;font-style:normal}.inv-tile.given{border-color:#3d5a51}.inv-tile.given em{color:var(--teal)}.item-sheet{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.item-sheet img{object-fit:contain;border-radius:10px;width:42%;max-height:220px}.give-grid.two{grid-template-columns:1fr 1fr;margin-top:12px}.give-grid.two>:first-child{grid-column:1/-1}.maps-tab .toggles{margin-bottom:10px}.editor{--chrome:28px;--rail:52px;grid-template-columns:auto minmax(0,1fr);min-height:100%;display:grid}.rail{height:100dvh;width:var(--rail);z-index:30;position:sticky;top:0}.rail-inner{width:var(--rail);background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 6px;transition:width .16s,box-shadow .16s;display:flex;position:absolute;inset:0 auto 0 0;overflow:hidden}.rail-pages{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden auto}.rail-end{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:6px;display:flex}.rail-item{width:100%;min-height:40px;color:var(--muted);white-space:nowrap;text-align:left;background:0 0;border:0;border-radius:9px;flex:none;justify-content:flex-start;align-items:center;gap:0;padding:0;display:flex;overflow:hidden}.rail-item:hover:not(:disabled){background:var(--panel2);color:var(--text)}.rail-item.on,.rail-item.on:hover:not(:disabled){color:var(--gold);background:#3b2f14}.rail-item:active:not(:disabled){transform:none}.rail-icon{flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.rail-label{text-overflow:ellipsis;flex:1;min-width:0;padding-right:8px;font-size:.93rem;overflow:hidden}.rail-count,.rail-item kbd{color:var(--muted);margin-right:10px;font-size:.76rem}.rail-home{color:var(--text);margin-bottom:6px}.rail-home .rail-label{font:600 .98rem var(--serif)}.rail-badge{min-width:15px;height:15px;font:700 .62rem/15px var(--sans);text-align:center;color:#f3d491;background:#4a3a12;border-radius:8px;padding:0 3px;font-style:normal;position:absolute;top:4px;right:3px}.rail-badge.error{color:#ffd0c6;background:#7a2a1f}.rail-more{position:relative}.rail-menu{left:calc(var(--rail) + 6px);background:var(--panel);border:1px solid var(--line);z-index:40;border-radius:12px;gap:2px;min-width:190px;margin-top:-40px;padding:6px;display:grid;position:fixed;box-shadow:0 12px 40px #0009}.rail-menu .rail-label{opacity:1!important}.rail.pos-left.labels-hover .rail-inner:hover,.rail.pos-left.labels-hover .rail-inner:focus-within{width:216px;transition-delay:.12s;box-shadow:12px 0 40px #00000080}.rail.pos-left.labels-hover .rail-inner:not(:hover):not(:focus-within) :is(.rail-label,.rail-count,kbd),.rail.labels-never :is(.rail-label,.rail-count,kbd){opacity:0}.rail-label,.rail-count,.rail-item kbd{transition:opacity .12s .1s}.editor.nav-left.names-always{--rail:200px}.editor.nav-left.names-never .rail-menu .rail-label{opacity:1}.editor.nav-top{--chrome:73px;flex-direction:column;display:flex}.editor.nav-top .rail{width:100%;height:45px}.editor.nav-top .rail-inner{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;width:auto;padding:2px 10px;inset:0;overflow:visible}.editor.nav-top .rail-pages{flex-direction:row;align-items:center;overflow:visible}.editor.nav-top .rail-end{border-top:0;flex-direction:row;padding-top:0}.editor.nav-top .rail-item{width:auto}.editor.nav-top .rail-home{flex:0 auto;min-width:40px;max-width:240px;margin:0 8px 0 0}.editor.nav-top .rail-home .rail-label{flex:auto}.editor.nav-top .rail-label{flex:none;padding-right:12px}.editor.nav-top .rail-count{margin:0 12px 0 -6px}.editor.nav-top .rail-end .rail-label,.editor.nav-top .rail-end kbd,.editor.nav-top.names-hover .rail-pages .rail-item:not(.on):not(:hover) :is(.rail-label,.rail-count),.editor.nav-top.names-never .rail-pages :is(.rail-label,.rail-count),.editor.nav-top.names-never .rail-home .rail-label{display:none}.editor.nav-top .rail-menu{margin-top:4px;top:42px;left:auto}.editor.nav-top .rail-menu :is(.rail-label,.rail-count){display:inline!important}.nav-custom h4:first-child{margin-top:0}.nav-pages{gap:4px;margin:0;padding:0;list-style:none;display:grid}.nav-pages li{border:1px solid var(--line);background:var(--panel2);border-radius:9px;grid-template-columns:24px 1fr auto auto auto 84px;align-items:center;gap:6px;padding:2px 6px 2px 10px;display:grid}.nav-pages li.off{opacity:.6}.nav-pages em{color:var(--muted);margin-right:6px;font-size:.76rem;font-style:normal}.nav-pages button{min-height:32px}.nav-pages .small{padding:4px 6px}.nav-pages .ghost{padding:4px 8px}.type .icon{vertical-align:-5px}@media (width<=900px){.columns,.columns.narrow-left,.story,.live-main,.review-main{grid-template-columns:minmax(0,1fr)}.editor,.editor.nav-top{flex-direction:column;display:flex}.editor .rail{width:100%;height:46px}.editor .rail .rail-inner{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:2px 6px;inset:0;width:auto!important;box-shadow:none!important}.editor .rail .rail-pages{flex-direction:row;overflow-x:auto}.editor .rail .rail-end{border-top:0;flex-direction:row;padding-top:0}.editor .rail .rail-item{width:auto}.editor .rail :is(.rail-label,.rail-count,kbd){display:none}.editor .rail .rail-home{margin:0}.editor .rail-menu{margin-top:0;top:44px;left:auto}.editor .rail-menu .rail-label{display:inline}.review{height:auto}.entity-list{max-height:none;position:static}.story{height:auto}.graph{height:55vh}.live{height:auto}.live-scene{border-right:0;border-bottom:1px solid var(--line)}.live-tab .graph{height:60vh}.topbar h1{max-width:100%}}@media (width<=520px){.grid2{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{animation-duration:10ms!important}}.live .toasts{top:auto;bottom:14px}.phone.table-open .toasts{top:max(60px, env(safe-area-inset-top));bottom:auto}.phone.table-open .toast:nth-last-child(n+2){display:none}.phone .toasts{top:auto;bottom:calc(70px + env(safe-area-inset-bottom));max-width:none;left:14px;right:14px}.tv .toasts{width:27vw;max-width:none;top:auto;bottom:5vh;right:4vw;transform:none}.tv .toast{font-size:1.5vw}.tv .toast:nth-last-child(n+3){display:none}@media (width<=1200px){.studio{grid-template-columns:170px minmax(0,1fr) 320px}}@media print{.topbar,.rail,.review-bar,.noprint{display:none!important}body,.script,.panel{color:#000!important;background:#fff!important}.review,.script{border:0!important;height:auto!important;overflow:visible!important}.script .gm-notes,.script .gm-inline{color:#3a2c05!important;background:#f3ecd6!important}.script section{break-inside:avoid-page}.muted{color:#555!important}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
