:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d0f;--panel:#12171a;--panel-2:#171d21;--sunk:#0e1214;--raise:#1e262b;--ink:#e6eceb;--ink-2:#c3cdcc;--muted:#879496;--line:#222a2f;--line-2:#2d373d;--accent:#00d4e8;--accent-soft:#06303a;--brand-blue:#0057ff;--brand-cyan:#00d4e8;--brand-navy:#071436;--onair:#f2493b;--onair-soft:#3a1512;--cue:#f2b544;--cue-soft:#3a2c0e;--live:#4fcb86;--live-soft:#12301f;--auto:#9c8cff;--auto-soft:#221e42;--warn:#f07a66;--t-song:#5aa9e6;--t-jingle:#c08cff;--t-spot:#f2b544;--t-time:#3fd0c9;--t-live:#f2493b;--t-news:#e57ab3;--t-filler:#6b7b80;--f-display:"Chakra Petch", "Bahnschrift", "Arial Narrow", sans-serif;--f-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--r:8px;--side-w:232px}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0ee;--panel:#fff;--panel-2:#f7f8f7;--sunk:#e7eae7;--raise:#f1f3f1;--ink:#121719;--ink-2:#2e3a3d;--muted:#5b6769;--line:#dadfdc;--line-2:#c9d0cd;--accent:#0057ff;--accent-soft:#dce7ff;--onair:#d2321f;--onair-soft:#fbe2de;--cue:#a86a00;--cue-soft:#f7eacb;--live:#23824c;--live-soft:#dbf0e3;--auto:#5a49c8;--auto-soft:#e6e2fa;--warn:#c23e2c;--t-song:#2f7fbf;--t-jingle:#8a4fd6;--t-spot:#b87800;--t-time:#10938c;--t-live:#d2321f;--t-news:#b8457f;--t-filler:#7a888c}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0ee;--panel:#fff;--panel-2:#f7f8f7;--sunk:#e7eae7;--raise:#f1f3f1;--ink:#121719;--ink-2:#2e3a3d;--muted:#5b6769;--line:#dadfdc;--line-2:#c9d0cd;--accent:#0057ff;--accent-soft:#dce7ff;--onair:#d2321f;--onair-soft:#fbe2de;--cue:#a86a00;--cue-soft:#f7eacb;--live:#23824c;--live-soft:#dbf0e3;--auto:#5a49c8;--auto-soft:#e6e2fa;--warn:#c23e2c;--t-song:#2f7fbf;--t-jingle:#8a4fd6;--t-spot:#b87800;--t-time:#10938c;--t-live:#d2321f;--t-news:#b8457f;--t-filler:#7a888c}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 14px/1.45 var(--f-body);font-feature-settings:"tnum" 1;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:600}.mono{font-family:var(--f-mono)}.num{font-family:var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:.01em}.muted{color:var(--muted)}.label{font:500 10.5px/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--side-w) minmax(0, 1fr);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app>.onair,.app>.topbar{grid-column:1/-1}.side{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:14px;min-width:0;padding:14px 10px 20px;display:flex}.main{align-content:start;gap:16px;width:100%;min-width:0;max-width:1760px;padding:18px 20px 48px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;display:flex}.page-head h1{font:600 24px/1.1 var(--f-display)}.crumbs{font:400 12px/1.2 var(--f-mono);color:var(--muted);margin-bottom:6px}.crumbs b{color:var(--ink-2);font-weight:500}.switch{border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2);align-items:center;gap:10px;padding:8px;display:flex}.switch .mark{flex:none}.switch b{font:600 13px/1.2 var(--f-body);display:block}.switch span{font:400 11px/1.2 var(--f-mono);color:var(--muted)}.switch .chev{color:var(--muted);margin-left:auto}.nav{gap:2px;display:grid}.nav .grp>a{color:var(--ink-2);border-radius:6px;align-items:center;gap:10px;padding:7px 9px;font-weight:500;display:flex}.nav .grp>a:hover{background:var(--raise)}.nav .grp>a svg{opacity:.85;flex:none;width:16px;height:16px}.nav .grp.on>a{color:var(--ink);background:var(--raise)}.nav .sub{border-left:1px solid var(--line-2);gap:1px;margin:2px 0 6px 18px;padding-left:9px;display:grid}.nav .sub a{color:var(--muted);border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:flex}.nav .sub a:hover{color:var(--ink)}.nav .sub a.on{color:var(--accent);background:var(--accent-soft);font-weight:500}.ph{font:600 9px/1 var(--f-mono);letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:3px;padding:2px 4px}.ph.f3{color:var(--auto);background:var(--auto-soft)}.me{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:14px 8px 8px;display:flex}.avatar{width:30px;height:30px;font:600 12px/1 var(--f-display);background:var(--auto-soft);color:var(--auto);border-radius:50%;flex:none;place-items:center;display:grid}.me b{font-size:13px;display:block}.me span{color:var(--muted);font-size:11.5px}.mark{width:34px;height:34px;font:700 13px/1 var(--f-display);color:#fff;background:linear-gradient(135deg, var(--brand-blue), var(--brand-cyan));letter-spacing:.02em;border-radius:8px;place-items:center;display:grid}.mark.lg{border-radius:10px;width:44px;height:44px;font-size:16px}.onair{z-index:20;background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.oa-main{grid-template-columns:auto auto minmax(260px,1.5fr) minmax(200px,1fr) auto;align-items:stretch;gap:0;display:grid}.oa-cell{border-right:1px solid var(--line);align-content:center;gap:4px;min-width:0;padding:10px 16px;display:grid}.oa-cell:last-child{border-right:0}.oa-id{grid-auto-flow:column;justify-content:start;align-items:center;gap:12px}.oa-id b{font:600 15px/1.15 var(--f-display);white-space:nowrap;display:block}.oa-id span{font:400 11px/1.2 var(--f-mono);color:var(--muted)}.pill{font:600 10.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.pill.onair{background:var(--onair);color:#fff}.pill.onair:before{content:"";background:#fff;border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite blink}@keyframes blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.pill.onair:before{animation:none}}.oa-clock .t{font:600 34px/1 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:.02em}.oa-clock .d{font:400 11px/1.2 var(--f-mono);color:var(--muted)}.oa-now{background:linear-gradient(90deg, var(--onair-soft), transparent 70%)}.oa-now .row,.oa-next .row{align-items:baseline;gap:10px;min-width:0;display:flex}.oa-now .title{font:600 17px/1.2 var(--f-body);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.oa-now .title em,.oa-next .title em{color:var(--muted);font-style:normal;font-weight:400}.oa-now .remain{font:600 28px/1 var(--f-display);color:var(--cue);font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.oa-now .remain.end{color:var(--onair)}.prog{background:var(--line-2);border-radius:3px;height:5px;position:relative;overflow:hidden}.prog i{background:var(--onair);border-radius:3px;position:absolute;inset:0 auto 0 0}.prog .intro{background:var(--cue);width:2px;position:absolute;top:0;bottom:0}.oa-meta{font:400 11.5px/1.2 var(--f-mono);color:var(--muted);gap:12px;display:flex}.oa-next .title{font:500 14px/1.25 var(--f-body);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.oa-next .at{font:500 12px/1 var(--f-mono);color:var(--cue);flex:none}.oa-listen{grid-auto-flow:column;align-items:center;gap:12px}.oa-listen .n{font:600 28px/1 var(--f-display);font-variant-numeric:tabular-nums}.oa-listen svg{width:84px;height:30px;display:block}.oa-strip{border-top:1px solid var(--line);background:var(--sunk);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:7px 16px;font-size:12.5px;display:flex}.src{font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:4px;align-items:center;gap:7px;padding:5px 8px;display:inline-flex}.src.studio{background:var(--live-soft);color:var(--live)}.src.auto{background:var(--auto-soft);color:var(--auto)}.src.dj{background:var(--onair-soft);color:var(--onair)}.src:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.leds{flex-wrap:wrap;gap:12px;display:flex}.led{font:400 11.5px/1 var(--f-mono);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.led:before{content:"";background:var(--live);width:8px;height:8px;box-shadow:0 0 6px var(--live);border-radius:50%}.led.warn:before{background:var(--cue);box-shadow:0 0 6px var(--cue)}.led.down:before{background:var(--onair);box-shadow:0 0 6px var(--onair)}.led.off:before{background:var(--line-2);box-shadow:none}.strip-sep{background:var(--line-2);width:1px;height:16px}.oa-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.btn{border:1px solid var(--line-2);background:var(--panel-2);font:500 12.5px/1.2 var(--f-body);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.pri{background:var(--accent);border-color:var(--accent);color:#04151c}.btn.danger{color:var(--onair);border-color:color-mix(in srgb, var(--onair) 45%, var(--line-2))}.btn.sm{padding:4px 8px;font-size:12px}.btn kbd{font:500 10px/1 var(--f-mono);color:var(--muted);border:1px solid var(--line-2);border-radius:3px;padding:2px 4px}.chip{font:500 12px/1 var(--f-body);border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip.warn{border-color:color-mix(in srgb, var(--cue) 50%, var(--line-2));color:var(--cue)}.tag{font:500 10.5px/1 var(--f-mono);background:var(--raise);color:var(--ink-2);white-space:nowrap;border-radius:4px;padding:3px 6px}.ty{font:600 10px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--c,var(--t-song));white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.ty:before{content:"";background:var(--c,var(--t-song));border-radius:2px;width:8px;height:8px}.ty.song{--c:var(--t-song)}.ty.jingle{--c:var(--t-jingle)}.ty.spot{--c:var(--t-spot)}.ty.time{--c:var(--t-time)}.ty.live{--c:var(--t-live)}.ty.news{--c:var(--t-news)}.ty.filler{--c:var(--t-filler)}.timing{font:600 10px/1 var(--f-mono);letter-spacing:.06em;white-space:nowrap;border-radius:3px;padding:3px 5px}.timing.hard{background:var(--onair-soft);color:var(--onair)}.timing.soft{background:var(--cue-soft);color:var(--cue)}.grid{gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-width:0}.card>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.card>header h2{font:600 14px/1.2 var(--f-display);letter-spacing:.02em}.card>header .hint{font:400 11.5px/1.2 var(--f-mono);color:var(--muted)}.card .body{padding:12px 14px}.tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);gap:4px;padding:12px 14px;display:grid}.tile .v{font:600 30px/1 var(--f-display);font-variant-numeric:tabular-nums}.tile .v small{color:var(--muted);margin-left:2px;font-size:15px;font-weight:500}.tile .d{font:400 11.5px/1.3 var(--f-mono);color:var(--muted)}.tile .d .up{color:var(--live)}.tile .d .dn{color:var(--onair)}.tile.hl{border-color:color-mix(in srgb, var(--onair) 50%, var(--line));box-shadow:inset 3px 0 0 var(--onair)}.tw{overflow-x:auto}table.t th{text-align:left;font:500 10.5px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--panel-2);padding:8px 10px;position:sticky;top:0}table.t tr.sel td{background:var(--accent-soft)}table.t tr:hover td{background:var(--raise)}table.t tr.sel:hover td{background:var(--accent-soft)}table.t .r{text-align:right}.tm{font:400 12.5px/1 var(--f-mono);color:var(--ink-2);white-space:nowrap}.bar{background:var(--line-2);border-radius:4px;height:7px;overflow:hidden}.bar>i{background:var(--accent);border-radius:4px;height:100%;display:block}.bar.warn>i{background:var(--cue)}.bar.crit>i{background:var(--onair)}.events{margin:0;padding:0;list-style:none;display:grid}.events li{border-bottom:1px solid var(--line);grid-template-columns:62px 18px 1fr;align-items:start;gap:8px;padding:7px 14px;font-size:13px;display:grid}.events li:last-child{border-bottom:0}.events .tm{color:var(--muted);padding-top:2px;font-size:11.5px}.events .ic{background:var(--muted);border-radius:50%;width:8px;height:8px;margin-top:6px}.events .ok{background:var(--live)}.events .wr{background:var(--cue)}.events .er{background:var(--onair)}.events .in{background:var(--accent)}.events small{color:var(--muted);font-size:12px;display:block}.note{color:var(--muted);font-size:12.5px}.callout{border-radius:var(--r);border:1px solid color-mix(in srgb, var(--onair) 45%, var(--line));background:var(--onair-soft);align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.callout.cue{border-color:color-mix(in srgb, var(--cue) 45%, var(--line));background:var(--cue-soft)}.callout.ok{border-color:color-mix(in srgb, var(--live) 45%, var(--line));background:var(--live-soft)}.callout b{font-weight:600}.field{border:1px solid var(--line-2);background:var(--sunk);color:var(--muted);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:7px 10px;font-size:13px;display:flex}.field svg{flex:none;width:15px;height:15px}.field .v{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.theme{z-index:30;position:fixed;bottom:14px;right:14px}@media (width<=1280px){.oa-main{grid-template-columns:auto auto minmax(0,1fr) minmax(0,.8fr)}.oa-listen{display:none}}@media (width<=1080px){:root{--side-w:200px}.oa-main{grid-template-columns:auto auto minmax(0,1fr)}.oa-next{border-top:1px solid var(--line);grid-column:1/3}.oa-listen{border-top:1px solid var(--line);grid-column:3;justify-content:space-between;display:grid}}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.side{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:10px;padding:8px 16px;overflow-x:auto}.side .switch{flex:none}.side .nav{gap:2px;display:flex}.side .nav .grp>a{white-space:nowrap}.side .nav .sub,.side .me{display:none}.main{padding:14px 16px 40px}.oa-main{grid-template-columns:minmax(0,1fr) auto}.oa-id{grid-column:1}.oa-clock{text-align:right;border-right:0;grid-column:2}.oa-now{border-top:1px solid var(--line);border-right:0;grid-column:1/-1}.oa-next{grid-column:1/-1}.oa-listen{display:none}.oa-clock .t{font-size:26px}.oa-now .remain{font-size:24px}.oa-actions{margin-left:0}.onair,.topbar{position:static}.oa-next .oa-meta,.strip-sep{display:none}.oa-strip{gap:6px 12px}.oa-id div span{display:none}}@media (width<=480px){.oa-cell{padding:8px 16px}.oa-id .pill{display:none}.page-head h1{font-size:20px}}#app{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:var(--panel);z-index:20;align-items:center;gap:14px;padding:10px 18px;display:flex;position:sticky;top:0}.brand{font:700 18px/1 var(--f-display);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:10px;display:flex}.brand img{width:30px;height:30px}.brand .word{font-weight:700}.brand .word span{color:var(--muted);font-weight:400}.brand .scope{font:500 10.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:4px 6px}.topbar .clock{text-align:right;margin-left:auto}.topbar .clock .t{font:600 22px/1 var(--f-display);font-variant-numeric:tabular-nums}.topbar .clock .d{font:400 10.5px/1.2 var(--f-mono);color:var(--muted)}.topbar .user{align-items:center;gap:8px;display:flex}.menu-btn{display:none}.field{gap:5px;display:grid}.field>span{font:500 12px/1.2 var(--f-body);color:var(--ink-2)}.field small{color:var(--muted);font-size:11.5px}.input,select.input,textarea.input{border:1px solid var(--line-2);background:var(--sunk);width:100%;color:var(--ink);font:400 14px/1.3 var(--f-body);border-radius:6px;padding:8px 10px}.input:focus{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:1px;border-color:var(--accent)}.input.code{font:600 22px/1 var(--f-mono);letter-spacing:.3em;text-align:center}.form{gap:12px;display:grid}.form .row2{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;display:grid}.err{color:var(--onair);font-size:12.5px}.ok-msg{color:var(--live);font-size:12.5px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.55;cursor:default}.auth{background:radial-gradient(1200px 600px at 80% -10%, color-mix(in srgb, var(--brand-blue) 22%, transparent), transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:18px;width:min(400px,100%);padding:28px;display:grid}.auth-card .brand{font-size:22px}.auth-card h1{font:600 18px/1.2 var(--f-display)}.auth-card p{color:var(--muted);margin:0;font-size:13px}.auth-foot{font:400 11px/1.4 var(--f-mono);color:var(--muted);text-align:center}table.t{border-collapse:collapse;width:100%;font-size:13px}table.t th{text-align:left;font:500 10.5px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 14px}table.t td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 14px}table.t tr:last-child td{border-bottom:0}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--raise)}table.t .indent{width:calc(var(--depth,0) * 18px);display:inline-block}.status{font:600 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;gap:7px;padding:4px 7px;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status.ok{color:var(--live);background:var(--live-soft)}.status.syncing{color:var(--cue);background:var(--cue-soft)}.status.offline,.status.suspended{color:var(--onair);background:var(--onair-soft)}.status.pending,.status.maintenance{color:var(--muted);background:var(--raise)}.status.active{color:var(--live);background:var(--live-soft)}.status.ok:before,.status.active:before{box-shadow:0 0 6px}.scrim{z-index:50;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--line-2);border-radius:12px;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto}.dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.dialog>header h2{font:600 16px/1.2 var(--f-display)}.dialog .body{gap:14px;padding:16px 18px;display:grid}.dialog footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.copy{border:1px solid var(--line-2);background:var(--sunk);border-radius:6px;align-items:stretch;display:flex;overflow:hidden}.copy code{font:400 12.5px/1.4 var(--f-mono);white-space:nowrap;color:var(--accent);flex:1;padding:9px 10px;overflow-x:auto}.copy button{border:0;border-left:1px solid var(--line-2);background:var(--panel-2);cursor:pointer;font:500 12px/1 var(--f-body);padding:0 12px}.empty{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:28px 16px;display:grid}.empty b{color:var(--ink-2);font-size:14px}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--muted);font:400 12px/1.5 var(--f-mono)}.kv dd{overflow-wrap:anywhere;margin:0}.toast{z-index:60;background:var(--panel);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:8px;max-width:min(420px,100vw - 32px);padding:10px 14px;font-size:13px;position:fixed;bottom:16px;right:16px}.toast.error{border-left-color:var(--onair)}.qr{background:#fff;border-radius:8px;width:max-content;padding:12px}.codes{font:500 13px/1.6 var(--f-mono);grid-template-columns:repeat(2,1fr);gap:4px 16px;display:grid}@media (width<=860px){.app{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);display:none}.side.open{display:flex}.menu-btn{display:inline-flex}.topbar .clock .d{display:none}.topbar{gap:10px;padding:8px 12px}.main{padding:14px 12px 40px}}
