@font-face{font-family:Thast Works;src:url(/fonts/ThastWorks.woff2) format("woff2");font-weight:350 700;font-display:swap}:root{--colour-bg: #0b0b0c;--colour-surface: #121214;--colour-text: #f1ede4;--colour-text-dim: rgba(241, 237, 228, .55);--colour-border: rgba(241, 237, 228, .14);--colour-accent: #c9a35f;--tw-black: #1a1a1a;--tw-grey: #6b6b6b;--tw-text-primary: #e3e3e3;--tw-text-secondary: #8f8f8f;--tw-text-accent: #b7b7b7;--wordmark-weight-strong: 700;--wordmark-weight-light: 350;--wordmark-nally-opacity: .45;--wordmark-tracking: .32em;--font-wordmark: "Thast Works", "Instrument Sans", sans-serif;--font-stack: "Instrument Sans", "Helvetica Neue", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--mark-height: 1.25rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--chip-ease: opacity .15s ease;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--colour-bg);color:var(--colour-text);font-family:var(--font-stack);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;min-height:100vh}.frame{display:flex;flex-direction:column;flex:1;width:100%;max-width:72rem;margin:0 auto;padding:var(--space-3) var(--space-3) var(--space-2)}.frame>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}eternally-wordmark{--wordmark-size: var(--mark-height);display:block}.brandmark{display:flex;flex-direction:column;justify-content:space-between;height:var(--mark-height);width:fit-content;font-family:var(--font-wordmark);font-weight:600;font-size:calc(var(--mark-height) / 2);line-height:1;text-transform:uppercase;user-select:none;-webkit-user-select:none}.brandmark span+span{padding-left:.34em}.frame>main{flex:1}.frame>footer{margin-top:auto}.player-video{width:100%;aspect-ratio:16 / 9;background:#000;display:block;outline:none}.video-stack,.fit-video{width:min(100%,max(calc((100dvh - 18.5rem) * 16 / 9),20rem));margin-inline:auto}.video-stack{position:relative;aspect-ratio:16 / 9;background:#000;border:1px solid var(--tw-grey);cursor:pointer}.player-osd{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--tw-text-primary);background:#0000008c;padding:.4375rem 1rem;border-radius:2px;white-space:nowrap;pointer-events:none;z-index:2}.player-osd .osd-dots{display:inline-block;width:3ch;text-align:left}.player-osd.error{color:#d08770}.video-stack:fullscreen{border:none;cursor:none;background:#000}.video-stack:fullscreen video{cursor:none}.video-stack video{position:absolute;inset:0;width:100%;height:100%;opacity:1;transition:opacity .15s ease}.video-stack video[data-active=false]{opacity:0;pointer-events:none}:root{--gap-cluster: .75rem}.player-frame{height:100dvh;padding-bottom:calc(var(--space-3) * 2)}.player-frame main{display:flex;flex-direction:column;flex:1;min-height:0}.player-frame .scrub,.player-frame .player-meta{margin-top:calc(var(--gap-cluster) - .3125rem)}.player-frame .controls{margin-block:auto;padding-block:.5rem}.player-frame .player-fields{margin-top:0}.scrub{position:relative;margin-top:.625rem;padding:.3125rem 0;cursor:pointer}.scrub-track{height:6px;border:1px solid var(--colour-border);border-radius:3px;overflow:hidden}.scrub-fill{height:100%;width:0%;background:var(--colour-accent)}.scrub-tip{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:.25rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.6875rem;letter-spacing:.06em;color:var(--tw-text-primary);background:var(--tw-black);border:1px solid var(--colour-border);border-radius:3px;padding:.125rem .375rem;white-space:nowrap;pointer-events:none}.scrub:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.player-meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.player-title{justify-self:start;font-family:var(--font-mono);letter-spacing:.08em}.player-tc{justify-self:end}.transport{display:flex;gap:.25rem;justify-self:center}.transport button{appearance:none;background:none;border:none;display:flex;align-items:center;padding:.25rem .4375rem;min-height:28px;color:var(--tw-text-secondary);opacity:.55;cursor:pointer;transition:var(--chip-ease)}.transport button:hover,.transport button.lit{opacity:1;color:var(--tw-text-primary)}.transport button:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.transport svg{height:.8125rem;width:auto;display:block}.player-title{margin:0;font-size:.8125rem;font-weight:400;letter-spacing:.04em;color:var(--colour-text-dim)}.player-tc{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.8125rem;letter-spacing:.08em;color:var(--colour-text-dim)}.player-fields{display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem 1.25rem;width:100vw;position:relative;left:50%;transform:translate(-50%);padding-inline:1.5rem;margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.06em}.player-fields .field{display:inline-flex;align-items:baseline;gap:.5em;flex-shrink:0;white-space:nowrap}.player-fields .field-label{color:var(--colour-accent);opacity:.7;text-transform:uppercase}.player-fields .field-value{color:var(--tw-text-secondary);font-variant-numeric:tabular-nums}.controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 2rem;margin-top:var(--space-2)}.control-group{display:flex;align-items:center;flex-wrap:wrap;gap:.625rem}.group-icon{height:.9375rem;width:auto;display:block;color:var(--tw-text-secondary);flex-shrink:0}.chips,.angles{display:flex;flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none}.chip,.angle{appearance:none;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:3px;padding:.375rem .875rem;min-height:32px;cursor:pointer;opacity:.38;transition:var(--chip-ease);user-select:none;-webkit-user-select:none;touch-action:manipulation}.chip[aria-pressed=true],.angle[aria-pressed=true]{opacity:1;border-color:var(--colour-accent)}.chip:focus-visible,.angle:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.panel{max-width:22rem;margin:0 auto;padding-top:var(--space-5)}.panel h1{font-size:1rem;font-weight:500;letter-spacing:.03em;margin:0 0 var(--space-1)}.panel p{margin:0 0 var(--space-3);color:var(--colour-text-dim);font-size:.875rem}.field{display:block;margin-bottom:var(--space-2)}.field span{display:block;font-size:.75rem;letter-spacing:.06em;color:var(--colour-text-dim);margin-bottom:.375rem}.field input{width:100%;font:inherit;color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:4px;padding:.625rem .75rem;min-height:44px}.field input:focus-visible{outline:2px solid var(--colour-accent);outline-offset:1px}.button{appearance:none;font:inherit;font-size:.875rem;letter-spacing:.04em;width:100%;min-height:44px;padding:.625rem 1rem;border-radius:4px;border:1px solid var(--colour-accent);background:transparent;color:var(--colour-text);cursor:pointer;margin-bottom:var(--space-1)}.button.secondary{border-color:var(--colour-border);color:var(--colour-text-dim)}.button:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.arriving-bar{height:1px;background:var(--colour-border);margin:var(--space-3) 0 var(--space-1)}.arriving-bar span{display:block;height:1px;background:var(--colour-accent)}.arriving-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.75rem;letter-spacing:.08em;color:var(--colour-text-dim)}.notice{font-size:.8125rem;color:var(--colour-text-dim);margin-top:var(--space-2);overflow-wrap:anywhere}.notice.error{color:#d08770}.console table{width:100%;border-collapse:collapse;font-size:.875rem}.console th,.console td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--colour-border);vertical-align:top}.console th{font-weight:500;font-size:.75rem;letter-spacing:.06em;color:var(--colour-text-dim)}.console section{margin-bottom:var(--space-4)}.console h2{font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--colour-text-dim);margin:0 0 var(--space-2)}.console .row-actions button{appearance:none;font:inherit;font-size:.75rem;background:none;border:1px solid var(--colour-border);border-radius:4px;color:var(--colour-text);padding:.25rem .625rem;cursor:pointer;margin-right:.375rem;min-height:32px}.console input[type=text],.console input[type=datetime-local],.console select{font:inherit;font-size:.875rem;color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:4px;padding:.5rem .625rem;min-height:40px}
