

:root{font-family:system-ui,Arial,sans-serif;--bg:#0b0b20;--surface:#17152f;--surface-2:#201d3b;--panel:rgba(255,255,255,.065);--stroke:rgba(255,255,255,.13);--text:#fff;--muted:#a9a9c2;--pink:#fc4bac;--cyan:#20e5e1;--yellow:#ffe553;--violet:#8665ff;--green:#b1ff5e;--header:rgba(11,11,32,.9);--shadow:0 22px 65px #0004;--grad:linear-gradient(105deg,#fd53a8,#935bff 45%,#25e4e6);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:93px}body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .3s,color .3s}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.container{max-width:1180px;padding:0 24px;margin:0 auto}.topline{background:linear-gradient(90deg,#fc4bac,#905fff 55%,#00cbd6);text-align:center;color:#fff;padding:9px 10px;font-size:12px;font-weight:800;letter-spacing:.08em}.topline .flash{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b9ff70;margin:0 9px 1px 0;box-shadow:0 0 0 4px #ffffff36}.navbar{position:sticky;top:0;z-index:50;background:var(--header);backdrop-filter:blur(18px);border-bottom:1px solid var(--stroke)}.nav-inner{height:75px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{display:flex;align-items:end;justify-content:center;gap:4px;border-radius:14px;width:43px;height:43px;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 8px 25px #e558c748;padding-bottom:11px;transform:rotate(-5deg)}.brand-mark i{width:5px;border-radius:7px;background:white;display:block;box-shadow:0 0 5px #fff7}.brand-mark i:nth-child(1){height:11px}.brand-mark i:nth-child(2){height:23px}.brand-mark i:nth-child(3){height:16px}.brand-mark i:nth-child(4){height:9px}.brand b{font-family:system-ui,Arial,sans-serif;font-size:23px;font-weight:900;white-space:nowrap;letter-spacing:-1px}.brand b span{color:var(--pink)}.navlinks{display:flex;align-items:center;gap:24px;margin:auto;font-size:13px;font-weight:700;color:var(--muted)}.navlinks a:hover,.navlinks a:focus{color:var(--text)}.nav-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.btn{border:0;border-radius:12px;font-weight:800;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--grad);color:white;box-shadow:0 10px 28px #d54dca38}.btn-line{background:var(--panel);color:var(--text);border:1px solid var(--stroke)}.btn-small{font-size:12px;padding:10px 14px}.mobile-menu{display:none;background:var(--panel);color:var(--text);border:1px solid var(--stroke);border-radius:10px;padding:10px}.themebar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 0 0;flex-wrap:wrap}.themebar p{margin:0;color:var(--muted);font-size:12px;font-weight:700}.theme-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.theme-opt{background:var(--surface);color:var(--muted);border:1px solid var(--stroke);padding:8px 13px;border-radius:100px;font-size:12px;font-weight:800;display:flex;align-items:center;gap:7px}.theme-opt.active{border-color:var(--pink);color:var(--text);box-shadow:inset 0 0 0 1px var(--pink)}.swatches{display:flex}.swatches i{width:10px;height:10px;border-radius:50%;margin-left:-3px;border:1px solid #fff5}.swatches i:first-child{margin-left:0}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 435px;align-items:center;gap:42px;min-height:530px;padding:52px 0 56px}.hero:before{content:"";position:absolute;inset:-130px -400px 0;z-index:-1;background:radial-gradient(ellipse at 80% 41%,#9421c744,transparent 36%),radial-gradient(ellipse at 24% 60%,#25d1d420,transparent 35%);pointer-events:none}.hero .eyebrow,.tag{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;color:var(--cyan);font-size:11px;font-weight:900;letter-spacing:.16em}.eyebrow .bar{width:25px;height:3px;border-radius:5px;background:var(--cyan)}.hero h1{font-family:system-ui,Arial,sans-serif;font-size:clamp(51px,5.9vw,87px);line-height:1.02;font-weight:900;letter-spacing:-.065em;margin:20px 0 19px}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead{max-width:460px;line-height:1.75;color:var(--muted);font-size:15px;margin-bottom:27px}.hero-buttons{display:flex;gap:11px;flex-wrap:wrap}.hero-proof{display:flex;gap:23px;color:var(--muted);font-size:12px;margin-top:30px;font-weight:700;flex-wrap:wrap}.hero-proof b{color:var(--text)}.proof-dot{color:var(--green);margin-right:5px}.player-shell{position:relative;padding:2px;border-radius:27px;background:linear-gradient(135deg,var(--pink),var(--violet),var(--cyan));box-shadow:var(--shadow);transform:rotate(1deg)}.player{border-radius:25px;padding:24px;background:var(--surface);position:relative;overflow:hidden}.player:after{content:"";position:absolute;top:-105px;right:-90px;width:270px;height:270px;border-radius:50%;background:var(--violet);opacity:.15;filter:blur(30px);pointer-events:none}.player-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.live-pill{color:#141024;background:var(--green);font-size:10px;font-weight:900;padding:7px 11px;border-radius:100px;letter-spacing:.08em}.live-pill i{display:inline-block;width:6px;height:6px;background:#111;border-radius:50%;margin-right:5px}.onair{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:900}.dj-art-wrap{display:flex;justify-content:center;align-items:center;position:relative;height:226px;margin:5px 0 -3px}.orbit{width:211px;height:211px;border-radius:50%;background:conic-gradient(from 30deg,var(--pink),var(--violet),var(--cyan),var(--green),var(--pink));padding:8px;box-shadow:0 0 45px #985cf74a;animation:orbit 20s linear infinite}.dj-art{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 45% 26%,#ff8a92,#9136cc 58%,#23153a 88%);display:flex;align-items:center;justify-content:center;overflow:hidden;border:6px solid var(--surface)}.dj-art svg{width:155px;height:155px;transform:translateY(22px);filter:drop-shadow(0 6px 8px #0006)}.floating-note{position:absolute;z-index:2;font-size:17px;background:var(--surface-2);border:1px solid var(--stroke);border-radius:13px;padding:11px;box-shadow:0 8px 22px #0003;left:33px;top:48px;transform:rotate(-15deg)}.floating-note.two{left:auto;right:34px;top:153px;transform:rotate(15deg)}.player-info{text-align:center;position:relative;z-index:2}.player-info .small{color:var(--muted);font-size:11px;font-weight:800}.player-info h3{font-family:system-ui,Arial,sans-serif;font-size:24px;margin:6px 0 3px;letter-spacing:-.04em}.player-info p{color:var(--muted);font-size:13px;margin:0}.player-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}.play{display:flex;justify-content:center;align-items:center;width:57px;height:57px;border:0;border-radius:50%;color:#141020;background:var(--green);font-size:22px;font-weight:900;box-shadow:0 0 24px #acff5e45;flex-shrink:0}.play svg{display:block}.wave{height:39px;display:flex;align-items:center;justify-content:center;gap:4px;flex:1}.wave span{display:block;width:4px;border-radius:5px;background:var(--grad);height:var(--h);opacity:.85}.playing .wave span{animation:bounce .8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-75ms)}.volume-wrap{display:flex;gap:7px;align-items:center;max-width:115px}.volume-wrap input{width:72px;accent-color:var(--pink)}.volume-wrap label{color:var(--muted);font-size:13px}.tiny-status{font-size:10px;text-align:center;color:var(--muted);margin-top:10px;min-height:15px}.section{padding:37px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:22px}.section-title h2{font-family:system-ui,Arial,sans-serif;font-size:31px;line-height:1.1;letter-spacing:-.035em;margin:5px 0 0}.section-title p{color:var(--muted);font-size:13px;margin:7px 0 0}.mini-link{color:var(--pink);font-size:12px;font-weight:900;cursor:pointer}.grid2{display:grid;grid-template-columns:1.55fr 1fr;gap:20px}.card{border:1px solid var(--stroke);background:var(--surface);border-radius:20px;overflow:hidden;box-shadow:0 8px 24px #0000000a}.card-pad{padding:21px}.card-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;font-weight:900;margin-bottom:16px}.day-nav{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:17px;border-bottom:1px solid var(--stroke);margin-bottom:4px}.day{font-size:11px;font-weight:900;padding:9px 11px;border:1px solid var(--stroke);border-radius:10px;color:var(--muted);background:var(--panel);flex:1;min-width:49px}.day.active{background:var(--grad);border-color:transparent;color:white}.schedule-row{display:flex;gap:14px;align-items:center;padding:16px 2px;border-bottom:1px solid var(--stroke)}.schedule-row:last-child{border-bottom:0}.time{color:var(--cyan);font-weight:900;font-size:12px;min-width:97px;white-space:nowrap}.round-avatar{width:44px;height:44px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:18px;font-family:system-ui,Arial,sans-serif;font-weight:900;color:white;flex-shrink:0}.schedule-row h4{margin:0 0 3px;font-size:13px}.schedule-row p{margin:0;color:var(--muted);font-size:11px}.row-stretch{min-width:0;flex:1}.dotbadge{background:var(--panel);border:1px solid var(--stroke);border-radius:100px;color:var(--muted);padding:6px 8px;font-size:10px;font-weight:900;white-space:nowrap}.history-item{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--stroke)}.history-item:last-child{border:0}.cover{display:flex;align-items:center;justify-content:center;border-radius:11px;width:45px;height:45px;font-size:20px;color:white;flex-shrink:0}.history-item b{display:block;font-size:12px;margin-bottom:4px}.history-item small{display:block;color:var(--muted);font-size:11px}.history-item time{color:var(--muted);font-size:11px;margin-left:auto}.release-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.release-cover{height:170px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.release-cover:before,.release-cover:after{content:"";position:absolute;border:2px solid #fff7;border-radius:50%;width:220px;height:220px;transform:translate(38px,45px)}.release-cover:after{width:135px;height:135px;transform:translate(38px,45px)}.release-cover strong{font-family:system-ui,Arial,sans-serif;font-size:52px;color:#fff;z-index:1;letter-spacing:-.07em;text-shadow:0 7px 20px #0004;transform:rotate(-9deg)}.release-body{padding:18px}.release-body small{color:var(--muted);font-weight:800;font-size:10px}.release-body h3{font-family:system-ui,Arial,sans-serif;margin:8px 0 2px;font-size:19px}.release-body p{margin:0 0 15px;color:var(--muted);font-size:12px}.platforms{display:flex;gap:7px;flex-wrap:wrap}.platforms button,.platforms a{background:var(--panel);color:var(--text);border:1px solid var(--stroke);padding:7px 9px;font-size:10px;font-weight:800;border-radius:7px}.platforms button:hover,.platforms a:hover{border-color:var(--pink)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.team-card{text-align:center;padding:24px 15px}.team-avatar{width:85px;height:85px;margin:0 auto 13px;display:flex;align-items:center;justify-content:center;border-radius:24px;font-size:32px;color:#fff;font-weight:900;box-shadow:0 8px 25px #0002}.team-card h3{font-family:system-ui,Arial,sans-serif;font-size:18px;margin:0 0 4px}.team-card p{font-size:11px;color:var(--muted);margin:0 0 10px}.social-bubble{font-size:10px;font-weight:900;color:var(--cyan)}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.shout-messages{display:flex;flex-direction:column;gap:13px;height:196px;overflow:auto;padding-right:8px}.msg{display:flex;gap:9px}.msg-avatar{width:32px;height:32px;border-radius:10px;background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.msg div:last-child{min-width:0}.msg strong{font-size:11px}.msg time{font-size:10px;color:var(--muted);margin-left:6px}.msg p{font-size:12px;line-height:1.5;margin:4px 0 0;overflow-wrap:anywhere}.shout-form{display:flex;gap:8px;border-top:1px solid var(--stroke);padding-top:13px;margin-top:10px}.shout-form input{min-width:0;flex:1}.field{width:100%;background:var(--panel);border:1px solid var(--stroke);border-radius:10px;color:var(--text);padding:11px 12px;outline:none;font-size:12px}.field::placeholder{color:var(--muted)}.news-list{display:flex;flex-direction:column;gap:15px}.news-item{display:flex;gap:14px;align-items:center}.news-pic{height:85px;width:105px;flex-shrink:0;border-radius:13px;display:grid;place-items:center;font-size:38px}.news-item small{color:var(--cyan);font-size:10px;font-weight:900}.news-item h4{font-size:14px;margin:6px 0;line-height:1.35}.news-item p{font-size:11px;color:var(--muted);margin:0;line-height:1.5}.quick-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:35px 0 65px}.quick-tool{display:flex;align-items:center;text-align:left;gap:13px;padding:17px;border-radius:16px;border:1px solid var(--stroke);background:var(--surface);color:var(--text)}.quick-tool:hover{transform:translateY(-2px);border-color:var(--pink)}.tool-icon{font-size:26px}.quick-tool b{font-size:13px;display:block}.quick-tool span small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.footer{border-top:1px solid var(--stroke);padding:27px 0 90px;background:var(--surface)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer p{color:var(--muted);font-size:11px}.footer nav{display:flex;gap:22px;color:var(--muted);font-size:12px;font-weight:800}.sticky-player{position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--header);backdrop-filter:blur(22px);border-top:1px solid var(--stroke);padding:9px 0}.sticky-inner{display:flex;align-items:center;gap:15px}.sticky-thumb{width:38px;height:38px;flex-shrink:0;border-radius:11px;background:var(--grad);display:grid;place-items:center;font-size:19px}.sticky-title{min-width:0;flex:1}.sticky-title b{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky-title small{font-size:10px;color:var(--muted)}.sticky-play{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--green);color:#151021;font-size:16px}.sticky-btn{background:transparent;border:0;color:var(--muted);font-size:11px;font-weight:800}.modal-back{position:fixed;inset:0;z-index:100;background:#04030acb;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(10px)}.modal-back.open{display:flex}.modal{width:100%;max-width:470px;max-height:92vh;overflow:auto;border-radius:22px;background:var(--surface);color:var(--text);border:1px solid var(--stroke);padding:24px;box-shadow:0 30px 100px #0008}.modal-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-title h2{font-family:system-ui,Arial,sans-serif;font-size:24px;margin:0}.xbtn{background:var(--panel);border:1px solid var(--stroke);border-radius:10px;color:var(--text);font-size:19px;width:32px;height:32px}.modal p,.modal li{color:var(--muted);font-size:12px;line-height:1.6}.form-stack{display:flex;flex-direction:column;gap:12px;margin-top:18px}.form-stack label{font-size:11px;font-weight:900;display:block;margin:0 0 5px}.form-stack textarea{min-height:90px;resize:vertical}.form-stack select{appearance:auto}.demo-tag{font-size:10px;font-weight:900;letter-spacing:.05em;border-radius:8px;color:var(--yellow);border:1px solid #ffef5070;background:#ffed5020;padding:8px 10px;margin:16px 0}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.form-actions button{flex:1}.toast{position:fixed;bottom:80px;right:22px;z-index:120;background:var(--surface);border:1px solid var(--pink);box-shadow:var(--shadow);color:var(--text);padding:13px 17px;border-radius:12px;font-size:12px;font-weight:800;display:none;max-width:340px}.toast.show{display:block}.hidden{display:none!important}
body[data-theme="candy"]{--bg:#fff6fd;--surface:#fff;--surface-2:#fff1f9;--panel:#f6edff;--stroke:#e7d9f0;--text:#29223e;--muted:#796d8c;--pink:#f54ba4;--cyan:#068f9b;--yellow:#e7a000;--violet:#9e70fc;--green:#c1f376;--header:rgba(255,250,254,.93);--shadow:0 22px 55px #ba8fd335;--grad:linear-gradient(110deg,#fc69b0,#b07bfa 50%,#64cdeb);color-scheme:light}body[data-theme="candy"] .hero:before{background:radial-gradient(ellipse at 80% 41%,#e879e349,transparent 39%),radial-gradient(ellipse at 10% 65%,#73ccee40,transparent 40%)}body[data-theme="candy"] .player{background:#fff}body[data-theme="candy"] .dj-art{border-color:white}body[data-theme="candy"] .live-pill,body[data-theme="candy"] .play,body[data-theme="candy"] .sticky-play{color:#173020}body[data-theme="candy"] .release-cover{color:white}body[data-theme="candy"] .footer{background:#fff}
body[data-theme="festival"]{--bg:#10110d;--surface:#1d2015;--surface-2:#2b301c;--panel:rgba(217,255,84,.055);--stroke:#ffffff25;--text:#f9ffeb;--muted:#afb6a0;--pink:#ff733a;--cyan:#c6ff37;--yellow:#ffe45a;--violet:#9b6bff;--green:#c4ff38;--header:rgba(17,18,13,.92);--shadow:0 22px 65px #0007;--grad:linear-gradient(115deg,#fb6334,#ec42bf 45%,#a26dff);color-scheme:dark}body[data-theme="festival"] .hero:before{background:radial-gradient(ellipse at 76% 47%,#f76b4434,transparent 34%),radial-gradient(ellipse at 9% 65%,#b7ff3b1e,transparent 38%)}body[data-theme="festival"] .brand-mark{border-radius:7px;transform:rotate(0)}body[data-theme="festival"] .player-shell{border-radius:8px}body[data-theme="festival"] .player{border-radius:6px}body[data-theme="festival"] .card,body[data-theme="festival"] .quick-tool{border-radius:7px}body[data-theme="festival"] .hero h1{text-transform:uppercase}body[data-theme="festival"] .btn{border-radius:6px}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes bounce{to{height:5px;opacity:.45}}@media(max-width:1050px){.navlinks{gap:13px}.hero{grid-template-columns:1fr 390px;gap:20px}.nav-actions .btn-line{display:none}}@media(max-width:850px){.hero{grid-template-columns:1fr;max-width:690px;margin:auto;padding-top:40px}.hero h1{font-size:66px}.player-shell{width:100%;max-width:450px;margin:0 auto}.navlinks{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;padding:20px;background:var(--surface);border-bottom:1px solid var(--stroke)}.navlinks.open{display:flex}.mobile-menu{display:block}.grid2,.bottom-grid{grid-template-columns:1fr}.release-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.container{padding:0 17px}.brand b{font-size:20px}.nav-inner{gap:10px}.nav-actions{gap:6px}.nav-actions .btn{padding:10px 12px}.themebar{align-items:flex-start}.theme-options{width:100%}.theme-opt{flex:1;justify-content:center;font-size:10px;padding:9px 7px}.hero{padding:42px 0}.hero h1{font-size:51px}.hero-proof{gap:12px}.player-shell{transform:none}.player{padding:17px}.release-grid,.team-grid{grid-template-columns:1fr 1fr;gap:12px}.release-cover{height:120px}.release-cover strong{font-size:37px}.release-body{padding:12px}.release-body h3{font-size:15px}.platforms{gap:4px}.platforms button{padding:6px;font-size:9px}.team-card{padding:20px 10px}.team-avatar{width:69px;height:69px}.quick-tools{grid-template-columns:1fr}.footer{padding-bottom:100px}.section-title h2{font-size:28px}.day{padding:8px 6px}.time{min-width:80px;font-size:10px}.dotbadge{display:none}.sticky-btn{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;scroll-behavior:auto!important;transition:none!important}}

/* Festival Splash refinements */
body[data-theme="festival"]{--bg:#10110d;--surface:#1d2015;--surface-2:#2b301c;--panel:rgba(217,255,84,.055);--stroke:#ffffff25;--text:#f9ffeb;--muted:#afb6a0;--pink:#ff733a;--cyan:#c6ff37;--yellow:#ffe45a;--violet:#9b6bff;--green:#c4ff38;--header:rgba(17,18,13,.92);--shadow:0 22px 65px #0007;--grad:linear-gradient(115deg,#fb6334,#ec42bf 45%,#a26dff)}

.err{background:#662321;color:#ffe3e1;padding:10px;border-radius:7px;font-size:13px}.ok{background:#17391d;color:#caffcd;padding:10px;border-radius:7px;font-size:13px}.notice{color:var(--muted);font-size:12px;line-height:1.6}.hidden{display:none!important}.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.admin-wrap{padding:32px 0 120px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-list{max-height:400px;overflow:auto}.admin-entry{border-bottom:1px solid var(--stroke);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-entry small{color:var(--muted)}.admin-entry button{padding:6px 8px}.admin-fields{display:grid;gap:11px}.admin-fields label{display:grid;gap:5px;font-size:12px;font-weight:800;color:var(--muted)}.admin-fields input,.admin-fields select,.admin-fields textarea{width:100%}.admin-fields textarea{min-height:100px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.admin-heading{font-size:28px;margin:0}.tone{color:var(--green)}.player-dj-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.msg-actions{margin-left:auto}.message-empty{color:var(--muted);padding:18px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid>*{min-width:0}.legal-content{white-space:pre-line;line-height:1.9}.footer{margin-bottom:70px}@media(max-width:760px){.admin-grid,.form-grid{grid-template-columns:1fr}}
/* Public-page corrections */
[hidden]{display:none!important}
.platforms a{display:inline-flex;align-items:center;border:1px solid var(--stroke);border-radius:8px;padding:7px 9px;background:var(--panel);font-size:11px;font-weight:700;text-decoration:none;color:var(--text)}
.platforms a:hover{border-color:var(--green)}
.form-stack label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}
.form-stack .field{margin-top:4px}
.admin-wrap .card{overflow:visible}


/* === BEATMUSIK-FM V1.3 | FESTIVAL SPLASH PLAYER === */
body[data-theme="festival"] .hero {
  grid-template-columns:minmax(0,1fr) minmax(395px,460px);
  gap:clamp(22px,4vw,58px);
  padding:62px 24px 70px;
}
body[data-theme="festival"] .hero:before {
  inset:-155px -330px -65px;
  background:radial-gradient(ellipse 46% 51% at 78% 42%,rgba(241,61,151,.27),transparent 74%),
             radial-gradient(ellipse 38% 53% at 45% 75%,rgba(180,255,42,.13),transparent 72%),
             radial-gradient(ellipse 18% 24% at 7% 11%,rgba(255,115,58,.12),transparent 90%);
}
body[data-theme="festival"] .player-shell {
  transform:none; padding:2px; border-radius:24px;
  background:linear-gradient(148deg,#c5ff38 0%,#ddfb4c 12%,#ff4dba 49%,#9a61ff 75%,#ff8541 100%);
  box-shadow:0 27px 95px rgba(0,0,0,.62),0 0 66px rgba(220,49,166,.16);
}
body[data-theme="festival"] .player {background:linear-gradient(151deg,#242718 0%,#171a11 52%,#222019 100%);border-radius:22px;padding:23px 26px 18px;isolation:isolate;}
body[data-theme="festival"] .player:after {top:-120px;right:-125px;width:285px;height:285px;background:radial-gradient(circle,rgba(252,78,162,.32),transparent 67%);filter:none;opacity:1;z-index:-1;}
.player-glow {position:absolute;left:-105px;top:100px;width:220px;height:310px;pointer-events:none;background:radial-gradient(ellipse,rgba(185,255,54,.075),transparent 75%);z-index:-1}
.player .onair {font-size:10px;letter-spacing:.16em;color:#d2d2bc;}
.player .live-pill {position:relative;display:inline-flex;align-items:center;gap:6px;background:#c4ff38;color:#13170c;box-shadow:0 0 25px rgba(194,255,51,.18);font-size:10px;letter-spacing:.105em;padding:9px 13px;}
.player .live-pill i {position:relative;width:7px;height:7px;margin-right:0;background:#13170c;}
.player .live-pill i:after {content:"";position:absolute;inset:-3px;border:2px solid #1a2710;border-radius:50%;animation:livePulse 1.8s ease-out infinite;}
.player .dj-art-wrap{height:275px;margin:9px 0 6px;}
.player .orbit{width:220px;height:220px;border-radius:50%;padding:8px;position:relative;z-index:1;background:transparent;box-shadow:0 0 0 5px rgba(195,255,56,.035),0 0 70px rgba(229,59,165,.20);animation:none;}
.player .orbit:before {content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -30deg,#c4ff38,#ff713d 20%,#fa4faf 44%,#946aff 70%,#aef64d 93%,#c4ff38);animation:orbit 16s linear infinite;}
.player .orbit:after {content:"";position:absolute;inset:-12px;border-radius:50%;border:1px dashed rgba(191,251,53,.2);pointer-events:none;}
.player .dj-art{position:relative;z-index:1;width:100%;height:100%;background:radial-gradient(circle at 47% 24%,#ffad84 0%,#dc5e9e 36%,#5e277e 66%,#25192b 100%);border:5px solid #191b12;}
.player .dj-art svg{width:169px;height:169px;transform:translateY(23px);}
.player .floating-note {left:27px;top:51px;background:#2f3020;box-shadow:0 10px 20px #0004;animation:floatNote 5s ease-in-out infinite;}
.player .floating-note.two{left:auto;right:27px;top:155px;background:#322137;animation-delay:-2s;}
.dj-spark {position:absolute;color:#c4ff38;font-size:30px;z-index:2;text-shadow:0 0 22px rgba(196,255,56,.7);}
.dj-spark-one{left:22px;bottom:53px;transform:rotate(-20deg)}
.dj-spark-two{right:23px;top:29px;color:#ff7c51;font-size:27px;transform:rotate(18deg)}
.dj-caption {position:absolute;left:50%;bottom:2px;transform:translateX(-50%);min-width:228px;max-width:88%;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(19,22,13,.94);border:1px solid rgba(196,255,56,.35);box-shadow:0 12px 26px rgba(0,0,0,.4);border-radius:13px;padding:9px 12px;backdrop-filter:blur(10px);}
.dj-caption-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,#ff713b,#e644af);color:white;font-weight:900;font-size:18px}
.dj-caption-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.dj-caption-text small{font-size:9px;color:#c4ff38;font-weight:900;letter-spacing:.105em;white-space:nowrap;}
.dj-caption-text strong{font-size:12px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dj-caption-signal{display:flex;height:16px;align-items:end;gap:2px;flex:none;}
.dj-caption-signal i{width:3px;height:7px;border-radius:4px;background:#c4ff38;opacity:.6;}
.dj-caption-signal i:nth-child(2){height:13px}.dj-caption-signal i:nth-child(3){height:9px}.dj-caption-signal i:nth-child(4){height:15px}
.is-on-air .dj-caption-signal i{animation:smallEq .75s ease-in-out infinite alternate;animation-delay:calc(var(--n,0)*-100ms)}
.dj-caption-signal i:nth-child(2){--n:1}.dj-caption-signal i:nth-child(3){--n:2}.dj-caption-signal i:nth-child(4){--n:3}
.player .player-info {margin-top:13px;min-height:105px;}
.player .player-info .small {font-size:10px;letter-spacing:.14em;color:#c4ff38;font-weight:900;}
.player .player-info h3{font-size:clamp(23px,2.6vw,29px);line-height:1.14;letter-spacing:-.04em;margin:10px auto 6px;max-width:95%;overflow-wrap:anywhere;color:#fff;}
.player .player-info p{font-size:13px;color:#c4c8ae;overflow-wrap:anywhere}
.player .player-bottom{display:grid;grid-template-columns:61px minmax(70px,1fr) auto;gap:16px;margin-top:16px;padding:14px 14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.095);border-radius:18px;}
.player .play{height:59px;width:59px;background:#c4ff38;color:#0d1107;box-shadow:0 0 0 6px rgba(196,255,56,.075),0 12px 28px rgba(131,194,18,.2);transition:transform .22s,box-shadow .22s;}
.player .play:hover{transform:scale(1.07);box-shadow:0 0 0 8px rgba(196,255,56,.11),0 12px 35px rgba(174,242,44,.35);}
.player .play svg{width:23px;height:23px;}
.player:not(.playing) .play svg {transform:translateX(2px);}
.player .wave{gap:4px;height:46px;overflow:hidden;}
.player .wave span{width:4px;max-height:40px;background:linear-gradient(to top,#bfff40 0%,#fbc248 38%,#ff58a4 78%,#a978ff 100%);opacity:1;transform-origin:bottom;}
.player.playing .wave span{animation:neonEq .65s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -54ms);}
.player .volume-wrap{flex-direction:column;gap:4px;min-width:92px;}
.player .volume-wrap label{font-size:14px;color:#eff4de;}
.player .volume-wrap input{width:92px;accent-color:#c4ff38;}
.player .tiny-status{text-align:center;color:#b7c19b;letter-spacing:.02em;font-size:11px;min-height:16px;margin:13px 0 7px;}
.player-ribbon {border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:9px;padding:12px 2px 0;font-size:9px;letter-spacing:.16em;color:#a6ad91;font-weight:900;}
.player-ribbon span:nth-child(even){color:#e85fa8;}
.player-shell:focus-within{outline:2px solid #c4ff38;outline-offset:4px;}
.sticky-player{border-top:2px solid transparent;border-image:linear-gradient(90deg,#c4ff38,#ff733a,#f14aa5,#9b6bff) 1;box-shadow:0 -15px 45px rgba(0,0,0,.18);padding:10px 0;}
.sticky-thumb{width:45px;height:45px;overflow:hidden;background:linear-gradient(140deg,#ff713c,#eb46ae 55%,#955bfb);border:2px solid rgba(255,255,255,.15);border-radius:12px;}
.sticky-thumb img{width:100%;height:100%;object-fit:cover;}
.sticky-title b{font-size:13px;}
.sticky-title small{display:block;max-width:300px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;}
.sticky-eq{display:flex;align-items:center;gap:3px;height:24px;margin-right:8px;}
.sticky-eq i{display:block;width:4px;height:var(--h);border-radius:6px;background:linear-gradient(#ff53a7,#c4ff38);}
.sticky-eq i:nth-child(1){--h:8px}.sticky-eq i:nth-child(2){--h:18px}.sticky-eq i:nth-child(3){--h:11px}.sticky-eq i:nth-child(4){--h:21px}.sticky-eq i:nth-child(5){--h:13px}
.is-on-air .sticky-eq i{animation:smallEq .75s ease-in-out infinite alternate;animation-delay:calc(var(--i,0)*-110ms)}
.sticky-eq i:nth-child(2){--i:1}.sticky-eq i:nth-child(3){--i:2}.sticky-eq i:nth-child(4){--i:3}.sticky-eq i:nth-child(5){--i:4}
.sticky-btn{font-size:10px;letter-spacing:.06em;color:#c4ff38;}
.sticky-play{height:43px;width:43px;display:flex;align-items:center;justify-content:center;flex:none;background:#c4ff38;border-radius:50%;font-size:17px;box-shadow:0 0 0 5px rgba(196,255,56,.07);}
.sticky-play:not([aria-pressed="true"]){padding-left:3px;}
@keyframes livePulse{0%{transform:scale(.7);opacity:.8}80%,100%{transform:scale(2.1);opacity:0}}
@keyframes neonEq{from{height:5px;opacity:.52}to{height:36px;opacity:1}}
@keyframes smallEq{from{transform:scaleY(.42)}to{transform:scaleY(1.3)}}
@keyframes floatNote{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media(max-width:1050px){body[data-theme="festival"] .hero{grid-template-columns:minmax(0,1fr) minmax(375px,420px);gap:22px}}
@media(max-width:850px){body[data-theme="festival"] .hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:50px;}body[data-theme="festival"] .player-shell{max-width:475px;margin:5px auto 0;}}
@media(max-width:580px){body[data-theme="festival"] .hero{padding:42px 17px 48px;}body[data-theme="festival"] .player{padding:17px 15px 14px;}body[data-theme="festival"] .player-shell{border-radius:20px;}body[data-theme="festival"] .player{border-radius:18px;}.player .dj-art-wrap{height:258px}.player .orbit{width:203px;height:203px}.player .floating-note{left:6px;top:44px}.player .floating-note.two{right:6px;top:148px}.dj-spark-one{left:5px}.dj-spark-two{right:5px}.player .player-bottom{padding:12px 10px;gap:8px;grid-template-columns:56px minmax(45px,1fr) 75px;}.player .play{width:53px;height:53px}.player .volume-wrap{min-width:70px}.player .volume-wrap input{width:73px}.player .wave{gap:3px}.player .wave span{width:3px}.player-ribbon{font-size:8px;letter-spacing:.07em}.sticky-inner{gap:11px}.sticky-eq{display:none}.sticky-title{max-width:65vw;}.sticky-title small{max-width:100%;}}
@media(prefers-reduced-motion:reduce){.player .orbit:before,.player .live-pill i:after,.player.playing .wave span,.is-on-air .dj-caption-signal i,.is-on-air .sticky-eq i,.player .floating-note{animation:none!important}}


/* V1.4 – DJ-Foto-Verwaltung */
.dj-photo-admin{display:flex;align-items:center;gap:18px;padding:17px;border-radius:19px;border:1px solid rgba(196,255,56,.3);background:linear-gradient(120deg,rgba(196,255,56,.10),rgba(255,74,165,.075));}
.dj-photo-preview{display:grid;place-items:center;flex:none;width:110px;height:110px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#ccff45,#ff5b9d 67%,#9060ff);color:#151a11;font-size:44px;box-shadow:0 10px 26px rgba(0,0,0,.24);border:3px solid rgba(255,255,255,.27)}
.dj-photo-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.dj-photo-copy{min-width:0;flex:1}.dj-photo-copy strong{font-size:14px;color:#fff}.dj-photo-copy p{color:var(--muted);font-size:12px;margin:5px 0 11px;line-height:1.5}
.dj-upload-label{display:inline-block!important;width:auto!important;padding:10px 14px;background:#c4ff38;color:#14190b!important;border-radius:10px;cursor:pointer;font-size:12px!important;font-weight:900!important;transition:transform .2s;}
.dj-upload-label:hover{transform:translateY(-2px)}.dj-file-input{max-width:100%;font-size:11px;margin-top:10px;}
.dj-photo-copy small{display:block;color:#b9c1ae;font-size:11px;line-height:1.5;margin-top:8px;word-break:break-word}
.admin-entry-info{display:flex;align-items:center;gap:12px;min-width:0}
.admin-entry-info>span{min-width:0;overflow-wrap:anywhere}
.admin-list-avatar{width:43px;height:43px;border-radius:13px;background:linear-gradient(135deg,#c4ff38,#fd55aa);display:grid;place-items:center;flex:none;overflow:hidden;font-size:19px}
.admin-list-avatar img{width:100%;height:100%;object-fit:cover}
@media(max-width:520px){.dj-photo-admin{flex-direction:column;text-align:center}.dj-photo-copy{width:100%}.admin-entry{align-items:start}.dj-photo-preview{width:104px;height:104px}}
