:root{color-scheme:dark;--accent:#efb73e;--accent2:#d85e35;--ink:#f4f0e8;--muted:#a9adb5;--panel:rgba(9,12,17,.72)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#05070a;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}.stage{position:relative;width:100vw;height:100vh;min-height:600px;isolation:isolate;background:radial-gradient(circle at 70% 42%,#222939 0,transparent 35%),linear-gradient(120deg,#07090d 0%,#10141c 55%,#080a0f 100%);transition:background .8s ease}.stage[data-station="exterior"]{--accent:#22c4d6;--accent2:#5e72ee;background:radial-gradient(circle at 70% 42%,#15313b 0,transparent 35%),linear-gradient(120deg,#06090d 0%,#0c1820 55%,#070a0f 100%)}.ambient{position:absolute;border-radius:50%;filter:blur(80px);opacity:.24;z-index:-2;animation:float 12s ease-in-out infinite}.ambient-a{width:42vw;height:42vw;background:var(--accent);right:-12vw;top:-18vw}.ambient-b{width:32vw;height:32vw;background:var(--accent2);left:25vw;bottom:-25vw;animation-delay:-5s}.grid{position:absolute;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 78%)}.topbar{height:16vh;min-height:104px;display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:16px;color:inherit;background:none;border:0;padding:10px 18px 10px 0;cursor:pointer;text-align:left}.brand-mark{display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--accent);border-radius:50%;font-weight:900;font-size:20px;letter-spacing:-1px}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font-size:19px;letter-spacing:.14em}.brand-copy span{color:var(--accent);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.switch-icon{margin-left:10px;font-size:24px;color:var(--muted);transition:transform .3s}.brand:hover .switch-icon{transform:rotate(180deg);color:var(--accent)}.status{margin-left:auto;margin-right:4vw;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:.14em}.live-dot{width:9px;height:9px;background:#ff3d47;border-radius:50%;box-shadow:0 0 0 8px rgba(255,61,71,.12);animation:pulse 1.8s infinite}time{font-size:35px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.06em}.scene{position:absolute;inset:16vh 0 14vh;padding:7vh 8vw;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .55s ease,transform .55s ease}.stage[data-scene="live"] .scene-live,.stage[data-scene="music"] .scene-music,.stage[data-scene="interview"] .scene-interview,.stage[data-scene="laia"] .scene-laia,.stage[data-scene="idle"] .scene-idle{opacity:1;transform:none;pointer-events:auto}.eyebrow{font-size:clamp(14px,1.2vw,22px);font-weight:800;letter-spacing:.22em;color:var(--accent);margin-bottom:2.2vh}.scene h1{font-size:clamp(54px,7vw,126px);line-height:.94;letter-spacing:-.055em;margin:0;max-width:1100px}.scene p{font-size:clamp(20px,2vw,34px);line-height:1.4;color:var(--muted);max-width:900px;margin:3vh 0}.host-row{display:flex;align-items:center;gap:18px;margin-top:5vh}.avatar{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#090b0e;font-weight:900}.host-row div:last-child{display:flex;flex-direction:column;gap:4px}.host-row span{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.15em}.host-row strong{font-size:21px}.scene-music,.scene-interview,.scene-laia{align-items:center;gap:6vw}.stage[data-scene="music"] .scene-music,.stage[data-scene="interview"] .scene-interview,.stage[data-scene="laia"] .scene-laia{display:flex}.cover{position:relative;width:min(33vw,460px);aspect-ratio:1;border-radius:5%;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent2));box-shadow:0 35px 100px rgba(0,0,0,.45);overflow:hidden}.cover:before{content:"";position:absolute;inset:-20%;background:repeating-radial-gradient(circle at center,transparent 0 18px,rgba(255,255,255,.13) 20px 21px);transform:rotate(15deg)}.cover span{z-index:1;font-size:clamp(42px,6vw,92px);font-weight:950;letter-spacing:-.08em}.music-copy{flex:1}.music-copy h1{font-size:clamp(48px,6vw,105px)}.wave{height:70px;display:flex;align-items:center;gap:9px;margin-top:4vh}.wave i{display:block;width:7px;height:20%;border-radius:10px;background:var(--accent);animation:bars 1.1s ease-in-out infinite}.wave i:nth-child(2n){animation-delay:-.7s}.wave i:nth-child(3n){animation-delay:-.35s}.wave i:nth-child(4n){animation-delay:-.9s}.guest-orbit{width:min(30vw,410px);aspect-ratio:1;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;position:relative}.guest-orbit:before,.guest-orbit:after{content:"";position:absolute;border:1px solid var(--accent);border-radius:50%;inset:8%;opacity:.5}.guest-orbit:after{inset:-8%;border-style:dashed;animation:spin 18s linear infinite}.guest-avatar{width:58%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2d3542,#11151c);font-weight:900;font-size:54px;color:var(--accent)}.laia-core{width:min(31vw,430px);aspect-ratio:1;position:relative;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),rgba(255,255,255,.03) 36%,transparent 37%)}.laia-core span{z-index:2;font-size:clamp(30px,4vw,60px);font-weight:300;letter-spacing:.2em}.laia-core i{position:absolute;inset:15%;border:2px solid var(--accent);border-radius:46% 54% 65% 35%/45% 42% 58% 55%;animation:morph 7s ease-in-out infinite}.laia-core i:nth-child(2){inset:7%;opacity:.55;animation-delay:-2s;animation-direction:reverse}.laia-core i:nth-child(3){inset:24%;opacity:.4;animation-delay:-4s}.scene-idle{text-align:center;place-items:center;align-content:center}.stage[data-scene="idle"] .scene-idle{display:grid}.idle-mark{width:150px;height:150px;display:grid;place-items:center;border:3px solid var(--accent);border-radius:50%;font-size:52px;font-weight:900;margin-bottom:4vh}.scene-idle h1{font-size:clamp(62px,9vw,160px)}.scene-idle p{margin:2vh auto}.scene-nav{position:absolute;bottom:0;left:5vw;right:5vw;height:14vh;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;border-top:1px solid rgba(255,255,255,.12)}.scene-nav button{position:relative;color:var(--muted);background:none;border:0;border-right:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-size:15px}.scene-nav button:last-child{border-right:0}.scene-nav button:after{content:"";position:absolute;top:-1px;left:50%;right:50%;height:2px;background:var(--accent);transition:left .3s,right .3s}.scene-nav button.active{color:var(--ink)}.scene-nav button.active:after{left:12%;right:12%}.scene-nav span{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.scene-nav b{font-weight:650}.fullscreen{position:absolute;right:1.5vw;bottom:15.5vh;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:var(--muted);border-radius:50%;width:45px;height:45px;cursor:pointer;font-size:19px}.fullscreen:hover{color:var(--ink);border-color:var(--accent)}@keyframes pulse{50%{box-shadow:0 0 0 13px rgba(255,61,71,0)}}@keyframes float{50%{transform:translate3d(0,35px,0) scale(1.08)}}@keyframes bars{0%,100%{height:22%}50%{height:90%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes morph{0%,100%{transform:rotate(0) scale(1);border-radius:46% 54% 65% 35%/45% 42% 58% 55%}50%{transform:rotate(130deg) scale(.92);border-radius:62% 38% 36% 64%/57% 61% 39% 43%}}
@media(max-width:800px){.topbar{padding:0 4vw}.brand-copy strong{font-size:15px}.brand-copy span{font-size:11px}.status{display:none}time{font-size:26px}.scene{padding:6vh 7vw}.scene-music,.scene-interview,.scene-laia{flex-direction:column;justify-content:center;text-align:center}.cover,.guest-orbit,.laia-core{width:min(42vw,260px)}.scene h1{font-size:clamp(42px,11vw,72px)}.scene p{font-size:18px}.scene-nav b{display:none}.scene-nav button{font-size:13px}.fullscreen{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.cover img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}.cover.has-art img{opacity:1}.cover.has-art:before,.cover.has-art span,.cover.has-art i{visibility:hidden}
.cover.station-logo img{object-fit:contain;padding:12%;background:rgba(5,7,10,.72)}
.brand-mark{border:0;overflow:hidden;width:62px;height:62px;filter:drop-shadow(0 0 10px rgba(255,255,255,.16))}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-copy strong{font-family:"Arial Black",Inter,ui-sans-serif,system-ui,sans-serif;font-style:italic}.listen{position:absolute;right:5vw;top:18vh;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(0,0,0,.3);color:var(--ink);font-size:12px;letter-spacing:.12em;cursor:pointer}.listen:hover,.listen.playing{border-color:var(--accent);color:var(--accent)}.play-icon{font-size:13px}
.stage[data-scene="live"] .scene-live{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,42vw);align-items:center;gap:5vw;padding-right:6vw}.scene-live h1{font-size:clamp(48px,5.6vw,102px)}.live-media{position:relative;width:100%;aspect-ratio:16/10;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#050608;box-shadow:0 35px 90px rgba(0,0,0,.52)}.live-media:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}.live-media img,.live-media iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.live-media iframe{display:none;background:#000}.live-media.video-active iframe{display:block}.live-media.video-active img,.live-media.video-active .media-shade{display:none}.media-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,5,8,.72),transparent 48%)}.media-state{position:absolute;left:24px;bottom:21px;display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.13em}.media-state span{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 18%,transparent)}.live-media.video-active .media-state span{background:#ff3d47;box-shadow:0 0 0 7px rgba(255,61,71,.17);animation:pulse 1.8s infinite}.live-media.video-active .media-state{z-index:2;pointer-events:none}.live-media.video-active .media-state b{background:rgba(0,0,0,.62);padding:8px 11px;border-radius:999px}@media(max-width:900px){.stage[data-scene="live"] .scene-live{grid-template-columns:1fr;gap:3vh;padding-top:3vh}.live-media{width:min(100%,620px);aspect-ratio:16/9}.scene-live h1{font-size:clamp(38px,8vw,60px)}.host-row{margin-top:2vh}.scene-live p{margin:2vh 0}}
.settings{position:absolute;right:1.5vw;bottom:21vh;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:var(--muted);border-radius:50%;width:45px;height:45px;cursor:pointer;font-size:18px}.settings:hover{color:var(--ink);border-color:var(--accent)}.control-panel{width:min(92vw,560px);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:0;background:#11151c;color:var(--ink);box-shadow:0 30px 110px rgba(0,0,0,.7)}.control-panel::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.control-panel form{padding:28px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel-head span{font-size:12px;color:var(--accent);font-weight:800;letter-spacing:.16em}.panel-head h2{margin:6px 0 0;font-size:32px}.panel-close{border:0;background:transparent;color:var(--muted);font-size:34px;line-height:1;cursor:pointer}.control-panel p{color:var(--muted);line-height:1.5}.control-panel label{display:block;margin:24px 0 8px;font-weight:700;font-size:14px}.control-panel input{width:100%;padding:15px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#080b10;color:var(--ink);font-size:16px;outline:none}.control-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.panel-station{display:flex;justify-content:space-between;margin-top:16px;padding:13px 15px;border-radius:12px;background:rgba(255,255,255,.05);font-size:14px}.panel-station span{color:var(--muted)}.panel-message{min-height:24px;margin:14px 0 0!important;color:var(--accent)!important;font-size:14px}.panel-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.panel-actions button{padding:12px 17px;border-radius:999px;font-weight:750;cursor:pointer}.panel-actions .secondary{border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--ink)}.panel-actions .primary{border:1px solid var(--accent);background:var(--accent);color:#080b10}

/* Selector públic d'emissora i accés als canals de YouTube */
.brand{cursor:default}
.station-switcher{display:flex;align-items:center;gap:8px;margin-left:clamp(18px,4vw,64px);padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.24)}
.station-switcher button{min-height:42px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.station-switcher button:hover,.station-switcher button:focus-visible{color:var(--ink);outline:none}
.station-switcher button.active{background:var(--accent);color:#07090d;box-shadow:0 7px 24px color-mix(in srgb,var(--accent) 22%,transparent)}
.youtube-channel{position:absolute;right:20px;bottom:18px;z-index:3;padding:9px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(0,0,0,.62);color:#fff;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.1em;backdrop-filter:blur(8px)}
.youtube-channel:hover,.youtube-channel:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}
.live-media.video-active .youtube-channel{top:18px;bottom:auto}

@media(max-width:1100px){
  .status{display:none}
  .station-switcher{margin-left:auto}
}
@media(max-width:800px){
  .topbar{height:auto;min-height:132px;padding:10px 4vw;flex-wrap:wrap}
  .station-switcher{order:3;width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr}
  .station-switcher button{padding:0 8px;font-size:11px}
  time{margin-left:auto}
  .scene{inset:132px 0 14vh}
  .youtube-channel{right:12px;bottom:12px;font-size:10px}
}

.idle-mark{border:0;width:clamp(130px,11vw,190px);height:clamp(130px,11vw,190px)}
.idle-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 32px rgba(0,0,0,.35))}
