
/* Chateando V4.5 — Tropical Flow across internal pages */
body:not(.page-index){background:
 radial-gradient(circle at 92% 8%,rgba(255,117,183,.12),transparent 22rem),
 radial-gradient(circle at 3% 35%,rgba(143,232,78,.12),transparent 24rem),
 #f7fbef!important;color:#17201c!important}
body:not(.page-index) .page-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(244,250,234,.92))!important;border:1px solid rgba(23,32,28,.08)!important;border-radius:28px!important;box-shadow:0 28px 60px rgba(25,47,31,.18),0 9px 20px rgba(25,47,31,.09)!important}
body:not(.page-index) .page-hero:before{content:"";position:absolute;width:240px;height:240px;border-radius:45% 55% 60% 40%;right:-55px;top:-85px;background:linear-gradient(135deg,#72dfe0,#7da9ef);opacity:.7;filter:blur(1px);z-index:-1;animation:v45morph 8s ease-in-out infinite}
body:not(.page-index) .page-hero:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:14%;bottom:-95px;background:#6fe4df;opacity:.22;filter:blur(2px);z-index:-1}
body:not(.page-index) .page-hero h1{font:650 clamp(31px,4.1vw,56px)/1.03 Shadows Into Light!important;letter-spacing:-.045em!important;color:#17201c!important;text-shadow:none!important;max-width:850px}
body:not(.page-index) .page-hero h1[data-v45-emoji]:after{content:attr(data-v45-emoji);display:inline-block;margin-left:13px;font-size:.62em;vertical-align:.1em;filter:drop-shadow(0 8px 10px rgba(25,47,31,.18));animation:v45emoji 3.4s ease-in-out infinite}
body:not(.page-index) .page-hero p{font:400 15px/1.7 Poppins!important;color:#58675f!important;max-width:720px!important}
body:not(.page-index) .page-card,body:not(.page-index) .page-tip-card,body:not(.page-index) .service-card,body:not(.page-index) .staff-card,body:not(.page-index) .room-card{
 border:1px solid rgba(23,32,28,.09)!important;
 box-shadow:0 22px 45px rgba(25,47,31,.17),0 7px 16px rgba(25,47,31,.08)!important;
 transition:transform .25s ease,box-shadow .25s ease!important
}
body:not(.page-index) .page-card:hover,body:not(.page-index) .service-card:hover,body:not(.page-index) .staff-card:hover,body:not(.page-index) .room-card:hover{
 transform:translateY(-5px);box-shadow:0 30px 58px rgba(25,47,31,.22),0 10px 20px rgba(25,47,31,.10)!important
}
body:not(.page-index) .page-tip-card{background:linear-gradient(115deg,rgba(214,255,88,.72),rgba(255,255,255,.88))!important}
body:not(.page-index) h2,body:not(.page-index) .section-title{font-family:Shadows Into Light,sans-serif!important;letter-spacing:-.035em!important;color:#17201c}
body:not(.page-index) h3{color:#17201c}
body:not(.page-index) p,body:not(.page-index) li{color:#5b6962}
body:not(.page-index) button,body:not(.page-index) .btn,body:not(.page-index) .button{
 box-shadow:0 12px 25px rgba(25,47,31,.18)!important;transition:transform .2s ease,box-shadow .2s ease!important
}
body:not(.page-index) button:hover,body:not(.page-index) .btn:hover,body:not(.page-index) .button:hover{transform:translateY(-3px);box-shadow:0 17px 31px rgba(25,47,31,.23)!important}
body.page-radio .page-hero:before{background:linear-gradient(135deg,#6fe4df,#8fe84e)}
body.page-gemix .page-hero:before{background:linear-gradient(135deg,#ffe36b,#ff9d69)}
body.page-mi .page-hero:before,body.page-perfil .page-hero:before{background:linear-gradient(135deg,#ff75b7,#8a70ee)}
body.page-nickserv .page-hero:before,body.page-registro .page-hero:before{background:linear-gradient(135deg,#d6ff58,#6fe4df)}
body.page-staff .page-hero:before{background:linear-gradient(135deg,#8a70ee,#ff75b7)}
@keyframes v45morph{0%,100%{border-radius:45% 55% 60% 40%;transform:rotate(0)}50%{border-radius:61% 39% 43% 57%;transform:rotate(8deg)}}
@keyframes v45emoji{50%{transform:translateY(-5px) rotate(7deg)}}
@media(max-width:800px){body:not(.page-index) .page-hero{border-radius:20px!important}body:not(.page-index) .page-hero h1{font-size:clamp(29px,9vw,42px)!important}body:not(.page-index) .page-hero p{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){body:not(.page-index) .page-hero:before,body:not(.page-index) .page-hero h1[data-v45-emoji]:after{animation:none!important}}

/* V4.6 — REAL INTERNAL PAGE MIGRATION
   Targets the actual components used by every page, not generic placeholder selectors. */
:root{--tf-ink:#17201c;--tf-muted:#607067;--tf-lime:#d6ff58;--tf-green:#8fe84e;--tf-cyan:#6fe4df;--tf-pink:#ff75b7;--tf-yellow:#ffe36b;--tf-purple:#8a70ee;--tf-paper:#f7fbef}
body:not(.page-index) .ambient{opacity:.48!important;filter:saturate(1.18)}
body:not(.page-index) .page-shell,body:not(.page-index) .profile-shell{max-width:1180px!important}
body:not(.page-index) .page-grid{gap:22px!important}

/* Real shared content cards */
body:not(.page-index) :is(.feature-card,.profile-card,.staff-card,.staff-extra-card,.profile-section,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-season-board,.cp271-history){
 border:1px solid rgba(23,32,28,.09)!important;border-radius:22px!important;
 box-shadow:0 24px 50px rgba(25,47,31,.19),0 8px 18px rgba(25,47,31,.10)!important;
 transition:transform .25s ease,box-shadow .25s ease!important
}
body:not(.page-index) :is(.feature-card,.profile-card,.staff-card,.staff-extra-card,.profile-section,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-season-board,.cp271-history):hover{
 transform:translateY(-5px);box-shadow:0 34px 64px rgba(25,47,31,.24),0 12px 23px rgba(25,47,31,.12)!important
}

/* Salas / Servicios: tropical cards */
.page-salas .feature-card,.page-servicios .feature-card{position:relative;overflow:hidden;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(10px)}
.page-salas .feature-card:after,.page-servicios .feature-card:after{content:"";position:absolute;width:105px;height:105px;border-radius:50%;right:-40px;bottom:-48px;background:var(--tf-lime);opacity:.35;transition:.35s}
.page-salas .feature-card:nth-child(2n):after,.page-servicios .feature-card:nth-child(2n):after{background:var(--tf-cyan)}
.page-salas .feature-card:nth-child(3n):after,.page-servicios .feature-card:nth-child(3n):after{background:var(--tf-pink)}
.page-salas .feature-card:hover:after,.page-servicios .feature-card:hover:after{transform:scale(1.35)}

/* Comunidad */
.page-mi .mi-live-now{border-radius:18px!important;background:linear-gradient(115deg,#17231d,#2b4937)!important;box-shadow:0 20px 42px rgba(20,42,27,.25)!important}
.page-mi .profile-card,.page-mi .page-card{background:rgba(255,255,255,.86)!important}
.page-mi .mini-profile-btn{border-radius:16px!important;box-shadow:0 9px 20px rgba(25,47,31,.12)!important;transition:.2s}
.page-mi .mini-profile-btn:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(25,47,31,.19)!important}

/* RADIO: actual structure */
.page-radio .radio-electric-stage{background:linear-gradient(135deg,#bff8ef 0%,#75e3dd 52%,#d6ff58 135%)!important;border:1px solid rgba(23,32,28,.08)!important;border-radius:28px!important;box-shadow:0 32px 65px rgba(25,47,31,.23),0 10px 22px rgba(25,47,31,.11)!important;overflow:hidden}
.page-radio .radio-electric-main h1{font:650 clamp(34px,5vw,64px)/1 Shadows Into Light!important;letter-spacing:-.05em!important;color:var(--tf-ink)!important}
.page-radio .radio-electric-main h1:after{content:" 🎧";font-size:.55em}
.page-radio .radio-electric-art{box-shadow:0 25px 45px rgba(25,47,31,.24)!important}
.page-radio .radio-electric-side,.page-radio .radio-electric-history{background:rgba(255,255,255,.82)!important}
.page-radio .electric-play{box-shadow:0 17px 32px rgba(25,47,31,.24)!important}

/* COMPADRE: actual custom hero + panels */
.page-gemix .cp-hero265{background:linear-gradient(135deg,#fff0a7,#ffc073 58%,#ff8f70)!important;border:1px solid rgba(23,32,28,.08)!important;border-radius:28px!important;box-shadow:0 32px 65px rgba(77,48,23,.22),0 10px 22px rgba(77,48,23,.11)!important;overflow:hidden}
.page-gemix .cp-hero-copy h1{font:650 clamp(34px,5vw,62px)/1 Shadows Into Light!important;color:var(--tf-ink)!important;letter-spacing:-.05em!important}
.page-gemix .cp271-shell{background:transparent!important}
.page-gemix .cp271-scoreboard{border-radius:22px!important;background:linear-gradient(115deg,#17231d,#304737)!important;box-shadow:0 26px 52px rgba(25,47,31,.25)!important}
.page-gemix :is(.cp271-ranking,.cp271-lab,.cp271-history){background:rgba(255,255,255,.88)!important}
.page-gemix .cp271-season-board{background:linear-gradient(135deg,#292342,#3c2e62)!important}

/* Staff */
.page-staff .staff-hero{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,231,255,.92))!important}
.page-staff .staff-card{background:rgba(255,255,255,.88)!important;overflow:hidden}
.page-staff .staff-founder{box-shadow:0 28px 58px rgba(138,112,238,.23),0 9px 20px rgba(25,47,31,.10)!important}
.page-staff .staff-security{box-shadow:0 28px 58px rgba(25,47,31,.24),0 9px 20px rgba(25,47,31,.10)!important}

/* Profile */
.page-perfil .profile-cover{border-radius:28px!important;background:linear-gradient(125deg,#d6ff58,#6fe4df 55%,#ff75b7)!important;box-shadow:0 30px 62px rgba(25,47,31,.22)!important}
.page-perfil .profile-section{background:rgba(255,255,255,.88)!important}
.page-perfil .profile-avatar-xl{box-shadow:0 17px 35px rgba(25,47,31,.25)!important}

/* Forms/help/contact/nickserv/registro/normas */
:is(.page-registro,.page-nickserv,.page-ayuda,.page-contacto,.page-normas) .page-card{background:rgba(255,255,255,.88)!important;border-radius:22px!important}
:is(.page-registro,.page-nickserv,.page-contacto) input,:is(.page-registro,.page-nickserv,.page-contacto) textarea,:is(.page-registro,.page-nickserv,.page-contacto) select{
 border-radius:13px!important;border:1px solid rgba(23,32,28,.13)!important;background:#fff!important;box-shadow:inset 0 2px 5px rgba(25,47,31,.05)!important
}
:is(.page-registro,.page-nickserv,.page-contacto) input:focus,:is(.page-registro,.page-nickserv,.page-contacto) textarea:focus{box-shadow:0 0 0 4px rgba(111,228,223,.23)!important}

/* Tips become a recognizable site-wide component */
body:not(.page-index) .page-tip-card{border-radius:20px!important;box-shadow:0 22px 45px rgba(25,47,31,.18)!important}
body:not(.page-index) .page-tip-emoji{font-size:32px!important;filter:drop-shadow(0 8px 9px rgba(25,47,31,.15));animation:v45emoji 3.2s ease-in-out infinite}

/* Headings and tags */
body:not(.page-index) :is(.card-kicker,.eyebrow,.tag,.page-tip-kicker){letter-spacing:.09em!important}
body:not(.page-index) :is(.feature-card,.profile-card,.staff-card,.profile-section,.cp271-shell,.radio-electric) h2,
body:not(.page-index) :is(.feature-card,.profile-card,.staff-card,.profile-section,.cp271-shell,.radio-electric) h3{font-family:Shadows Into Light,sans-serif!important;letter-spacing:-.035em!important}

/* Mobile keeps app navigation and removes excessive elevation */
@media(max-width:800px){
 body:not(.page-index) :is(.feature-card,.profile-card,.staff-card,.staff-extra-card,.profile-section,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-season-board,.cp271-history){box-shadow:0 14px 28px rgba(25,47,31,.15),0 5px 11px rgba(25,47,31,.08)!important}
 .page-radio .radio-electric-stage,.page-gemix .cp-hero265,.page-perfil .profile-cover{border-radius:20px!important}
}

/* V4.7 — COMPLETE INTERNAL PAGE PASS */
body:not(.page-index) main{position:relative}
body:not(.page-index) main>section,body:not(.page-index) main>div{position:relative}

/* Normas — actual rules-grid */
.page-normas .rules-grid{display:grid;gap:18px}
.page-normas .rules-grid>*{border:1px solid rgba(23,32,28,.09)!important;border-radius:20px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 22px 46px rgba(25,47,31,.18),0 7px 15px rgba(25,47,31,.09)!important;transition:.24s}
.page-normas .rules-grid>*:hover{transform:translateY(-5px);box-shadow:0 31px 58px rgba(25,47,31,.23),0 10px 19px rgba(25,47,31,.11)!important}

/* Ayuda / contacto / registro / NickServ: all direct grid children */
:is(.page-ayuda,.page-contacto,.page-registro,.page-nickserv) .page-grid>*{border-radius:21px!important;border:1px solid rgba(23,32,28,.09)!important;box-shadow:0 22px 46px rgba(25,47,31,.18),0 7px 15px rgba(25,47,31,.09)!important}
.page-ayuda .page-grid>*:nth-child(3n+1){background:linear-gradient(145deg,#fff,rgba(214,255,88,.18))!important}
.page-ayuda .page-grid>*:nth-child(3n+2){background:linear-gradient(145deg,#fff,rgba(111,228,223,.16))!important}
.page-ayuda .page-grid>*:nth-child(3n){background:linear-gradient(145deg,#fff,rgba(255,117,183,.12))!important}

/* Contacto */
.page-contacto .page-grid>*{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(111,228,223,.10))!important}
.page-contacto .page-hero:before{background:linear-gradient(135deg,#6fe4df,#d6ff58)!important}

/* Registro / NickServ distinction */
.page-registro .page-grid>*{background:linear-gradient(145deg,#fff,rgba(214,255,88,.13))!important}
.page-nickserv .page-grid>*{background:linear-gradient(145deg,#fff,rgba(111,228,223,.12))!important}

/* Staff wall + extras */
.page-staff .staff-wall{gap:22px!important}
.page-staff .staff-extra{gap:18px!important}
.page-staff .staff-extra-card{background:linear-gradient(145deg,#fff,rgba(138,112,238,.09))!important}

/* Services individual color identity */
.page-servicios .feature-card:nth-child(1){background:linear-gradient(145deg,#fff,rgba(214,255,88,.23))!important}
.page-servicios .feature-card:nth-child(2){background:linear-gradient(145deg,#fff,rgba(255,117,183,.14))!important}
.page-servicios .feature-card:nth-child(3){background:linear-gradient(145deg,#fff,rgba(255,190,105,.18))!important}
.page-servicios .feature-card:nth-child(4){background:linear-gradient(145deg,#fff,rgba(111,228,223,.18))!important}
.page-servicios .feature-card:nth-child(5){background:linear-gradient(145deg,#fff,rgba(255,227,107,.20))!important}

/* Salas stronger individual identities */
.page-salas .feature-card:nth-child(1){background:linear-gradient(145deg,#fff,rgba(214,255,88,.24))!important}
.page-salas .feature-card:nth-child(2){background:linear-gradient(145deg,#fff,rgba(255,117,183,.15))!important}
.page-salas .feature-card:nth-child(3){background:linear-gradient(145deg,#fff,rgba(255,178,100,.18))!important}
.page-salas .feature-card:nth-child(4){background:linear-gradient(145deg,#fff,rgba(111,228,223,.18))!important}

/* Real radio history rows */
.page-radio .history-item{border-radius:14px!important;transition:.2s;background:rgba(255,255,255,.62)!important}
.page-radio .history-item:hover{transform:translateX(5px);box-shadow:0 10px 22px rgba(25,47,31,.12)!important}

/* Gemix inner interactive rows */
.page-gemix :is(.cp271-ranking-list,.cp271-player-detail,.cp271-race)>*{transition:.2s}
.page-gemix :is(.cp271-ranking-list,.cp271-player-detail,.cp271-race)>*:hover{transform:translateX(4px)}

/* Comunidad actual community */
.page-mi .person-list>*{border-radius:14px!important;transition:.2s}
.page-mi .person-list>*:hover{transform:translateX(4px);box-shadow:0 11px 23px rgba(25,47,31,.13)!important}

/* Unified colored section numbering/eyebrows */
body:not(.page-index) .eyebrow{display:inline-flex!important;align-items:center;gap:8px;padding:7px 11px!important;border-radius:999px;background:rgba(214,255,88,.65)!important;color:#273129!important;box-shadow:0 7px 15px rgba(25,47,31,.09)}
.page-radio .radio-label{background:rgba(255,255,255,.55)!important;border-radius:999px;padding:7px 11px!important}

/* Stronger page separation / depth */
body:not(.page-index) .footer{margin-top:34px}
body:not(.page-index) .page-tip-card{margin-top:26px!important}
@media(max-width:800px){body:not(.page-index) .page-grid{gap:15px!important}.page-staff .staff-wall{gap:16px!important}}

/* V4.8 — Radio rebuild + readable text + no yellow heroes */

/* Hero palette: remove yellow/lime as dominant hero color */
body:not(.page-index) .page-hero:before{background:linear-gradient(135deg,#6fe4df,#72bdf4)!important}
.page-salas .page-hero:before{background:linear-gradient(135deg,#6fe4df,#7eb8ff)!important}
.page-mi .page-hero:before,.page-perfil .page-hero:before{background:linear-gradient(135deg,#ff75b7,#8a70ee)!important}
.page-nickserv .page-hero:before,.page-registro .page-hero:before{background:linear-gradient(135deg,#6fe4df,#8a70ee)!important}
.page-ayuda .page-hero:before{background:linear-gradient(135deg,#7eb8ff,#8a70ee)!important}
.page-contacto .page-hero:before{background:linear-gradient(135deg,#6fe4df,#72bdf4)!important}
.page-servicios .page-hero:before{background:linear-gradient(135deg,#8a70ee,#6fe4df)!important}
.page-normas .page-hero:before{background:linear-gradient(135deg,#ff75b7,#8a70ee)!important}
.page-staff .page-hero:before{background:linear-gradient(135deg,#8a70ee,#ff75b7)!important}
.page-gemix .cp-hero265{background:linear-gradient(135deg,#ffb2cf 0%,#bba8ff 54%,#79e4df 100%)!important}

/* Kill old white decorative hero glyphs on pale backgrounds */
body:not(.page-index) .page-hero:after{color:rgba(23,32,28,.09)!important;text-shadow:none!important}
.page-nickserv .page-hero::after,.page-registro .page-hero::after,.page-mi .page-hero::after,.page-servicios .page-hero::after{color:rgba(23,32,28,.10)!important}

/* Readability repair: light surfaces always use dark copy */
body:not(.page-index) :is(.page-hero,.feature-card,.page-card,.profile-card,.staff-card,.staff-extra-card,.page-tip-card,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history) :is(h1,h2,h3,h4,p,small,label){
 color:var(--tf-ink)!important
}
body:not(.page-index) :is(.feature-card,.page-card,.profile-card,.staff-card,.staff-extra-card,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history) p{color:#5b6962!important}
body:not(.page-index) :is(.btn-primary,.page-tip-action,.mobile-nav a,.profile-kudos-btn) {color:#fff!important}
body:not(.page-index) :is(.btn-primary,.page-tip-action,.profile-kudos-btn) :is(span,b,strong){color:#fff!important}
.page-mi #account-panel,.page-mi #account-panel :is(h2,h3,p,b,strong,small,span){color:#fff!important}
.page-gemix .cp271-scoreboard,.page-gemix .cp271-scoreboard :is(b,strong,small,span,p){color:#fff!important}
.page-gemix .cp271-season-board,.page-gemix .cp271-season-board :is(h2,h3,p,b,strong,small,span){color:#fff!important}
/* El rincón multimedia es una superficie clara; solo las publicaciones oscuras llevan texto blanco. */
.page-perfil .profile-media-section{color:#172e55!important}

/* RADIO V4.8 — a true page-specific composition */
.page-radio{background:
 radial-gradient(circle at 8% 13%,rgba(111,228,223,.18),transparent 26rem),
 radial-gradient(circle at 93% 36%,rgba(138,112,238,.15),transparent 25rem),
 #f4faf7!important}
.page-radio .radio-electric{max-width:1180px;margin:34px auto 0!important;padding:0 20px 30px;background:transparent!important;color:var(--tf-ink)!important;border:0!important}
.page-radio .radio-electric-stage{
 display:grid!important;grid-template-columns:minmax(220px,.72fr) minmax(330px,1.3fr) minmax(235px,.75fr)!important;
 gap:28px!important;align-items:center!important;min-height:500px;padding:42px!important;
 background:linear-gradient(128deg,#b8f3ee 0%,#dcecfb 46%,#c7b8ff 100%)!important;
 border:1px solid rgba(23,32,28,.08)!important;border-radius:32px!important;
 box-shadow:0 35px 75px rgba(25,47,31,.23),0 12px 26px rgba(25,47,31,.11)!important
}
.page-radio .radio-electric-stage:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:22%;top:-145px;background:rgba(255,255,255,.30);pointer-events:none}
.page-radio .radio-scribble{opacity:.48!important;color:#26352e!important}
.page-radio .radio-electric-art{width:min(100%,270px)!important;aspect-ratio:1;border:0!important;border-radius:26px!important;background:linear-gradient(145deg,#8a70ee,#ff75b7)!important;box-shadow:0 28px 50px rgba(75,52,121,.28),0 9px 20px rgba(25,47,31,.12)!important;font-size:74px!important;transform:rotate(-3deg);transition:.35s}
.page-radio .radio-electric-art:has(img){background:#fff!important}
.page-radio .radio-electric-art img{width:100%;height:100%;object-fit:cover}
.page-radio .radio-electric-stage:hover .radio-electric-art{transform:rotate(0) translateY(-4px)}
.page-radio .radio-electric-main{position:relative;z-index:2}
.page-radio .radio-status-row .tag{display:inline-flex!important;padding:8px 11px!important;border-radius:999px!important;background:#17231d!important;color:#fff!important;box-shadow:0 8px 17px rgba(25,47,31,.15)!important}
.page-radio .radio-status-row .tag::first-letter{color:#4fe27f}
.page-radio .radio-label{display:inline-flex!important;margin-top:18px;background:rgba(255,255,255,.55)!important;color:#45554c!important}
.page-radio .radio-electric-main h1{margin:13px 0 16px!important;font:650 clamp(31px,4.3vw,57px)/1.03 Shadows Into Light!important;letter-spacing:-.055em!important;color:#17201c!important;overflow-wrap:anywhere}
.page-radio .radio-electric-main h1:after{content:""!important}
.page-radio .radio-electric-meta{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.page-radio .radio-electric-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.52);color:#33453b!important;font:700 9px Poppins!important;box-shadow:0 6px 13px rgba(25,47,31,.08)}
.page-radio .radio-playline{margin-top:28px!important;display:flex!important;align-items:center!important;gap:18px!important}
.page-radio .electric-play{width:66px!important;height:66px!important;border:0!important;border-radius:50%!important;background:#17231d!important;color:#fff!important;box-shadow:0 18px 35px rgba(25,47,31,.28)!important;transition:.22s}
.page-radio .electric-play:hover{transform:translateY(-4px) scale(1.04)}
.page-radio #play-icon{background:transparent!important;color:#fff!important;font-size:20px!important}
.page-radio .radio-eq-electric i{background:#34483c!important}
.page-radio .radio-electric-side{position:relative;padding:22px!important;background:rgba(255,255,255,.68)!important;backdrop-filter:blur(12px);border-radius:22px!important;box-shadow:0 22px 45px rgba(25,47,31,.15)!important}
.page-radio .electric-dj{padding-bottom:17px;border-bottom:1px solid rgba(23,32,28,.10)}
.page-radio .dj-avatar{background:linear-gradient(135deg,#ff75b7,#8a70ee)!important;color:#fff!important;box-shadow:0 10px 20px rgba(88,59,131,.20)!important}
.page-radio .radio-mini-stats{gap:10px!important}
.page-radio .radio-mini-stats>div{padding:12px 8px!important;border-radius:14px;background:rgba(255,255,255,.65);box-shadow:0 9px 19px rgba(25,47,31,.09)}
.page-radio .radio-mini-stats b{font-size:17px}
.page-radio .v48-radio-invite{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:15px;padding:13px;border-radius:15px;background:linear-gradient(135deg,rgba(111,228,223,.30),rgba(138,112,238,.14));box-shadow:0 9px 20px rgba(25,47,31,.09)}
.page-radio .v48-radio-invite>span{font-size:23px}.page-radio .v48-radio-invite b{display:block;font:700 10px Poppins}.page-radio .v48-radio-invite small{display:block;margin-top:2px;font-size:9px;color:#64736a!important}.page-radio .v48-radio-invite a{grid-column:1/-1;padding:8px 10px;border-radius:9px;background:#17231d;color:#fff!important;text-align:center;font:800 9px Poppins;text-decoration:none;box-shadow:0 8px 16px rgba(25,47,31,.16)}
.page-radio .radio-electric-history{margin-top:24px!important;padding:28px!important;border-radius:25px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 25px 52px rgba(25,47,31,.17),0 8px 17px rgba(25,47,31,.08)!important}
.page-radio .radio-history-title h2{font:650 clamp(22px,3vw,34px)/1.1 Shadows Into Light!important;text-transform:none!important;letter-spacing:-.04em!important}
.page-radio .radio-history-title h2{font-size:0!important}.page-radio .radio-history-title h2:after{content:"Lo último que sonó";font-size:clamp(22px,3vw,34px)}
.page-radio .radio-note{color:#64736a!important}
.page-radio .history-item{padding:13px 15px!important;border:0!important;border-bottom:1px solid rgba(23,32,28,.08)!important;background:transparent!important}
.page-radio .history-item>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(111,228,223,.24);color:#27372e!important;font-weight:800}
.page-radio .page-tip-card{max-width:1180px;margin:24px auto 0!important}

/* prevent old yellow hard-shadow language from leaking through */
body:not(.page-index) :is(.page-hero,.radio-electric-stage,.cp-hero265){box-shadow:0 30px 65px rgba(25,47,31,.20),0 10px 22px rgba(25,47,31,.10)!important}
@media(max-width:900px){.page-radio .radio-electric-stage{grid-template-columns:180px 1fr!important}.page-radio .radio-electric-side{grid-column:1/-1!important;display:grid;grid-template-columns:1fr 1fr;gap:15px}.page-radio .v48-radio-invite{margin-top:0}}
@media(max-width:650px){.page-radio .radio-electric{padding-inline:14px}.page-radio .radio-electric-stage{grid-template-columns:1fr!important;padding:24px!important}.page-radio .radio-electric-art{width:150px!important}.page-radio .radio-electric-side{grid-column:auto!important;grid-template-columns:1fr}.page-radio .radio-scribble{display:none!important}.page-radio .radio-electric-history{padding:20px!important}}

/* V4.10 — CONTRAST SYSTEM
   Light cards = dark copy. Dark cards = light copy. Explicit selectors beat legacy inheritance. */
:root{--tf-dark:#17231d;--tf-dark2:#292342;--tf-light:#f7fbef;--tf-on-dark:#f7fff9;--tf-on-dark-muted:#d2ddd6}

/* LIGHT SURFACES */
body:not(.page-index) :is(
 .feature-card,.page-card,.profile-card,.staff-card,.staff-extra-card,.page-tip-card,
 .radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,
 .rules-grid>*,.history-item,.mini-profile-btn
){color:var(--tf-ink)!important}
body:not(.page-index) :is(
 .feature-card,.page-card,.profile-card,.staff-card,.staff-extra-card,.page-tip-card,
 .radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,
 .rules-grid>*,.history-item,.mini-profile-btn
) :is(h1,h2,h3,h4,h5,label){color:var(--tf-ink)!important}
body:not(.page-index) :is(
 .feature-card,.page-card,.profile-card,.staff-card,.staff-extra-card,.page-tip-card,
 .radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,
 .rules-grid>*,.history-item,.mini-profile-btn
) :is(p,small,.muted,.mini){color:#596960!important}

/* DARK SURFACES — every textual descendant receives an explicit readable color */
body:not(.page-index) :is(
 #account-panel,.cp271-scoreboard,.cp271-season-board,.profile-media-card,
 .staff-help,.rules-finish,.live-focus,.cp-live-strip
){color:var(--tf-on-dark)!important}
body:not(.page-index) :is(
 #account-panel,.cp271-scoreboard,.cp271-season-board,.profile-media-card,
 .staff-help,.rules-finish,.live-focus,.cp-live-strip
) :is(h1,h2,h3,h4,h5,b,strong,label,span,em,a:not(.btn):not(.page-tip-action)){color:var(--tf-on-dark)!important}
body:not(.page-index) :is(
 #account-panel,.cp271-scoreboard,.cp271-season-board,.profile-media-card,
 .staff-help,.rules-finish,.live-focus,.cp-live-strip
) :is(p,small,.muted,.mini){color:var(--tf-on-dark-muted)!important}

/* Preserve button/tag semantics over either surface */
body:not(.page-index) :is(.btn-primary,.page-tip-action,.profile-kudos-btn,.mobile-nav a,.v48-radio-invite a),
body:not(.page-index) :is(.btn-primary,.page-tip-action,.profile-kudos-btn,.mobile-nav a,.v48-radio-invite a) *{color:#fff!important}
body:not(.page-index) .tag{color:inherit}
body:not(.page-index) .tag[style*="background"]{text-shadow:none}

/* Known dark legacy cards that used black descendants */
.page-gemix .cp271-scoreboard small,.page-gemix .cp271-season-board small{color:#d2ddd6!important}
.page-mi #account-panel :is(.muted,.mini,small){color:#d2ddd6!important}
.page-perfil .profile-media-card p,.page-perfil .profile-media-card small{color:#d2ddd6!important}

/* Form controls remain dark text on white controls even inside a dark parent */
body:not(.page-index) input,body:not(.page-index) textarea,body:not(.page-index) select,body:not(.page-index) option{color:#17201c!important;background:#fff!important}

/* V4.11 — VISUAL CONTRAST FIX + SITE PATTERN
   Screenshot-driven fix: Comunidad dark live block had inherited dark copy;
   account card had inherited white copy on a light card. */

/* COMUNIDAD: actual screenshot components */
.page-mi .mi-live-now{
 background:linear-gradient(118deg,#193629,#244a39)!important;
 color:#f7fff9!important;border:1px solid rgba(255,255,255,.08)!important
}
.page-mi .mi-live-now :is(h1,h2,h3,h4,b,strong,span:not(.live-pulse),a){color:#f7fff9!important}
.page-mi .mi-live-now :is(p,small,.muted,.mini,.mi-live-copy){color:#c9d9d0!important}
.page-mi .mi-live-now .mi-live-users :is(b,strong,span,small){color:#17201c!important} /* user tiles are light */
.page-mi .mi-live-now .mi-live-users small{color:#53635a!important}
.page-mi .mi-live-now .live-pulse{color:#17201c!important}

/* The account/login card in screenshot is LIGHT, so never inherit old white card-indigo text */
.page-mi .profile-card,.page-mi .page-card,.page-mi .card-indigo{
 background:rgba(255,255,255,.91)!important;color:#17201c!important
}
.page-mi :is(.profile-card,.page-card,.card-indigo) :is(h1,h2,h3,h4,b,strong,label,span:not(.tag)){color:#17201c!important}
.page-mi :is(.profile-card,.page-card,.card-indigo) :is(p,small,.muted,.mini){color:#5b6962!important}
.page-mi :is(.profile-card,.page-card,.card-indigo) .tag{color:#17201c!important;background:rgba(111,228,223,.22)!important;border-color:rgba(23,32,28,.16)!important}

/* account panel is only dark if JS explicitly marks it as a signed-in dark state */
.page-mi #account-panel{background:rgba(255,255,255,.91)!important;color:#17201c!important}
.page-mi #account-panel :is(h1,h2,h3,h4,b,strong,label,span){color:#17201c!important}
.page-mi #account-panel :is(p,small,.muted,.mini){color:#5b6962!important}

/* Comprehensive semantic contrast across known dark page components */
:is(.page-gemix .cp271-scoreboard,.page-gemix .cp271-season-board,
.page-perfil .profile-media-card,
.page-staff .staff-security,.page-staff .staff-help,.page-normas .rules-finish,
.page-gemix .cp-live-strip){
 color:#f7fff9!important
}
:is(.page-gemix .cp271-scoreboard,.page-gemix .cp271-season-board,
.page-perfil .profile-media-card,
.page-staff .staff-security,.page-staff .staff-help,.page-normas .rules-finish,
.page-gemix .cp-live-strip) :is(h1,h2,h3,h4,h5,b,strong,label,span,a:not(.btn)){color:#f7fff9!important}
:is(.page-gemix .cp271-scoreboard,.page-gemix .cp271-season-board,
.page-perfil .profile-media-card,
.page-staff .staff-security,.page-staff .staff-help,.page-normas .rules-finish,
.page-gemix .cp-live-strip) :is(p,small,.muted,.mini){color:#cedbd4!important}

/* Light cards comprehensive */
body:not(.page-index) :is(.feature-card,.page-card,.profile-card,.staff-card:not(.staff-security),.staff-extra-card,
.page-tip-card,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,.rules-grid>*){
 color:#17201c!important
}
body:not(.page-index) :is(.feature-card,.page-card,.profile-card,.staff-card:not(.staff-security),.staff-extra-card,
.page-tip-card,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,.rules-grid>*) :is(h1,h2,h3,h4,h5,label){color:#17201c!important}
body:not(.page-index) :is(.feature-card,.page-card,.profile-card,.staff-card:not(.staff-security),.staff-extra-card,
.page-tip-card,.radio-electric-side,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,.rules-grid>*) :is(p,small,.muted,.mini){color:#596960!important}

/* keep the pattern visible between content, never through card text areas */
body:not(.page-index) :is(.page-hero,.feature-card,.page-card,.profile-card,.staff-card,.staff-extra-card,.radio-electric-stage,.radio-electric-history,.cp271-ranking,.cp271-lab,.cp271-history,.rules-grid>*){background-clip:padding-box}
@media(max-width:800px){body{background-size:18px 18px,72px 72px,72px 72px!important;background-position:0 0,0 0,36px 36px!important;background-attachment:scroll!important}}

/* V4.12 — TROPICAL CONSTELLATION BACKDROP
   Large, sparse, organic pattern. Applied through a fixed viewport layer,
   so page-specific body backgrounds cannot hide it. */
body:not(.page-index)::after{
 content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
 background-color:#F3F7FD;
 background-image:
  radial-gradient(ellipse 620px 420px at 3% 15%,rgba(71,142,246,.13),transparent 75%),
  radial-gradient(ellipse 520px 440px at 97% 75%,rgba(255,170,98,.12),transparent 76%),
  radial-gradient(circle at 21px 22px,rgba(64,124,216,.16) 0 2px,transparent 2.5px),
  radial-gradient(circle at 88px 87px,rgba(242,159,80,.13) 0 2px,transparent 2.5px);
 background-size:100% 100%,100% 100%,136px 136px,136px 136px;
}
body.page-staff::after{background-color:#F2F6FF;background-image:
 radial-gradient(ellipse 680px 480px at 5% 20%,rgba(74,124,232,.14),transparent 74%),
 radial-gradient(ellipse 500px 430px at 94% 75%,rgba(255,189,114,.13),transparent 76%),
 radial-gradient(circle at 21px 22px,rgba(64,124,216,.16) 0 2px,transparent 2.5px),
 radial-gradient(circle at 88px 87px,rgba(242,159,80,.12) 0 2px,transparent 2.5px)}
body.page-gemix::after{background-color:#FFF9EE;background-image:
 radial-gradient(ellipse 630px 520px at 5% 15%,rgba(255,193,101,.17),transparent 76%),
 radial-gradient(ellipse 520px 420px at 95% 70%,rgba(109,166,245,.10),transparent 76%),
 radial-gradient(circle at 21px 22px,rgba(222,151,60,.14) 0 2px,transparent 2.5px),
 radial-gradient(circle at 88px 87px,rgba(68,132,220,.10) 0 2px,transparent 2.5px)}
body:not(.page-index){background:transparent!important}
body:not(.page-index)::before{z-index:-1!important}

/* occasional oversized soft rings make the texture less repetitive */
body:not(.page-index) .page-shell::before,
.page-radio .radio-electric::before,
.page-perfil .profile-shell::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;width:190px;height:190px;
 border:1px solid rgba(36,99,212,.14);border-radius:50%;left:-90px;top:32%;
 box-shadow:70px 85px 0 -69px rgba(255,140,66,.22),130px -35px 0 -129px rgba(36,99,212,.23)
}
@media(max-width:800px){
 body:not(.page-index)::after{background-size:115px 103px,115px 103px,115px 103px,115px 103px;opacity:.8}
}

/* V4.13 — EXPLICIT COMPONENT CONTRAST MAP
   Do not infer foreground from generic .card classes. Each real component gets
   a foreground that matches its ACTUAL final background. */

/* COMUNIDAD */
.page-mi .mi-live-now,
.page-mi .mi-live-now .mi-live-copy{color:#f3fff8!important}
.page-mi .mi-live-now h1,.page-mi .mi-live-now h2,.page-mi .mi-live-now h3,
.page-mi .mi-live-now p,.page-mi .mi-live-now small,.page-mi .mi-live-now strong,
.page-mi .mi-live-now b,.page-mi .mi-live-now>span{color:#f3fff8!important}
.page-mi .mi-live-now p,.page-mi .mi-live-now small{color:#c9ddd1!important}
.page-mi .mi-live-now .mi-live-users,
.page-mi .mi-live-now .mi-live-users a{color:#17201c!important}
.page-mi .mi-live-now .mi-live-users a *{color:#17201c!important}
.page-mi .mi-live-now .mi-live-users a small{color:#53635a!important}
.page-mi .profile-card,.page-mi .page-card,.page-mi #account-panel{color:#17201c!important}
.page-mi .profile-card *,.page-mi .page-card *,.page-mi #account-panel *{color:#17201c!important}
.page-mi .profile-card :is(p,small,.muted,.mini),.page-mi .page-card :is(p,small,.muted,.mini),.page-mi #account-panel :is(p,small,.muted,.mini){color:#607067!important}
.page-mi :is(.profile-card,.page-card,#account-panel) :is(.btn,.btn-primary,.btn-soft){color:#17201c!important}
.page-mi :is(.profile-card,.page-card,#account-panel) :is(.btn-primary){background:#17201c!important;color:#fff!important}
.page-mi :is(.profile-card,.page-card,#account-panel) :is(.btn-primary) *{color:#fff!important}

/* STAFF — all three visible staff cards are LIGHT in the current design */
.page-staff .staff-card,.page-staff .staff-founder,.page-staff .staff-operator,.page-staff .staff-security{
 background:rgba(255,255,255,.91)!important;color:#17201c!important
}
.page-staff :is(.staff-card,.staff-founder,.staff-operator,.staff-security) :is(h2,h3,h4,b,strong,.staff-desc,.staff-focus){color:#17201c!important}
.page-staff :is(.staff-card,.staff-founder,.staff-operator,.staff-security) :is(p,small,.muted){color:#5d6b63!important}
.page-staff .staff-security .staff-role{background:#17201c!important;color:#fff!important}
.page-staff .staff-security .staff-role *{color:#fff!important}

/* PROFILE — screenshot shows every numbered profile section on white */
.page-perfil .profile-section,
.page-perfil .profile-media-section,
.page-perfil .profile-kudos-section,
.page-perfil .profile-badges-section,
.page-perfil .profile-facts,
.page-perfil .profile-compadre{
 background:rgba(255,255,255,.92)!important;color:#17201c!important
}
.page-perfil :is(.profile-section,.profile-media-section,.profile-kudos-section,.profile-badges-section,.profile-facts,.profile-compadre)
 :is(h1,h2,h3,h4,h5,b,strong,label,.profile-section-intro){color:#17201c!important}
.page-perfil :is(.profile-section,.profile-media-section,.profile-kudos-section,.profile-badges-section,.profile-facts,.profile-compadre)
 :is(p,small,.muted,.mini){color:#607067!important}
.page-perfil .profile-media-section .section-number{background:#17201c!important;color:#fff!important}
.page-perfil .profile-media-section .section-number *{color:#fff!important}
/* Media POST itself remains intentionally dark */
.page-perfil .profile-media-card{background:linear-gradient(135deg,#17201c,#2d3430)!important;color:#fff!important}
.page-perfil .profile-media-card :is(h2,h3,h4,b,strong,span,a){color:#fff!important}
.page-perfil .profile-media-card :is(p,small){color:#d4dfd9!important}

/* SALAS / SERVICIOS / HELP / CONTACT / NICKSERV / REGISTRO / NORMAS:
   current cards are light. */
:is(.page-salas,.page-servicios,.page-ayuda,.page-contacto,.page-nickserv,.page-registro,.page-normas)
 :is(.feature-card,.page-card,.rules-grid>*,.page-tip-card){color:#17201c!important}
:is(.page-salas,.page-servicios,.page-ayuda,.page-contacto,.page-nickserv,.page-registro,.page-normas)
 :is(.feature-card,.page-card,.rules-grid>*,.page-tip-card)
 :is(h1,h2,h3,h4,label){color:#17201c!important}
:is(.page-salas,.page-servicios,.page-ayuda,.page-contacto,.page-nickserv,.page-registro,.page-normas)
 :is(.feature-card,.page-card,.rules-grid>*,.page-tip-card)
 :is(p,small,.muted,.mini){color:#607067!important}

/* Dark exception: Normas closing banner */
.page-normas .rules-finish,.page-normas .rules-finish :is(h1,h2,h3,h4,b,strong,span,a){color:#fff!important}
.page-normas .rules-finish :is(p,small){color:#d4dfd9!important}

/* RADIO */
.page-radio .radio-electric-side,.page-radio .radio-electric-history{color:#17201c!important}
.page-radio :is(.radio-electric-side,.radio-electric-history) :is(h1,h2,h3,h4,b,strong,span){color:#17201c!important}
.page-radio :is(.radio-electric-side,.radio-electric-history) :is(p,small){color:#607067!important}

/* COMPADRE: light content cards, dark scoreboard/season board */
.page-gemix :is(.cp271-ranking,.cp271-lab,.cp271-history){color:#17201c!important}
.page-gemix :is(.cp271-ranking,.cp271-lab,.cp271-history) :is(h1,h2,h3,h4,b,strong,span){color:#17201c!important}
.page-gemix :is(.cp271-ranking,.cp271-lab,.cp271-history) :is(p,small,.muted,.mini){color:#607067!important}
.page-gemix :is(.cp271-scoreboard,.cp271-season-board),
.page-gemix :is(.cp271-scoreboard,.cp271-season-board) :is(h1,h2,h3,h4,b,strong,span){color:#fff!important}
.page-gemix :is(.cp271-scoreboard,.cp271-season-board) :is(p,small,.muted,.mini){color:#d4dfd9!important}

/* Global special controls after component rules */
body:not(.page-index) .page-tip-action,body:not(.page-index) .page-tip-action *{color:#fff!important}
body:not(.page-index) .mobile-nav a,body:not(.page-index) .mobile-nav a *{color:#fff!important}
body:not(.page-index) input,body:not(.page-index) textarea,body:not(.page-index) select{color:#17201c!important}

/* V4.14 VERIFIED CONTRAST — exact current surfaces */
.page-mi .mi-live-now{background:#1f4433!important;color:#f7fff9!important}
.page-mi .mi-live-now>div:first-child :is(h1,h2,h3,p,small,b,strong,span){color:#f7fff9!important}
.page-mi .mi-live-now>div:first-child :is(p,small){color:#c8dbd0!important}
.page-mi .mi-live-users a,.page-mi .mi-live-users a *{color:#17201c!important}
.page-mi :is(.profile-card,.page-card,#account-panel,.card-indigo){background:#fff!important;color:#17201c!important}
.page-mi :is(.profile-card,.page-card,#account-panel,.card-indigo) :is(h1,h2,h3,h4,p,small,b,strong,span,label){color:#17201c!important}
.page-mi :is(.profile-card,.page-card,#account-panel,.card-indigo) :is(p,small,.muted){color:#607067!important}

.page-staff :is(.staff-card,.staff-founder,.staff-operator,.staff-security){background:#fff!important;color:#17201c!important}
.page-staff :is(.staff-card,.staff-founder,.staff-operator,.staff-security) :is(h1,h2,h3,h4,p,small,b,strong,span:not(.staff-role)){color:#17201c!important}
.page-staff :is(.staff-card,.staff-founder,.staff-operator,.staff-security) :is(p,small,.staff-desc,.staff-focus){color:#526159!important}
.page-staff .staff-security .staff-role{background:#17201c!important;color:#fff!important}

.page-perfil .profile-section,.page-perfil .profile-media-section{background:#fff!important;color:#17201c!important}
.page-perfil :is(.profile-section,.profile-media-section)>*:not(.profile-media-card),
.page-perfil :is(.profile-section,.profile-media-section) :is(.profile-section-head,.profile-section-intro){color:#17201c!important}
.page-perfil :is(.profile-section,.profile-media-section) :is(.profile-section-head,.profile-section-intro) *{color:#17201c!important}
.page-perfil .profile-section :is(p,small,.muted){color:#607067!important}
.page-perfil .profile-section .section-number{background:#151716!important;color:#fff!important}
.page-perfil .profile-section .section-number *{color:#fff!important}
.page-perfil .profile-media-card{background:#17201c!important;color:#fff!important}
.page-perfil .profile-media-card :is(h1,h2,h3,h4,b,strong,span,a){color:#fff!important}
.page-perfil .profile-media-card :is(p,small){color:#d3ded8!important}
