:root{--font-main: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-page: #f7f4ee;--color-broadcast-control: #ede4d6;--color-broadcast-top: #d3d2d0;--color-surface: #fffdf8;--color-surface-strong: #ffffff;--color-ink: #1d1b16;--color-muted: #6f6a5f;--color-line: #d8d0c2;--color-line-strong: #9f9585;--color-panel-bg: #000000;--color-panel-tile: #181818;--color-panel-tile-strong: #202020;--color-panel-hover: #2c2c2c;--color-panel-line: #2a2a2a;--color-panel-ink: #f7f4ee;--color-panel-muted: #9a9a9a;--color-live: #16784a;--color-live-soft: #a2e3bd;--color-move-cancel: #9d2828;--color-move-target: #2b6fd6;--color-warn: #a76500;--color-warn-soft: #fff2d7;--color-error: #9d2828;--color-error-soft: #fae4e2;--color-focus: #2b6fd6;--color-display-bg: #151210;--color-display-bg-soft: #2a211d;--color-display-ink: #f0b48f;--color-display-line: rgba(240, 180, 143, .4);--color-display-dot: rgba(240, 180, 143, .14);--color-display-glow: rgba(240, 180, 143, .28);--color-display-additive-dot: #ffdcca;--shadow-card: 0 1px 0 rgba(29, 27, 22, .05);--shadow-display: inset 0 1px 0 rgba(255, 255, 255, .09), inset 0 -10px 18px rgba(0, 0, 0, .32), 0 1px 0 rgba(29, 27, 22, .08);--radius-card: 8px;--radius-control: 6px;--artwork-size: 52px;--artwork-size-large: 64px;--queue-artwork-size: calc(var(--artwork-size-large) + 4px);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--page-max: 1180px;--listen-card-max: 440px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body,#root{min-height:100%}#root{display:flex;justify-content:center;min-height:100dvh;background:var(--color-page)}body:has(.broadcast-shell.is-on-air),#root:has(.broadcast-shell.is-on-air){background:color-mix(in srgb,color-mix(in srgb,var(--color-live) 88.8889%,var(--color-ink)) 90%,var(--color-page));background-image:radial-gradient(circle,rgba(255,242,189,.11) 1px,transparent 1px);background-size:7px 7px}body{margin:0;background:var(--color-ink);color:var(--color-ink);font-family:var(--font-main);font-size:14px;line-height:1.4}button,input,textarea{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}input{min-width:0}textarea{resize:vertical}.auth-shell,.app-shell{min-height:100dvh}.auth-shell{width:100%;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-4) + var(--safe-top)) calc(var(--space-4) + var(--safe-right)) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left))}.app-shell{width:min(100%,var(--page-max));display:flex;flex-direction:column;gap:var(--space-4);padding:calc(var(--space-4) + var(--safe-top)) calc(var(--space-4) + var(--safe-right)) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left))}.listen-shell{width:100%;max-width:none;padding:0;gap:0;position:relative}.listen-shell .topbar{position:absolute;z-index:3;top:calc(var(--space-4) + var(--safe-top));left:max(calc(var(--space-4) + var(--safe-left)),calc(((100% - var(--page-max)) / 2) + var(--space-4)));right:max(calc(var(--space-4) + var(--safe-right)),calc(((100% - var(--page-max)) / 2) + var(--space-4)))}.icon-page{width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--color-page)}.icon-scene{width:256px;height:256px;flex:0 0 256px;overflow:hidden;background:var(--color-page)}.icon-scene canvas{width:256px;height:256px;display:block}.topbar,.section-head,.brand-lockup,.toolbar,.cluster,.stats-row,.caller-row,.track-row,.track-actions,.track-meta-row,.now-playing,.join-row{display:flex;gap:var(--space-3)}.topbar,.section-head,.caller-row,.track-row{align-items:center;justify-content:space-between}.brand-lockup,.toolbar,.cluster,.stats-row,.track-actions,.now-playing{align-items:center}.brand-title-button{min-height:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.topbar{min-height:48px}.app-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:var(--space-4);align-items:start}.left-panel-stack,.right-panel-stack,.right-panel-content{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.explore-page{width:100%}.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.explore-card{padding:var(--space-3);gap:var(--space-3)}.explore-station-list{display:flex;flex-direction:column;gap:var(--space-4)}.explore-station-row{width:min(100%,var(--listen-card-max));min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2)}.explore-station-display{--station-display-row-gap: var(--space-2)}.explore-station-display .listen-info{width:100%}.explore-station-display .listen-info-copy{min-width:0}.explore-station-display .text-strong,.explore-station-display .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explore-station-controls{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);flex-wrap:nowrap}.explore-station-controls>.button{flex:0 0 auto}.explore-station-controls .listener-volume-control{min-width:86px;flex:1 1 auto}.explore-station-stats{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:12px;white-space:nowrap}.explore-station-row .button{width:auto}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-4)}.broadcast-shell{--broadcast-ink: #000000;--broadcast-border: var(--broadcast-ink);--broadcast-border-width: 1px;--broadcast-tile-border-width: 1px;--broadcast-button-bg: var(--color-broadcast-control);--broadcast-control-border: rgba(0, 0, 0, .5);--broadcast-button-border: var(--broadcast-control-border);--broadcast-button-highlight: rgba(255, 255, 255, .95);--broadcast-button-inner-shadow: rgba(0, 0, 0, .14);--broadcast-button-shadow: rgba(0, 0, 0, .24);--broadcast-top-bg: var(--color-broadcast-top)}.broadcast-shell.is-on-air{color:var(--color-panel-ink)}.broadcast-shell.is-on-air>.topbar,.broadcast-shell.is-on-air>.topbar .text-title,.broadcast-shell.is-on-air>.topbar .pill{color:var(--color-panel-ink)}.broadcast-shell .app-grid{align-items:stretch;gap:0;border:var(--broadcast-border-width) solid var(--broadcast-border);border-radius:var(--radius-card);background:var(--broadcast-top-bg);padding:0;overflow:hidden}.broadcast-shell .left-panel-stack,.broadcast-shell .right-panel-stack,.broadcast-shell .right-panel-content{gap:0}.broadcast-shell .left-panel-stack>.card,.broadcast-shell .right-panel-content>.card{border:0;border-radius:0;background:var(--broadcast-top-bg);color:var(--broadcast-ink);box-shadow:none;padding:var(--space-3)}.broadcast-shell .left-panel-stack{border-right:var(--broadcast-tile-border-width) solid var(--broadcast-border)}.broadcast-shell .right-panel-content>.card+.card{border-top:var(--broadcast-tile-border-width) solid var(--broadcast-border)}.broadcast-shell .icon-fill-panel{display:flex;align-items:center;justify-content:center;min-height:0;height:0;flex:1 1 0;overflow:hidden;border-top:var(--broadcast-tile-border-width) solid var(--broadcast-border);background-color:var(--broadcast-top-bg);background-image:linear-gradient(color-mix(in srgb,var(--broadcast-top-bg) 20%,transparent),color-mix(in srgb,var(--broadcast-top-bg) 20%,transparent)),url(/icon.png);background-position:center;background-repeat:no-repeat;background-size:cover;color:var(--color-panel-ink);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.45)}.broadcast-shell .app-grid .button,.broadcast-shell .app-grid .icon-button,.broadcast-shell .app-grid .segmented button,.broadcast-shell .app-grid .player-pill,.broadcast-shell .app-grid .booth-meter{border-radius:999px;box-shadow:inset 1px 1px 0 var(--broadcast-button-highlight),inset -1px -1px 0 var(--broadcast-button-inner-shadow),2px 2px 0 var(--broadcast-button-shadow)}.broadcast-shell .app-grid .button:not(.button-primary):not(.is-active),.broadcast-shell .app-grid .icon-button:not(.is-active),.broadcast-shell .app-grid .segmented button:not(.is-active){border-color:var(--broadcast-button-border);background:var(--broadcast-button-bg)}.broadcast-shell .app-grid .button-primary{border-color:var(--broadcast-ink);background:var(--broadcast-ink)}.broadcast-shell .app-grid .toolbar{gap:var(--space-2)}.broadcast-shell .app-grid .toolbar>.button{min-width:0}.broadcast-shell .app-grid .input,.broadcast-shell .app-grid .textarea,.broadcast-shell .app-grid .status,.broadcast-shell .app-grid .pill,.broadcast-shell .app-grid .duration,.broadcast-shell .app-grid .notice:not(.error),.broadcast-shell .app-grid .caller-row,.broadcast-shell .app-grid .now-playing,.broadcast-shell .app-grid .next-up-detail,.broadcast-shell .app-grid .booth-meter,.broadcast-shell .app-grid .player-pill,.broadcast-shell .app-grid .now-playing .track-artwork,.broadcast-shell .app-grid .next-up-detail .track-artwork{border-color:var(--broadcast-control-border);background:var(--color-broadcast-control)}.broadcast-shell .app-grid .field span,.broadcast-shell .app-grid .text-label,.broadcast-shell .app-grid .eyebrow,.broadcast-shell .app-grid .muted,.broadcast-shell .app-grid .status,.broadcast-shell .app-grid .duration,.broadcast-shell .app-grid .player-pill,.broadcast-shell .app-grid .player-time-text,.broadcast-shell .app-grid .player-label,.broadcast-shell .app-grid .notice:not(.error),.broadcast-shell .app-grid .caller-row,.broadcast-shell .app-grid .next-up-detail,.broadcast-shell .app-grid .booth-meter,.broadcast-shell .app-grid .track-artwork{color:var(--broadcast-ink)}.auth-card{width:min(100%,420px)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.compact-stack{gap:var(--space-2)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field span,.text-label,.eyebrow{color:var(--color-muted);font-size:12px;font-weight:500;text-transform:uppercase}.text-title{font-size:18px;font-weight:500}.booth-url-summary{min-width:0}.booth-url-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-strong{font-weight:500}.muted{color:var(--color-muted);overflow-wrap:anywhere}.input{width:100%;min-height:40px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-strong);color:var(--color-ink);font-size:16px;padding:8px 10px;outline:none}.textarea{line-height:1.35}.input:focus{border-color:var(--color-focus);box-shadow:0 0 0 2px #2b6fd624}.button,.icon-button,.segmented button{min-height:38px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-strong);color:var(--color-ink);cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:8px 12px;white-space:nowrap}.button>svg,.icon-button>svg,.segmented button>svg{flex:0 0 auto}.toolbar>.button{min-width:112px;flex:0 0 auto}.button-primary{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-surface-strong)}.button.is-active,.icon-button.is-active,.segmented .is-active{border-color:var(--color-live);background:var(--color-live-soft);color:var(--color-live)}.icon-button{width:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.segmented button{padding:8px 10px}.pill,.status,.duration{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--color-line);border-radius:999px;padding:4px 9px;background:var(--color-surface-strong);color:var(--color-muted);white-space:nowrap}.status.is-live{border-color:var(--color-live);background:var(--color-live-soft);color:var(--color-live)}.notice{border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-strong);color:var(--color-muted);padding:var(--space-3);overflow-wrap:anywhere}.notice.error{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.modal-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-4) + var(--safe-top)) calc(var(--space-4) + var(--safe-right)) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left));background:#1d1b166b}.modal-panel{width:min(100%,720px);max-height:calc(100dvh - var(--space-4) - var(--space-4) - var(--safe-top) - var(--safe-bottom));overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);padding:var(--space-4);box-shadow:var(--shadow-card)}.url-list-modal,.kit-modal,.queue-manager-modal,.soundboard-modal{border-color:var(--color-panel-line);background:var(--color-panel-bg);color:var(--color-panel-ink);gap:var(--space-5)}.kit-modal,.queue-manager-modal,.soundboard-modal{width:min(100%,560px)}.queue-manager-modal,.soundboard-modal{width:min(100%,720px)}.soundboard-modal{width:min(100%,920px)}.url-list-modal .icon-button,.url-list-modal .button,.kit-modal .icon-button,.kit-modal .button,.queue-manager-modal .icon-button,.queue-manager-modal .button,.soundboard-modal .icon-button,.soundboard-modal .button{border-color:var(--color-panel-line);background:var(--color-panel-tile);color:var(--color-panel-ink)}.url-list-modal .icon-button:hover:not(:disabled),.url-list-modal .button:hover:not(:disabled),.kit-modal .icon-button:hover:not(:disabled),.kit-modal .button:hover:not(:disabled),.queue-manager-modal .icon-button:hover:not(:disabled),.queue-manager-modal .button:hover:not(:disabled),.soundboard-modal .icon-button:hover:not(:disabled),.soundboard-modal .button:hover:not(:disabled){background:var(--color-panel-hover)}.url-list-modal .button-primary,.kit-modal .button-primary{border-color:var(--color-panel-ink);background:var(--color-panel-ink);color:var(--color-panel-bg)}.url-list-modal .button-primary:hover:not(:disabled),.kit-modal .button-primary:hover:not(:disabled){border-color:var(--color-panel-ink);background:var(--color-panel-ink);color:var(--color-panel-bg)}.url-list-modal .input,.soundboard-modal .input{border-color:var(--color-panel-line);background:var(--color-panel-bg);color:var(--color-panel-ink)}.url-list-modal .input::placeholder,.soundboard-modal .input::placeholder{color:var(--color-panel-muted)}.url-list-modal .notice,.kit-modal .notice{border-color:var(--color-panel-line);background:var(--color-panel-bg);color:var(--color-panel-muted)}.url-list-help,.kit-help{display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-panel-muted)}.kit-help strong{color:var(--color-panel-ink)}.url-list-info{border:1px solid var(--color-panel-line);border-radius:var(--radius-control);padding:var(--space-3);background:var(--color-panel-bg)}.url-list-help-title{color:var(--color-panel-ink);font-weight:500}.url-list-steps{counter-reset:url-step;display:flex;flex-direction:column;gap:var(--space-1);list-style:none;margin:var(--space-1) 0 0;padding:0}.url-list-steps li{counter-increment:url-step;display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--space-2)}.url-list-steps li:before{content:counter(url-step) ".";color:var(--color-panel-ink)}.url-list-help a{display:inline;color:var(--color-panel-ink);text-decoration:underline;text-underline-offset:3px}.url-list-textarea{min-height:min(34dvh,300px)}.modal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.modal-actions .button{width:100%}.soundboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.soundboard-pad{min-width:0;justify-content:flex-start}.soundboard-manage-button{min-width:0}.recast-panel .input{flex:1}.soundboard-editor{width:100%;min-width:820px;table-layout:fixed;border-collapse:collapse;border:1px solid var(--color-panel-line);background:var(--color-panel-bg)}.soundboard-editor th{color:var(--color-panel-muted);font-size:12px;font-weight:500;text-align:left;text-transform:uppercase;padding:var(--space-2)}.soundboard-slot-col{width:34px}.soundboard-label-col{width:28%}.soundboard-upload-col{width:96px}.soundboard-icon-col{width:38px}.soundboard-editor th,.soundboard-editor td{border-top:1px solid var(--color-panel-line);border-left:1px solid var(--color-panel-line)}.soundboard-editor th:first-child,.soundboard-editor td:first-child{border-left:0}.soundboard-editor tbody tr:nth-child(odd){background:var(--color-panel-tile)}.soundboard-editor .input,.soundboard-editor .icon-button{width:100%;height:100%;min-height:38px;border:0;border-radius:0;background:transparent}.soundboard-editor .input:focus{box-shadow:none}.soundboard-table-button{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-panel-ink);cursor:pointer;background:transparent}.soundboard-table-button:hover{background:var(--color-panel-hover)}.soundboard-table-button>svg{flex:0 0 auto}.soundboard-slot-number{width:34px;min-height:38px;color:var(--color-panel-muted);text-align:center;vertical-align:middle}.queue-manager-section{display:flex;flex-direction:column;gap:var(--space-2)}.queue-manager-head,.next-up-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.queue-manager-list{display:flex;flex-direction:column;border:1px solid var(--color-panel-line);background:var(--color-panel-bg)}.queue-manager-row{display:grid;grid-template-columns:var(--artwork-size) minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);padding:var(--space-2);border-top:1px solid var(--color-panel-line);background:var(--color-panel-bg)}.queue-manager-row:first-child{border-top:0}.queue-manager-row:nth-child(2n){background:var(--color-panel-tile)}.queue-manager-row .track-artwork{border-color:var(--color-panel-line);background:var(--color-panel-bg);color:var(--color-panel-muted)}.queue-manager-row .duration{border-color:var(--color-panel-line);background:var(--color-panel-tile);color:var(--color-panel-muted)}.queue-manager-copy{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.queue-manager-copy .text-strong,.queue-manager-copy .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-manager-actions{display:flex;align-items:center;gap:var(--space-1)}.queue-manager-small-button{min-width:0}.queue-manager-empty{padding:var(--space-3);color:var(--color-panel-muted)}.queue-manage-button{min-width:0}.station-notice{position:relative;z-index:1;width:100%;min-width:0;display:flex;align-items:flex-end;overflow:hidden;color:inherit;line-height:1}.station-notice-measure{position:absolute;visibility:hidden;white-space:nowrap;pointer-events:none}.station-notice-text{position:relative;z-index:1;flex:0 0 auto;white-space:nowrap;text-shadow:0 0 7px var(--color-display-glow)}.station-notice-unit{flex:0 0 auto;display:inline-flex;align-items:center;white-space:nowrap}.station-notice-separator{flex:0 0 auto;white-space:pre;text-shadow:0 0 7px var(--color-display-glow)}.station-notice-track{position:relative;z-index:1;min-width:max-content;display:flex;align-items:center;animation:station-notice-scroll var(--notice-duration) linear infinite;will-change:transform}.listen-dock .station-notice{width:100%;max-width:none}.station-display{--station-display-x: var(--space-3);--station-display-row-gap: 10px;position:relative;isolation:isolate;width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--station-display-row-gap);overflow:hidden;border:1px solid var(--color-display-line);border-radius:var(--radius-card);background:radial-gradient(circle at 1px 1px,var(--color-display-dot) 1px,transparent 1.35px),linear-gradient(180deg,var(--color-display-bg-soft),var(--color-display-bg));background-size:5px 5px,100% 100%;box-shadow:var(--shadow-display);color:var(--color-display-ink);line-height:1;padding:var(--space-2) var(--station-display-x)}.station-display:after{content:"";position:absolute;z-index:0;inset:1px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 44%,rgba(0,0,0,.18));pointer-events:none}.station-url-button{position:relative;z-index:1;min-width:0;flex:0 1 auto;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;font-weight:700;padding:0;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.station-url-button.is-static{cursor:default}.station-recast-text{text-transform:none}.station-media{z-index:1;width:100%;color:inherit;line-height:1}.station-media-content{position:relative;z-index:1;width:100%}.station-display .station-media-content{gap:var(--station-display-x)}.audio-visualizer.station-media-visualizer{--visualizer-dot-opacity: .36;position:relative;z-index:1;left:calc(-1 * var(--station-display-x));width:calc(100% + var(--station-display-x) + var(--station-display-x));height:1lh;flex:none;border:0;border-radius:0;background:transparent;color:var(--color-display-ink);filter:drop-shadow(0 0 7px var(--color-display-glow));pointer-events:none}.station-display .track-artwork{border-color:var(--color-display-ink);background:transparent;color:var(--color-display-ink);filter:drop-shadow(0 0 7px var(--color-display-glow))}.station-display .listen-info-copy .muted{color:var(--color-display-ink);opacity:.68}.now-playing{min-height:60px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-strong);padding:var(--space-3)}.now-playing-main{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.next-up-block,.next-up-list{display:flex;flex-direction:column;gap:var(--space-2)}.next-up-detail{width:100%;display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);padding:var(--space-2)}.next-up-skip{flex:0 0 auto}.next-up-actions{display:flex;flex:0 0 auto;gap:var(--space-2)}.song-detail-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:var(--space-1)}.song-detail-main .text-strong,.song-detail-main .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artwork{width:var(--artwork-size);height:var(--artwork-size);flex:0 0 var(--artwork-size);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted)}.track-artwork.is-clickable{cursor:pointer}.track-artwork.is-clickable:hover{background:var(--color-line);color:var(--color-ink)}.track-artwork.is-large{width:var(--artwork-size-large);height:var(--artwork-size-large);flex-basis:var(--artwork-size-large)}.track-artwork img{width:100%;height:100%;display:block;object-fit:cover}.media-hidden{display:none}.native-media-hidden{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;transform:translate(-9999px,-9999px)}.nav-segmented{width:fit-content;min-width:0;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content;padding:3px;gap:2px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-line)}.nav-segmented button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border:0;border-radius:999px;background:transparent;color:var(--color-muted);padding:6px 10px;white-space:nowrap}.nav-segmented button.is-active{background:var(--color-ink);color:var(--color-surface-strong)}.listen-stage{position:relative;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.globe-wrap{flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;background:transparent;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.globe-wrap canvas{display:block;width:100%;height:100%;cursor:grab;-webkit-user-select:none;user-select:none}.globe-wrap canvas:active{cursor:grabbing}.listen-dock{position:absolute;z-index:3;left:50%;bottom:calc(var(--space-4) + var(--safe-bottom));width:min(var(--listen-card-max),calc(100% - var(--space-4) - var(--space-4) - var(--safe-left) - var(--safe-right)));max-width:min(var(--listen-card-max),calc(100% - var(--space-4) - var(--space-4) - var(--safe-left) - var(--safe-right)));display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);padding:var(--space-2);transform:translate(-50%)}.listen-input{width:100%}.listen-info{min-width:0;width:min(100%,360px);display:flex;align-items:center;gap:var(--space-2)}.listen-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.listener-like-button{border-radius:999px}.listener-like-button.is-active{border-color:var(--color-live);background:var(--color-live-soft);color:var(--color-live)}.listen-info-copy{min-width:0}.audio-visualizer{display:block}.station-display-top{position:relative;z-index:1;min-width:0;display:flex;align-items:center}.listen-info-copy .text-strong,.listen-info-copy .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listen-note{color:var(--color-muted);overflow-wrap:anywhere}.booth-meter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.booth-meter{min-width:0;min-height:38px;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface-strong);padding:4px 9px;color:var(--color-muted)}.booth-meter .text-label{flex:0 0 auto}.audio-visualizer.booth-meter-visualizer{--color-display-additive-dot: currentColor;--visualizer-dot-opacity: .2;width:100%;height:22px;min-width:0;flex:1 1 auto;color:inherit}.player-strip{display:flex;align-items:center;gap:var(--space-2);min-height:40px;min-width:0;flex-wrap:nowrap}.player-pill{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:38px;border:1px solid var(--color-line);border-radius:999px;padding:4px 9px;background:var(--color-surface-strong);color:var(--color-muted)}.player-time-pill{flex:1.35 1 190px}.player-volume-pill{flex:1 1 140px}.player-time-text{min-width:0;flex:0 0 auto;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-time-text.current-duration{min-width:0}.player-pill .seek-slider{margin:0}.player-label{min-width:0;flex:0 0 auto;color:var(--color-muted);padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volume-slider{--slider-fill: 100%;--slider-handle-shift: 0;--volume-thumb-size: 20px;--volume-track-height: calc(var(--volume-thumb-size) / 3);--volume-track-gap: calc((var(--volume-thumb-size) - var(--volume-track-height)) / 2);width:96px;flex:0 0 96px;height:var(--volume-thumb-size);min-width:0;position:relative;display:block;cursor:pointer;touch-action:none}.volume-slider:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.volume-slider-track{position:absolute;inset-block:var(--volume-track-gap);inset-inline:calc(var(--volume-thumb-size) / 2);box-sizing:border-box;border-radius:999px;background:var(--color-line);pointer-events:none}.volume-slider-fill{position:absolute;inset-block:0;left:0;width:var(--slider-fill);border-radius:inherit;background:var(--color-ink)}.volume-slider-shape{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.volume-slider-shape-base{fill:var(--color-line)}.volume-slider-shape-fill{fill:var(--color-ink)}.volume-slider-handle{position:absolute;top:50%;left:var(--slider-fill);width:var(--volume-thumb-size);height:var(--volume-thumb-size);transform:translate(var(--slider-handle-shift),-50%);border-radius:999px;background:var(--color-ink);pointer-events:none}.listener-volume-control{--volume-thumb-size: 20px;--listener-volume-max: 220px;min-height:calc(var(--space-2) + var(--volume-thumb-size) + var(--space-2));flex:1 1 auto;max-width:var(--listener-volume-max);display:flex;align-items:center;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface-strong);padding:var(--space-2)}.listener-volume-slider{width:100%;flex:1 1 auto}.listen-dock .listener-volume-slider{--volume-track-height: var(--volume-thumb-size);--volume-track-gap: 0;--listener-volume-rail-x: var(--space-2);--listener-volume-rail-y: 6px;height:calc(var(--space-2) + var(--volume-thumb-size) + var(--space-2))}.listen-dock .listener-volume-control{padding:0}.listen-dock .listener-volume-slider .volume-slider-track{inset-block:0;inset-inline:var(--listener-volume-rail-x);opacity:0}.listen-dock .listener-volume-slider .volume-slider-shape{display:block;top:var(--listener-volume-rail-y);right:auto;bottom:auto;left:var(--listener-volume-rail-x);width:calc(100% - var(--listener-volume-rail-x) - var(--listener-volume-rail-x));height:calc(100% - var(--listener-volume-rail-y) - var(--listener-volume-rail-y))}.listen-dock .listener-volume-slider .volume-slider-handle{visibility:hidden}.seek-slider{width:100%;min-width:64px;flex:1 1 120px;accent-color:var(--color-ink)}.join-row{align-items:end}.join-row .field{flex:1}.stats-row{flex-wrap:wrap;color:var(--color-muted)}.like-banner{min-height:34px;padding-block:var(--space-2)}.like-ticker{position:relative;z-index:1;width:100%;min-height:1lh;overflow:hidden;color:inherit;line-height:1}.like-ticker-empty{display:inline-block}.like-ticker-item{position:absolute;top:50%;left:0;min-width:max-content;display:inline-flex;align-items:center;white-space:nowrap;text-shadow:0 0 7px var(--color-display-glow);will-change:transform}.like-ticker-item{font-weight:700;text-transform:uppercase}.like-ticker-separator{white-space:pre;text-shadow:0 0 7px var(--color-display-glow)}.caller-row{min-height:42px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-strong);padding:var(--space-2)}.queue-panel{border-color:var(--color-panel-line);background:var(--color-panel-bg);color:var(--color-panel-ink);padding:var(--space-3);gap:var(--space-3);box-shadow:none}.queue-panel .section-head{align-items:flex-start;gap:var(--space-2)}.queue-panel .eyebrow,.queue-panel .muted{color:var(--color-panel-muted)}.queue-panel .notice{border-color:var(--color-panel-line);background:var(--color-panel-bg);color:var(--color-panel-muted)}.queue-panel .button,.queue-panel .icon-button,.queue-panel .duration{border-color:var(--color-panel-line);background:var(--color-panel-tile);color:var(--color-panel-ink)}.queue-panel .button:hover:not(:disabled),.queue-panel .icon-button:hover:not(:disabled){background:var(--color-panel-hover);color:var(--color-panel-ink);outline-color:var(--color-panel-line)}.queue-panel .button.is-active,.queue-panel .icon-button.is-active{border-color:var(--color-live);background:var(--color-live-soft);color:var(--color-live)}.queue-panel .track-order-number.is-active{opacity:1}.queue-panel .input{min-height:34px;border-color:var(--color-panel-line);border-radius:0;background:var(--color-panel-bg);color:var(--color-panel-ink);padding:6px 8px}.queue-panel .input::placeholder{color:var(--color-panel-muted)}.queue-panel .input:focus{border-color:var(--color-panel-line);box-shadow:none}.queue{display:flex;flex-direction:column;gap:var(--space-2)}.queue-panel .queue{display:flex;flex-direction:column;gap:0}.empty-state{min-height:96px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-line-strong);border-radius:var(--radius-card);color:var(--color-muted);text-align:center;padding:var(--space-4)}.queue-panel .empty-state{min-height:72px;border-color:var(--color-panel-line);color:var(--color-panel-muted);padding:var(--space-3)}.track-row{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface-strong);padding:var(--space-3)}.track-row.is-active{border-color:var(--color-live);background:var(--color-live-soft)}.queue-table{width:100%;border-collapse:collapse;table-layout:fixed}.queue-table.is-moving .queue-cell{cursor:pointer}.queue-table.is-moving .queue-cell .icon-button{opacity:0}.queue-table.is-moving .queue-cell .input::placeholder{color:transparent;opacity:0}.queue-table.is-moving .queue-cell :is(button,input){pointer-events:none}.queue-order-col{width:34px}.queue-button-col{width:38px}.queue-art-col{width:var(--queue-artwork-size)}.queue-title-col{width:auto}.queue-meta-col{width:18%}.queue-table-row{--queue-row-bg: var(--color-panel-bg)}.queue-table-row.is-alt{--queue-row-bg: var(--color-panel-tile)}.queue-cell{height:32px;border:1px solid var(--color-panel-line);background:var(--queue-row-bg);color:var(--color-panel-ink);padding:0;vertical-align:middle}.queue-table.is-moving .queue-table-row.is-track-top .queue-cell:not(.queue-order-cell):not(.queue-art-cell){border-bottom-color:transparent}.queue-table.is-moving .queue-table-row.is-track-bottom .queue-cell{border-top-color:transparent}.queue-table.is-moving .queue-cell:not(.queue-order-cell){border-right-color:transparent;border-left-color:transparent}.queue-table.is-moving .queue-art-cell{border-right-color:var(--color-panel-line);border-left-color:var(--color-panel-line)}.queue-table.is-moving .queue-table-row.is-track-top .queue-cell:nth-child(2),.queue-table.is-moving .queue-table-row.is-track-bottom .queue-cell:first-child{border-left-color:var(--color-panel-line)}.queue-table.is-moving .queue-table-row .queue-cell:last-child{border-right-color:var(--color-panel-line)}.queue-table-row.is-active .queue-order-cell{background:var(--color-live);color:var(--color-surface-strong)}.queue-table-row.is-hidden .queue-order-cell{background:var(--queue-row-bg);color:var(--color-panel-muted)}.queue-table-row.is-hidden .queue-cell{color:var(--color-panel-muted)}.queue-table-row.is-hidden .track-artwork img{opacity:.42}.queue-table-row.is-hidden .input,.queue-table-row.is-hidden .duration,.queue-table-row.is-hidden .track-order-number,.queue-table-row.is-hidden .icon-button:not(.queue-visibility-button){opacity:.5}.queue-table.is-moving .queue-table-row.is-hidden .queue-cell .icon-button{opacity:0}.queue-cell .input,.queue-cell .icon-button,.queue-cell .duration,.queue-cell .track-order-number,.queue-cell .track-artwork{width:100%;min-width:0;height:100%;min-height:0;border:0;border-radius:0;outline:0;background:transparent;color:inherit;margin:0}.queue-cell .input{padding:6px 8px}.queue-cell .duration,.queue-cell .track-order-number{display:inline-flex;align-items:center;justify-content:center}.track-order-hover-icon{display:none}.track-order-number:hover:not(:disabled) .track-order-value{display:none}.track-order-number:hover:not(:disabled) .track-order-hover-icon{display:inline-flex}.queue-cell .track-artwork{display:flex;flex-basis:auto}.queue-art-cell{width:var(--queue-artwork-size);height:var(--queue-artwork-size);line-height:0}.queue-art-cell .track-artwork{width:100%;height:100%}.queue-cell .track-artwork.is-clickable:hover,.queue-cell .icon-button:hover:not(:disabled),.queue-cell .track-order-number:hover:not(:disabled){background:var(--color-panel-hover);color:var(--color-panel-ink)}.queue-cell .icon-button.is-active,.queue-cell .queue-visibility-button.is-hidden{color:var(--color-panel-muted)}.queue-table-row.is-move-source .queue-order-cell{background:var(--color-move-cancel);color:var(--color-surface-strong)}.queue-table-row.is-move-preview .queue-order-cell{background:var(--color-move-target);color:var(--color-surface-strong)}.queue-table-row.is-hidden.is-move-source .queue-order-cell{background:var(--color-move-cancel);color:var(--color-surface-strong)}.queue-table-row.is-hidden.is-move-preview .queue-order-cell{background:var(--color-move-target);color:var(--color-surface-strong)}.queue-table-row.is-move-source .track-order-number,.queue-table-row.is-move-preview .track-order-number,.queue-table-row.is-hidden.is-move-source .track-order-number,.queue-table-row.is-hidden.is-move-preview .track-order-number{color:inherit;opacity:1}.queue-table-row.is-hidden .queue-visibility-button{color:var(--color-panel-ink);opacity:1}.track-main-actions{display:flex;flex:0 0 auto;flex-direction:column;gap:var(--space-2)}.track-order-number{min-width:34px;min-height:38px;display:inline-flex;flex:0 0 34px;align-items:center;justify-content:center;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);font-weight:500;font-variant-numeric:tabular-nums}.queue-panel .track-order-number{min-width:0;min-height:34px;border:0;border-radius:0;background:transparent;color:inherit}.queue-panel .track-row .track-artwork{width:var(--artwork-size-large);height:var(--artwork-size-large);flex-basis:auto}.track-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.queue-panel .track-fields{gap:0}.track-title{font-weight:500}.track-meta-row{align-items:center}.queue-panel .track-meta-row{display:grid;grid-template-columns:1fr 1fr;gap:0}.track-actions{flex-wrap:wrap;justify-content:flex-end}.queue-panel .track-actions{display:grid;grid-template-columns:64px 38px 38px;gap:0;align-items:start;justify-content:end}.duration{min-width:64px;flex:0 0 auto;justify-content:center}.current-duration{min-width:118px}@keyframes station-notice-scroll{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--notice-distance)))}}[hidden]{display:none}@media(max-width:900px){.app-grid{grid-template-columns:1fr}.broadcast-shell .left-panel-stack{border-right:0;border-bottom:var(--broadcast-tile-border-width) solid var(--broadcast-border)}.explore-grid{grid-template-columns:1fr}}@media(max-width:680px){.topbar,.section-head,.track-row,.join-row{align-items:stretch;flex-direction:column}.toolbar,.cluster,.track-actions,.track-meta-row{flex-wrap:wrap}.button,.join-row .button{width:100%}.queue-panel .button{width:auto}.explore-page .section-head{align-items:center;flex-direction:row}.explore-station-row .button{width:auto}.queue-panel .section-head{align-items:flex-start}.url-list-modal .section-head,.queue-manager-modal .section-head,.queue-manager-head,.next-up-head,.soundboard-modal .section-head{flex-direction:row;align-items:center}.queue-manager-modal .button,.next-up-head .button,.soundboard-modal .button{width:auto}.queue-manager-row{grid-template-columns:var(--artwork-size) minmax(0,1fr)}.queue-manager-row .duration{grid-column:2}.queue-manager-actions{grid-column:1 / -1;justify-content:flex-end}.listen-dock .button{width:auto}.listen-dock .icon-button{width:38px}.is-mobile-listen .topbar{min-height:40px;flex-direction:row;align-items:center;gap:var(--space-2)}.is-mobile-listen .brand-lockup{min-width:0;align-items:center;gap:var(--space-2)}.is-mobile-listen .brand-lockup>div{min-width:0}.is-mobile-listen .brand-lockup svg{width:24px;height:24px;flex:0 0 auto}.is-mobile-listen .text-title{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-mobile-listen>.topbar .cluster{flex:0 0 auto;flex-wrap:nowrap;gap:var(--space-2)}.is-mobile-listen>.topbar .button{width:auto}.is-mobile-listen>.topbar .pill{max-width:136px;overflow:hidden;text-overflow:ellipsis}.listen-shell.is-mobile-listen .topbar{top:calc(var(--space-2) + var(--safe-top));left:calc(var(--space-2) + var(--safe-left));right:calc(var(--space-2) + var(--safe-right))}.is-mobile-listen .listen-dock{left:calc(var(--space-2) + var(--safe-left));right:calc(var(--space-2) + var(--safe-right));bottom:calc(var(--space-2) + var(--safe-bottom));width:auto;max-width:none;transform:none}.is-mobile-listen .listen-input,.is-mobile-listen .listen-info{width:100%}.is-mobile-listen .listen-controls{flex-wrap:nowrap}.is-mobile-listen .listen-controls>.button{min-width:0;flex:0 1 auto;gap:var(--space-1);padding:8px}.is-mobile-listen .listen-controls .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis}.is-mobile-listen .listener-volume-control{min-width:72px;flex:1 1 auto}.is-mobile-listen .listen-controls .volume-slider{flex:1 1 auto;width:100%}}
