:root{
--bg:#07050d;--panel:rgba(20,12,34,.72);--purple:#9449f3;--purple2:#bc78ff;
--pink:#e540ff;--text:#fbf8ff;--muted:#aaa0b8;--line:rgba(255,255,255,.1);--red:#ff345f
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 10% 10%,rgba(148,73,243,.18),transparent 28%),radial-gradient(circle at 90% 35%,rgba(229,64,255,.12),transparent 23%),linear-gradient(145deg,#090611,#030207);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.aurora{position:fixed;width:480px;height:480px;border-radius:50%;filter:blur(120px);opacity:.12;pointer-events:none}.a1{background:var(--purple);left:-220px;top:22%}.a2{background:var(--pink);right:-220px;top:52%}
.shell{width:min(1480px,calc(100% - 32px));margin:auto;padding:20px 0 32px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(148,73,243,.38))}.brand strong{display:block;font-size:1.35rem;letter-spacing:-.03em}.brand sup{font-size:.45em}.brand span{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;margin-top:2px}
.top-actions{display:flex;gap:9px;align-items:center}.viewer-pill,.live-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.055);backdrop-filter:blur(16px);border-radius:999px;padding:10px 13px;font-size:.72rem;font-weight:800}.viewer-pill b{font-size:.9rem}.live-pill{letter-spacing:.08em}.live-pill i,.badge i,.onair i{width:9px;height:9px;background:var(--red);border-radius:50%;box-shadow:0 0 0 0 rgba(255,52,95,.55);animation:pulse 1.7s infinite}.round-btn{width:42px;height:42px;border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:50%;color:#fff;font-size:1.1rem;cursor:pointer}
.tv-stage{position:relative;min-height:min(74vh,820px);aspect-ratio:16/9;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 90px rgba(0,0,0,.55),0 0 0 1px rgba(148,73,243,.07) inset;background:#07050d;isolation:isolate}
.backdrop{position:absolute;inset:-9%;z-index:-7;background:linear-gradient(90deg,rgba(3,2,7,.92),rgba(7,3,13,.38),rgba(3,2,7,.66)),var(--art,url("/assets/images/logo-radio-xxl.png"));background-size:cover;background-position:center;filter:blur(30px) saturate(1.45);transform:scale(1.08);transition:background-image 1s}
.scanlines{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.06;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.18) 4px)}
.grid{position:absolute;inset:0;z-index:-4;opacity:.12;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:60px 60px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent)}
.light-beam{position:absolute;z-index:-3;width:44%;height:160%;top:-30%;filter:blur(50px);opacity:.15;transform:rotate(20deg);animation:sweep 10s ease-in-out infinite}.b1{left:-20%;background:linear-gradient(to right,transparent,var(--purple),transparent)}.b2{right:-24%;background:linear-gradient(to right,transparent,var(--pink),transparent);animation-delay:-5s}
.badge,.clock{position:absolute;top:23px;z-index:3}.badge{left:23px;display:flex;gap:9px;align-items:center;padding:10px 13px;border:1px solid var(--line);background:rgba(5,3,9,.48);backdrop-filter:blur(15px);border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.09em}.clock{right:25px;font-size:1.05rem;font-weight:900;letter-spacing:.08em}
.hero{position:absolute;inset:0;display:grid;grid-template-columns:minmax(260px,460px) minmax(320px,680px);align-items:center;justify-content:center;gap:clamp(40px,6vw,100px);padding:88px clamp(35px,7vw,115px) 125px}
.cover-zone{position:relative;width:min(30vw,420px);aspect-ratio:1;justify-self:end}.cover-zone>img{position:relative;z-index:3;width:100%;height:100%;object-fit:cover;border-radius:28px;border:1px solid rgba(255,255,255,.19);box-shadow:0 35px 85px rgba(0,0,0,.55);transition:.4s}.cover-zone>img.loading{opacity:.45;transform:scale(.98)}
.cover-glow{position:absolute;inset:8%;background:var(--purple);filter:blur(60px);opacity:.52;border-radius:32%;animation:breathe 4s ease-in-out infinite}
.disc{position:absolute;z-index:1;width:77%;height:77%;border-radius:50%;right:-9%;top:11%;background:repeating-radial-gradient(circle,#1b1422 0 3px,#08060c 4px 7px);box-shadow:0 30px 80px rgba(0,0,0,.5);animation:spin 18s linear infinite}.disc:after{content:"";position:absolute;inset:38%;border-radius:50%;background:radial-gradient(circle,#08060d 0 18%,var(--purple) 20%);border:1px solid rgba(255,255,255,.16)}
.live-ribbon{position:absolute;z-index:5;right:-12px;bottom:22px;padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,var(--red),#ff6b8b);font-size:.72rem;font-weight:900;letter-spacing:.12em;box-shadow:0 12px 30px rgba(255,52,95,.35)}
.kicker,.history header span,.mini span,.status span{display:block;color:var(--purple2);font-size:.67rem;font-weight:900;letter-spacing:.19em}
.copy h1{margin:13px 0 0;font-size:clamp(2.25rem,5vw,5.4rem);line-height:.95;letter-spacing:-.055em;text-shadow:0 16px 55px rgba(0,0,0,.5);text-wrap:balance}.copy p{margin:18px 0;font-size:clamp(1rem,2vw,1.55rem);color:#d8d0e3}
.bars{height:52px;display:flex;align-items:center;gap:4px;overflow:hidden;max-width:570px}.bars i{width:5px;height:10px;border-radius:99px;background:linear-gradient(to top,var(--purple),var(--pink),#fff);animation:bars 1.25s ease-in-out infinite;animation-play-state:paused}.is-playing .bars i{animation-play-state:running}.bars i:nth-child(3n){animation-duration:.8s}.bars i:nth-child(4n){animation-duration:1.7s}.bars i:nth-child(5n){animation-delay:-.45s}
.stats{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.83rem}.stats span{padding-right:12px;border-right:1px solid rgba(255,255,255,.14)}.stats span:last-child{border:0}.stats b{color:#fff}
.tv-corner{position:absolute;right:22px;bottom:86px;text-align:right;font-weight:900;font-size:.82rem;letter-spacing:.12em;color:#fff;text-shadow:0 4px 18px #000}.tv-corner small{font-size:.52rem;color:#d4c9df}
.lower-third{position:absolute;left:20px;right:20px;bottom:18px;z-index:4;display:flex;align-items:center;border:1px solid var(--line);background:linear-gradient(90deg,rgba(15,8,27,.94),rgba(24,12,42,.72));backdrop-filter:blur(18px);border-radius:18px;overflow:hidden}.station{display:flex;align-items:center;gap:10px;padding:10px 17px;min-width:max-content;background:linear-gradient(90deg,rgba(148,73,243,.34),rgba(148,73,243,.06));border-right:1px solid var(--line)}.station img{width:43px;height:43px;object-fit:contain}.station b,.station small{display:block}.station small{font-size:.58rem;color:#dacde8;letter-spacing:.12em;margin-top:3px}.ticker{overflow:hidden;white-space:nowrap;flex:1}.ticker>div{display:inline-flex;gap:55px;min-width:max-content;animation:ticker 24s linear infinite;font-size:.72rem;font-weight:800;letter-spacing:.11em;color:#ddd4e8}
.sound-gate{position:absolute;inset:0;z-index:8;border:0;background:rgba(3,2,7,.38);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;cursor:pointer;transition:.35s}.sound-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.sound-gate>span:last-child{display:flex;flex-direction:column;text-align:left}.sound-gate b{font-size:.9rem;letter-spacing:.08em}.sound-gate small{color:#d4cadf;margin-top:3px}.sound-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#08060d;font-size:1.25rem;box-shadow:0 18px 45px rgba(0,0,0,.4)}
.deck{display:grid;grid-template-columns:1.6fr .8fr;gap:13px;margin-top:13px}.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(22px);box-shadow:0 18px 50px rgba(0,0,0,.2)}.player,.status{min-height:90px;border-radius:20px;padding:14px 18px;display:flex;align-items:center}.play{width:58px;height:58px;flex:0 0 auto;border:0;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));color:white;font-size:1.05rem;box-shadow:0 12px 30px rgba(148,73,243,.35);cursor:pointer}.pauseIcon{display:none}.is-playing .playIcon{display:none}.is-playing .pauseIcon{display:inline}.mini{min-width:0;margin-left:15px;flex:1}.mini b,.mini small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini b{margin-top:4px}.mini small{color:var(--muted);font-size:.76rem;margin-top:2px}.volume{display:flex;align-items:center;gap:9px;width:min(240px,31vw)}.volume input{width:100%;accent-color:var(--purple)}.status{justify-content:space-between}.status b{display:block;margin-top:5px}.onair{display:flex;gap:8px;align-items:center;padding:10px 13px;border-radius:999px;background:rgba(255,52,95,.09);font-size:.72rem;font-weight:900;letter-spacing:.1em}
.history{padding:54px 3px 10px}.history header{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.history h2{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em;margin:5px 0 0}.history header small{color:var(--muted)}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.history-card{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;border-radius:17px;background:rgba(255,255,255,.045);border:1px solid var(--line)}.history-card img{width:64px;height:64px;border-radius:12px;object-fit:cover}.history-card div{min-width:0}.history-card b,.history-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-card span{color:var(--muted);font-size:.74rem;margin-top:5px}.skeleton{height:90px;border-radius:17px;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,.075),rgba(255,255,255,.035));background-size:200% 100%;animation:shimmer 1.5s infinite}.empty-card{grid-column:1/-1;padding:24px;border:1px solid var(--line);border-radius:17px;color:var(--muted);background:rgba(255,255,255,.035)}
footer{display:flex;justify-content:space-between;gap:20px;color:#756d81;font-size:.7rem;letter-spacing:.08em;padding:34px 3px 10px;border-top:1px solid rgba(255,255,255,.06);margin-top:30px}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(255,52,95,0)}100%{box-shadow:0 0 0 0 rgba(255,52,95,0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.12);opacity:.72}}@keyframes bars{0%,100%{height:10px}50%{height:48px}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes sweep{50%{transform:translateX(70%) rotate(20deg);opacity:.25}}
@media(max-width:1050px){.tv-stage{min-height:650px;aspect-ratio:auto}.hero{grid-template-columns:280px 1fr;gap:42px;padding:85px 48px 125px}.cover-zone{width:280px}.history-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shell{width:calc(100% - 18px);padding-top:10px}.brand img{width:48px;height:48px}.brand span{display:none}.viewer-pill span:last-child,.live-pill span{display:none}.tv-stage{min-height:720px;border-radius:22px}.hero{grid-template-columns:1fr;grid-template-rows:auto auto;gap:24px;padding:75px 20px 115px;text-align:center}.cover-zone{width:min(66vw,300px);justify-self:center}.copy{align-self:start}.bars{justify-content:center;margin:auto}.stats{justify-content:center}.badge{left:14px;top:14px}.clock{right:15px;top:17px}.tv-corner{display:none}.lower-third{left:10px;right:10px;bottom:10px}.station{padding:8px 10px}.station img{width:36px;height:36px}.ticker>div{font-size:.62rem}.deck{grid-template-columns:1fr}.player{padding:12px}.volume{width:100px}.status{min-height:76px}.history-grid{grid-template-columns:1fr}.history header small{display:none}.sound-gate{flex-direction:column}.sound-gate>span:last-child{text-align:center}.topbar{gap:8px}.top-actions{gap:6px}.viewer-pill,.live-pill{padding:9px 10px}.round-btn{display:none}}
@media(max-width:420px){.brand strong{font-size:1rem}.tv-stage{min-height:680px}.copy h1{font-size:2.25rem}.copy p{font-size:1rem}.cover-zone{width:230px}.stats{font-size:.73rem}.station small{display:none}.volume{display:none}}

/* RADIO XXL TV v2 - live camera */
.live-camera-layer{position:absolute;inset:0;z-index:7;background:#020104;opacity:0;visibility:hidden;transition:opacity .55s ease;pointer-events:none}
.live-camera-layer video{width:100%;height:100%;object-fit:cover;background:#020104}
.camera-live .live-camera-layer{opacity:1;visibility:visible}
.camera-live .sound-gate{display:none}
.camera-live-layer .camera-live-badge{position:absolute;z-index:2;left:22px;top:22px;background:rgba(8,4,13,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 14px;font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#fff}
.camera-live-layer .camera-live-badge::first-letter{color:#ff345f}
@media(max-width:760px){.camera-live-layer .camera-live-badge{left:13px;top:13px}}

/* v2.2 broadcast live + playlist polish */
.camera-live-layer .camera-live-badge{display:flex;align-items:center;gap:8px}
.camera-live-layer .camera-live-badge i{width:9px;height:9px;border-radius:50%;background:#ff345f;box-shadow:0 0 0 0 rgba(255,52,95,.55);animation:pulse 1.7s infinite}
.live-sound-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:14px 20px;background:rgba(8,4,13,.82);backdrop-filter:blur(15px);color:#fff;font-weight:900;letter-spacing:.07em;cursor:pointer;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.live-sound-button.hidden{display:none}
.history-number{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:rgba(148,73,243,.14);border:1px solid rgba(148,73,243,.3);font-size:.7rem;font-weight:900;color:#cda9ff}
@media(min-width:1100px){.history-grid{grid-template-columns:repeat(4,1fr)}}

/* RADIO XXL® TV 3.0 — Broadcast Edition */
.broadcast-ident{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(circle at center,rgba(148,73,243,.28),rgba(3,2,7,.96) 55%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}
.broadcast-ident.show{opacity:1;visibility:visible}
.broadcast-ident img{width:min(26vw,220px);filter:drop-shadow(0 0 45px rgba(148,73,243,.65));animation:identFloat 2.2s ease-in-out infinite}
.broadcast-ident strong{font-size:clamp(1.8rem,5vw,4rem);letter-spacing:-.04em}
.broadcast-ident span{font-size:.75rem;letter-spacing:.22em;color:#cda9ff;font-weight:900}
.ident-ring{position:absolute;width:min(48vw,440px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(190,130,255,.25);box-shadow:0 0 120px rgba(148,73,243,.18) inset;animation:ringPulse 2.4s ease-in-out infinite}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:13px}
.feature-strip article{display:flex;align-items:center;gap:13px;padding:18px;border-radius:19px;border:1px solid var(--line);background:rgba(255,255,255,.04);backdrop-filter:blur(18px)}
.feature-strip article>span{font-size:1.45rem}.feature-strip b,.feature-strip small{display:block}.feature-strip small{color:var(--muted);font-size:.75rem;margin-top:4px}
.cta{margin-top:42px;padding:28px;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(135deg,rgba(148,73,243,.18),rgba(229,64,255,.07))}
.cta span{font-size:.68rem;font-weight:900;letter-spacing:.19em;color:#cda9ff}.cta h2{font-size:clamp(1.8rem,4vw,3.2rem);letter-spacing:-.05em;margin:8px 0}.cta p{color:var(--muted);max-width:700px}.cta a{white-space:nowrap;text-decoration:none;color:#fff;font-weight:900;border-radius:999px;padding:14px 20px;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 15px 35px rgba(148,73,243,.28)}
.camera-live .lower-third,.camera-live .badge,.camera-live .clock,.camera-live .tv-corner{z-index:10}
.camera-live .lower-third{background:linear-gradient(90deg,rgba(13,6,22,.95),rgba(55,16,82,.78))}
.camera-live .camera-live-layer:after{content:"DJ ANONIM • FRECVENȚA ANONIMĂ";position:absolute;left:22px;bottom:96px;z-index:3;padding:12px 16px;border-radius:12px;background:linear-gradient(90deg,rgba(10,5,17,.92),rgba(148,73,243,.72));border:1px solid rgba(255,255,255,.16);font-size:.78rem;font-weight:900;letter-spacing:.08em;box-shadow:0 15px 35px rgba(0,0,0,.35)}
@keyframes identFloat{50%{transform:translateY(-10px) scale(1.03)}}@keyframes ringPulse{50%{transform:scale(1.1);opacity:.55}}
@media(max-width:760px){.feature-strip{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}.cta a{width:100%;text-align:center}.camera-live .camera-live-layer:after{left:12px;right:12px;bottom:86px;text-align:center;font-size:.67rem}}

/* Ident final: o singură apariție, fără flash */
.broadcast-ident{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility 0s linear .65s}
.broadcast-ident.show{opacity:1;visibility:visible;transition:opacity .65s ease}
.broadcast-ident.fade-out{opacity:0;visibility:visible;transition:opacity .8s ease}
.broadcast-ident[hidden]{display:none!important}

/* RADIO XXL® TV 4.0 — CINEMATIC VISUAL ROTATION */
.tv-stage{background:#050208}
.scene-layer{position:absolute;inset:-3%;z-index:-8;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity 2.2s ease-in-out;will-change:opacity,transform;pointer-events:none}
.scene-layer.active{opacity:1}
.scene-layer.zoom-a{animation:sceneZoomA 38s linear forwards}
.scene-layer.zoom-b{animation:sceneZoomB 38s linear forwards}
.scene-paused .scene-layer{animation-play-state:paused}
.tv-stage .backdrop{z-index:-7;opacity:.46;mix-blend-mode:screen}
.hero{z-index:1}
.cta a{display:inline-flex;align-items:center;justify-content:center}
.cta a:after{content:"↗";margin-left:9px;font-size:1rem}
@keyframes sceneZoomA{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-1.4%,-1%,0)}}
@keyframes sceneZoomB{from{transform:scale(1.06) translate3d(-1%,0,0)}to{transform:scale(1.15) translate3d(1.2%,-1.1%,0)}}
@media (prefers-reduced-motion:reduce){
  .scene-layer{animation:none!important;transition:opacity .4s ease}
}
@media(max-width:760px){
  .scene-layer{inset:0;background-position:center center}
  .tv-stage .backdrop{opacity:.34}
}

/* v4.1 performance */
.history,.cta,footer{content-visibility:auto;contain-intrinsic-size:1px 500px}
.scene-layer{backface-visibility:hidden}
