/* REDLINE — single-stage player and accessible dialog views. */
.shell{max-width:1800px;grid-template-columns:230px minmax(0,1fr);gap:24px;padding:16px}.sidebar{top:16px;min-height:calc(100vh - 32px);max-height:calc(100vh - 32px);padding:30px 12px}.sidebar-brand{margin:6px 8px 48px}.brand-p{width:52px;height:56px;border-radius:13px}.logo-link .brand-p img{width:53px;height:53px;object-fit:contain}.wordmark{font-size:24px}.sidebar nav{display:block}.nav-link{display:flex;width:100%;font-family:inherit;text-align:left;background:transparent;color:#a1abb7;border:0;border-left:3px solid transparent;border-radius:8px;min-height:54px;font-size:13px;cursor:pointer}.nav-link:hover{background:#211117;color:#fff}.sidebar nav hr{border:0;border-top:1px solid #29272c;margin:26px 14px}.sidebar .admin-nav{border-top:0;padding:15px 16px;margin:0;border-radius:8px}.live-pip{width:6px;height:6px;background:#ff1237;border-radius:50%;margin-left:auto;box-shadow:0 0 10px #ff1237}.dashboard{display:block}.player-card{padding:30px}.record-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:42px}.record-art.reference-art{aspect-ratio:1;max-height:none;width:100%;background:radial-gradient(ellipse at 50% 55%,#250710,#070809 75%);border-color:#3b3035;border-radius:18px;isolation:isolate}.track-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.track-cover[hidden]{display:none}.record-art .wave-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:1}.record-art.has-cover .wave-art{opacity:.4}.record-art.has-cover .cover-name,.record-art.has-cover .cover-live{background:#08080a99;padding:7px 9px;border-radius:4px}.cover-name,.cover-live,.cover-lines{z-index:2}.record-art:before,.record-art:after{display:none}.station-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.station-type{font-size:9px;letter-spacing:2px;color:#7f8995}.track-info .badge{position:static;font-size:10px;padding:7px 10px;letter-spacing:1.5px}.station-name{font-size:clamp(35px,4vw,65px);margin:16px 0 22px;line-height:1}.overline{font-size:8px;margin:0 0 9px;color:#88949f}.track-info h2{font-size:clamp(23px,2.4vw,38px);line-height:1.2;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.track-info #artist{font-size:15px;margin:10px 0 0;color:#c3cad1}.track-details{font-size:11px;color:#747f8b;min-height:15px;margin:7px 0 0}.player-controls{max-width:440px;margin:10px auto 0}.hero-transport{display:flex;align-items:center;justify-content:center;gap:20px}.hero-transport>.icon-button{width:52px;height:52px;border:1px solid #313037;border-radius:50%;background:#131317}.hero-transport>.icon-button:hover{border-color:#e41538;background:#261018}.hero-transport>.icon-button svg{width:24px;height:24px}.play-orbit{width:190px;height:190px;position:relative;display:grid;place-items:center;flex-shrink:0}.play-orbit #orbit-spectrum{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;padding:0;pointer-events:none}.play-orbit .play-button{position:relative;width:108px;height:108px;border:2px solid #ff163c;background:radial-gradient(circle at 35% 20%,#471221,#170a0e 75%);box-shadow:0 0 30px #ff12332a,inset 0 0 20px #ff173b13;z-index:1}.play-orbit .play-button:hover{background:#591226;box-shadow:0 0 42px #ff12335c}.play-orbit .play-button svg{width:44px;height:44px}.play-status{text-align:center;margin:-5px 0 17px}.play-status strong{font-size:12px;letter-spacing:.4px}.play-status p{font-size:10px;color:#8f99a5;margin:6px 0;min-height:14px}.volume-row{display:flex;border:0;padding:0;gap:14px;margin:0 auto;max-width:340px}.volume-row .icon-button{width:36px;height:36px}.volume-row input{flex:1;min-width:0}.volume-row output{font-size:11px;min-width:39px}.player-tools{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.tool-button{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid #303038;border-radius:7px;color:#a9b2bd;font:inherit;font-size:10px;padding:9px 11px;cursor:pointer}.tool-button:hover{color:#fff;border-color:#bf2340}.tool-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}.player-tools>.icon-button{width:30px;height:34px}.track-info .station-tagline{font-size:7px;letter-spacing:2px;margin:20px 0 0!important;text-align:center}.spectrum-wrap{margin-top:30px}#spectrum{height:165px}.player-foot{margin-top:16px;padding:0;font-size:8px}.frequency-scale{font-size:8px}.spectrum-label{font-size:7px}footer{margin-top:24px;padding:16px 0}.studio-modal{color:#edf0f4;background:linear-gradient(135deg,#17171d,#0b0c0f);border:1px solid #49303a;border-radius:18px;width:min(600px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:28px;box-shadow:0 30px 120px #000b;overscroll-behavior:contain}.studio-modal::backdrop{background:#030407c9;backdrop-filter:blur(12px)}body:has(.studio-modal[open]){overflow:hidden}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.eyebrow{font-size:8px;letter-spacing:2px;color:#eb3356}.modal-heading h2{font-size:25px;font-weight:550;margin:8px 0 0}.modal-close{width:38px;height:38px;flex-shrink:0;border:1px solid #414047;border-radius:50%;background:#222129;color:#fff;cursor:pointer;font-size:17px}.modal-close:hover{background:#6a1427;border-color:#ff173b}.studio-modal .panel{background:transparent;box-shadow:none;padding:22px 0;border:0;border-top:1px solid #303037;border-radius:0}.studio-modal .sound-panel .panel-heading h2{font-size:15px}.studio-modal .signal-panel{margin-top:20px}.studio-modal .subtle,.modal-intro{font-size:12px;line-height:1.7;color:#8c96a4}.history-modal{width:min(1150px,calc(100vw - 32px))}.history-scroll{overflow-x:auto;margin:24px 0;border:1px solid #2e2d35;border-radius:10px}.music-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}.music-table th{font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#8994a2;background:#17171d;padding:15px}.music-table td{padding:16px 15px;border-top:1px solid #2a2830;color:#bbc3cd}.music-table td:first-child{min-width:240px;max-width:360px;white-space:normal}.song-cell{display:flex;gap:13px;align-items:center}.song-cell img{width:48px;height:48px;object-fit:cover;border-radius:7px;background:#280811;flex-shrink:0}.song-cell strong{font-size:13px;color:#fff;line-height:1.5}.admin-modal{width:min(1400px,calc(100vw - 32px));height:calc(100dvh - 48px);overflow:hidden;display:none}.admin-modal[open]{display:flex;flex-direction:column}.admin-modal .modal-heading{flex-shrink:0;margin-bottom:16px}.admin-modal iframe{border:1px solid #302a32;border-radius:9px;width:100%;flex:1;min-height:0;background:#0b0c10}.focus-mode .shell{display:block;max-width:1400px}.focus-mode .record-area{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.focus-mode .player-card{padding:30px}.focus-mode .player-foot{display:flex}button:focus-visible,a:focus-visible{outline:2px solid #ff4666;outline-offset:4px}
@media(min-width:1550px){.record-area{gap:65px}.player-card{padding:42px}.play-orbit{width:210px;height:210px}.play-orbit .play-button{width:118px;height:118px}}
@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr);gap:15px}.sidebar-brand{margin:0 0 30px}.wordmark{font-size:19px}.brand-p{width:43px;height:46px}.logo-link .brand-p img{width:45px;height:45px}.sidebar .nav-link{font-size:11px;padding:13px 10px;gap:9px}.player-card{padding:22px}.record-area{gap:24px}.station-type{font-size:7px;letter-spacing:1px}.station-name{margin:16px 0;font-size:40px}.play-orbit{width:156px;height:156px}.play-orbit .play-button{width:88px;height:88px}.hero-transport{gap:8px}.hero-transport>.icon-button{width:40px;height:40px}.player-tools{gap:5px}.tool-button{font-size:9px;padding:8px}.player-tools>.icon-button{width:25px}.track-info .station-tagline{letter-spacing:1px}}
@media(max-width:850px){.shell{display:block;padding:12px}.sidebar{position:static;min-height:0;max-height:none;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.sidebar-brand{margin:0}.sidebar nav{display:flex;align-items:center;gap:8px}.sidebar .nav-link{width:auto;margin:0;min-height:42px;padding:10px;font-size:11px;white-space:nowrap}.sidebar nav hr{height:22px;border-top:0;border-left:1px solid #34313a;margin:0 4px}.sidebar-bottom{display:none}.sidebar .nav-link.active{display:flex}.sidebar .nav-link svg{width:17px;height:17px}.live-pip{display:none}.sidebar .admin-nav{padding:10px}.page-intro{margin:0 4px 14px}main{padding:0}.record-art.reference-art{max-height:none}.track-info .badge{position:static}.station-name{font-size:42px}.track-info h2{font-size:26px}}
@media(max-width:600px){.sidebar{flex-wrap:wrap;padding:14px;gap:15px}.sidebar-brand{width:100%;display:flex;justify-content:center}.sidebar nav{width:100%;justify-content:center}.sidebar .nav-link{font-size:11px;gap:7px}.sidebar .admin-nav{font-size:11px}.sidebar nav hr{margin:0}.wordmark{font-size:25px}.brand-p{width:43px;height:46px}.player-card{padding:17px}.record-area,.focus-mode .record-area{grid-template-columns:1fr;gap:25px}.record-art.reference-art{aspect-ratio:1.13;max-height:420px}.station-top{justify-content:center;gap:18px}.station-name{text-align:center;font-size:43px;margin:17px 0 23px}.overline,.track-info h2,.track-info #artist,.track-details{text-align:center}.track-info h2{font-size:28px}.track-info #artist{font-size:15px}.station-type{font-size:8px}.track-info .badge{font-size:9px}.play-orbit{width:200px;height:200px}.play-orbit .play-button{width:110px;height:110px}.hero-transport{gap:14px}.hero-transport>.icon-button{width:46px;height:46px}.player-tools{gap:9px}.tool-button{font-size:10px;padding:10px}.player-tools>.icon-button{width:29px}.spectrum-wrap{margin-top:25px}#spectrum{height:125px}.frequency-scale{font-size:6px}.spectrum-label{font-size:6px}.player-foot{font-size:7px}.player-foot>span:last-child{display:none}.studio-modal{padding:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:13px}.modal-heading h2{font-size:22px}.admin-modal{height:calc(100dvh - 24px);padding:12px}.admin-modal .eyebrow{display:none}.admin-modal .modal-heading{margin-bottom:12px}.admin-modal .modal-heading h2{margin:0;font-size:19px}.music-table th,.music-table td{padding:12px}.focus-mode .player-card{padding:17px}.focus-mode .shell{padding:10px}footer{font-size:8px}}
/* Keep every destination visible in the compact navigation as well. */
.sidebar .nav-link:not(.active):not(.admin-nav){display:flex}
@media(max-width:600px){.sidebar nav{gap:3px}.sidebar .nav-link{padding:8px 5px;font-size:10px;gap:5px}}
