:root{--stage-950:#121016;--stage-900:#1a1720;--stage-850:#201c28;--stage-800:#262230;--stage-700:#332d3f;--stage-line:#3c3548;--stage-line-soft:#2b2635;--stage-border:#746a8a;--spotlight:#e8a33c;--spotlight-hi:#f4c06a;--spotlight-dim:#8a662f;--spotlight-wash:#e8a33c24;--cue-paper:#f4ecda;--cue-paper-alt:#efe4cc;--cue-paper-shadow:#d8c79c;--paper-border:#94805a;--ink:#2c2013;--ink-soft:#6b5a3f;--ink-faint:#766546;--text-hi:#f3efe6;--text-soft:#b8b0c7;--text-dim:#9791b3;--status:var(--spotlight);--status-wash:var(--spotlight-wash);--ok:#7fb069;--ok-wash:#7fb06929;--ok-ink:#3f6b34;--danger:#d1665a;--danger-wash:#d1665a24;--danger-text:#a8382c;--danger-on-dark:#f0a89e;--font-display:"Big Shoulders Display", "Arial Narrow", sans-serif;--font-body:"Libre Franklin", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--radius-card:3px;--shadow-card:0 1px 0 var(--cue-paper-shadow), 0 10px 24px -12px #0000008c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(ellipse 900px 500px at 22% -10%, var(--spotlight-wash), transparent 60%), var(--stage-950);color:var(--text-hi);font-family:var(--font-body);-webkit-font-smoothing:antialiased}::selection{background:var(--spotlight);color:var(--ink)}a{color:inherit}button{font-family:inherit}.req{color:var(--danger-text);font-size:.9em}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:11px 20px;font-size:.88rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--spotlight);color:var(--ink)}.btn-primary:hover{background:var(--spotlight-hi)}.btn-secondary{background:var(--stage-800);color:var(--text-hi);border-color:var(--stage-line)}.btn-secondary:hover{background:var(--stage-700)}.btn-ghost{color:var(--text-soft);border-color:var(--stage-line);background:0 0}.btn-ghost:hover{color:var(--text-hi);border-color:var(--text-dim)}.btn-danger{background:var(--danger-wash);color:var(--danger-text);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn:focus-visible{outline:2px solid var(--spotlight-hi);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-sm{border-radius:5px;padding:6px 12px;font-size:.76rem}.segmented{background:var(--stage-800);border:1px solid var(--stage-line);border-radius:6px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:600}.segmented button.on{background:var(--stage-700);color:var(--text-hi)}.segmented button:focus-visible{outline:2px solid var(--spotlight-hi);outline-offset:1px}.segmented.light{border-color:var(--cue-paper-shadow);background:#2c20130f}.segmented.light button{color:var(--ink-soft)}.segmented.light button.on{background:var(--cue-paper);color:var(--ink);box-shadow:0 1px 2px #0000001f}.chip{letter-spacing:.02em;border-radius:20px;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip.live{background:var(--ok-wash);color:var(--ok)}.chip.onair{background:var(--status-wash);color:var(--status);letter-spacing:.08em;font-weight:700}.chip.prep{background:var(--stage-800);color:var(--text-soft);border:1px solid var(--stage-line)}.chip.done{background:var(--stage-800);color:var(--text-dim);border:1px solid var(--stage-line)}.chip.cancelled{background:var(--danger-wash);color:var(--danger-text)}.badge-mode{color:var(--text-soft);background:var(--stage-800);border:1px solid var(--stage-line);border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;display:inline-flex}.cue-card{background:var(--cue-paper);color:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:22px 24px;position:relative}.cue-card:before{content:"";background:var(--stage-950);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:14px;box-shadow:inset 0 1px 2px #00000080,0 1px #ffffff26}.cue-card .cue-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px 18px;font-size:.64rem;font-weight:700}dialog.modal-box{border:none;width:100%;max-width:640px;margin:auto;padding:22px 24px;position:fixed;inset:0}dialog.modal-box::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c0a0fb8}dialog.modal-box.wide{max-width:820px}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.modal-head .cue-label{margin:0 0 4px 18px}.modal-title{font-family:var(--font-display);color:var(--ink);margin:0 0 0 18px;font-size:1.3rem;font-weight:700}.modal-close{cursor:pointer;color:var(--ink-faint);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1.2rem;line-height:1}.modal-close:hover{color:var(--ink);background:#2c201314}.modal-close[disabled]{opacity:.4;cursor:not-allowed}dialog.qf-lightbox{overscroll-behavior:contain;background:0 0;border:none;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0}dialog.qf-lightbox::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08060ae0}.qf-lightbox-surface{cursor:zoom-out;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex}.qf-lightbox-image{object-fit:contain;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.confirm-target{color:var(--ink);margin:0 0 8px;font-size:1rem;font-weight:700}.confirm-desc{color:var(--ink-soft);margin:0 0 16px;font-size:.85rem;line-height:1.6}.submit-error{background:var(--danger-wash);border:1px solid var(--danger);color:var(--danger-text);border-radius:5px;align-items:flex-start;gap:8px;margin-top:2px;padding:10px 12px;font-size:.8rem;font-weight:600;line-height:1.5;display:flex}.btn-spinner{border:2px solid #2c201359;border-top-color:var(--ink);border-radius:50%;flex-shrink:0;width:13px;height:13px}@media (prefers-reduced-motion:no-preference){.btn-spinner{animation:.7s linear infinite btn-spin}}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-primary[aria-busy=true]{cursor:progress}.state-skeleton{flex-direction:column;gap:10px;display:flex}.state-skeleton.grid-skel{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.skel-row{background:var(--stage-800);border-radius:6px;height:46px}.skel-card{border-radius:var(--radius-card);background:var(--stage-800);height:130px}.skel-row,.skel-card{background-image:linear-gradient(90deg, var(--stage-800) 0%, var(--stage-700) 50%, var(--stage-800) 100%);background-size:200% 100%}@media (prefers-reduced-motion:no-preference){.skel-row,.skel-card{animation:1.4s ease-in-out infinite skel-shimmer}}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.state-error{background:var(--danger-wash);border:1px solid var(--danger);border-radius:6px;align-items:center;gap:14px;padding:16px 18px;display:flex}.state-error-icon{flex-shrink:0;font-size:1.3rem}.state-error-text{flex-direction:column;flex:1;gap:2px;display:flex}.state-error-text b{color:var(--text-hi);font-size:.88rem}.state-error-text span{color:var(--text-soft);font-size:.78rem}@media (width<=699px){.btn-sm{min-height:44px}dialog.modal-box{overscroll-behavior:contain;border-radius:0;flex-direction:column;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0 24px;scroll-padding-block:88px 80px;display:flex;overflow-y:auto}dialog.modal-box>*{flex:none}dialog.modal-box.wide{max-width:none}dialog.modal-box:before{display:none}dialog.modal-box .modal-head{z-index:2;padding:14px 24px;padding-top:calc(14px + env(safe-area-inset-top,0px));background:var(--cue-paper);border-bottom:1px solid var(--cue-paper-shadow);margin:0 -24px 12px;position:sticky;top:0}dialog.modal-box .modal-head .cue-label,dialog.modal-box .modal-head .modal-title{margin-left:0}.modal-close{min-width:44px;min-height:44px}}
