@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap";:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;--color-accent-2:#e15b47;--color-divider:#201e1d66;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;--color-accent-2-100:#fff2ef;--color-accent-2-200:#ffe0da;--color-accent-2-300:#ffc4b9;--color-accent-2-400:#ff9784;--color-accent-2-500:#ef6853;--color-accent-2-600:#c94b39;--color-accent-2-700:#9e3526;--color-accent-2-800:#71261b;--color-accent-2-900:#471d16;--font-heading:"Archivo", system-ui, sans-serif;--font-heading-weight:800;--font-body:"Archivo", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.grayscale{filter:grayscale()contrast(1.08)}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hr{height:2px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2);text-align:left;justify-content:flex-start}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-divider);display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:2px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table tbody tr:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 50%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}body{margin:0}a{color:var(--color-accent)}a:hover{color:var(--color-accent-600)}code{font-size:13px}.app{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-body)}.label-sm{text-transform:uppercase;letter-spacing:.08em;color:var(--color-neutral-700);font-size:11px}.muted{color:var(--color-neutral-700)}.muted-800{color:var(--color-neutral-800)}.num{font-variant-numeric:tabular-nums}.field-error{min-height:0;color:var(--color-accent-700);font-size:12px;font-weight:600;display:block}.field-hint{color:var(--color-neutral-700);font-size:12px}.rule{background:var(--color-divider);height:2px}.btn-start{white-space:nowrap;justify-content:flex-start}.btn-big{justify-content:flex-start;padding:14px 16px;font-size:16px}.btn-icon:hover{color:var(--color-accent)}.btn.disabled{opacity:.45;pointer-events:none}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.check input{accent-color:var(--color-accent);width:16px;height:16px}.square{flex:none;width:8px;height:8px}.cells{background:var(--color-divider);gap:2px;display:grid}.cell{background:var(--color-bg)}.login{grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));min-height:100vh;display:grid}.login-poster{background:var(--color-accent);color:var(--color-bg);padding:var(--space-6);justify-content:space-between;gap:var(--space-6);flex-direction:column;min-height:320px;display:flex}.login-poster-title{font-family:var(--font-heading);letter-spacing:-.03em;font-size:clamp(52px,7vw,104px);font-weight:900;line-height:.9}.login-poster-sub{max-width:420px;font-size:17px}.login-poster-url{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.login-form-wrap{padding:var(--space-6);align-items:center;display:flex}.login-form{gap:var(--space-4);flex-direction:column;width:100%;max-width:400px;display:flex}.login-form h1{margin:0;font-size:32px}.form-alert{padding:var(--space-3);border:2px solid var(--color-accent);color:var(--color-accent-700);font-size:14px;font-weight:600}.form-note{padding:var(--space-3);background:var(--color-surface);font-size:13px;line-height:1.5}.mark{background:var(--color-bg);color:var(--color-accent);font-family:var(--font-heading);align-items:flex-end;font-weight:900;line-height:1;display:flex}.mark-lg{width:56px;height:56px;padding:5px 7px;font-size:24px}.mark-sm{background:var(--color-accent);width:40px;height:40px;color:var(--color-bg);padding:4px 5px;font-size:17px}.shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.side{z-index:40;background:var(--color-bg);border-right:2px solid var(--color-divider);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.side-head{padding:var(--space-4);border-bottom:2px solid var(--color-divider);gap:var(--space-2);flex-direction:column;display:flex}.side-head-row{justify-content:space-between;align-items:flex-start;display:flex}.side-station{font-family:var(--font-heading);font-size:16px;font-weight:800;line-height:1.15}.side-nav{flex-direction:column;flex:1;display:flex}.nav-item{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;font:inherit;color:var(--color-text);padding:12px var(--space-4);border-bottom:1px solid var(--color-divider);font-size:14px;text-decoration:none;transition:padding .18s,box-shadow .18s;display:flex}.nav-item:hover{box-shadow:inset 4px 0 0 var(--color-accent);color:var(--color-text);padding-left:24px}.nav-item.active{background:var(--color-text);color:var(--color-bg);font-weight:700}.nav-badge{font-size:11px}.nav-badge.live{color:var(--color-accent)}.side-foot{padding:var(--space-4);border-top:2px solid var(--color-divider);align-items:center;gap:var(--space-2);display:flex}.side-user{flex-direction:column;gap:2px;min-width:0;margin-right:auto;font-size:12px;display:flex}.side-user strong{font-size:13px}.scrim{z-index:39;background:color-mix(in srgb, var(--color-text) 45%, transparent);position:fixed;inset:0}.main{flex-direction:column;min-width:0;display:flex}.header{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:2px solid var(--color-divider);flex-wrap:wrap;display:flex}.header h1{margin:0 auto 0 0;font-size:28px}.live-pill{background:var(--color-accent);color:var(--color-bg);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;padding:5px 10px;font-size:12px;font-weight:700;display:flex}.live-pill .square{background:var(--color-bg);animation:1.2s ease-in-out infinite pulse}.header-stat{color:var(--color-neutral-800);font-size:13px}.header-clock{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.ticker{border-bottom:2px solid var(--color-divider);background:var(--color-text);height:32px;color:var(--color-bg);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:12px;font-weight:600;display:flex;overflow:hidden}.ticker-track{white-space:pre;will-change:transform;animation:40s linear infinite ticker;display:flex}.role-banner{padding:10px var(--space-6);border-bottom:2px solid var(--color-divider);background:var(--color-surface);font-size:13px}.stage{flex-direction:column;flex:1;min-width:0;animation:.36s cubic-bezier(.2,.7,.2,1) enter;display:flex}.skeleton{padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.skeleton-bar{background:var(--color-neutral-300);height:14px}.skeleton-row{gap:var(--space-4);border-bottom:1px solid var(--color-divider);grid-template-columns:2fr 1fr 1fr 64px;padding:12px 0;display:grid}.error-panel{padding:var(--space-6);gap:var(--space-3);flex-direction:column;align-items:flex-start;max-width:600px;display:flex}.error-panel h2{margin:0;font-size:26px}.error-panel p{color:var(--color-neutral-800);margin:0}.empty{padding:var(--space-6);gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.empty strong{font-family:var(--font-heading);font-size:20px}.empty span{color:var(--color-neutral-800);max-width:480px;font-size:14px}.toast{bottom:var(--space-6);right:var(--space-6);z-index:60;background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-lg);padding:12px 16px;font-size:14px;position:fixed}.air{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}@media (width<=819px){.air{grid-template-columns:minmax(0,1fr)}}.hero{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));display:grid;overflow:hidden}.hero-main{padding:var(--space-6);gap:var(--space-4);perspective:900px;flex-direction:column;justify-content:space-between;min-width:0;min-height:340px;display:flex}.hero-tilt{gap:var(--space-2);transform-style:preserve-3d;flex-direction:column;transition:transform .25s ease-out;display:flex}.hero-title{font-family:var(--font-heading);letter-spacing:-.03em;text-wrap:pretty;overflow-wrap:anywhere;font-size:clamp(40px,5.2vw,76px);font-weight:900;line-height:.92;transform:translateZ(40px)}.hero-artist{color:var(--color-neutral-800);font-size:17px;transform:translateZ(20px)}.progress{background:var(--color-neutral-300);height:6px}.progress>div{background:var(--color-accent);height:100%;transition:width 1s linear}.progress-times{font-variant-numeric:tabular-nums;color:var(--color-neutral-700);justify-content:space-between;font-size:12px;display:flex}.btn-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.hero.live{background:var(--color-accent);color:var(--color-bg)}.hero.live .hero-main{gap:var(--space-3)}.hero-live-top{justify-content:space-between;gap:var(--space-4);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;font-size:12px;font-weight:700;display:flex}.hero-onair{font-family:var(--font-heading);letter-spacing:-.035em;text-shadow:1px 1px 0 var(--color-accent-700), 2px 2px 0 var(--color-accent-700), 3px 3px 0 var(--color-accent-700), 4px 4px 0 var(--color-accent-700), 5px 5px 0 var(--color-accent-800), 6px 6px 0 var(--color-accent-800), 7px 7px 0 var(--color-accent-800), 8px 8px 0 var(--color-accent-900), 9px 9px 0 var(--color-accent-900);font-size:clamp(64px,9vw,136px);font-weight:900;line-height:.88}.hero-live-bottom{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;margin-top:auto;display:flex}.hero-live-name{font-family:var(--font-heading);font-size:26px;font-weight:800;line-height:1.1}.hero-live-clock{font-family:var(--font-heading);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800}.viz{border-left:2px solid var(--color-divider);background:var(--color-surface);min-height:320px;position:relative}.hero.live .viz{border-left-color:var(--color-accent-700);background:0 0}.viz canvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.viz canvas:active{cursor:grabbing}.viz-controls{top:var(--space-3);left:var(--space-4);right:var(--space-4);gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;display:flex;position:absolute}.viz-controls .seg{background:var(--color-bg);color:var(--color-text)}.viz-controls .seg-opt{white-space:nowrap;padding:5px 10px;font-size:12px}.viz-monitor{background:var(--color-bg)}.viz-foot{left:var(--space-4);right:var(--space-4);bottom:var(--space-3);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);pointer-events:none;justify-content:space-between;font-size:11px;font-weight:600;display:flex;position:absolute}.hero.live .viz-foot{color:var(--color-bg)}.panel{padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.panel h6{margin:0}.panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.kv{gap:6px var(--space-4);padding:var(--space-3);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);font-size:13px;display:grid}.desk{background:var(--color-bg);outline:none;grid-column:1/-1}.desk-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:2px solid var(--color-divider);flex-wrap:wrap;display:flex}.desk-head h6{margin:0}.desk-note{padding:var(--space-4) var(--space-6);font-size:14px}.desk-grid{background:var(--color-divider);gap:2px;display:grid}.desk-top{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.desk-grid-encoder{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.field-label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.seg-block{margin-bottom:6px;display:flex}.seg-block .seg-opt{flex:1}.desk-bank{background:var(--color-divider);border-top:2px solid var(--color-divider);grid-auto-columns:minmax(156px,1fr);grid-auto-flow:column;gap:2px;display:grid;overflow-x:auto}.bank-add{font:inherit;color:inherit;text-align:left;cursor:pointer;background:repeating-linear-gradient(-45deg, var(--color-bg) 0 10px, var(--color-surface) 10px 20px);border:0;justify-content:center;align-items:flex-start}.bank-add:hover{background:var(--color-surface)}.bank-add:hover svg{color:var(--color-accent)}.strip-name-input{min-width:0;font:inherit;font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);border:0;border-bottom:1px dashed var(--color-divider);background:0 0;flex:1;padding:2px 0;font-size:14px;font-weight:800}.strip-name-input::placeholder{color:var(--color-text);opacity:1}.strip-name-input:hover,.strip-name-input:focus-visible{border-bottom-color:var(--color-accent);outline:none}.strip-remove{width:24px;height:24px}.seg-sm .seg-opt{justify-content:flex-start;padding:4px 8px;font-size:12px}.desk-callout{padding:var(--space-3);background:var(--color-surface);border-left:3px solid var(--color-text);font-size:12px;line-height:1.5}.midi-bar{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin-right:auto;font-size:13px;display:flex}.midi-bar svg{vertical-align:-2px;margin-right:4px;display:inline}.midi-chip{letter-spacing:.1em;border:1px solid var(--color-text);align-self:flex-start;padding:1px 5px;font-size:9px;font-weight:700}.midi-learn-row{align-items:center;gap:2px;display:flex}.midi-learn{letter-spacing:.06em;text-transform:uppercase;border:1px dashed var(--color-text);flex:1;justify-content:flex-start;padding:3px 8px;font-size:11px}.midi-learn.is-bound{background:var(--color-text);color:var(--color-bg);border-style:solid}.midi-learn.is-waiting{border:2px solid var(--color-accent);color:var(--color-accent-700);animation:1s ease-in-out infinite pulse}.midi-unlink{width:22px;height:22px;font-size:14px}.checklist{flex-direction:column;gap:6px;display:flex}.check-item{color:var(--color-neutral-800);grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:8px;font-size:13px;line-height:1.4;display:grid}.check-item input{opacity:0;width:0;height:0;position:absolute}label.check-item{cursor:pointer}label.check-item:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.check-item svg{color:var(--color-neutral-500);margin-top:2px}.check-item.is-done svg,.check-item strong{color:var(--color-text)}.check-action{padding:0 4px;font-size:13px}.onair-steps{font-family:var(--font-heading);flex-direction:column;gap:6px;margin:0;padding:0;font-size:18px;font-weight:800;list-style:none;display:flex}.onair-steps li{color:var(--color-neutral-500)}.onair-steps li.is-now{color:var(--color-text)}.onair-steps li.is-now:after{content:" …"}.onair-steps li.is-done{color:var(--color-neutral-700);text-decoration:line-through;text-decoration-thickness:2px}.desk-cell{background:var(--color-bg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.desk-switches{gap:var(--space-2);flex-direction:column;display:flex}.desk-tip{color:var(--color-neutral-800);margin:0;font-size:12px;line-height:1.45}.desk-tip svg{vertical-align:-2px;margin-right:4px;display:inline}.strip-head{justify-content:space-between;align-items:baseline;gap:4px var(--space-2);flex-wrap:wrap;display:flex}.strip-name{white-space:nowrap;font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;font-size:14px;font-weight:800}.strip-chip{letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);border:1px solid var(--color-divider);padding:1px 6px;font-size:10px;font-weight:700}.strip-chip.is-muted{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.strip-title{white-space:nowrap;text-overflow:ellipsis;min-height:18px;font-size:12px;font-weight:600;overflow:hidden}.strip-body{gap:var(--space-3);height:200px;display:flex}.strip.is-idle .strip-body,.strip.is-idle .strip-title{opacity:.5}.strip-key{border:2px solid var(--color-text);justify-content:flex-start;padding:8px 10px;font-size:13px}.strip-key:hover:not(:disabled){background:color-mix(in srgb, var(--color-text) 8%, transparent)}.strip-key.is-on{background:var(--color-text);color:var(--color-bg)}.strip-key.is-on:hover{background:var(--color-neutral-800)}.strip-opts{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.strip-link{align-self:flex-start;padding-left:0}.strip-scale{color:var(--color-neutral-700);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;font-size:10px;display:flex}.input-sm{width:auto;min-height:28px;padding:2px 6px;font-size:12px}.meter-v{flex:none;width:18px;height:100%;display:block}.fader{flex-direction:column;align-items:center;gap:6px;height:100%;display:flex}.fader input[type=range]{appearance:none;writing-mode:vertical-lr;cursor:pointer;background:linear-gradient(var(--color-neutral-400), var(--color-neutral-400)) center / 4px 100% no-repeat;direction:rtl;flex:1;width:34px;min-height:0;margin:0}.fader input[type=range]:disabled{cursor:not-allowed;opacity:.45}.fader input[type=range]::-webkit-slider-runnable-track{background:0 0}.fader input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-text);width:34px;height:16px;box-shadow:inset 0 -3px 0 var(--color-bg), inset 0 -5px 0 var(--color-text);border:0;border-radius:0}.fader input[type=range]::-moz-range-track{background:0 0}.fader input[type=range]::-moz-range-thumb{background:var(--color-text);border:0;border-radius:0;width:34px;height:16px}.fader input[type=range]:hover::-webkit-slider-thumb{background:var(--color-neutral-800)}.fader-db{white-space:nowrap;font-size:11px;font-weight:600}.switch{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-box{border:1px solid var(--color-divider);min-width:34px;color:var(--color-neutral-700);letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;font-size:10px;font-weight:700}.switch input:checked+.switch-box{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.switch input:focus-visible+.switch-box{outline:2px solid var(--color-accent);outline-offset:2px}.switch.is-disabled{opacity:.45;cursor:not-allowed}.onair-go{min-height:132px;padding:var(--space-4);font-family:var(--font-heading);letter-spacing:-.02em;justify-content:flex-start;align-items:flex-end;font-size:30px;font-weight:900}.onair-key.is-live{background:var(--color-accent);color:var(--color-bg)}.onair-key.is-live .field-hint,.onair-key.is-live .field-error{color:var(--color-bg)}.onair-key.is-live .seg{opacity:.6;border-color:var(--color-accent-700)}.onair-live{gap:var(--space-2);flex-direction:column;justify-content:flex-end;min-height:132px;display:flex}.onair-lamp{font-family:var(--font-heading);letter-spacing:-.03em;font-size:48px;font-weight:900;line-height:.9}.onair-clock{font-family:var(--font-heading);font-size:26px;font-weight:800}.onair-wait{font-family:var(--font-heading);font-size:22px;font-weight:800}.onair-end{border:2px solid var(--color-bg);color:var(--color-bg);justify-content:flex-start;padding:10px 12px}.onair-end:hover{background:color-mix(in srgb, var(--color-bg) 16%, transparent)}.header-mute{border:2px solid var(--color-text);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-size:12px}.header-mute.is-on{background:var(--color-text);color:var(--color-bg)}@media (width<=1023px){.desk-top{grid-template-columns:minmax(0,1fr)}}@media (width<=819px){.desk-head{padding-inline:var(--space-4)}.desk-cell{padding:var(--space-3)}.desk-bank{grid-auto-columns:minmax(136px,1fr)}.strip-body{gap:var(--space-2);height:170px}.strip-scale{display:none}.onair-go,.onair-live{min-height:96px}}.queue-row{gap:var(--space-3);border-bottom:1px solid var(--color-divider);grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;padding:10px 0;transition:transform .2s;display:grid}.queue-row:hover{transform:translate(6px)}.queue-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.queue-row .btn-icon{width:28px;height:28px}.big-number{font-family:var(--font-heading);font-size:56px;font-weight:900;line-height:1}.spark{align-items:flex-end;gap:2px;height:96px;display:flex}.spark>div{background:var(--color-neutral-400);transform-origin:bottom;flex:1;transition:height .6s;animation:.64s cubic-bezier(.2,.7,.2,1) backwards grow}.spark>div.now{background:var(--color-accent)}.spark-axis{color:var(--color-neutral-700);justify-content:space-between;font-size:11px;display:flex}.mount-stats{margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.mount-stats .cell{padding:var(--space-3) var(--space-3) var(--space-3) 0}.stats{border-bottom:2px solid var(--color-divider);grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:var(--space-4) var(--space-6)}.stat-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.stat-value{font-family:var(--font-heading);font-size:22px;font-weight:800}.notice{justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-6);border-bottom:2px solid var(--color-divider);background:var(--color-surface);flex-wrap:wrap;font-size:13px;display:flex}.notice.warn{background:var(--color-accent-100);color:var(--color-accent-800)}.toolbar{gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:2px solid var(--color-divider);flex-wrap:wrap;align-items:center;display:flex}.toolbar .btn{flex:none}.table-wrap{padding:var(--space-2) var(--space-6) var(--space-6);overflow-x:auto}.table-wrap .empty{padding-inline:0}.weight{align-items:center;gap:4px;display:flex}.weight .btn-icon{width:26px;height:26px}.weight span{text-align:center;min-width:18px;font-weight:600}.row-actions{justify-content:flex-end;gap:2px;display:flex}.form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));display:grid}.span-all{grid-column:1/-1}.dialog-enter{animation:.38s cubic-bezier(.2,.8,.2,1) dialog-in}@keyframes dialog-in{0%{opacity:0;transform:perspective(900px)rotateX(14deg)translateY(18px)}}.stagger-rows tbody tr{animation:.44s cubic-bezier(.2,.7,.2,1) backwards slide-in;animation-delay:calc(60ms + var(--i,0) * 30ms)}@media (width<=1099px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=819px){.stat,.notice,.toolbar,.table-wrap{padding-inline:var(--space-4)}}.dropzone{gap:var(--space-3);padding:var(--space-4);border:2px dashed var(--color-divider);align-items:center;font-size:14px;display:flex}.dropzone svg{flex:none}.dropzone.is-over{border-color:var(--color-accent);background:var(--color-accent-100)}.dropzone.is-disabled{opacity:.5}.uploads{margin-top:var(--space-3);background:var(--color-divider);border:2px solid var(--color-divider);flex-direction:column;gap:2px;display:flex}.upload-row{background:var(--color-bg);padding:10px var(--space-3);gap:6px var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.upload-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.upload-state{color:var(--color-neutral-700);white-space:nowrap;font-size:12px;font-weight:600}.upload-state.is-error{color:var(--color-accent-700)}.upload-bar{background:var(--color-neutral-300);grid-column:1/-1;height:4px}.upload-bar>div{height:100%;transition:width .2s linear}.upload-foot{background:var(--color-bg);padding:4px var(--space-3)}.tag-row{flex-wrap:wrap;gap:4px;display:flex}.th-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort:hover{color:var(--color-text)}.pager{align-items:center;gap:var(--space-3);padding-top:var(--space-4);display:flex}.check-grid{gap:6px var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.sched-status{align-items:center;gap:8px;font-size:13px;display:inline-flex}.week-wrap{flex:1;display:flex;overflow-x:auto}.week{background:var(--color-divider);flex:1;grid-template-columns:repeat(7,minmax(148px,1fr));gap:2px;min-width:min-content;display:grid}.week-day{background:var(--color-bg);flex-direction:column;min-width:148px;display:flex}.week-day.is-today{background:var(--color-surface)}.week-day-head{padding:var(--space-3);border-bottom:2px solid var(--color-divider);font-family:var(--font-heading);font-size:15px;font-weight:800}.week-day.is-today .week-day-head{color:var(--color-accent)}.week-slot{font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--color-divider);padding:10px var(--space-3);cursor:pointer;box-shadow:inset 3px 0 0 var(--color-neutral-400);background:0 0;flex-direction:column;gap:2px;display:flex}.week-slot:hover:not(:disabled){background:color-mix(in srgb, var(--color-text) 5%, transparent)}.week-slot:disabled{cursor:default}.week-slot.kind-live{box-shadow:inset 3px 0 0 var(--color-accent)}.week-slot.kind-playlist{box-shadow:inset 3px 0 0 var(--color-text)}.week-slot-time{color:var(--color-neutral-700);font-size:11px}.week-slot-title{font-size:13px;font-weight:600;line-height:1.25}.week-slot-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);font-size:10px;font-weight:700}.week-slot.kind-live .week-slot-kind{color:var(--color-accent-700)}.week-empty{padding:10px var(--space-3);color:var(--color-neutral-700);font-size:12px}.week-add{margin:var(--space-2);justify-content:flex-start;font-size:13px}.day-picks{border:1px solid var(--color-divider);flex-wrap:wrap;display:flex}.day-pick{flex:1;justify-content:center;position:relative}.day-pick+.day-pick{border-left:1px solid var(--color-divider)}.inline-link{font-size:inherit;padding:0 2px}.prog-layout{background:var(--color-divider);grid-template-columns:minmax(200px,.8fr) minmax(0,2fr);gap:2px;min-height:420px;display:grid}.prog-list{background:var(--color-bg);flex-direction:column;max-height:60vh;display:flex;overflow-y:auto}.prog-item{font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--color-divider);cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;display:flex}.prog-item:hover{background:color-mix(in srgb, var(--color-text) 5%, transparent)}.prog-item.is-on{background:var(--color-text);color:var(--color-bg)}.prog-item.is-on .field-hint{color:var(--color-neutral-300)}.prog-new{color:var(--color-accent-700);flex-direction:row;align-items:center;gap:6px;font-weight:600}.prog-editor{background:var(--color-bg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}@media (width<=719px){.prog-layout{grid-template-columns:minmax(0,1fr)}.prog-list{max-height:200px}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-25%)}}@keyframes pulse{50%{opacity:.35}}@keyframes enter{0%{opacity:0;transform:translateY(14px)}}@keyframes grow{0%{transform:scaleY(0)}}.stagger>*{animation:.44s cubic-bezier(.2,.7,.2,1) backwards slide-in;animation-delay:calc(60ms + var(--i,0) * 30ms)}@keyframes slide-in{0%{opacity:0;transform:translate(-18px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=819px){.shell{grid-template-columns:minmax(0,1fr)}.side{width:min(280px,86vw);box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.side.open{transform:none}.header{padding-inline:var(--space-4)}}@media (width>=820px){.menu-only,.scrim{display:none}}.file-field{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.bottom-player{z-index:30;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-bg);border-top:2px solid var(--color-text);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-player-info{flex-direction:column;flex:0 280px;min-width:0;display:flex}.bottom-player-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-player audio{flex:1;min-width:0;height:40px}@media (width>=821px){.bottom-player{left:220px}}@media (width<=600px){.bottom-player{padding-inline:var(--space-4);flex-wrap:wrap}.bottom-player audio{flex-basis:100%;order:3}}.role-pick{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.role-opt{padding:var(--space-3);border:2px solid var(--color-divider);cursor:pointer;flex-direction:column;gap:2px;display:flex}.role-opt input{opacity:0;width:0;height:0;position:absolute}.role-opt.is-on{border-color:var(--color-text)}.role-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.sys-meter{background:var(--color-neutral-200);height:8px;margin:6px 0 4px}.sys-meter>div{background:var(--color-text);height:100%;transition:width .6s}.sys-meter>div.is-warn{background:var(--color-accent)}.sys-spark{height:28px;margin:4px 0}.settings{padding-bottom:88px}.settings-section{padding:var(--space-6);border-bottom:2px solid var(--color-divider);gap:var(--space-4);flex-direction:column;max-width:960px;display:flex}.settings-head h6{margin:0 0 4px}.settings-head p{max-width:64ch;margin:0}.settings-section{min-width:0}.settings-table{max-width:100%;overflow-x:auto}.settings-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.save-bar{z-index:30;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:var(--color-text);color:var(--color-bg);justify-content:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.save-bar span{margin-right:auto;font-weight:600}.save-bar .btn-secondary{color:var(--color-bg);border-color:var(--color-bg);background:0 0}@media (width>=821px){.save-bar{left:220px}}@media (width<=819px){.settings-section{padding:var(--space-4)}.save-bar{padding-inline:var(--space-4)}}.player{gap:var(--space-4) var(--space-6);border-top:2px solid var(--color-divider);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;align-items:start;display:grid}.player-strip{gap:var(--space-2);flex-direction:column;display:flex}.player-find,.player-deck{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.player .strip-name svg{vertical-align:-2px;margin-right:4px;display:inline}.player-results{border-top:1px solid var(--color-divider);max-height:252px;margin:0;padding:0;list-style:none;overflow-y:auto}.player-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-divider);padding:6px 0;display:flex}.player-row.is-loaded{box-shadow:inset 3px 0 0 var(--color-accent);padding-left:8px}.player-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.player-row-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.player-row .btn-icon.is-on{background:var(--color-text);color:var(--color-bg)}.player-load{padding:4px 10px;font-size:12px}.player-now{flex-direction:column;min-height:40px;display:flex}.player-title{font-family:var(--font-heading);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:800;line-height:1.2;overflow:hidden}.player-bar{background:var(--color-neutral-200);height:6px}.player-bar>div{background:var(--color-text);width:0;height:100%}.player-times{justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.player-left{font-family:var(--font-heading);font-size:20px;font-weight:800}.player-left.is-ending{color:var(--color-accent);animation:.5s ease-in-out infinite pulse}.player-keys{gap:var(--space-2);align-items:center;display:flex}.player-play{min-width:112px}.player-fader{height:220px}.strip-chip.is-live{background:var(--color-accent);border-color:var(--color-accent);color:#fff}@media (width<=980px){.player{grid-template-columns:minmax(0,1fr) auto}.player-find{grid-column:1/-1}}@media (width<=560px){.player{grid-template-columns:minmax(0,1fr)}.player-fader{height:160px}}
