/* Audited compact and mobile layouts */
body.compactRadio .referenceRadio{container-type:inline-size!important;width:100%!important;aspect-ratio:1672/941!important;max-width:1672px!important;filter:none!important;box-shadow:none!important}
body.compactRadio .referenceRadio>.carryHandle,body.compactRadio .referenceRadio>.antenna,body.compactRadio .referenceRadio>.radioBody,body.compactRadio .referenceRadio>.radioFeet{display:none!important}
body.compactRadio .referenceSurface{position:absolute!important;inset:0!important;isolation:isolate!important;font-family:system-ui!important;color:#e8f5e6!important}
body.compactRadio .referenceCabinet{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;pointer-events:none!important;z-index:-2!important}
body.compactRadio .referenceSurface button,body.compactRadio .referenceSurface select,body.compactRadio .referenceSurface input{box-sizing:border-box!important;font-family:system-ui!important;outline-offset:2px!important}
body.compactRadio .referenceSurface button:focus-visible,body.compactRadio .referenceSurface input:focus-visible,body.compactRadio .referenceSurface select:focus-visible{outline:2px solid #d9ff79!important}
body.compactRadio .referenceSurface button{cursor:pointer!important;min-height:0!important}
body.compactRadio .referenceSurface .refStation{position:absolute!important;left:31%!important;top:22.95%!important;width:38.15%!important;height:13.3%!important;box-sizing:border-box!important;margin:0!important;padding:.5cqw .9cqw!important;border:0!important;border-radius:.3cqw!important;background:radial-gradient(ellipse at 50% 0,#285a2b66,transparent 75%),linear-gradient(110deg,#072211,#021607)!important;box-shadow:inset 0 .15cqw .8cqw #000b!important;overflow:hidden!important}
body.compactRadio .refStation .tunerLabels{height:2cqw!important;min-height:0!important;margin:0!important;font:.62cqw monospace!important;letter-spacing:.1em!important}
body.compactRadio .refStation .tunerLabels>span:first-child{color:#b8ef79!important}
body.compactRadio .refStation #retroSignal{display:none!important}
body.compactRadio .refStation #retroFavorite{position:absolute!important;right:.7cqw!important;top:.45cqw!important;font-size:.8cqw!important;padding:.3cqw .6cqw!important;min-height:0!important;height:2cqw!important;background:#173b23!important;border:1px solid #a5c5a0!important;border-radius:.4cqw!important}
body.compactRadio .refStation .retroDisplay{min-height:0!important;height:6.2cqw!important;padding:0!important;gap:1cqw!important}
body.compactRadio .refStation .stationAvatar{width:5.5cqw!important;height:4.4cqw!important;flex-basis:5.5cqw!important;background:#f1f4e8!important;border:1px solid #d6e3ca!important;border-radius:.2cqw!important;display:flex!important}
body.compactRadio .refStation .stationAvatar img{max-height:100%!important;max-width:100%!important;object-fit:contain!important}
body.compactRadio .refStation .retroText{gap:.25cqw!important;min-width:0!important}
body.compactRadio .refStation .displayEyebrow{display:none!important}
body.compactRadio .refStation .retroText #retroChannel{font:800 2.15cqw/1.1 system-ui!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#effce6!important}
body.compactRadio .refStation .retroText #retroTrack{font:.92cqw/1.3 monospace!important;min-height:0!important;max-height:2.5cqw!important;margin:0!important;color:#bbdd9e!important;overflow:hidden!important}
body.compactRadio .referenceSurface .refSearch{display:contents!important}
body.compactRadio .refSearch>label{position:absolute!important;font-size:0!important;margin:0!important;padding:0!important}
body.compactRadio .refSearch>label:first-child{left:30.85%!important;top:39.7%!important;width:9.45%!important;height:3.9%!important}
body.compactRadio .refSearch>label:nth-child(2){left:41.05%!important;top:39.7%!important;width:13.1%!important;height:3.9%!important}
body.compactRadio .refSearch select,body.compactRadio .refSearch input{width:100%!important;height:100%!important;font:.86cqw system-ui!important;min-height:0!important;padding:.4cqw .65cqw!important;background:linear-gradient(#1a303a,#0c202b)!important;border:1px solid #65919a!important;border-radius:.3cqw!important;color:#e7f0ec!important}
body.compactRadio .refSearch>button{position:absolute!important;left:52.15%!important;top:39.9%!important;height:3.3%!important;width:1.75%!important;font-size:1cqw!important;padding:0!important;background:transparent!important;color:#9db9bc!important;border:0!important}
body.compactRadio .refSearch input{padding-right:1.9cqw!important}
body.compactRadio .referenceSurface #quickFavorites,body.compactRadio .referenceSurface #quickRecent{position:absolute!important;top:38.5%!important;height:4.35%!important;padding:.3cqw!important;background:linear-gradient(#213640,#10212a)!important;border:1px solid #79a5ad!important;border-radius:.3cqw!important;font-size:.8cqw!important;color:#e9f5f5!important;white-space:nowrap!important}
body.compactRadio .referenceSurface #quickFavorites{left:54.75%!important;width:7%!important}
body.compactRadio .referenceSurface #quickRecent{left:62.35%!important;width:7%!important}
body.compactRadio .referenceSurface #retroPrev,body.compactRadio .referenceSurface #retroNext,body.compactRadio .referenceSurface #retroInfo,body.compactRadio .referenceSurface #retroMute,body.compactRadio .referenceSurface #retroPower,body.compactRadio .referenceSurface #referenceMenu,body.compactRadio .referenceSurface #referenceVolume{position:absolute!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:.6cqw!important;padding:0!important;color:transparent!important;font-size:0!important}
body.compactRadio .referenceSurface #retroPrev{left:30.6%!important;top:46.3%!important;width:5.2%!important;height:6.8%!important}
body.compactRadio .referenceSurface #retroNext{left:43.95%!important;top:46.3%!important;width:5.1%!important;height:6.8%!important}
body.compactRadio .referenceSurface #retroInfo{left:61.8%!important;top:45.9%!important;width:3.5%!important;height:5.9%!important}
body.compactRadio .referenceSurface #referenceMenu{left:66.25%!important;top:45.9%!important;width:3.6%!important;height:6%!important}
body.compactRadio .referenceSurface #retroMute{left:53.6%!important;top:46.9%!important;width:5.1%!important;height:7%!important;opacity:0!important}
body.compactRadio .referenceSurface #referenceVolume{left:53.6%!important;top:46.6%!important;width:5.2%!important;height:7.2%!important;border-radius:50%!important;z-index:2!important}
body.compactRadio .referenceSurface #retroPower{left:5.35%!important;top:79.4%!important;width:4.6%!important;height:8.2%!important;border-radius:50%!important}
body.compactRadio .referenceSurface #retroPower i{display:none!important}
body.compactRadio .referenceSurface #playSelected{position:absolute!important;left:37.7%!important;top:46.65%!important;width:4.3%!important;height:7.6%!important;padding:0!important;border-radius:50%!important;border:.2cqw solid #acd898!important;background:radial-gradient(ellipse at 35% 20%,#416844,#0e2317 70%)!important;box-shadow:0 0 .5cqw #9eff7b66!important;color:transparent!important;font-size:0!important}
body.compactRadio .referenceSurface #playSelected:after{content:'▶'!important;font-size:1.7cqw!important;color:#d9ffb3!important;text-shadow:0 0 .7cqw #93ff74!important}
body.compactRadio .referenceSurface #playSelected[data-running=true]:after{content:'■'!important}
body.compactRadio .referenceSurface .refVolume{position:absolute!important;left:51.25%!important;top:54.1%!important;width:9.9%!important;height:1.3%!important;margin:0!important;max-width:none!important;font-size:0!important;display:flex!important;gap:0!important;opacity:.65!important}
body.compactRadio .refVolume input{width:100%!important;min-height:0!important;height:100%!important;margin:0!important;accent-color:#c5ecad!important}
body.compactRadio .referenceSurface .refEQScreen{position:absolute!important;left:34.9%!important;top:59.65%!important;width:30.3%!important;height:8%!important;box-sizing:border-box!important;margin:0!important;padding:.3cqw .6cqw!important;border:0!important;border-radius:.2cqw!important;background:linear-gradient(#031018,#06121c)!important;box-shadow:inset 0 .15cqw .5cqw #000!important}
body.compactRadio .refEQScreen .eqScreenTop,body.compactRadio .refEQScreen .eqFrequencyScale,body.compactRadio .refEQScreen .vuRow{display:none!important}
body.compactRadio .refEQScreen .eqSpectrum{height:100%!important;margin:0!important;gap:.2cqw!important;background:repeating-linear-gradient(to top,#48637019 0 1px,transparent 1px .7cqw)!important}
body.compactRadio .refEQScreen .eqSpectrum i{background:#70fb6a!important;box-shadow:0 0 .3cqw #8cff6122!important}
body.compactRadio .referenceSurface .refSliders{position:absolute!important;left:34.65%!important;top:69.1%!important;width:31.8%!important;height:6.1%!important;margin:0!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:0!important}
body.compactRadio .refSliders label{display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;background:none!important;padding:0!important;border:0!important;box-shadow:none!important;min-width:0!important}
body.compactRadio .refSliders .eqName,body.compactRadio .refSliders .eqFrequency,body.compactRadio .refSliders output{display:none!important}
body.compactRadio .refSliders input{writing-mode:vertical-lr!important;direction:rtl!important;appearance:none!important;-webkit-appearance:none!important;width:2cqw!important;height:100%!important;min-height:0!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;cursor:ns-resize!important;opacity:.95!important}
body.compactRadio .refSliders input::-webkit-slider-runnable-track{width:.5cqw!important;height:100%!important;background:#06100e!important;border:1px solid #476440!important;box-shadow:inset 0 0 .2cqw #000!important}
body.compactRadio .refSliders input::-webkit-slider-thumb{appearance:none!important;-webkit-appearance:none!important;width:1cqw!important;height:1.5cqw!important;border:1px solid #acd99c!important;border-radius:.2cqw!important;background:linear-gradient(90deg,#17351e,#c1ffa6 40%,#6a9963 70%,#132c18)!important;box-shadow:0 0 .45cqw #bbff9877!important}
body.compactRadio .refSliders input::-moz-range-track{width:.5cqw!important;height:100%!important;background:#102719!important}
body.compactRadio .refSliders input::-moz-range-thumb{width:1cqw!important;height:1.5cqw!important;background:#adf892!important}
body.compactRadio .referenceSurface .refStationKeys{position:absolute!important;left:14.4%!important;top:81.5%!important;width:71.4%!important;height:6.25%!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:1.35%!important;margin:0!important}
body.compactRadio .refStationKeys button{display:flex!important;align-items:center!important;gap:.6cqw!important;min-width:0!important;min-height:0!important;padding:.5cqw .65cqw!important;background:linear-gradient(#273537,#0c1414 50%,#172323)!important;border:1px solid #8c9a91!important;border-top-color:#d6e0d8!important;border-radius:.4cqw!important;box-shadow:0 .2cqw #020806!important;font:600 .85cqw system-ui!important;color:#eef4ed!important;overflow:hidden!important}
body.compactRadio .refStationKeys button small{font:700 1.5cqw system-ui!important;color:#e2ffd1!important;text-shadow:0 0 .4cqw #a6ff88!important;min-width:1.2cqw!important}
body.compactRadio .refStationKeys button span{line-height:1.15!important;white-space:normal!important;overflow:hidden!important}
body.compactRadio .refStationKeys button.selected{background:linear-gradient(#29432b,#102014)!important;border-color:#caff9b!important;box-shadow:0 0 .5cqw #a1fa8366,0 .2cqw #061008!important;color:#f4ffe6!important}
body.compactRadio .referenceSurface #retroFullscreen{position:absolute!important;left:92%!important;top:8%!important;width:3%!important;height:5%!important;min-height:0!important;padding:0!important;font:1.4cqw system-ui!important;background:#14252c99!important;border:1px solid #617983!important;color:#e8f9fa!important;border-radius:.3cqw!important}
body.compactRadio .refCone{position:absolute!important;width:23.56%!important;aspect-ratio:1!important;border-radius:50%!important;pointer-events:none!important;background-image:url('/radio/titanium-material.png')!important;background-size:424.365% auto!important;background-position:6.26% 60.3%!important;top:35.07%!important;transform-origin:center!important;will-change:transform!important}
body.compactRadio .refConeLeft{left:4.79%!important}
body.compactRadio .refConeRight{left:71.77%!important;background-position:93.9% 60.3%!important}
body.compactRadio .isPlaying .refCone{filter:drop-shadow(0 0 .25cqw #5bd6ff55)!important}
body.compactRadio #referenceSettings{box-sizing:border-box!important;width:min(760px,94vw)!important;max-height:85dvh!important;overflow:auto!important;background:#112633!important;color:#e5f4fb!important;border:1px solid #819fa9!important;border-radius:14px!important;padding:20px!important;box-shadow:0 25px 80px #000b!important}
body.compactRadio #referenceSettings::backdrop{background:#020a12d9!important;backdrop-filter:blur(5px)!important}
body.compactRadio .refSettingsHeader{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:15px!important}
body.compactRadio .refSettingsHeader h2{margin:0!important;font-size:22px!important}
body.compactRadio .refSettingsHeader button{min-height:42px!important;min-width:42px!important}
body.compactRadio .refSettingsBody{display:grid!important;gap:16px!important;margin-top:20px!important}
body.compactRadio .refSettingsBody .optionsContent{display:block!important;padding:0!important}
body.compactRadio .refSettingsBody .listeningTools{display:flex!important;flex-wrap:wrap!important}
body.compactRadio .refSettingsBody .presetViews{display:flex!important;flex-wrap:wrap!important}
body.compactRadio .refSettingsBody .eqTitle{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
body.compactRadio .refSettingsBody #openStationPicker,body.compactRadio .refSettingsBody #retroMore{min-height:44px!important}
body.compactRadio .refSettingsBody #browseSummary,body.compactRadio .refSettingsBody #eqStatus{font-size:12px!important;color:#bcd1dc!important}
body.compactRadio .refSettingsBody .presetEditor{margin-top:12px!important}
body.compactRadio .referenceRadio>.radioBody .moreOptions{display:none!important}
body.compactRadio .radioStage{padding-top:0!important}
body.compactRadio .referenceRadio .eqSpectrum i:nth-child(-n+6){background:#27e7ff!important}
body.compactRadio .referenceRadio .eqSpectrum i:nth-child(n+7):nth-child(-n+12){background:#53ff90!important}
body.compactRadio .referenceRadio .eqSpectrum i:nth-child(n+13):nth-child(-n+18){background:#e5ff43!important}
body.compactRadio .referenceRadio .eqSpectrum i:nth-child(n+19):nth-child(-n+24){background:#ffb54b!important}
body.compactRadio .referenceRadio .eqSpectrum i:nth-child(n+25):nth-child(-n+28){background:#ff58a4!important}
body.compactRadio .referenceRadio .eqSpectrum i:nth-child(n+29){background:#b375ff!important}
body.compactRadio .refVU{position:absolute!important;top:61.8%!important;height:6.9%!important;width:.85%!important;background:#06100f!important;overflow:hidden!important;pointer-events:none!important}
body.compactRadio .refVULeft{left:31.82%!important}
body.compactRadio .refVURight{left:67.55%!important}
body.compactRadio .refVU>div{position:absolute!important;left:0!important;bottom:0!important;width:3.88cqw!important;height:.85cqw!important;transform:rotate(-90deg)!important;transform-origin:left bottom!important;background:#0b1915!important}
body.compactRadio .refVU i{display:block!important;width:0!important;height:100%!important;background:linear-gradient(90deg,#29e1db,#56ff61 45%,#e1ff31 75%,#ff6246)!important;box-shadow:0 0 .2cqw #8aff5e44!important}
body.compactRadio .dialogVolumeLabel{display:grid!important;gap:9px!important;font-size:14px!important}
body.compactRadio .dialogVolumeLabel input{width:100%!important;min-height:44px!important;accent-color:#c9ff8e!important}
body.compactRadio .referenceSurface .refSliders{left:32.35%!important;width:35.2%!important}
body.compactRadio .refSliders label:before{content:''!important;position:absolute!important;width:1.7cqw!important;height:100%!important;left:50%!important;top:0!important;transform:translateX(-50%)!important;background:linear-gradient(90deg,#111b1c,#07100e 45%,#26382a 50%,#07100e 55%,#111b1c)!important;border-radius:.15cqw!important}
body.compactRadio .refSliders input{position:relative!important;z-index:1!important}
body.compactRadio .referenceSurface .refSliders label{height:3.43cqw!important;min-height:0!important;max-height:3.43cqw!important;overflow:hidden!important}
body.compactRadio .referenceSurface .refSliders input{height:3.43cqw!important;max-height:3.43cqw!important;min-height:0!important;flex:none!important}
body.compactRadio .refSliders label:before{height:3.43cqw!important}
body.compactRadio .refSearch select,body.compactRadio .refSearch input{line-height:normal!important;letter-spacing:normal!important;text-indent:0!important}
:root{--visible-vh:100dvh!important}.mobileRadioDock{display:none}.referenceSurface button,.referenceSurface input,.referenceSurface select{touch-action:manipulation}dialog{max-height:calc(var(--visible-vh) - 24px)!important;overscroll-behavior:contain}dialog strong,dialog small,dialog label{overflow-wrap:anywhere}.refSettingsBody{min-width:0}.refSettingsBody>*{min-width:0}.refSettingsBody .eqTitle{justify-content:start}.refSettingsBody .eqTitle strong{width:100%}.refSettingsBody .presetViews{gap:6px}.refSettingsBody .presetViews button{flex:1;min-height:44px;white-space:normal}.advancedFilters label,.lightingControls label{min-width:0}.touchEQ h3{font-size:16px;margin:5px 0 12px}.touchEQ label{display:grid;grid-template-columns:88px minmax(0,1fr) 50px;gap:10px;align-items:center;min-height:50px;font-size:13px}.touchEQ input{width:100%;min-width:0;min-height:44px;accent-color:#c6f49a}.touchEQ output{font:12px monospace;color:#d7f5bc;text-align:right}.refSettingsBody #presetStatus{font-size:13px;color:#d2efab}.referenceSurface .refStation .retroText #retroChannel{max-width:100%;min-width:0}.referenceSurface .refStation .retroText #retroTrack{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.referenceSurface .refStation .retroText{flex:1}.refStationKeys button{min-width:0}.refStationKeys button span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.refStationKeys button small{flex:none}.refLightRing{position:absolute;pointer-events:none;z-index:4;border-radius:50%;padding:.32cqw;background:conic-gradient(from 10deg,var(--ring-a),var(--ring-b),var(--ring-c),var(--ring-a));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;filter:brightness(calc(.14 + var(--music-level,0)*1.9));box-sizing:border-box;will-change:filter}.ringWooferLeft{left:4.79%;top:35.07%;width:23.56%;aspect-ratio:1}.ringWooferRight{left:71.77%;top:35.07%;width:23.56%;aspect-ratio:1}.ringTweeterLeft{left:12.86%;top:18.92%;width:7.9%;aspect-ratio:1;padding:.19cqw}.ringTweeterRight{left:79.36%;top:18.92%;width:7.9%;aspect-ratio:1;padding:.19cqw}body[data-ring=off] .refLightRing{background:#061017;filter:none}body[data-ring=off] .refCone,body[data-ring=off] .referenceCabinet{filter:grayscale(1) brightness(.7)}.refStationKeys .selected{filter:brightness(calc(.8 + var(--music-level,0)*.5))}.referenceSurface #playSelected{box-shadow:0 0 calc(.2cqw + var(--music-level,0)*.55cqw) #a4f58588}.radioFocus #exitRadioFocus{display:block!important;position:fixed!important;right:max(10px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:1000;min-height:40px;font-size:12px;padding:8px 12px}.radioFocus header{display:none!important}body.compactRadio.retroMode{display:flex!important;flex-direction:column;height:var(--visible-vh)!important;overflow:hidden!important}body.compactRadio.retroMode>header{height:48px;min-height:48px;flex:0 0 48px;padding:7px 20px;box-sizing:border-box}body.compactRadio.retroMode main{display:flex!important;flex-direction:column;flex:1;min-height:0;max-width:none;width:100%;box-sizing:border-box;padding:0 12px!important}body.compactRadio.retroMode #retroRoom{display:flex!important;flex-direction:column;flex:1;min-height:0;padding:0!important}body.compactRadio.retroMode .viewTabs,body.compactRadio.retroMode .roomCaption{display:none!important}body.compactRadio.retroMode .radioStage{flex:1;min-height:0;height:auto!important;display:flex;align-items:center;justify-content:center;padding:0!important}body.compactRadio.retroMode .referenceRadio{aspect-ratio:1672/941!important;flex:none;width:100%;margin:0!important}body.compactRadio.retroMode .referenceSurface{position:absolute!important;inset:0;min-height:0!important;padding:0!important;display:block!important;gap:0!important}body.compactRadio.retroMode .referenceCabinet{height:100%!important;object-fit:fill}body.compactRadio.retroMode #retroHint{font:10px/1.2 system-ui;margin:0;min-height:20px;text-align:center;flex:none}body.compactRadio.retroMode .retroHint+ .retroHint{display:none}body.compactRadio.radioFocus main{height:var(--visible-vh)!important;padding-top:30px!important}body.compactRadio.radioFocus #retroRoom{height:auto!important}body.compactRadio.retroMode .refStation .retroText #retroTrack{white-space:nowrap;max-height:1.3cqw!important}.compactRadio .referenceSurface .refStation #retroLogoFallback{font-size:2cqw}.compactRadio .refSliders{top:69.1%!important}.compactRadio .refVU{top:61.8%!important;height:6.9%!important}.compactRadio .refCone{top:35.07%!important}.compactRadio .referenceSurface .refEQScreen{top:59.65%!important;height:8%!important}
@media(max-width:900px){body:not(.compactRadio) header{padding:8px 12px}body:not(.compactRadio) header nav{overflow-x:auto;max-width:100%;white-space:nowrap}body:not(.compactRadio) main{padding:10px!important;max-width:100%;box-sizing:border-box}body:not(.compactRadio) .referenceSurface{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;padding:56.28cqw 0 0!important;min-height:0!important}body:not(.compactRadio) .referenceSurface .refSearch{grid-column:1/-1;order:1;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;padding:12px!important}body:not(.compactRadio) .refSearch>label{display:block!important;width:100%!important;height:auto!important;min-width:0;line-height:1.4!important;font-size:12px!important}body:not(.compactRadio) .refSearch input,body:not(.compactRadio) .refSearch select{display:block;min-height:46px!important;width:100%;box-sizing:border-box;padding:8px!important;line-height:normal!important;font-size:16px!important}body:not(.compactRadio) .refSearch>button{grid-column:1/-1;font-size:20px!important}body:not(.compactRadio) #quickFavorites{order:2}body:not(.compactRadio) #quickRecent{order:3}body:not(.compactRadio) #playSelected{order:4;grid-column:1/-1}body:not(.compactRadio) #retroPrev{order:5}body:not(.compactRadio) #retroNext{order:6}body:not(.compactRadio) #retroInfo{order:7}body:not(.compactRadio) #referenceMenu{order:8}body:not(.compactRadio) .refVolume{order:9;grid-column:1/-1;padding:8px;background:#142c38;border-radius:6px;font-size:12px!important}body:not(.compactRadio) .refStationKeys{order:10;grid-column:1/-1}body:not(.compactRadio) .refStationKeys button{font-size:12px!important;min-height:54px!important}body:not(.compactRadio) .refStationKeys button small{font-size:17px!important}body:not(.compactRadio) .refLightRing.ringWooferLeft,body:not(.compactRadio) .refLightRing.ringWooferRight{top:19.73cqw}body:not(.compactRadio) .refLightRing.ringTweeterLeft,body:not(.compactRadio) .refLightRing.ringTweeterRight{top:10.65cqw}.mobileRadioDock{display:block;padding:12px 0 max(10px,env(safe-area-inset-bottom));background:#07151df2;border-top:1px solid #466473;margin-top:10px}.mobileNow{display:grid;gap:5px;min-width:0;margin-bottom:10px}.mobileNow strong{display:block;font-size:17px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e8f6e3}.mobileNow small{font-size:12px;line-height:1.4;color:#b4cfca;overflow-wrap:anywhere}.mobileActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mobileActions button{min-height:48px;padding:8px 5px;font:700 12px system-ui;background:#203d4c;color:#e4f1f9;border:1px solid #648795;border-radius:7px}.mobileActions #mobilePlay{background:#c8f290;color:#172b0c;border-color:#e8ffc1}body.compactRadio .mobileRadioDock{flex:none;margin:0;padding:6px 8px max(6px,env(safe-area-inset-bottom))}.compactRadio .mobileNow{display:none}.compactRadio .mobileActions button{min-height:44px}body:not(.compactRadio).radioFocus{height:var(--visible-vh)!important;overflow:hidden!important}body:not(.compactRadio).radioFocus main{height:var(--visible-vh)!important;padding:38px 8px 0!important;display:flex!important;flex-direction:column;box-sizing:border-box}body:not(.compactRadio).radioFocus #retroRoom{display:flex;flex-direction:column;flex:1;min-height:0;padding:0!important}body:not(.compactRadio).radioFocus .viewTabs,body:not(.compactRadio).radioFocus .roomCaption{display:none!important}body:not(.compactRadio).radioFocus .radioStage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;height:auto!important}body:not(.compactRadio).radioFocus .referenceRadio{aspect-ratio:1672/941!important}body:not(.compactRadio).radioFocus .referenceSurface{position:absolute!important;inset:0;display:block!important;padding:0!important;min-height:0!important}body:not(.compactRadio).radioFocus .referenceCabinet{height:100%!important}body:not(.compactRadio).radioFocus .referenceSurface>*:not(.referenceCabinet):not(.refStation):not(.refCone):not(.refEQScreen):not(.refLightRing):not(.refVU){display:none!important}body:not(.compactRadio).radioFocus .refCone{top:35.07%!important}body:not(.compactRadio).radioFocus .refStation{top:22.95%!important;height:13.3%!important}body:not(.compactRadio).radioFocus .refEQScreen{top:59.65%!important;height:8%!important}body:not(.compactRadio).radioFocus .refVU{top:61.8%!important;height:6.9%!important}body:not(.compactRadio).radioFocus .refLightRing.ringWooferLeft,body:not(.compactRadio).radioFocus .refLightRing.ringWooferRight{top:35.07%}body:not(.compactRadio).radioFocus .refLightRing.ringTweeterLeft,body:not(.compactRadio).radioFocus .refLightRing.ringTweeterRight{top:18.92%}body:not(.compactRadio).radioFocus .mobileRadioDock{margin:0;flex:none;padding:12px 4px max(12px,env(safe-area-inset-bottom))}body:not(.compactRadio).radioFocus #retroHint{display:none}.refSettingsBody .lightingControls{display:grid;grid-template-columns:1fr}.refSettingsBody .advancedFilters{display:grid;grid-template-columns:1fr 1fr}.refSettingsBody .advancedFilters .applyFilters{grid-column:1/-1}.refSettingsBody .advancedFilters input{max-width:100%;box-sizing:border-box}#referenceSettings{width:min(760px,calc(100vw - 20px));padding:16px}#stationPicker{width:min(650px,calc(100vw - 20px));padding:14px}.pickerList{max-height:calc(var(--visible-vh) - 180px)!important}.refSettingsBody .eqTitle select{min-height:44px;width:100%;max-width:none}.refSettingsBody .eqTitle button{min-height:44px}.touchEQ label{grid-template-columns:76px minmax(0,1fr) 43px;gap:8px}}
@media(prefers-reduced-motion:reduce){.refLightRing{will-change:auto;filter:brightness(.6)}.referenceSurface #playSelected{box-shadow:none}}

body.compactRadio .referenceSurface #retroPrev:after,body.compactRadio .referenceSurface #retroNext:after,body.compactRadio .referenceSurface #retroInfo:after,body.compactRadio .referenceSurface #referenceMenu:after{display:none!important}body.compactRadio .referenceSurface #playSelected:after{display:block!important}body.compactRadio .referenceSurface .refStationKeys{grid-template-columns:repeat(7,minmax(0,1fr))!important}body.compactRadio .referenceSurface #referenceVolume{display:block!important}body.compactRadio .referenceSurface .refVolume{min-height:0!important}body.compactRadio .referenceSurface .refVolume input{min-height:0!important}body.compactRadio .referenceSurface .refStationKeys button{min-height:0!important}.mobileActions{grid-template-columns:1fr 1fr 1fr 1fr}.isPlaying .refCone{filter:brightness(calc(.65 + var(--music-level,0)*.7))}

.referenceSurface .refStation .tunerLabels{height:1.3cqw!important}.referenceSurface .refStation .retroDisplay{height:4.9cqw!important}body.compactRadio .referenceSurface .refStation .tunerLabels{height:1.3cqw!important}body.compactRadio .referenceSurface .refStation .retroDisplay{height:4.9cqw!important}

/* Clear feedback while preserving the approved Titanium cabinet. */
.radioGuide{margin:0;padding:14px 16px;border:1px solid #557a84;border-left:3px solid #bdeaa1;border-radius:8px;background:#0a1c25;color:#d2e8df;font:14px/1.6 system-ui}.referenceSurface button{transition:filter .16s,box-shadow .16s}.referenceSurface button:hover:not(:disabled){filter:brightness(1.18)}.referenceSurface button:active:not(:disabled){filter:brightness(.85)}button:disabled{cursor:wait;opacity:.55}.pickerList .stationPick{min-height:64px;border-radius:9px}.pickerList .stationPick strong{line-height:1.35;overflow-wrap:anywhere}.pickerList .stationPick:hover,.pickerList .stationPick:focus-visible{background:#284b50;border-color:#c7f393}.refStationKeys button{position:relative}.refStationKeys button span{overflow-wrap:anywhere}.refSettingsHeader h2{font-size:clamp(18px,3vw,24px)}
@media(max-width:900px){body:not(.compactRadio) .refSearch>button{font-size:0!important}body:not(.compactRadio) .refSearch>button:after{content:'⌕ Find kanal';font:700 16px system-ui}body:not(.compactRadio) .refSearch{row-gap:16px!important}body:not(.compactRadio) .refSearch>label{line-height:1.6!important}body:not(.compactRadio) .referenceSurface #retroInfo:after{content:'Kanalinfo'}body:not(.compactRadio) .referenceSurface #referenceMenu:after{content:'Lyd og indstillinger'}}

.pickerSearch{display:grid;gap:8px;font:600 14px system-ui;margin:16px 0;color:#dcebe7}.pickerSearch input{width:100%;box-sizing:border-box;min-height:48px;font:16px system-ui;padding:12px 15px;border:1px solid #7ba29e;background:#071c25;color:#f0ffe9;border-radius:9px}.pickIcon{position:relative;flex:0 0 44px;width:44px;height:44px;border-radius:7px;overflow:hidden;display:grid;place-items:center;background:#112e39}.pickIcon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#e4ebe5}.stationPick{display:flex;align-items:center;gap:12px}.stationPick>span:nth-child(2){min-width:0;flex:1}.stationPick .pickAction{flex:none}.refLightRing{filter:brightness(calc((.14 + var(--music-level,0)*1.9)*var(--ring-brightness,.75)))}.isPlaying .refCone{filter:brightness(calc((.65 + var(--music-level,0)*.7)*(.65 + var(--ring-brightness,.75)*.35)))}.refStation .retroText #retroChannel{font-size:2.3cqw!important}.refStation .retroText #retroTrack{font-size:1.02cqw!important;line-height:1.3!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.refSettingsBody .lightingControls input[type=range]{min-height:44px;width:100%;accent-color:#b4ef90}.mobileActions button{touch-action:manipulation}.refStationKeys button{touch-action:manipulation;user-select:none;-webkit-user-select:none}.refStationKeys button:active{box-shadow:inset 0 0 12px #b4ff99}.pickerList{max-height:calc(var(--visible-vh,100dvh) - 250px)!important}@media(max-width:550px){.stationPick .pickAction{font-size:0}.stationPick .pickAction:after{content:'▶';font-size:18px}.pickerList .stationPick{padding:12px 10px;gap:9px}.pickerList .stationPick strong{font-size:15px}.pickerList .stationPick small{font-size:11px}.mobileNow strong{font-size:19px}.mobileNow small{min-height:17px}}

.referenceSurface .refStation .retroText #retroChannel,body.compactRadio .referenceSurface .refStation .retroText #retroChannel{font-size:2.3cqw!important}.referenceSurface .refStation .retroText #retroTrack,body.compactRadio .referenceSurface .refStation .retroText #retroTrack{font-size:1.02cqw!important}

/* The receiver is the complete radio page. */
body.compactRadio.retroMode{background:#080e12!important}body.compactRadio.retroMode>header,body.compactRadio.retroMode main>.eyebrow,body.compactRadio.retroMode main>h1,body.compactRadio.retroMode main>.intro,body.compactRadio.retroMode .viewTabs,body.compactRadio.retroMode .roomCaption,body.compactRadio.retroMode #retroHint,body.compactRadio.retroMode .retroHint,body.compactRadio.retroMode .mobileRadioDock,body.compactRadio.retroMode>footer{display:none!important}body.compactRadio.retroMode main{padding:0!important;height:var(--visible-vh)!important}body.compactRadio.retroMode #retroRoom{padding:0!important;margin:0!important}body.compactRadio.retroMode .radioStage{padding:0!important;overflow:hidden}body.compactRadio.radioFocus main{padding:0!important}body.compactRadio.radioFocus #exitRadioFocus{display:none!important}body.compactRadio.radioFocus #retroFullscreen{z-index:10}body.compactRadio .referenceSurface .refStationKeys{margin-bottom:0!important}body.compactRadio .referenceSurface #retroFullscreen{min-width:24px!important;min-height:24px!important;left:auto!important;right:3%!important;top:8%!important}body.compactRadio .referenceSurface #retroFullscreen:focus-visible{outline:2px solid #d9ff79}

/* Country popup: readable labels on native desktop and mobile menus. */
#country option, #country optgroup { color: #000 !important; background: #fff !important; color-scheme: light; }

/* Small readability and control refinements on the original receiver. */
body.compactRadio .refStation .retroText{padding-right:.3cqw!important}
body.compactRadio .refStation .retroText #retroChannel{font-size:2.1cqw!important;line-height:1.12!important;max-width:100%!important}
body.compactRadio .refStation .retroText #retroTrack{font:500 .92cqw/1.3 system-ui!important;max-width:100%!important;white-space:nowrap!important;text-overflow:ellipsis!important}
body.compactRadio .referenceSurface .refStation .retroDisplay{height:4.4cqw!important}
body.compactRadio .refStation .tunerLabels{padding-right:9cqw!important;box-sizing:border-box!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#receiverStatus{display:block;position:absolute;bottom:.35cqw;left:.9cqw;right:.7cqw;font:600 .72cqw/1.2 system-ui;color:#d8edbe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-playback=connecting] #receiverStatus,[data-playback=blocked] #receiverStatus{color:#ffe7a8}
[data-playback=error] #receiverStatus{color:#ffc4b8}
body.compactRadio .referenceSurface #retroPrev,body.compactRadio .referenceSurface #retroNext,body.compactRadio .referenceSurface #playSelected,body.compactRadio .referenceSurface #referenceVolume,body.compactRadio .referenceSurface #referenceMenu,body.compactRadio .referenceSurface #retroInfo,body.compactRadio .referenceSurface #retroPower{touch-action:manipulation!important;-webkit-tap-highlight-color:#c4f58a44}
body.compactRadio .referenceSurface #retroPrev:hover,body.compactRadio .referenceSurface #retroNext:hover,body.compactRadio .referenceSurface #referenceMenu:hover,body.compactRadio .referenceSurface #retroInfo:hover{background:#c3ed9e1a!important}
body.compactRadio .referenceSurface #retroPrev:active,body.compactRadio .referenceSurface #retroNext:active,body.compactRadio .referenceSurface #retroPower:active{background:#baff982b!important;box-shadow:inset 0 0 1cqw #94c68355!important}
body.compactRadio .refSearch select,body.compactRadio .refSearch input{font-size:.9cqw!important}
.pickerList .stationPick{touch-action:manipulation;min-height:64px}.pickerList .stationPick.selected{border-color:#ceef9a;background:#1d3e37}.pickerList .stationPick small{color:#c3d4ce}.pickerSearch input{color:#000!important;background:#fff!important}.pickerList .stationPick strong{font-size:16px}
@media(prefers-reduced-motion:reduce){.referenceSurface button{transition:none!important}}
body.compactRadio .referenceSurface #quickFavorites,body.compactRadio .referenceSurface #quickRecent{font-size:.7cqw!important;padding:.2cqw .25cqw!important;overflow:hidden!important;text-overflow:ellipsis!important}
/* Image flags work independently of the operating system's emoji font. */
body.compactRadio .refSearch #countryImageButton{display:flex!important;align-items:center!important;gap:.4cqw!important;width:100%!important;height:100%!important;min-height:0!important;padding:.3cqw .45cqw!important;background:linear-gradient(#1a303a,#0c202b)!important;border:1px solid #65919a!important;border-radius:.3cqw!important;color:#e7f0ec!important;font:.86cqw system-ui!important;overflow:hidden!important;cursor:pointer!important}
#countryImageButton>span:not(.countryFlagArrow){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.countryFlagArrow{flex:none}.countryFlagImage{display:inline-block!important;flex:none!important;width:24px!important;height:18px!important;object-fit:contain!important;vertical-align:middle;margin-right:5px;border-radius:2px}.refSearch .countryFlagImage{width:1.45cqw!important;height:1.1cqw!important;margin:0!important}
#countryImagePicker{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 30px);box-sizing:border-box;border:1px solid #6b9399;border-radius:13px;background:#fff;color:#000;padding:18px;overflow:hidden}#countryImagePicker::backdrop{background:#020a10c9}.countryPickerHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.countryPickerHeading h2{font:700 22px system-ui;margin:0 0 14px;color:#000}.countryPickerHeading button{min-width:42px;min-height:42px;color:#000;background:#eef3f5;border:1px solid #bbcbd0;border-radius:7px}.countryPickerSearch{display:grid;gap:6px;color:#000;font:600 13px system-ui}.countryPickerSearch input{min-height:46px;border:1px solid #829aa3;background:#fff;color:#000;font:16px system-ui;padding:10px;border-radius:7px;box-sizing:border-box;width:100%}.countryImageList{overflow:auto;max-height:60dvh;margin-top:12px;overscroll-behavior:contain;display:grid;gap:4px}.countryImageList button{display:flex;align-items:center;gap:10px;min-height:48px;text-align:left;background:#fff;color:#000;border:1px solid transparent;border-radius:6px;padding:9px 12px;font:15px system-ui;cursor:pointer}.countryImageList button:hover,.countryImageList button:focus-visible{background:#e7f0f2;border-color:#789a9f}.countryImageList button[aria-pressed=true]{background:#e2efdc;border-color:#79966c}.countryImageList .countryFlagImage{width:30px!important;height:22px!important}.stationPick small .countryFlagImage{margin-right:6px}.countryImageList p{color:#000;font:14px system-ui}

/* Cover the printed station buttons on the Titanium cabinet artwork. */
@media (min-width:701px), (orientation:landscape) {
  body.compactRadio .referenceSurface .refStationKeys {
    isolation: isolate;
  }
  body.compactRadio .referenceSurface .refStationKeys::before {
    content: "";
    position: absolute;
    inset: -.35cqw;
    z-index: -1;
    pointer-events: none;
    border-radius: .45cqw;
    background: linear-gradient(#232a2c, #121819);
  }
}

#presetHeading {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25em .8em;
  color: #e0eadc;
  font: 600 12px system-ui;
}
#presetHeading small { color: #b6c5bc; }
.refStationKeys .presetLabel { min-width: 0; text-align: left; }
.refStationKeys .presetCountry {
  display: flex;
  align-items: center;
  gap: .35em;
  margin-top: .16em;
  color: #b7cabd;
  font-size: .8em;
}
.refStationKeys .presetCountry img { width: 1.25em; height: .85em; object-fit: cover; }
.refStationKeys .presetLive {
  display: none;
  position: absolute;
  top: .2em;
  right: .35em;
  color: #c8ff99;
  font-size: .64em;
  line-height: 1;
}
.presetAudioLive .refStationKeys .selected .presetLive { display: block; }

@media (min-width:701px), (orientation:landscape) {
  body.compactRadio #presetHeading {
    position: absolute;
    bottom: calc(100% + .35cqw);
    left: -.35cqw;
    padding: .12cqw .5cqw;
    background: #292a29;
    border-radius: .2cqw;
    font-size: .72cqw;
  }
}

body[data-ring=sunset] { --ring-a:#ffbe55; --ring-b:#ff664b; --ring-c:#fc4ab6; }
body[data-ring=violet] { --ring-a:#e0a7ff; --ring-b:#9b45ff; --ring-c:#543cff; }
body[data-ring=mint] { --ring-a:#d5ff81; --ring-b:#3aff91; --ring-c:#00c9ad; }
body[data-ring=ruby] { --ring-a:#ffc1d0; --ring-b:#ff3263; --ring-c:#b91b36; }
body[data-ring=ocean] { --ring-a:#53ffea; --ring-b:#178dfb; --ring-c:#4752ff; }
body[data-ring=gold] { --ring-a:#fff4b9; --ring-b:#ffc44e; --ring-c:#d38a31; }

body[data-ring-effect=steady]:not([data-ring=off]) .refLightRing {
  filter: brightness(calc(.8 * var(--ring-brightness, .75)));
}

.themeLighting {
  min-inline-size: 0;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #456470;
  border-radius: 10px;
}
.themeLighting legend { padding: 0 6px; color: #e4f5ed; font-weight: 700; }
.themePreview {
  height: 6px;
  margin: 2px 0 12px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ring-a), var(--ring-b), var(--ring-c));
  filter: brightness(var(--ring-brightness, .75));
}
body[data-ring=off] .themePreview { background: #26353d; }
.refSettingsBody .themeLighting .lightingControls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.themeLighting select { width: 100%; }
#ringBrightnessValue { color: #d3ecbc; white-space: nowrap; }
@media (max-width: 460px) {
  .refSettingsBody .themeLighting .lightingControls { grid-template-columns: minmax(0, 1fr); }
}

/* Cabinet finishes and independent light effects. */
[data-cabinet=party] { --cabinet-accent:#ff4db1; --cabinet-light:#99ff51; --cabinet-finish:hue-rotate(32deg) saturate(1.35); }
[data-cabinet=christmas] { --cabinet-accent:#e76d65; --cabinet-light:#ffc572; --cabinet-finish:sepia(.35) hue-rotate(345deg) saturate(1.35); }
[data-cabinet=halloween] { --cabinet-accent:#ff8f37; --cabinet-light:#c998ff; --cabinet-finish:sepia(.45) hue-rotate(350deg) brightness(.75); }
[data-cabinet=studio] { --cabinet-accent:#d1d9e0; --cabinet-light:#eaf5ff; --cabinet-finish:grayscale(1); }
[data-cabinet=arcade] { --cabinet-accent:#62f5ff; --cabinet-light:#ff90e2; --cabinet-finish:hue-rotate(60deg) saturate(1.55); }
[data-cabinet=ocean] { --cabinet-accent:#52bdff; --cabinet-light:#83ffea; --cabinet-finish:sepia(.4) hue-rotate(155deg) saturate(1.4); }
[data-cabinet=gold] { --cabinet-accent:#ffcb75; --cabinet-light:#fff0a5; --cabinet-finish:sepia(.8) saturate(1.25); }
[data-cabinet=forest] { --cabinet-accent:#9ede9d; --cabinet-light:#e6f59c; --cabinet-finish:sepia(.6) hue-rotate(53deg); }
[data-cabinet=night] { --cabinet-accent:#a5a7ff; --cabinet-light:#c9b4ff; --cabinet-finish:hue-rotate(25deg) brightness(.62); }
body[data-cabinet]:not([data-cabinet=titanium]) .referenceCabinet {
  filter: var(--cabinet-finish);
}
body[data-cabinet]:not([data-cabinet=titanium]) .referenceSurface .refStation,
body[data-cabinet]:not([data-cabinet=titanium]) #referenceSettings {
  border-color: var(--cabinet-accent);
  background: linear-gradient(145deg, color-mix(in srgb, var(--cabinet-accent) 20%, #10191d), #0b1216);
}
body[data-cabinet]:not([data-cabinet=titanium]) .refStationKeys button.selected {
  border-color: var(--cabinet-accent)!important;
  box-shadow: 0 0 .6cqw var(--cabinet-accent)!important;
}
body:not([data-ring=off])[data-cabinet]:not([data-cabinet=titanium])[data-ring=aurora] {
  --ring-a: var(--cabinet-accent);
  --ring-b: var(--cabinet-light);
  --ring-c: var(--cabinet-accent);
}
body[data-ring-effect=flow]:not([data-ring=off]) .refLightRing {
  filter: brightness(calc(.86 * var(--ring-brightness, .75)));
}
@media (prefers-reduced-motion: no-preference) {
  body[data-ring-effect=flow]:not([data-ring=off]) .refLightRing {
    animation: radioColorWave 14s linear infinite;
  }
}
@keyframes radioColorWave {
  from { filter: brightness(calc(.86 * var(--ring-brightness, .75))) hue-rotate(0deg); }
  to { filter: brightness(calc(.86 * var(--ring-brightness, .75))) hue-rotate(360deg); }
}
.cabinetThemeChoice { display: block; margin-bottom: 12px; }
.cabinetThemeChoice select { display: block; margin-top: 5px; }

#radioMusicLinks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}
#radioMusicLinks a {
  display: grid;
  place-items: center;
  min-width: 0;
  border: 1px solid #536367;
  border-radius: 6px;
  background: #111a1c;
}
#radioMusicLinks a:hover, #radioMusicLinks a:focus-visible {
  border-color: var(--cabinet-accent, #a7dc8d);
  background: #263332;
}
#radioMusicLinks svg { display: block; width: clamp(14px, 2.1cqw, 29px); height: clamp(14px, 2.1cqw, 29px); }
@media (min-width:701px), (orientation:landscape) {
  body.compactRadio .referenceSurface .refStationKeys {
    width: 81.7%!important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) minmax(0, 1.25fr)!important;
    --station-button-gap: .53cqw;
    gap: var(--station-button-gap)!important;
  }
  body.compactRadio .referenceSurface .refStationKeys::before {
    inset: -.55cqw -.4cqw -.55cqw -.7cqw;
    background: linear-gradient(#232a2c, #121819);
  }
}
@media (max-width:700px) and (orientation:portrait) {
  .mobileCabinet::after {
    content: "";
    position: absolute;
    left: 13.5%;
    right: 13.5%;
    top: 79%;
    height: 9.6%;
    border-radius: 4px;
    background: linear-gradient(#282e30, #202628);
    pointer-events: none;
  }
  #radioMusicLinks { grid-column: 1 / -1; gap: 8px; }
  #radioMusicLinks a { min-height: 46px; }
  #radioMusicLinks svg { width: 27px; height: 27px; }
}

.cabinetThemeChoice[hidden] { display: none; }
#cabinetThemePicker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}
#cabinetThemePicker button {
  min-height: 56px;
  padding: 9px 8px;
  border: 1px solid #506772;
  border-radius: 8px;
  color: #edf7ef;
  background: #101e25;
  font: 650 12px system-ui;
  white-space: normal;
}
#cabinetThemePicker button::before {
  content: "";
  display: block;
  height: 6px;
  margin-bottom: 6px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--cabinet-accent, #99daee), var(--cabinet-light, #acff91));
}
#cabinetThemePicker button[aria-pressed=true] {
  border-color: var(--cabinet-accent, #99daee);
  background: color-mix(in srgb, var(--cabinet-accent, #99daee) 22%, #101e25);
}
#cabinetThemePicker button:focus-visible {
  outline: 2px solid #e0ffb4;
  outline-offset: 2px;
}

/* Keep station details and artist shortcuts readable across the receiver. */
body.compactRadio .refStationKeys button small {
  color: #c6eeae!important;
  text-shadow: none!important;
}
body.compactRadio .referenceSurface .refStationKeys button.selected {
  filter: none;
  background: linear-gradient(#263c31, #10261c)!important;
  color: #f7fff4!important;
  border-color: #b2ef94!important;
  box-shadow: inset 0 0 0 1px #b2ef9460!important;
}
.refStationKeys .presetCountry { color: #c5d4cd; }
.refStationKeys .presetLive {
  top: auto;
  bottom: .35em;
  right: .4em;
  padding: .25em .4em;
  border-radius: .3em;
  background: #173f28;
  color: #d7ffc7;
}
#radioMusicLinks a {
  align-content: center;
  gap: 3px;
  color: #edf7f1;
  text-decoration: none;
}
#radioMusicLinks span {
  text-align: center;
  font: 650 10px/1.05 system-ui;
  overflow-wrap: normal;
}
@media (min-width:701px), (orientation:landscape) {
  body.compactRadio .referenceSurface .refStationKeys {
    grid-template-columns: repeat(7, minmax(0, 1fr)) minmax(0, 1.45fr)!important;
  }
  body.compactRadio .referenceSurface .refStationKeys button {
    gap: .45cqw!important;
    padding: .42cqw .52cqw!important;
    font-size: .9cqw!important;
  }
  body.compactRadio .refStationKeys button small { font-size: 1.38cqw!important; }
  body.compactRadio #presetHeading { font-size: .79cqw; }
  #radioMusicLinks svg { width: 1.65cqw; height: 1.65cqw; }
  #radioMusicLinks span { font-size: clamp(6px, .62cqw, 11px); }
}

#radioMusicLinks a { box-sizing: border-box; padding: 4px 3px; }
@media (min-width:701px), (orientation:landscape) {
  body.compactRadio .referenceSurface .refStationKeys {
    grid-template-rows: minmax(0, 1fr);
  }
  #radioMusicLinks { min-height: 0; gap: var(--station-button-gap); }
  #radioMusicLinks a { min-height: 0; padding: .22cqw; gap: .16cqw; }
}

.radioToolbar {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px clamp(10px, 2vw, 28px);
  background: #10191e;
  border-bottom: 1px solid #34474e;
}
.radioToolbar #radioHomeLink,
.radioToolbar #retroFullscreen {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #eaf7f1;
  font: 650 13px/1.2 system-ui;
  text-decoration: none;
}
.radioToolbar #radioHomeLink:hover,
.radioToolbar #retroFullscreen:hover,
.radioToolbar #radioHomeLink:focus-visible,
.radioToolbar #retroFullscreen:focus-visible {
  border-color: #a5cf95;
  background: #203237;
}
.radioToolbar #retroFullscreen span { font-size: 18px; }
@media (max-width:700px) and (orientation:portrait) {
  .radioToolbar { max-width: 520px; box-sizing: border-box; margin-inline: auto; }
}

#radioStreamError { width: min(440px, calc(100vw - 24px)); box-sizing: border-box; }
#radioStreamError form { display: flex; justify-content: flex-end; }
#radioStreamError h2 { margin: 0 0 .5em; }
.radioErrorActions { display: flex; flex-wrap: wrap; gap: 8px; }
.radioErrorActions button { min-height: 44px; }
#retryRadioStream { background: #bde998; color: #152318; }

.refStationKeys .presetLabel { flex: 1; }
.refStationKeys .presetLive {
  position: static;
  margin-inline-start: auto;
  flex: none;
  white-space: nowrap;
  font-size: .8em;
}
@media (min-width:701px), (orientation:landscape) {
  #radioMusicLinks { position: relative; }
  #radioMusicLinks::before {
    content: "";
    position: absolute;
    inset-block: 13%;
    inset-inline-start: calc(var(--station-button-gap) / -2);
    width: 1px;
    background: #879b8e70;
    pointer-events: none;
  }
}

.radioMotionChoice { display: block; margin-bottom: 12px; }
.radioMotionChoice select { display: block; margin-top: 5px; }
#nextStationPreview {
  position: absolute;
  top: 53.7%;
  left: 50%;
  width: 20%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #d4e1d8;
  font: 650 .73cqw system-ui;
  pointer-events: none;
}
.referenceSurface .refStation::after {
  content: "";
  position: absolute;
  inset: auto 8px 1px;
  height: 2px;
  opacity: 0;
  background: #b6f899;
  pointer-events: none;
}
#receiver[data-playback=connecting] .refStation::after { opacity: .65; }
@media (prefers-reduced-motion: no-preference) {
  body:not([data-radio-motion=off]) #receiver[data-playback=connecting] .refStation::after {
    background: linear-gradient(90deg, transparent, #b6f899, transparent) 0 / 45% 100% no-repeat;
    animation: radioConnectSweep 1.3s ease-in-out infinite alternate;
  }
  body:not([data-radio-motion=off]) #receiver[data-playback=stopped] .refEQScreen i {
    transition: height .3s ease-out;
  }
}
body[data-radio-motion=off] .refLightRing,
body[data-radio-motion=off] .refCone { animation: none!important; transition: none!important; }
@keyframes radioConnectSweep { to { background-position: 100% 0; } }
@media (max-width:700px) and (orientation:portrait) {
  #nextStationPreview {
    position: static;
    grid-area: next;
    align-self: end;
    transform: translateY(100%);
    width: 100%;
    font-size: 9px;
    text-align: right;
  }
  body.compactRadio.retroMode .referenceSurface .refVolume { margin-top: 8px!important; }
}
body[data-radio-motion=off]:not([data-ring=off]) .refLightRing {
  filter: brightness(calc(.8 * var(--ring-brightness, .75)));
}

.radioArtistLinks { display: none; }
body.retroMode .radioArtistLinks {
  display: block;
  flex: none;
  box-sizing: border-box;
  width: min(100%, 620px);
  margin-inline: auto;
  padding: 14px 12px 22px;
  text-align: center;
}
.radioArtistLinks h2 { margin: 0 0 10px; color: #eaf4ec; font: 700 16px system-ui; }
.radioArtistLinks #radioMusicLinks { gap: 8px; }
.radioArtistLinks #radioMusicLinks::before { display: none; }
.radioArtistLinks #radioMusicLinks a {
  min-height: 62px;
  padding: 8px 3px;
  gap: 5px;
}
.radioArtistLinks #radioMusicLinks svg { width: 23px; height: 23px; }
.radioArtistLinks #radioMusicLinks span {
  font: 650 clamp(10px, 2.8vw, 13px)/1.15 system-ui;
  white-space: nowrap;
}
@media (min-width:701px), (orientation:landscape) {
  body.compactRadio.retroMode:not(.radioFocus) main {
    overflow-y: auto;
    scrollbar-width: none;
  }
  body.compactRadio.retroMode:not(.radioFocus) #retroRoom {
    flex: 0 0 var(--visible-vh)!important;
  }
}

.radioToolbar #radioMyMusic, .radioBackLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  box-sizing: border-box;
  padding: 6px 10px;
  color: #d9f3c9;
  background: #192b28;
  border: 1px solid #567363;
  border-radius: 7px;
  font: 650 13px system-ui;
  text-decoration: none;
}
.radioFeaturedTrack {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 12px;
  margin-bottom: 12px;
  background: #142027;
  border: 1px solid #41565d;
  border-radius: 10px;
  text-align: left;
}
.radioFeaturedTrack img { width: clamp(72px, 24vw, 112px); height: auto; border-radius: 6px; }
.radioFeaturedTrack p { margin: 0; color: #b8cbc2; font: 12px system-ui; }
.radioFeaturedTrack h3 { margin: 4px 0 8px; color: #f0f7f1; font: 700 17px system-ui; }
.radioFeaturedTrack button { min-height: 44px; padding: 7px 10px; font: 650 12px system-ui; }
#radioPreviewStatus { display: block; margin-top: 5px; font-size: 12px; color: #b8cbc2; }
#radioResume { margin-top: 7px; }
.radioBackLink { margin-top: 12px; }
@media (max-width:440px) {
  .radioToolbar { gap: 3px; padding-inline: 5px; }
  .radioToolbar :is(#radioHomeLink,#radioMyMusic,#retroFullscreen) { padding-inline: 4px; font-size: 11px; }
}

.radioFeaturedTrack > div { flex: 1; min-width: 0; }
.radioPreviewTimeline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font: 600 11px system-ui;
  color: #d0e1d8;
}
.radioPreviewTimeline progress { flex: 1; min-width: 0; accent-color: #b8e599; }
.radioPreviewTimeline span { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Keep the receiver controls and service links aligned inside the bottom panel. */
#radioMyMusic, #nextStationPreview { display:none!important; }
@media (min-width:701px), (orientation:landscape) {
 body.compactRadio #receiver .referenceSurface .refStationKeys {
  top:81.5%!important;height:7.2%!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
  gap:.35cqw .53cqw!important;align-items:stretch;
 }
 body.compactRadio #retroPresets #presetHeading {display:none!important;}
 body.compactRadio #retroPresets>button {height:100%!important;padding:.15cqw .45cqw!important;align-items:center!important;}
 body.compactRadio #retroPresets>button .presetLabel {display:block!important;white-space:nowrap!important;text-overflow:ellipsis;line-height:1.3!important;font-size:.8cqw!important;}
 body.compactRadio #retroPresets>button small {font-size:1.05cqw!important;}
 body.compactRadio #retroPresets .radioMusicServices {height:100%;gap:1.1cqw;align-items:center;}
 body.compactRadio #retroPresets .radioMusicServices a {height:100%;width:2.5cqw;min-height:0;padding:0;}
 body.compactRadio #retroPresets .radioMusicServices img {width:1.8cqw;height:1.8cqw;max-height:100%;object-fit:contain;}
}

/* One aligned preset row, with the music services at the far right. */
body #retroPresets>button {border-radius:6px!important;position:relative;}
body #retroPresets>button .presetTicker {display:block!important;min-width:0;flex:1;overflow:hidden!important;white-space:nowrap!important;text-align:left;}
body #retroPresets>button .presetTickerText {display:block!important;width:max-content;max-width:none;white-space:nowrap!important;font:inherit!important;line-height:1.4!important;}
body #retroPresets .presetTicker.hasOverflow .presetTickerText {animation:presetTicker var(--ticker-duration,9s) ease-in-out infinite alternate;}
@keyframes presetTicker {0%,20%{transform:translateX(0)}80%,100%{transform:translateX(var(--ticker-shift))}}
@media (min-width:701px), (orientation:landscape) {
 body.compactRadio #receiver .referenceSurface .refStationKeys {
  grid-template-columns:repeat(6,minmax(0,1fr)) minmax(0,1.15fr)!important;
  grid-template-rows:minmax(0,1fr)!important;align-items:stretch;gap:.5cqw!important;
  top:81.7%!important;height:6.4%!important;
 }
 body.compactRadio #retroPresets>button {padding:.6cqw .5cqw!important;gap:.45cqw!important;border-color:#748d87!important;box-shadow:inset 0 1px #e9fff22b,0 .18cqw .3cqw #000a!important;background:linear-gradient(180deg,#344542,#152523 52%,#0e1a19)!important;}
 body.compactRadio #retroPresets>button small {font-size:1.05cqw!important;color:#c9e5bf!important;}
 body.compactRadio #retroPresets>button .presetTicker {font:650 .86cqw/1.4 system-ui!important;}
 body.compactRadio #retroPresets>button.selected {border-color:#d0ff9e!important;background:linear-gradient(#3b5737,#192e1b)!important;box-shadow:inset 0 1px #e5ffc766,0 0 .6cqw #b5ef7950!important;}
 body.compactRadio #retroPresets .radioMusicServices {grid-column:7!important;grid-row:1!important;justify-content:flex-end;gap:.55cqw;border-left:1px solid #667c7166;padding-left:.5cqw;box-sizing:border-box;}
 body.compactRadio #retroPresets .radioMusicServices a {width:2.1cqw;height:100%;min-width:0;}
 body.compactRadio #retroPresets .radioMusicServices img {width:1.8cqw;height:1.8cqw;}
}
@media(max-width:700px) and (orientation:portrait){#retroPresets .radioMusicServices{justify-content:flex-end!important;}}
@media(prefers-reduced-motion:reduce){body #retroPresets .presetTicker.hasOverflow .presetTickerText{animation:none;}}

/* Clear display information, without adding another layer of glowing lines. */
.displayDateTime{display:flex;align-items:center;gap:.8cqw;color:#d7eec2;letter-spacing:.02em;white-space:nowrap;}
#displayClock{font:750 1.12cqw/1 monospace;font-variant-numeric:tabular-nums;}
#displayDate{font:600 .76cqw/1.2 system-ui;}
body.compactRadio .refStation .tunerLabels>span:first-child{display:none!important;}
body.compactRadio .refStation .tunerLabels{height:2cqw!important;display:flex!important;align-items:flex-start;padding-right:9cqw!important;}
#displayWeather{position:absolute;bottom:.3cqw;left:.9cqw;max-width:26cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbe8ae;text-decoration:none;font:600 .68cqw/1.3 system-ui;}
#displayWeather:focus-visible{outline:1px solid #dbffab;outline-offset:2px;}
body.compactRadio #receiverStatus{left:auto;right:.7cqw;width:8.8cqw;bottom:.3cqw;font-size:.61cqw;text-align:right;}
body.compactRadio .referenceSurface .refStation{box-shadow:inset 0 1px 4px #0009!important;}
body.compactRadio .referenceSurface #referenceVolume:before{box-shadow:none!important;width:3%!important;}
@media(min-width:701px),(orientation:landscape){
 .controlTrim{position:absolute;left:30.65%;top:54.5%;width:38.6%;height:.9%;background:linear-gradient(#121a1c,#10181b);pointer-events:none;z-index:1;}

}
@media(max-width:700px) and (orientation:portrait){
 body.compactRadio.retroMode .refStation .tunerLabels{height:25px!important;min-height:25px!important;padding-right:112px!important;}
 .displayDateTime{gap:8px;align-items:center;}
 #displayClock{font-size:17px;}#displayDate{font-size:10px;}
 #displayWeather{position:static;display:block;order:3;max-width:100%;font-size:11px;padding:4px 0;}
 body.compactRadio #receiverStatus{position:static;width:100%;font-size:10px;text-align:left;}
 .controlTrim{display:none;}
}

body.compactRadio .referenceSurface #retroPower{filter:none!important;text-shadow:none!important;}

/* Illuminated left and right channels, driven independently by the audio meters. */
body.compactRadio .referenceSurface .refVU{overflow:visible!important;background:#07150f!important;border-radius:.15cqw;box-shadow:0 0 .35cqw #7fff7133,inset 0 0 0 1px #91c68466;}
body.compactRadio .referenceSurface .refVU:before{position:absolute;bottom:calc(100% + .25cqw);left:50%;transform:translateX(-50%);font:800 .7cqw/1 monospace;color:#d2ff9f;text-shadow:0 0 .45cqw #9dff69;}
body.compactRadio .referenceSurface .refVULeft:before{content:'L';}
body.compactRadio .referenceSurface .refVURight:before{content:'R';}
body.compactRadio .referenceSurface .refVU>div{inset:0!important;width:100%!important;height:100%!important;transform:none!important;overflow:hidden!important;border-radius:.15cqw;background:repeating-linear-gradient(to top,#84db7426 0 .36cqw,#07150f .36cqw .48cqw)!important;}
body.compactRadio .referenceSurface .refVU i{position:absolute;inset:0;width:100%!important;height:100%!important;transform:scaleY(var(--vu-level,.04));transform-origin:center bottom;background:linear-gradient(to top,#5bff6d,#cbff58 72%,#ffbe47 88%,#ff654c)!important;box-shadow:0 0 .4cqw #a6ff76!important;}
body.compactRadio .referenceSurface .refVU>div:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to top,transparent 0 .36cqw,#07150f .36cqw .48cqw);}
