:root{--paper: #fffdf8;--desk: #efe9dd;--ink: #1f1b16;--muted: #7a7265;--line: #e3dccd;--chip: #f6f1e7;--accent: #b8412e;--sheet: #ffffff}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--desk);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}.muted{color:var(--muted)}.door{min-height:100%;display:grid;place-items:center;padding:40px 16px}.door-card{width:min(520px,100%);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:36px 32px;text-align:center}.wordmark{font-family:Courier Prime,Courier,monospace;font-weight:700;font-size:20px;letter-spacing:.02em;color:var(--ink);text-decoration:none}.wordmark.big{font-size:44px;display:block}.door-line{color:var(--muted);margin:8px 0 24px}.door-list{margin-top:28px;text-align:left}.door-list-head,.rail-head{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.door-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;color:var(--ink);text-decoration:none}.door-item:hover{background:var(--chip)}.door-foot{margin-top:28px;font-size:12px}.btn{border:1px solid var(--line);background:var(--chip);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;text-decoration:none;color:var(--ink);display:inline-block}.btn:hover{border-color:#cfc6b4}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);padding:10px 18px}.menu{position:relative;display:inline-block}.menu-items{display:none;position:absolute;right:0;top:calc(100% + 4px);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:6px;min-width:180px;box-shadow:0 10px 30px #00000014;z-index:10}.menu:hover .menu-items,.menu:focus-within .menu-items{display:block}.menu-items button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px}.menu-items button:hover{background:var(--chip)}.desk{height:100%;display:flex;flex-direction:column}.bar{display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.title{flex:1;min-width:0;border:0;background:transparent;font:500 15px Inter,system-ui,sans-serif;color:var(--ink);outline:none;padding:6px 8px;border-radius:6px}.title:focus{background:var(--chip)}.saved{font-size:12px;color:var(--muted);min-width:48px}.actions{display:flex;gap:8px}.elbar{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--chip);border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip kbd{margin-left:6px;opacity:.55;font-size:10.5px;font-family:inherit}.elbar-hint{margin-left:auto;font-size:12px;color:var(--muted)}.stage{flex:1;display:flex;gap:24px;overflow:auto;padding:28px 24px 80px;justify-content:center;align-items:flex-start}.sheet{width:8.5in;min-height:11in;flex:none;background:var(--sheet);box-shadow:0 8px 30px #00000014;padding:1in 1in 1in 1.5in}.print-title{display:none}.page{outline:none;font-family:Courier Prime,Courier,monospace;font-size:12pt;line-height:12pt;min-height:9in;color:#111}.el{margin:0;white-space:pre-wrap;overflow-wrap:break-word}.el+.el-sceneHeading,.el+.el-action,.el+.el-character,.el+.el-transition{margin-top:12pt}.el-sceneHeading{text-transform:uppercase}.el-character{margin-left:2.2in;width:3.8in;text-transform:uppercase}.el-parenthetical{margin-left:1.6in;width:2in}.el-dialogue{margin-left:1in;width:3.5in}.el-transition{text-align:right;text-transform:uppercase}.el.is-empty:before{content:attr(data-placeholder);color:#b9b1a3;pointer-events:none;float:left;height:0;text-transform:none}.el-sceneHeading.is-empty:before,.el-character.is-empty:before,.el-transition.is-empty:before{text-transform:uppercase}.rail{width:300px;flex:none;position:sticky;top:0;font-size:13px}.rail-stat{display:flex;align-items:baseline;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:18px}.rail-num{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.rail-label{color:var(--muted)}.rail-sep{flex:1}.rail-scenes{list-style:none;margin:0;padding:0}.rail-scene{display:grid;grid-template-columns:24px 1fr auto;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:8px;cursor:pointer;font-family:Courier Prime,Courier,monospace;font-size:12px}.rail-scene:hover{background:var(--paper)}.rail-ord{color:var(--muted)}.rail-slug{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-eighths{color:var(--muted);font-variant-numeric:tabular-nums}.rail-empty{color:var(--muted);padding:4px 8px 12px;line-height:1.45}.rail-budget{margin-top:24px;padding-top:18px;border-top:1px dashed var(--line)}@media(max-width:1240px){.rail{display:none}}@media(max-width:900px){.stage{padding:12px 0 60px}.sheet{width:100%;min-height:0;padding:.6in .5in .6in .7in}.el-character{margin-left:1.6in;width:auto}.el-dialogue{margin-left:.6in;width:auto;margin-right:.6in}.el-parenthetical{margin-left:1.1in;width:auto}.elbar-hint{display:none}}@media print{@page{size:letter;margin:1in 1in 1in 1.5in}body{background:#fff}.bar,.elbar,.rail{display:none!important}.desk,.stage{display:block;height:auto;overflow:visible;padding:0}.sheet{width:auto;min-height:0;padding:0;box-shadow:none}.print-title{display:block;font-family:Courier Prime,Courier,monospace;font-size:12pt;text-align:center;text-transform:uppercase;text-decoration:underline;margin-top:3.5in;page-break-after:always}.el-sceneHeading,.el-character,.el-parenthetical{break-after:avoid;page-break-after:avoid}.el{orphans:2;widows:2}.el.is-empty:before{content:none}}.sheet{position:relative}.smarttype{position:absolute;z-index:20;list-style:none;margin:0;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0000001a;font-family:Courier Prime,Courier,monospace;font-size:12px;min-width:160px}.smarttype button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:5px 8px;border-radius:5px;cursor:pointer;font:inherit}.smarttype button.on,.smarttype button:hover{background:var(--ink);color:var(--paper)}.el.tinted{background:color-mix(in srgb,var(--cue-color) 16%,transparent);box-shadow:-4px 0 color-mix(in srgb,var(--cue-color) 70%,transparent)}.rail-cast{margin-top:20px}.rail-castlist{list-style:none;margin:0;padding:0}.rail-cue{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:8px;cursor:pointer;font-family:Courier Prime,Courier,monospace;font-size:12px}.rail-cue:hover{background:var(--paper)}.swatch{width:12px;height:12px;border-radius:50%;border:1px solid var(--line)}details.popover>summary{list-style:none;cursor:pointer}details.popover>summary::-webkit-details-marker{display:none}.popover-body{position:absolute;top:calc(100% + 4px);left:0;z-index:10;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px;width:280px;box-shadow:0 10px 30px #00000014;display:grid;gap:10px}.popover-body label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.popover-body input,.popover-body textarea{font:13px Inter,system-ui,sans-serif;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fff;resize:vertical}@media print{.el.tinted{background:none;box-shadow:none}.smarttype{display:none}}.rail{width:380px}.rail-section{margin-top:18px}.rail-section>summary{cursor:pointer;list-style:none}.rail-section>summary::-webkit-details-marker{display:none}.budget{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 14px 10px}.budget-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.budget-head .rail-head{margin:0}.tier{font:12px Inter,system-ui,sans-serif;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--chip);color:var(--ink);max-width:200px}.budget-total{margin:10px 0 6px}.budget-range{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.budget-sub{font-size:12px;margin-top:2px}.budget-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.btn.small{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer}.budget-note{margin-top:8px;font-size:12px;color:var(--accent)}.budget-drivers{margin:14px 0 6px;padding-top:12px;border-top:1px dashed var(--line)}.budget-drivers ul{list-style:none;margin:0;padding:0;font-size:12.5px}.budget-drivers li{display:flex;justify-content:space-between;padding:3px 0}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.budget .rail-head{margin-top:12px}.cards{list-style:none;margin:0;padding:0}.card{border-top:1px solid var(--line);padding:6px 0}.card-top{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:4px 2px;cursor:pointer;font-size:12.5px}.card-ord{color:var(--muted);font-family:Courier Prime,Courier,monospace}.card-slug{font-family:Courier Prime,Courier,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-right{display:inline-flex;align-items:center;gap:6px;font-weight:600}.reading-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:olaf-pulse 1s ease-in-out infinite}@keyframes olaf-pulse{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1.1);opacity:1}}.err{color:var(--accent);font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:4px;padding:2px 2px 4px 28px}.chip-s{font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted)}.chip-s.warn{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.moved{margin:6px 0 4px 28px;padding:8px 10px;background:color-mix(in srgb,var(--accent) 8%,var(--paper));border-radius:8px;font-size:12px}.moved-head{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.moved-row{display:flex;justify-content:space-between;gap:8px;padding:2px 0}.moved-row .up{color:var(--accent);font-weight:600}.moved-row .down{color:#2e7d4f;font-weight:600}.card-err{margin:4px 0 4px 28px;font-size:12px;color:var(--accent)}.link{border:0;background:transparent;padding:0;color:var(--ink);text-decoration:underline;cursor:pointer;font:inherit}.lines{margin:6px 0 6px 28px;font-size:12px}.lines table{width:100%;border-collapse:collapse}.lines td{padding:3px 4px;vertical-align:top;border-top:1px solid var(--line)}.lines td.cat{color:var(--muted);white-space:nowrap;width:1%}.lines td.src{color:var(--muted);font-size:10.5px;white-space:nowrap}.lines tr.sum td{font-weight:600;border-top:2px solid var(--ink)}.assumptions{margin-top:8px}.assumptions summary{cursor:pointer;color:var(--muted)}.assumptions ul{margin:6px 0 0;padding-left:18px;color:var(--muted)}.flags{margin-top:6px;color:var(--accent)}.tiny{font-size:11px;margin-top:6px}.budget-foot{margin-top:10px;line-height:1.4}@media(max-width:1340px){.rail{width:320px}}:root{--page-ink: #111111;--placeholder: #b9b1a3;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #1b1917;--desk: #121110;--ink: #ece7dc;--muted: #9a9183;--line: #2d2a26;--chip: #242120;--accent: #e46a55;--sheet: #201e1b;--page-ink: #e9e4d9;--placeholder: #5c564d;color-scheme:dark}}:root[data-theme=dark]{--paper: #1b1917;--desk: #121110;--ink: #ece7dc;--muted: #9a9183;--line: #2d2a26;--chip: #242120;--accent: #e46a55;--sheet: #201e1b;--page-ink: #e9e4d9;--placeholder: #5c564d;color-scheme:dark}.page{color:var(--page-ink)}.el.is-empty:before{color:var(--placeholder)}.sheet{box-shadow:0 8px 30px #0000002e}.popover-body input,.popover-body textarea{background:var(--sheet)}.btn.icon{width:34px;padding:7px 0;text-align:center;font-size:15px;line-height:1}.door-tools{display:flex;justify-content:flex-end;margin:-12px -8px 0 0}.moved-row .down{color:#4fae7a}@media print{:root,:root[data-theme=dark]{--sheet: #ffffff;--page-ink: #111111;color-scheme:light}.sheet{background:#fff}.page{color:#111}}.code-form{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--chip);display:grid;gap:8px}.code-form label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.code-form input{font:14px Courier Prime,Courier,monospace;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:var(--sheet);letter-spacing:.04em}.btn.small.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
