
:root{--ink:#1d1d1b;--paper:#fdfcf7;--desk:#262624;--muted:#7a776d;--draft:#9a968a;--live:#e5484d;--ok:#46a758;--line:#e6e2d6}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--desk);color:var(--ink);font-family:"Courier Prime","Courier New",Courier,"Nimbus Mono PS",monospace}
a{color:inherit}
.gate{min-height:100vh;display:grid;place-items:center;padding:16px}
.card{background:var(--paper);width:100%;max-width:440px;padding:32px 28px;border-radius:4px;box-shadow:0 10px 40px #0007}
.card h1{font-size:26px;margin:4px 0 8px;text-transform:uppercase;letter-spacing:2px}
.brand{font-weight:700;letter-spacing:4px;font-size:13px;margin:0;color:var(--live)}
.lede{font-size:16px;line-height:1.5;margin:0 0 18px}
.small{font-size:14px;color:var(--muted);margin:16px 0 0}
.problem{background:#fde8e8;border-left:4px solid var(--live);padding:10px 12px;margin:0 0 14px;font-size:15px}
label{display:block;font-size:14px;margin:0 0 6px;text-transform:uppercase;letter-spacing:1px}
input{width:100%;font:inherit;font-size:18px;padding:12px;border:1px solid #bdb8aa;border-radius:3px;background:#fff;color:var(--ink)}
input.code{font-size:30px;letter-spacing:10px;text-align:center}
button{font:inherit;cursor:pointer}
.card button[type=submit]{width:100%;margin-top:14px;padding:13px;border:0;border-radius:3px;background:var(--ink);color:var(--paper);font-size:17px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.card .again button.link{background:none;color:var(--ink);text-decoration:underline;padding:6px 0;width:auto;font-size:15px;text-transform:none;letter-spacing:0;font-weight:400}
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#1d1d1bee;color:#eeeae0;font-size:14px;backdrop-filter:blur(6px);border-bottom:1px solid #000}
.bar .spacer{flex:1}
.status{display:inline-flex;align-items:center;gap:7px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.status .dot{width:10px;height:10px;border-radius:50%;background:#77736a}
.status.live .dot{background:var(--live);box-shadow:0 0 0 0 #e5484daa;animation:pulse 1.6s infinite}
.status.paused .dot{background:#d8a53a}
.status.offline .dot{background:#77736a}
@keyframes pulse{0%{box-shadow:0 0 0 0 #e5484d99}70%{box-shadow:0 0 0 9px #e5484d00}100%{box-shadow:0 0 0 0 #e5484d00}}
.delay{color:#b9b4a6}
.names{color:#b9b4a6;font-size:13px}
.btn{border:1px solid #eeeae0;background:#eeeae0;color:#1d1d1b;border-radius:3px;padding:6px 12px;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.btn.stop{background:var(--live);border-color:var(--live);color:#fff}
.btn.ghost{background:transparent;color:#eeeae0}
.btn:disabled{opacity:.4;cursor:default}
.signout{margin:0}
.paper{background:var(--paper);width:min(8.5in,calc(100% - 32px));margin:24px auto 120px;min-height:11in;padding:1in 1in 1in 1.5in;box-shadow:0 10px 50px #0008;font-size:16px;line-height:1.25;position:relative}
.title-page{text-align:center;margin:0 0 1.4in}
.title{font-size:22px;font-weight:700;letter-spacing:6px;text-decoration:underline;margin:0 0 18px}
.byline{margin:0;line-height:1.6}
.trans{margin:22px 0;text-transform:uppercase}
.trans.right{text-align:right}
.slug{font-weight:700;text-transform:uppercase;margin:28px 0 16px}
.block{position:relative;margin:0 0 16px}
.cue{margin:0 0 0 22ch;text-transform:uppercase}
.cue .contd{color:var(--muted)}
.dia{margin:0 0 0 10ch;max-width:36ch}
.dia p{margin:0}
.dia p+p{margin-top:.6em}
.paren{margin:0 0 0 16ch;max-width:26ch}
.tc{position:absolute;left:-1.25in;top:0;width:1in;text-align:right;font-size:11px;color:#b5b1a4;font-family:inherit}
.who-unknown .cue{color:#8a5a00}
.draft{color:var(--draft)}
.draft::after,.waiting::after{content:"";display:inline-block;width:.55em;height:1em;margin-left:2px;vertical-align:-2px;background:var(--draft);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.pending .cue{color:var(--muted)}
.note{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#1d1d1bee;color:#eeeae0;padding:8px 14px;border-radius:3px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none}
.note.show{opacity:1}
.empty{color:var(--muted);text-align:center;margin:40px 0}
@media (max-width:700px){.paper{padding:28px 16px 48px 16px;font-size:14px;min-height:auto}.cue{margin-left:12ch}.dia{margin-left:4ch}.paren{margin-left:8ch}.tc{position:static;display:block;text-align:left;width:auto;margin:0 0 2px}.title-page{margin-bottom:40px}.bar{padding:8px 10px;gap:8px}.names{display:none}}
@media print{.bar,.note,.pending{display:none}body{background:#fff}.paper{box-shadow:none;margin:0;width:auto}}
