@font-face{font-family:Mr Eaves;src:url(/fonts/MrEavesXLSanNar-Reg.otf) format("opentype");font-weight:400 550;font-display:swap}@font-face{font-family:Mr Eaves;src:url(/fonts/MrEavesXLSanNar-Bold.otf) format("opentype");font-weight:600 700;font-display:swap}@font-face{font-family:Mr Eaves;src:url(/fonts/MrEavesXLSanNar-Heavy.otf) format("opentype");font-weight:800 900;font-display:swap}:root{--font-ui: "Mr Eaves", "Avenir Next", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;--paper: #f4efe6;--surface: #fbf8f2;--surface-2: #efe8db;--ink: #241f1a;--ink-2: #5b5348;--line: #d9cfbe;--accent: #b8502f;--accent-ink: #fff;--redline: #c0392b;--ok: #3f7d4e;--radius: 10px;--shadow-pop: 0 8px 30px rgba(40, 30, 20, .14);color-scheme:light}:root[data-theme=dark]{--paper: #1c1916;--surface: #242019;--surface-2: #2e2820;--ink: #efe7d8;--ink-2: #b3a892;--line: #3b3428;--accent: #d9714b;--accent-ink: #1c1916;--redline: #e07a6b;--ok: #6bbf7d;--shadow-pop: 0 8px 30px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}.boot{display:grid;place-items:center;height:100%;font-size:1.4rem;letter-spacing:.14em;color:var(--ink-2)}.wordmark{font-weight:900;letter-spacing:.12em;font-size:2.4rem;line-height:1}.wordmark .by{color:var(--accent)}.wordmark.sm{font-size:1.25rem}.btn{display:inline-block;font-family:var(--font-ui);font-weight:600;font-size:.95rem;padding:.6em 1.1em;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;transition:transform .05s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.block{display:block;width:100%;text-align:center}.ghost{background:none;border:none;color:var(--ink-2);font-family:var(--font-ui);font-size:.95rem;cursor:pointer;padding:.4em .6em;border-radius:8px}.ghost:hover{color:var(--ink);background:var(--surface-2)}.auth-screen{display:grid;place-items:center;height:100%;background:radial-gradient(120% 80% at 50% 0%,var(--surface) 0%,var(--paper) 70%)}.auth-card{width:min(360px,90vw);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:2.2rem 2rem;box-shadow:var(--shadow-pop);text-align:center}.tagline{color:var(--ink-2);margin:.4rem 0 1.6rem}.pw-form{display:grid;gap:.6rem;margin-top:.4rem}.pw-form input{padding:.65em .8em;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:1rem}.or{color:var(--ink-2);font-size:.85rem;margin:1rem 0 .2rem;text-transform:uppercase;letter-spacing:.1em}.err{color:var(--redline);font-size:.9rem}.app-shell{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-bottom:1px solid var(--line);background:var(--surface)}.topbar .spacer{flex:1}.who{color:var(--ink-2);font-size:.9rem}.prep-main{flex:1;display:grid;place-items:center;padding:2rem}.empty-state{text-align:center;color:var(--ink-2)}.empty-state h1{color:var(--ink);font-weight:800;margin-bottom:.3rem}.home-main{flex:1;overflow:auto;padding:1.5rem clamp(1rem,4vw,3rem)}.home-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.home-head h1{font-weight:900;margin:0}.create-show{display:flex;gap:.5rem}.create-show input{padding:.55em .8em;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;min-width:240px}.show-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.show-list a{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink)}.show-list a:hover{border-color:var(--accent)}.show-name{font-weight:600}.chip{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:.2em .6em;border-radius:999px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.chip.state-published,.chip.state-locked{background:var(--ok);color:var(--accent-ink);border-color:transparent}.show-title{font-weight:800;font-size:1.05rem}.timing-summary{display:flex;gap:1.1rem;font-size:.9rem;color:var(--ink-2);margin-right:.4rem}.timing-summary b{color:var(--ink);font-variant-numeric:tabular-nums}.grid-main{flex:1;overflow:auto;padding:.5rem}.grid-empty{color:var(--ink-2);padding:2rem;text-align:center}.grid-wrap:focus{outline:none}.ros-grid{border-collapse:collapse;width:100%;font-size:.9rem}.ros-grid th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--ink-2);text-align:left;font-weight:700;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:.5rem .6rem;border-bottom:2px solid var(--line);white-space:nowrap}.ros-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;vertical-align:top}.ros-grid td .cell-val{display:block;padding:.4rem .6rem;min-height:1.4rem;white-space:pre-wrap;word-break:break-word;cursor:text}.ros-grid td.sel{outline:2px solid var(--accent);outline-offset:-2px}.cell-edit{width:100%;border:none;background:var(--surface);color:var(--ink);font:inherit;padding:.4rem .6rem;resize:none;outline:none;box-sizing:border-box;min-height:1.4rem}.col-num{width:40px;text-align:right;color:var(--ink-2);padding:.4rem .5rem!important;font-variant-numeric:tabular-nums}.col-start{width:108px;white-space:nowrap;padding:.3rem .4rem!important;font-variant-numeric:tabular-nums}.col-start .pin{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:.5;padding:0 .25rem 0 0}.col-start .pin.on{opacity:1}.col-start.anchored .tod{font-weight:700}.col-start.overrun{background:color-mix(in srgb,var(--redline) 18%,transparent)}.col-start.slack{background:color-mix(in srgb,var(--ok) 14%,transparent)}.col-dur{width:60px;text-align:right;font-variant-numeric:tabular-nums}.col-title{min-width:220px;font-weight:600}.col-lane{min-width:160px;color:var(--ink-2)}tr.type-transition td.col-title{font-weight:400;font-style:italic;color:var(--ink-2)}tr.type-transition{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.rowgrip{width:22px;color:var(--ink-2);cursor:grab;text-align:center;-webkit-user-select:none;user-select:none;font-size:.7rem;padding:.4rem 0!important}.rowdel{width:28px;text-align:center}.rowdel .del{background:none;border:none;color:var(--ink-2);cursor:pointer;opacity:.4}.rowdel .del:hover{color:var(--redline);opacity:1}.add-row{margin:.6rem .4rem;background:none;border:1px dashed var(--line);color:var(--ink-2);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font:inherit}.add-row:hover{border-color:var(--accent);color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#140f0a66;display:grid;place-items:center;z-index:10}.modal{width:min(680px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.5rem;box-shadow:var(--shadow-pop)}.modal h3{margin:0 0 .3rem}.modal .hint{color:var(--ink-2);font-size:.9rem;margin:0 0 .8rem}.import-area{width:100%;height:240px;font-family:var(--font-mono);font-size:.82rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem}[data-skin=blackout]{--bg: #060606;--panel: #0d0d0e;--dim: #6a6a68;--text: #d7d3c8;--standby: #e0a52a;--go: #34c759;--hold: #ff3b30;background:var(--bg);color:var(--text)}.console{height:100%;background:var(--bg);color:var(--text);display:flex;flex-direction:column;padding:3vh 4vw}.now-next{display:grid;gap:.4rem}.now-next .label{font-size:1rem;letter-spacing:.28em;color:var(--dim);font-weight:700}.now-next .label.next{margin-top:2rem}.now-next .cue-title{font-size:clamp(2.5rem,7vw,6rem);font-weight:900;line-height:1;color:var(--text)}.now-next .cue-title.dim{color:var(--dim);font-weight:700;font-size:clamp(1.6rem,4vw,3rem)}
