@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#070914;--panel:#0d1020;--panel2:#111326;--line:#20243c;--purple:#9b25ff;--violet:#6d2cff;--pink:#ff168f;--cyan:#00d9ff;--text:#f5f4fb;--muted:#9296ae;--green:#31e66b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#17102e 0,#090a14 35%,#060811 100%);color:var(--text);font-family:Inter,Arial,sans-serif;min-height:100vh}.bg-orb{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(100px);opacity:.13;pointer-events:none}.orb-a{background:#8a00ff;top:-160px;left:-100px}.orb-b{background:#00cfff;right:-180px;bottom:0}.app-shell{max-width:1420px;margin:auto;padding:20px 22px 0}.topbar{height:76px;display:flex;align-items:center;gap:28px;padding:10px 8px;margin-bottom:16px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;min-width:245px}.logo-mark{position:relative;width:54px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:45px;font-weight:900;font-style:italic;color:#b82aff;text-shadow:0 0 22px #8b22ff}.logo-mark span{line-height:1}.logo-mark i{position:absolute;width:22px;height:2px;background:#d42cff;right:-2px;bottom:7px}.logo b{display:block;font-size:26px;letter-spacing:.5px}.logo em{display:block;color:#c34cff;font-style:normal;font-size:16px;letter-spacing:2px;font-weight:700}.top-live{border:1px solid #a51b70;background:linear-gradient(90deg,#291031,#160c20);padding:12px 18px;border-radius:12px;color:#fff;font-weight:700;font-size:13px;white-space:nowrap;box-shadow:0 0 22px #b0006322}.live-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#ff2b86;box-shadow:0 0 10px #ff2b86;vertical-align:middle;margin-right:6px}.top-nav{display:flex;align-items:center;justify-content:center;gap:10px;flex:1}.top-nav a{color:#b8bbca;text-decoration:none;padding:17px 18px;border-bottom:3px solid transparent;font-size:14px}.top-nav a:hover,.top-nav a.active{color:#c238ff;border-bottom-color:#9c2cff}.ico{display:block;text-align:center;font-size:25px;line-height:20px;margin-bottom:7px}.online-pill{width:112px;height:58px;border-radius:15px;background:linear-gradient(135deg,#4c13a5,#28115d);display:grid;grid-template-columns:30px 1fr;align-content:center;padding:7px 12px}.online-pill .people{grid-row:1/3;font-size:25px;color:#d18cff}.online-pill b{font-size:14px}.online-pill small{color:#fff;font-size:11px}.dashboard{display:grid;grid-template-columns:265px minmax(480px,1fr) 305px;gap:12px}.panel{background:linear-gradient(145deg,#0f1223,#0a0d19);border:1px solid #252941;border-radius:13px;box-shadow:0 18px 50px #0005}.sidebar,.rightbar{display:flex;flex-direction:column;gap:12px}.radio-card{padding:22px 20px}.panel-title{color:#ad32ff;font-weight:800;font-size:15px;letter-spacing:.3px}.muted{color:#c5c6d1;line-height:1.7;font-size:14px;margin:13px 0}.equalizer{height:62px;display:flex;align-items:flex-end;gap:4px;margin:12px 0 18px}.equalizer i{display:block;width:8px;border-radius:2px 2px 0 0;background:linear-gradient(to top,#7422ff,#ed1aa4);height:20%;animation:eq 1.1s ease-in-out infinite alternate}.equalizer i:nth-child(2n){height:50%;animation-delay:.1s}.equalizer i:nth-child(3n){height:80%;animation-delay:.3s}.equalizer i:nth-child(4n){height:38%;animation-delay:.5s}.equalizer i:nth-child(5n){height:92%;animation-delay:.2s}@keyframes eq{to{transform:scaleY(.55)}}.listen-btn{width:100%;display:grid;grid-template-columns:52px 1fr;text-align:left;align-items:center;border:0;background:none;color:#fff;cursor:pointer}.listen-btn span{grid-row:1/3;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#bd2cff,#ff119b);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 22px #be24ff55}.listen-btn b{font-size:14px;padding-left:12px}.listen-btn small{color:#c233ff;padding-left:12px;margin-top:3px}.nav-panel{padding:20px 12px}.nav-panel .panel-title{padding:0 8px 12px}.side-link{display:flex;gap:14px;align-items:center;color:#c3c5d0;text-decoration:none;padding:11px 10px;border-radius:8px;margin:2px 0;font-size:14px}.side-link span{font-size:23px;width:20px;text-align:center}.side-link.selected,.side-link:hover{color:#fff;background:linear-gradient(90deg,#4d178e,#30104d)}.social-panel{padding:18px 20px}.socials{display:flex;gap:12px;margin-top:16px}.socials a{width:43px;height:43px;border-radius:50%;border:1px solid #7823b9;color:#bd37ff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;font-size:18px}.socials a:nth-child(2){color:#ff36ad;border-color:#a51c6e}.socials a:nth-child(3){color:#9c9dfc}.socials a:nth-child(4){color:#ff48bb}.mini-brand{padding:16px 20px;margin-top:auto;display:grid;grid-template-columns:45px 1fr;align-items:center}.mini-k{font-size:39px;font-weight:900;font-style:italic;color:#b52aff}.mini-brand b{font-size:14px}.mini-brand small{display:block;color:#bc3dff;font-size:11px}.mini-brand p{grid-column:1/3;color:#73788f;font-size:10px;margin:14px 0 0}.chat-panel{min-height:800px;padding:0 10px 14px;display:flex;flex-direction:column;overflow:hidden}.chat-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 8px 14px;border-bottom:1px solid #20243b}.chat-heading h1{font-size:15px;color:#b334ff;margin:0}.chat-heading p{margin:6px 0 0;color:#81869e;font-size:11px}.heading-icon{font-size:26px;vertical-align:middle;margin-right:8px}.chat-live{font-size:10px;color:#36e86f}.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2eea69;box-shadow:0 0 8px #2eea69;margin-left:3px}.welcome{margin:14px 0;padding:18px;text-align:center;background:linear-gradient(90deg,#17142b,#121125);border:1px solid #1d1d38}.welcome strong{display:block;font-size:16px}.welcome span{display:block;color:#b9bbca;margin-top:7px;font-size:13px}.welcome b{color:#bf35ff}.messages{flex:1;min-height:0;height:510px;overflow:auto;padding:2px 10px 10px;scrollbar-color:#7224aa transparent}.messages::-webkit-scrollbar{width:7px}.messages::-webkit-scrollbar-thumb{background:#7023a5;border-radius:9px}.msg{display:flex;gap:12px;margin:8px 0;padding:12px 14px;background:linear-gradient(90deg,#111427,#0e1220);border-radius:13px;max-width:92%}.avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:linear-gradient(135deg,#7e27ff,#d620a7);box-shadow:0 0 15px #7e27ff33}.a1,.a6{background:linear-gradient(135deg,#00bfd7,#0074b6)}.a2,.a8{background:linear-gradient(135deg,#ff178f,#7c146d)}.a3{background:linear-gradient(135deg,#ffb600,#c26d00)}.a4,.a7{background:linear-gradient(135deg,#00cf63,#00884b)}.a5{background:linear-gradient(135deg,#1d66ff,#3423a6)}.msg-body{min-width:0;flex:1}.msg-meta{display:flex;align-items:center;gap:7px}.msg-meta b{font-size:13px;color:#d03bff}.msg:nth-child(2n) .msg-meta b{color:#00d8e8}.msg:nth-child(3n) .msg-meta b{color:#ff2c9f}.msg mark{font-size:8px;background:#bd2cff;color:#fff;border-radius:3px;padding:3px 5px;font-weight:800}.msg time{margin-left:auto;color:#7e8297;font-size:10px}.msg p{margin:5px 0 0;color:#f0f0f5;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.empty{text-align:center;color:#7c8196;padding:50px 10px}.composer{margin:10px 4px 0;padding:8px;display:grid;grid-template-columns:44px 120px 1fr 38px 54px;gap:8px;background:#0a0d17;border-top:1px solid #20243b}.composer input{min-width:0;border:1px solid #252a42;background:#111526;color:#f5f5fa;border-radius:9px;padding:13px;font:inherit;font-size:12px;outline:none}.composer input:focus{border-color:#8c2fff;box-shadow:0 0 0 2px #8c2fff18}.round-btn,.attach-btn,.send-btn{border:1px solid #2a2e46;background:#101425;color:#aeb1c3;border-radius:10px;cursor:pointer}.attach-btn{font-size:20px;color:#c43aff}.send-btn{border:0;background:linear-gradient(135deg,#a727ff,#6821ff);color:white;font-size:23px;box-shadow:0 0 18px #8524ff55}.composer-note{font-size:10px;color:#777c92;text-align:center}.status{text-align:center;height:18px;font-size:11px;color:#ff719c;padding-top:4px}.users-panel{padding:18px 16px;min-height:800px;display:flex;flex-direction:column}.users-head{padding:0 4px 12px}.users-list{overflow:auto;flex:1;padding-right:3px}.users-list::-webkit-scrollbar{width:6px}.users-list::-webkit-scrollbar-thumb{background:#6e26a4;border-radius:8px}.user{display:flex;gap:10px;align-items:center;padding:9px 4px}.user .avatar{width:38px;height:38px;flex-basis:38px}.user b{font-size:12px}.user mark{margin-left:5px;background:#b72eff;color:#fff;border-radius:3px;padding:3px 5px;font-size:8px}.user small{display:block;color:#9499ac;font-size:10px;margin-top:4px}.user small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#27df68;margin-right:5px}.all-users{margin-top:12px;padding:13px;border:1px solid #a62cff;background:transparent;color:#d05bff;border-radius:10px;font-weight:700;cursor:pointer}.footer{display:grid;grid-template-columns:1.3fr repeat(4,1fr) 1fr;gap:25px;align-items:center;border-top:1px solid #22263e;margin-top:24px;padding:20px 28px 22px}.footer-logo{display:grid;grid-template-columns:50px 1fr}.footer-k{grid-row:1/3;font-size:42px;font-weight:900;font-style:italic;color:#a72aff}.footer-logo b{font-size:15px}.footer-logo em{font-size:10px;color:#bd39ff;font-style:normal;letter-spacing:1px}.feature{display:flex;gap:12px;align-items:center}.feature>strong{font-size:28px;color:#a82cff}.feature span b{display:block;font-size:11px}.feature span small{display:block;color:#858aa0;font-size:10px;margin-top:3px}.onair{text-align:center;color:#04d9ff;font-size:25px;text-shadow:0 0 15px #00cfff}.onair b{display:block;color:#ff31ac;font-size:17px}.onair small{display:block;color:#ad2cff;font-size:9px}@media(max-width:1100px){.dashboard{grid-template-columns:230px minmax(0,1fr)}.rightbar{display:none}.top-nav{display:none}.topbar{justify-content:space-between}.footer{grid-template-columns:1fr 1fr 1fr}}@media(max-width:720px){.app-shell{padding:10px}.dashboard{display:block}.sidebar{display:none}.chat-panel{min-height:calc(100vh - 120px);border-radius:10px}.messages{height:52vh}.composer{grid-template-columns:42px 1fr 42px 50px}.composer input#name{grid-column:1/5;order:-1}.topbar{height:auto;padding:8px 4px}.logo{min-width:0}.logo b{font-size:20px}.logo-mark{width:42px;font-size:36px}.top-live{padding:9px 10px;font-size:10px}.online-pill{display:none}.footer{grid-template-columns:1fr 1fr;padding:16px}.feature:nth-of-type(3),.feature:nth-of-type(4){display:none}}

.info-panel{display:none;padding:22px;margin-top:18px}.info-panel:target{display:block}.rules{margin:15px 0 0;padding-left:24px;color:#d9dbe5;line-height:1.9;font-size:13px}.ranking-list{margin-top:12px}.rank-row{display:grid;grid-template-columns:42px 1fr auto 70px;gap:10px;align-items:center;padding:11px 8px;border-bottom:1px solid #20243b}.rank-row>b{font-size:13px}.rank-row>span{color:#9da1b5;font-size:11px;text-align:right}.badge{display:inline-block!important;font-size:8px!important;border-radius:4px;padding:3px 6px!important;font-weight:800;letter-spacing:.4px}.badge.owner{background:#c98b00;color:#fff}.badge.admin{background:#1474ff;color:#fff}.badge.locutor{background:#d81b8a;color:#fff}.badge.vip{background:#7a35ff;color:#fff}.badge.user{background:#4a5268;color:#fff}.emoji-picker{display:flex;flex-wrap:wrap;gap:5px;padding:8px;background:#0b0e19;border:1px solid #292e48;border-radius:10px;margin:0 4px 5px}.emoji-choice{border:0;background:#151a2b;border-radius:7px;padding:6px 8px;font-size:20px;cursor:pointer}.emoji-choice:hover{background:#282d46}


/* KONECTA RADIO · controles de efectos sonoros */
.sound-controls{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:auto 1fr;gap:7px 10px;align-items:center;font-size:11px;color:#9ea6bd}.sound-toggle{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#eef1ff;border-radius:10px;padding:7px 10px;cursor:pointer;font-size:11px;grid-column:1/-1;text-align:left}.sound-toggle:hover{background:rgba(255,255,255,.08)}.sound-controls input[type=range]{width:100%;accent-color:#f5c542}

/* KONECTA RADIO · acceso y usuarios reales */
.name-gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,5,14,.86);backdrop-filter:blur(10px)}
.name-gate[hidden]{display:none}
.name-card{width:min(430px,100%);padding:32px;border:1px solid #5c238a;border-radius:18px;background:linear-gradient(145deg,#13162a,#090b16);box-shadow:0 25px 90px #0009;text-align:center}
.gate-logo{width:64px;height:64px;margin:0 auto 12px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:45px;font-weight:900;font-style:italic;color:#d13cff;background:linear-gradient(135deg,#291040,#15102a);box-shadow:0 0 30px #9d20ff44}
.name-card h2{margin:8px 0;color:#fff;font-size:22px}.name-card p{color:#aeb3c6;font-size:13px;line-height:1.6}.name-card form{display:grid;gap:10px;margin-top:20px}.name-card input{border:1px solid #343951;background:#0d1120;color:#fff;border-radius:10px;padding:14px;outline:none}.name-card input:focus{border-color:#a72cff}.name-card button{border:0;border-radius:10px;padding:14px;background:linear-gradient(135deg,#a727ff,#6821ff);color:#fff;font-weight:800;cursor:pointer}.name-card small{display:block;color:#777e96;font-size:10px;line-height:1.5;margin-top:14px}.badge-icon{font-size:10px;margin-right:3px}.badge{display:inline-flex!important;align-items:center!important;gap:2px!important}

/* KONECTA RADIO · control de volumen de la emisión */
.radio-volume{margin-top:14px;padding:11px 10px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.035);display:grid;grid-template-columns:34px 32px 1fr 32px 48px;gap:6px;align-items:center}
.radio-volume input[type=range]{width:100%;accent-color:#c02cff;cursor:pointer}
.volume-btn,.volume-step{height:30px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#111526;color:#fff;cursor:pointer;font-weight:800}
.volume-btn{font-size:15px}.volume-step{font-size:18px;line-height:1}
.volume-btn:hover,.volume-step:hover{background:#241538;border-color:#9d2cff}
.radio-volume output{text-align:right;color:#c9cce0;font-size:11px;font-weight:700}
@media(max-width:720px){.radio-volume{grid-template-columns:34px 30px 1fr 30px 45px;gap:5px}}


/* V2.7 - funciones de comunidad y radio */
.now-playing{margin:12px 0;padding:12px;border:1px solid #2b3150;border-radius:12px;background:#0d1122;display:flex;flex-direction:column;gap:3px}
.now-playing .np-live{font-size:10px;font-weight:800;letter-spacing:.08em}
.now-playing b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-playing small{opacity:.65}
.song-history{margin:8px 0}
#historyBtn{border:1px solid #2b3150;background:#11162a;color:#fff;border-radius:9px;padding:7px 10px;cursor:pointer}
#songHistory{margin-top:6px;padding:8px;border-radius:9px;background:#0b0f1d;font-size:11px;line-height:1.8;max-height:150px;overflow:auto}
.pinned-message{margin:10px 12px 0;padding:10px 12px;border:1px solid #4a426c;border-radius:10px;background:#17142a;display:flex;gap:8px;flex-direction:column}
.pinned-message b{font-size:11px;letter-spacing:.05em}
.pinned-message span{font-size:13px}
.reply-preview{margin:4px 0 7px;padding:6px 9px;border-left:3px solid #777;border-radius:6px;background:#111526;font-size:11px;opacity:.8}
.msg-actions{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap}
.reply-btn,.reaction{border:1px solid #292e48;background:#111526;color:#dfe3ff;border-radius:8px;padding:4px 7px;font-size:11px;cursor:pointer}
.reaction small{margin-left:3px;opacity:.75}
.reaction:hover,.reply-btn:hover{filter:brightness(1.25)}
