/* =====================================================
   VALLE DEL DESVELO — AJUSTE DE INTERFAZ 08/09/2026
   Respeta Zodiak y el sistema cromático del manual.
   Cyber / nu-metal / Y2K + objetos analógicos.
   ===================================================== */
:root{
  --v-negro:#050505;
  --v-blanco:#f4f1ec;
  --v-rojo:#791414;
  --v-violeta:#672969;
  --v-verde:#5AB030;
  --v-azul:#3F74EE;
  --v-metal:#777b86;
  --v-metal-dark:#202127;
}

body{background:#050505;color:var(--v-blanco)}

/* Mantener la identidad tipográfica original */
h1,h2,.titulo,.titulo-seccion,.portada h1{font-family:"Zodiak",Georgia,serif!important}

/* Quitar el marrón/dorado que se había colado */
.portada::after{background:rgba(0,0,0,.34)!important;box-shadow:inset 0 -130px 100px #000,inset 0 0 110px #000}
.tagline,.instruccion,.introduccion{color:#c9c9cf!important}
.navegacion,.accesos{background:#080808!important;border-color:var(--v-violeta)!important}
.titulo,.titulo-seccion{color:var(--v-blanco)!important;border-color:var(--v-violeta)!important;background:#090909!important;box-shadow:5px 5px 0 #000!important}
.etiqueta{color:#87ff72!important;text-shadow:0 0 8px #5ab03088}
.boton,.boton-rojo{background:var(--v-rojo)!important;color:#fff!important;border-color:#e4e4ea!important}
.boton:hover,.boton-rojo:hover{background:#a51b27!important}

/* ON AIR vuelve a ser una señal, no una frase/botón genérico */
.on-air{position:relative;letter-spacing:.14em;animation:onAirBlink 1.05s steps(1,end) infinite;box-shadow:0 0 0 1px #000,0 0 22px #79141499}
@keyframes onAirBlink{0%,52%{opacity:1;filter:brightness(1.35)}53%,100%{opacity:.35;filter:brightness(.6)}}

/* recortes / paneles */
.recorte,.formulario,.chat-marco,.archivo-finales,.catalogo{background:#0b0b0d!important;color:#e8e8ed!important;border-color:#52535b!important}
.recorte{border-left-color:var(--v-rojo)!important}
.recorte-meta{color:#ff5b66!important;border-color:#5d5e66!important}
.formulario label{color:#eee!important}

/* ================== MP3 / ARCHIVO PORTÁTIL ================== */
.reproductor{
  position:relative;background:#17181d!important;border:3px solid #8b8e99!important;border-radius:18px!important;
  box-shadow:inset 0 0 0 2px #2c2e35,10px 12px #000!important;
}
.reproductor::before{content:"";position:absolute;inset:7px;border:1px solid #343640;border-radius:12px;pointer-events:none}
.reproductor-marca{color:#d9d9e2!important;position:relative}
.device-led,.computer-led{display:inline-block;width:8px;height:8px;margin-left:8px;border-radius:50%;background:#2b2b2f;box-shadow:inset 0 0 0 1px #000}
.device-led.on,.computer-led.on{background:#72ff66;box-shadow:0 0 9px #5ab030}
.reproductor-pantalla{position:relative;background:#030706!important;border-color:#444954!important;color:#9dff8b!important;box-shadow:inset 0 0 22px #5ab03016}
.reproductor-pantalla::after,.tv-pantalla::after,.computer-screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.035) 3px 4px);mix-blend-mode:screen}
.pantalla-cabecera{color:#72ff66!important;border-color:#2a6d30!important}
.opcion-pantalla,.track-button{background:#070a09!important;color:#b8ffac!important;border-color:#245f2a!important}
.opcion-pantalla:hover,.track-button:hover{background:#101b11!important;border-color:#72ff66!important}
.reproductor-controles button,.galeria-controles button{background:#23242a!important;color:#fff!important;border-color:#8a8d97!important}
.device-offscreen{position:absolute;inset:12px;z-index:8;display:grid;place-content:center;text-align:center;background:#020202;color:#777;font:700 .8rem/1.8 "Courier New",monospace;letter-spacing:.14em}
.device-offscreen span{font-size:1.15rem;color:#9a9ba3}.device-offscreen small{font:inherit}
.message-list{display:grid;gap:7px}.message-entry{display:grid;gap:3px;text-align:left;padding:9px;background:#050706;border:1px solid #315235;color:#baffad;font:.76rem/1.4 "Courier New",monospace}.message-entry b{color:#fff}.message-entry span{opacity:.8}

/* ================== TV CRT ================== */
.televisor{position:relative;background:#18191e!important;border:4px solid #767983!important;border-radius:26px!important;box-shadow:inset 0 0 0 3px #30323a,10px 13px #000!important}
.televisor::before{content:"VDD // CRT 77";position:absolute;right:26px;bottom:16px;color:#777b86;font:700 .66rem "Courier New",monospace;letter-spacing:.14em}
.tv-pantalla{background:#030303!important;border-color:#09090a!important;box-shadow:inset 0 0 38px #3f74ee1c;position:relative}
.tv-apagada{background:#010101!important;color:#585a62!important}
#story-text p{color:#e9e9ef!important}
#story-choices button{background:#07070a!important;border-color:var(--v-azul)!important;color:#f6f6fb!important}
#story-choices button:hover{background:#101b38!important;box-shadow:inset 4px 0 0 var(--v-rojo)}
.tv-controles button{background:#25262c!important;color:#fff!important;border-color:#858893!important}
.tv-controles button[aria-pressed="true"]{background:var(--v-rojo)!important;box-shadow:0 0 12px #79141488}
.tv-controles output{background:#020303!important;color:#72ff66!important;border-color:#535761!important}

/* ================== RADIO REAL / CONSOLA ================== */
.radio-refugio{background:#09090b!important;border-color:#5f6068!important;box-shadow:10px 12px #000!important;position:relative;overflow:hidden}
.radio-refugio::before{content:"FM 77.7";position:absolute;top:16px;right:20px;color:#b4b5be;font:700 .72rem "Courier New",monospace;letter-spacing:.2em}
.radio-refugio>h2{color:#fff!important;border-color:var(--v-rojo)!important}
.radio-refugio>p{color:#cacbd2!important}.radio-refugio>.etiqueta{color:#ff5863!important}
.radio-equipo{background:#1b1c21!important;border-color:#777a84!important;box-shadow:inset 0 0 0 2px #30323a,0 12px 24px #0008!important}
.radio-display{background:#020302!important;border-color:#454a51!important;color:#72ff66!important;box-shadow:inset 0 0 18px #5ab03022}
.radio-buttons button{background:#2b2c32!important;border-color:#8b8d96!important;color:#fff!important}.radio-buttons button:hover:not(:disabled){background:#421219!important}.radio-buttons button[aria-pressed="true"]{background:var(--v-rojo)!important;color:#fff!important}
#podcast-external{color:#86a8ff!important}

/* ================== LABERINTO / ARCADE ================== */
.maze-container{background:#030308!important;border:3px solid var(--v-violeta)!important;box-shadow:0 0 0 2px #111,8px 9px #000,0 0 24px #67296933!important}
.maze-status{background:#020207!important;color:#fff!important;border-color:var(--v-azul)!important}
.maze-board{background:#000!important;border:2px solid var(--v-azul)!important;gap:2px;box-shadow:0 0 18px #3f74ee55 inset}
.maze-cell{background:#000!important;color:#fff!important;position:relative;overflow:hidden}
.maze-wall{background:#111a4a!important;border:2px solid #527fff!important;box-shadow:inset 0 0 6px #3f74ee88}
.maze-exit{background:#000!important;color:#72ff66!important;box-shadow:inset 0 0 0 2px #5ab030}
.maze-player{background:#000!important;color:transparent!important}
.maze-player::before{content:"";width:62%;height:62%;border-radius:50%;background:#f2dc4a;box-shadow:0 0 10px #f2dc4a88}
.maze-monster{background:#000!important;color:transparent!important}
.maze-monster::before{content:"";width:62%;height:58%;border-radius:55% 55% 18% 18%;background:#e22b37;box-shadow:0 0 10px #e22b3788}
.maze-candy{color:#fff!important;text-shadow:0 0 8px #fff}
.maze-controls button{background:#161826!important;color:#fff!important;border-color:#6976b9!important}

/* ================== MAPA ================== */
.mapa{border-color:#4d4e56!important;background:#000!important}
.map-point{background:#d41d2b!important;border-color:#fff!important;box-shadow:0 0 0 4px #79141466,0 0 13px #d41d2b99!important;animation:mapPulse 1.7s ease-in-out infinite}
.map-point:hover,.map-point:focus-visible{background:#fff!important;box-shadow:0 0 0 4px #67296999,0 0 16px #672969!important}
.map-point>span{border-color:#50515a!important;background:#050505!important;color:#fff!important}
@keyframes mapPulse{0%,100%{transform:translate(-50%,-50%) scale(.9)}50%{transform:translate(-50%,-50%) scale(1.12)}}
.enlaces-mapa,.ubicaciones{display:none!important}

/* ================== CARTAS ================== */
body:has(.ritual){background:#050505!important}
.ritual{background:#070709!important;border-color:#3e3f48!important;outline-color:#171820!important}
.carta-mazo{background:#13070b!important;border-color:#8f919c!important;box-shadow:4px 5px 0 #000}
.dorso{background:#09070a!important;border-color:#672969!important}
.boton-secundario{background:#121319!important;border-color:#3f74ee!important;color:#fff!important}
.barajando .carta-mazo:nth-child(odd){animation:shuffleLeft .68s cubic-bezier(.2,.8,.2,1) both}
.barajando .carta-mazo:nth-child(even){animation:shuffleRight .68s cubic-bezier(.2,.8,.2,1) both}
.barajando .carta-mazo:nth-child(3n){animation-delay:.07s}.barajando .carta-mazo:nth-child(4n){animation-delay:.13s}
@keyframes shuffleLeft{0%{transform:rotate(var(--giro)) translate(0,0)}35%{transform:translate(90%,10px) rotate(10deg)}68%{transform:translate(-38%,-12px) rotate(-7deg)}100%{transform:rotate(var(--giro)) translate(0,0)}}
@keyframes shuffleRight{0%{transform:rotate(var(--giro)) translate(0,0)}35%{transform:translate(-90%,-8px) rotate(-10deg)}68%{transform:translate(38%,12px) rotate(7deg)}100%{transform:rotate(var(--giro)) translate(0,0)}}

/* ================== CUARTO / COMPUTADORA ================== */
.habitacion{border-color:#4d4e56!important;background:#d8d8da!important}
.objetos-cuarto button,.catalogo-lista button,.volver{background:#0b0b0e!important;color:#fff!important;border-color:#54555e!important}.objetos-cuarto button:hover,.catalogo-lista button:hover{background:#16162a!important;color:#a9bcff!important}
.juani-computer{width:min(720px,100%);margin:36px auto 34px}.computer-shell{padding:18px;border:4px solid #737680;border-radius:18px 18px 28px 28px;background:#18191e;box-shadow:inset 0 0 0 2px #30323a,9px 11px #000}.computer-topline,.computer-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#aeb0b8;font:700 .72rem "Courier New",monospace;letter-spacing:.12em}.computer-topline{padding:0 4px 10px}.computer-screen{position:relative;min-height:310px;padding:16px;border:10px solid #050506;border-radius:16px;background:#020403;color:#9cff8c;overflow:auto;box-shadow:inset 0 0 30px #3f74ee22}.computer-off{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#666;font:700 .85rem/1.8 "Courier New",monospace;letter-spacing:.14em}.computer-off span{font-size:1.4rem}.computer-off small{font:inherit}.computer-controls{padding:14px 4px 0}.computer-controls button,.computer-tabs button,.computer-mail{background:#24252b;color:#fff;border:2px outset #7e818a;padding:10px 14px;font:.75rem "Courier New",monospace}.computer-controls button[aria-pressed="true"]{background:var(--v-rojo)}.computer-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.computer-view{font:.84rem/1.6 "Courier New",monospace}.computer-view h3{font:700 1rem/1.4 "Courier New",monospace;color:#fff}.computer-view a{color:#8eabff}.computer-file-meta{color:#72ff66!important}.computer-mail{display:block;width:100%;text-align:left;margin:7px 0;background:#050706;border:1px solid #315235;color:#baffad}

/* Responsive */
@media(max-width:600px){.reproductor-pantalla{height:390px}.radio-refugio{padding:24px 16px!important}.televisor{padding:14px!important}.computer-screen{min-height:280px}.map-point{width:22px!important;height:22px!important;min-height:22px!important}}

/* =====================================================
   RONDA 3 — CORRECCIONES 08/09/2026
   ===================================================== */

/* ON AIR: respiración lenta, nunca desaparece por completo */
.on-air{
  animation:onAirBreathe 4.6s ease-in-out infinite!important;
  transform-origin:center;
}
@keyframes onAirBreathe{
  0%,100%{opacity:.38;filter:brightness(.72);box-shadow:0 0 0 1px #000,0 0 8px #79141455}
  50%{opacity:1;filter:brightness(1.28);box-shadow:0 0 0 1px #000,0 0 28px #791414cc}
}

/* Historias radiales: archivo limpio, sin tarjetas genéricas */
.radial-stories{display:grid;gap:14px;margin-top:18px}
.recorte-vacio{opacity:.7}

/* Entrada al tarot: una sola carta, sin collage */
.tarot-entrada{
  background:#070709!important;
  border-color:#444650!important;
  outline-color:#171820!important;
}
.tarot-entrada h2,.tarot-entrada h2 em{
  font-family:"Zodiak",Georgia,serif!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  color:#f1eef2!important;
}
.tarot-entrada p:not(.etiqueta){color:#c9c8cf!important}
.muestra-cartas.carta-unica{padding:16px 0!important}
.muestra-cartas.carta-unica img{
  width:min(245px,74%)!important;
  transform:none!important;
  border:1px solid #5d5f68!important;
  box-shadow:0 14px 28px #000b!important;
}

/* MP3 / archivo portátil: azul Juani, más aire interno */
.reproductor{
  background:#11131b!important;
  border-color:#747987!important;
}
.reproductor-marca{padding:0 6px 12px!important;letter-spacing:.12em!important}
.device-led.on{background:#7da4ff!important;box-shadow:0 0 10px #3f74ee!important}
.reproductor-pantalla{
  height:410px!important;
  padding:16px!important;
  background:#02040a!important;
  border:5px ridge #555b6b!important;
  color:#b7c9ff!important;
  box-shadow:inset 0 0 28px #3f74ee28!important;
  overflow:hidden!important;
}
.pantalla-cabecera{
  padding-bottom:10px!important;
  margin-bottom:10px!important;
  color:#91b1ff!important;
  border-color:#3f74ee!important;
}
.dev-vista{height:calc(100% - 38px);overflow:auto;padding:0 2px 12px}
.pantalla-etiqueta{margin:4px 0 12px!important;color:#d5e0ff!important}
.opcion-pantalla,.track-button{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 11px!important;
  margin:0 0 10px!important;
  background:#050915!important;
  color:#c9d6ff!important;
  border-color:#3159b8!important;
  line-height:1.25!important;
  text-align:left!important;
}
.opcion-pantalla:hover,.track-button:hover{background:#0a1330!important;border-color:#8eabff!important}
.option-title{font-weight:700;min-width:0}
.option-count{font-size:.72rem;opacity:.76;white-space:nowrap}
.track-list{margin:0!important;padding:0!important;list-style:none!important}
.track-button{grid-template-columns:minmax(0,1fr)!important;gap:3px!important}
.track-button span,.track-button small{display:block;min-width:0;overflow-wrap:anywhere}
.track-button small{opacity:.66}
.enlace-pantalla{display:block!important;margin-top:14px!important;color:#9bb7ff!important}
.message-entry{background:#050915!important;border-color:#3159b8!important;color:#c9d6ff!important}
#gallery-image{max-height:285px!important;object-fit:contain!important;background:#000!important}
#music-player{
  display:block!important;
  width:100%!important;
  height:185px!important;
  margin:10px 0 12px!important;
  border:1px solid #3f74ee!important;
  background:#000!important;
}
.device-offscreen{background:#01030a!important;color:#596584!important}
.device-offscreen span{color:#8eaaff!important}

/* TV vieja: verde, fósforo y estática */
.televisor{
  background:#171a15!important;
  border-color:#6e736c!important;
  box-shadow:inset 0 0 0 3px #2c302a,10px 13px #000!important;
}
.televisor::before{color:#73936e!important}
.tv-pantalla{
  background:#020602!important;
  border-color:#050805!important;
  box-shadow:inset 0 0 42px #5ab03030!important;
  color:#aaf294!important;
  isolation:isolate;
}
.tv-pantalla::after{
  background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(114,255,102,.06) 2px 3px)!important;
}
.tv-pantalla::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;z-index:9;
  opacity:.12;
  background:
    radial-gradient(circle at 20% 30%,#baff9b 0 1px,transparent 2px),
    radial-gradient(circle at 70% 60%,#baff9b 0 1px,transparent 2px),
    repeating-linear-gradient(88deg,transparent 0 5px,#5ab03013 6px 7px);
  background-size:11px 9px,17px 13px,100% 100%;
  animation:crtDrift .42s steps(2,end) infinite;
}
.tv-pantalla.is-static::before{
  opacity:.8;
  background:
    repeating-radial-gradient(circle at 30% 40%,#c8ffc0 0 1px,#082607 1px 3px,#000 3px 5px),
    repeating-linear-gradient(0deg,#000 0 2px,#72ff6677 2px 3px,#000 3px 5px);
  background-size:7px 6px,100% 7px;
  animation:tvStatic .07s steps(2,end) infinite;
}
@keyframes crtDrift{0%{transform:translateY(0)}50%{transform:translateY(1px)}100%{transform:translateY(-1px)}}
@keyframes tvStatic{0%{background-position:0 0,0 0}25%{background-position:3px -4px,0 3px}50%{background-position:-5px 2px,0 -2px}75%{background-position:1px 5px,0 5px}100%{background-position:-2px -1px,0 0}}
.tv-apagada{background:#010301!important;color:#50604d!important}
#story-text p{color:#b9efae!important;text-shadow:0 0 5px #5ab03033!important}
#story-choices button{background:#041004!important;border-color:#4d8f3d!important;color:#d8ffd0!important}
#story-choices button:hover{background:#0b260a!important;box-shadow:inset 4px 0 0 #8de077!important}
.tv-controles button[aria-pressed="true"]{background:#386d2d!important;box-shadow:0 0 12px #5ab03088!important}
.tv-controles output{color:#9fff8d!important;border-color:#4b7c42!important}

/* RADIO SETENTERA: aparato, no panel marrón */
.radio-refugio{
  padding:30px 18px 36px!important;
  background:#050506!important;
  border:1px solid #34343b!important;
  box-shadow:8px 9px #000!important;
  overflow:visible!important;
}
.radio-refugio::before{display:none!important}
.radio-refugio>.etiqueta{color:#b875ba!important}
.radio-refugio>h2{border-color:#672969!important;background:#070708!important}
.radio-intro{max-width:760px;color:#c9c7cd!important}
.radio-apparatus{width:min(900px,100%);margin:30px auto 24px;position:relative;padding-top:36px}
.radio-handle{
  position:absolute;left:18%;right:18%;top:0;height:66px;
  border:7px solid #6c6d73;border-bottom:0;border-radius:26px 26px 0 0;
  background:#111115;box-shadow:inset 0 0 0 2px #202126;
}
.radio-case{
  position:relative;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.35fr);
  gap:24px;padding:28px 30px 30px;
  border:6px ridge #777982;border-radius:20px 20px 28px 28px;
  background:linear-gradient(145deg,#351639 0 22%,#672969 22% 48%,#2b1430 48% 100%);
  box-shadow:inset 0 0 0 4px #1b0d1f,12px 15px 0 #000;
}
.radio-case::after{
  content:"";position:absolute;inset:8px;border:1px solid #8c4a8f66;border-radius:12px 12px 20px 20px;pointer-events:none;
}
.radio-speaker{
  align-self:stretch;min-height:310px;border:8px double #a3a4aa;border-radius:50%;
  background:
    radial-gradient(circle,#151519 0 10%,transparent 11%),
    repeating-radial-gradient(circle,#111116 0 5px,#3b3b42 6px 8px);
  display:grid;place-items:center;box-shadow:inset 0 0 28px #000,0 0 0 5px #221026;
}
.speaker-center{width:34%;aspect-ratio:1;border-radius:50%;background:#17171b;border:5px ridge #777980;box-shadow:inset 0 0 20px #000}
.radio-console{min-width:0;display:flex;flex-direction:column;gap:16px}
.radio-brand{font:700 .72rem/1.4 "Courier New",monospace;letter-spacing:.18em;color:#eceaf0;text-align:right}
.radio-dial{position:relative;padding:16px 18px 14px;border:5px inset #97989f;background:#080809;box-shadow:inset 0 0 22px #67296944;overflow:hidden}
.dial-scale{display:flex;justify-content:space-between;padding:0 4px 10px;border-bottom:1px solid #b8b6bd;color:#eee;font:700 .68rem "Courier New",monospace}
.radio-needle{position:absolute;left:53%;top:10px;width:2px;height:66px;background:#ff5c67;box-shadow:0 0 8px #791414;transition:left .3s ease}
.radio-display{margin:12px 0 0!important;padding:10px 12px!important;border:1px solid #5a5b62!important;background:#020203!important;color:#d7b3db!important;box-shadow:inset 0 0 16px #67296933!important}
.radio-knobs{display:flex;justify-content:center;gap:28px;padding:8px 0}
.radio-knob{
  width:78px;height:78px;border-radius:50%;border:6px ridge #8c8d94!important;
  background:repeating-conic-gradient(#292a30 0 8deg,#4a4b52 8deg 13deg)!important;
  color:#fff!important;box-shadow:inset 0 0 0 9px #17181d,0 6px 0 #09090b!important;position:relative;flex:none!important;padding:0!important;
}
.radio-knob::after{content:"";position:absolute;width:3px;height:23px;background:#f0f0f2;left:50%;top:8px;transform:translateX(-50%)}
.radio-knob span{position:absolute;top:87px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 .62rem "Courier New",monospace;color:#d9d6dc}
.radio-knob[aria-pressed="true"]{box-shadow:inset 0 0 0 9px #241126,0 6px 0 #09090b,0 0 18px #672969!important}
.radio-preset-buttons{display:grid;grid-template-columns:1fr 1fr .8fr;gap:8px;margin-top:10px}
.radio-preset-buttons button{padding:12px 8px;border:3px outset #888991;background:#202127;color:#f5f4f6;font:700 .72rem/1.3 "Courier New",monospace}
.radio-preset-buttons button:active:not(:disabled){border-style:inset;transform:translateY(2px)}
.radio-preset-buttons button:hover:not(:disabled){background:#3e1a43}
.radio-preset-buttons button:disabled,.radio-knob:disabled{opacity:.42;cursor:not-allowed}
.radio-player-slot{padding:10px;border:1px solid #65666d;background:#050506}
#podcast-player{width:100%;height:155px;border:0;background:#000}
#podcast-external{display:block;margin-top:8px;color:#caa0d0!important;font:700 .7rem "Courier New",monospace}

/* Archivero de Dolores: inspirado en fichas/etiquetas, pero dentro del sistema violeta */
.dolores-archive{width:min(900px,100%);margin:38px auto 0;padding:18px;border:5px double #5c5e66;background:#0b0b0e;box-shadow:8px 10px #000}
.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;padding-bottom:12px;border-bottom:1px solid #4d4e55}
.archive-heading h3{margin:4px 0 0;font:800 clamp(1.5rem,3vw,2.25rem)/1.1 "Zodiak",Georgia,serif;color:#fff}
#archive-toggle{padding:9px 11px;border:2px outset #777983;background:#23242b;color:#fff;font:700 .65rem "Courier New",monospace}
.archive-note{color:#aeb0b8!important;font:.78rem/1.6 "Courier New",monospace!important}
.dolores-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.archive-file{position:relative;padding:18px 16px 16px;border:1px solid #8a8b91;background:#d7d5d0;color:#141416;box-shadow:4px 5px 0 #2a2a2f;transform:rotate(var(--archive-tilt,0deg))}
.archive-file:nth-child(even){--archive-tilt:.5deg}.archive-file:nth-child(3n){--archive-tilt:-.45deg}
.archive-file::before{content:"ARCHIVO / DOLORES";display:block;margin:-18px -16px 14px;padding:7px 10px;background:#672969;color:#fff;font:700 .62rem "Courier New",monospace;letter-spacing:.1em}
.archive-file h4{margin:0 0 5px;font:800 1.15rem/1.2 "Zodiak",Georgia,serif}
.archive-file .archive-meta{margin:0 0 10px;color:#4d4e55;font:700 .65rem/1.4 "Courier New",monospace}
.archive-file p{margin:0;color:#1f2023!important;font:.88rem/1.55 "Zodiak",Georgia,serif!important}
.archive-file img{display:block;width:100%;max-height:180px;object-fit:cover;margin-top:12px;border:1px solid #555;filter:grayscale(.4) contrast(1.05)}
.archive-empty{grid-column:1/-1;padding:18px;border:1px dashed #5b5c65;color:#8f919a;font:.76rem/1.6 "Courier New",monospace;text-align:center}
.archive-tumblr{display:inline-block;margin-top:16px;color:#b98ec0;font:700 .72rem "Courier New",monospace}
.dolores-archive.closed .dolores-files,.dolores-archive.closed .archive-note,.dolores-archive.closed .archive-tumblr{display:none}

/* Formulario + foto */
.formulario input[type="file"]{width:100%;padding:12px;border:1px solid #50515a;background:#08080b;color:#ddd}
.formulario .optional{opacity:.6;font-size:.82em}
.form-archive-note,.form-status{margin:0;color:#9b9da6;font:.72rem/1.55 "Courier New",monospace}
.form-status{color:#a9bcff}

/* Arcade Pac-Man / Kike */
.maze-container{width:min(650px,100%)!important;padding:18px!important}
.maze-board{
  grid-template-columns:repeat(13,1fr)!important;
  grid-template-rows:repeat(13,1fr)!important;
  gap:1px!important;padding:7px!important;border-color:#672969!important;box-shadow:0 0 18px #67296955 inset!important;
}
.maze-cell{background:#000!important}
.maze-path{background:radial-gradient(circle,#715477 0 1.4px,transparent 1.8px) center/100% 100%,#000!important}
.maze-wall{background:#151025!important;border:1px solid #7d4e83!important;box-shadow:inset 0 0 5px #67296988!important}
.maze-exit{color:#a9ff94!important;box-shadow:inset 0 0 0 2px #5ab030!important;font-size:.8rem!important}
.maze-player{background:#000!important;color:transparent!important;z-index:2}
.maze-player::before{content:"";width:64%;height:64%;border-radius:50%;background:#e2c87b;box-shadow:0 0 7px #e2c87b88;position:absolute;left:18%;top:22%}
.maze-player::after{content:"";position:absolute;width:67%;height:26%;left:13%;top:13%;background:linear-gradient(90deg,#3f74ee 0 62%,#791414 62% 100%);border-radius:60% 60% 18% 18%;transform:rotate(-7deg);box-shadow:0 1px 0 #000}
.maze-monster{background:#000!important;color:transparent!important;z-index:2}
.maze-monster::before{content:"";position:absolute;width:70%;height:62%;left:15%;top:20%;border-radius:48% 48% 26% 26%;background:#09090b;border:1px solid #672969;box-shadow:0 0 7px #67296988}
.maze-monster::after{content:"";position:absolute;width:8px;height:6px;left:28%;top:39%;background:#ff2637;border-radius:50%;box-shadow:18px 0 0 #ff2637,0 0 8px #ff2637,18px 0 8px #ff2637}
.maze-candy{color:transparent!important;background:radial-gradient(circle,#fff 0 20%,#5ab030 23% 38%,transparent 42%) center/100% 100%,#000!important}
.maze-status{border-color:#672969!important}
.maze-controls button{background:#17111c!important;border-color:#7d4e83!important}

/* Mapa: siempre círculos perfectos */
.map-point{
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  aspect-ratio:1/1!important;border-radius:999px!important;padding:0!important;line-height:1!important;
}

/* Tarot: Zodiak real, shuffle completo y responsive */
body:has(.ritual) h1,body:has(.ritual) h2,body:has(.ritual) h3,
body:has(.ritual) .posicion>p,body:has(.ritual) #estado,body:has(.ritual) #instruccion,
body:has(.ritual) .boton,body:has(.ritual) .intro{
  font-family:"Zodiak",Georgia,serif!important;
}
body:has(.ritual) h1,body:has(.ritual) h2,body:has(.ritual) .posicion>p,body:has(.ritual) .boton{font-weight:800!important}
body:has(.ritual) h1{letter-spacing:-.025em!important}
body:has(.ritual) h1 em{font-weight:800!important;color:#c58dca!important}
.intro-pregunta{font-size:clamp(1.35rem,3vw,2rem)!important;font-weight:800!important;color:#fff!important;margin-bottom:8px!important}
.posicion>p{font-size:.85rem!important;letter-spacing:.015em!important;color:#d8d6dc!important}
.ritual{background:#060608!important}
.barajando{position:relative}
.barajando .carta-mazo{z-index:2;animation-duration:1.5s!important;animation-timing-function:cubic-bezier(.2,.7,.18,1)!important;animation-fill-mode:both!important}
.barajando .carta-mazo:nth-child(odd){animation-name:shuffleStackA!important}
.barajando .carta-mazo:nth-child(even){animation-name:shuffleStackB!important}
.barajando .carta-mazo:nth-child(3n){animation-delay:.05s!important}
.barajando .carta-mazo:nth-child(4n){animation-delay:.1s!important}
.barajando .carta-mazo:nth-child(5n){animation-delay:.15s!important}
@keyframes shuffleStackA{
  0%{transform:rotate(var(--giro)) translate(0,0);z-index:1}
  18%{transform:translate(85%,14px) rotate(8deg);z-index:8}
  40%{transform:translate(165%,-12px) rotate(15deg);z-index:8}
  62%{transform:translate(-75%,10px) rotate(-11deg);z-index:4}
  80%{transform:translate(28%,-6px) rotate(5deg);z-index:3}
  100%{transform:rotate(var(--giro)) translate(0,0);z-index:1}
}
@keyframes shuffleStackB{
  0%{transform:rotate(var(--giro)) translate(0,0);z-index:1}
  18%{transform:translate(-85%,-12px) rotate(-8deg);z-index:7}
  40%{transform:translate(-165%,12px) rotate(-15deg);z-index:7}
  62%{transform:translate(75%,-10px) rotate(11deg);z-index:5}
  80%{transform:translate(-28%,6px) rotate(-5deg);z-index:3}
  100%{transform:rotate(var(--giro)) translate(0,0);z-index:1}
}
.notas-del-mazo{max-width:850px;margin:22px auto 0;padding:14px 18px;border-left:3px solid #672969;background:#09090c;color:#c9c7cd}
.notas-del-mazo p{margin:6px 0;font:700 .92rem/1.55 "Zodiak",Georgia,serif}

@media(max-width:760px){
  .radio-case{grid-template-columns:1fr;padding:22px 18px}.radio-speaker{min-height:250px;max-width:300px;width:76%;justify-self:center}.radio-handle{left:25%;right:25%}
  .radio-preset-buttons{grid-template-columns:1fr}.radio-knobs{gap:18px}.radio-knob{width:68px;height:68px}.radio-knob span{top:78px}
  .dolores-files{grid-template-columns:1fr}
  .archive-heading{align-items:flex-start;flex-direction:column}
}

@media(max-width:700px){
  body:has(.ritual) .posiciones{grid-template-columns:1fr!important;gap:24px!important;width:min(300px,100%)!important}
  body:has(.ritual) .posicion>p{min-height:auto!important;margin-bottom:8px!important}
  body:has(.ritual) .espacio{width:min(240px,78vw)!important;margin:0 auto!important}
  body:has(.ritual) .mazo{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

@media(max-width:600px){
  .reproductor-pantalla{height:430px!important;padding:13px!important}
  .option-count{white-space:normal;text-align:right}
  .map-point{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important}
  .maze-board{padding:4px!important}
}

/* Detalles de archivo / evidencia */
.archive-photo-slot{
  min-height:92px;margin-top:14px;padding:12px;border:1px dashed #6d6e73;
  display:grid;place-items:center;text-align:center;
  background:repeating-linear-gradient(0deg,#c9c8c3 0 22px,#b9b8b3 22px 23px);
  color:#55565c;font:700 .58rem/1.45 "Courier New",monospace;letter-spacing:.08em;
}
.archive-file::after{
  content:"";position:absolute;right:12px;top:12px;width:8px;height:8px;border-radius:50%;
  background:#b9b9b6;box-shadow:inset 0 0 0 2px #777;
}
.radial-stories .recorte{
  position:relative;background:#0a0a0d!important;border:1px solid #4c4d55!important;
  border-left:4px solid #672969!important;box-shadow:4px 5px 0 #000!important;
}
.radial-stories .recorte-meta{color:#b98ec0!important;border-color:#34353b!important}

/* Las tres posiciones se mantienen alineadas al achicar la ventana. */
@media(max-width:700px) and (min-width:521px){
  body:has(.ritual) .posiciones{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;gap:10px!important;align-items:start!important;
  }
  body:has(.ritual) .posicion>p{
    min-height:3.6em!important;margin:0 0 9px!important;
    display:flex!important;align-items:flex-start!important;justify-content:center!important;
    font-size:.72rem!important;line-height:1.35!important;
  }
  body:has(.ritual) .espacio{width:100%!important;margin:0!important;aspect-ratio:2/3!important}
}
@media(max-width:520px){
  body:has(.ritual) .posiciones{grid-template-columns:1fr!important;width:min(300px,100%)!important;gap:24px!important}
  body:has(.ritual) .posicion>p{min-height:auto!important}
  body:has(.ritual) .espacio{width:min(240px,78vw)!important;margin:0 auto!important}
}


/* =========================================================
   V4 / AJUSTES DE INTERACCIÓN Y OBJETOS
   ========================================================= */

/* El subtítulo del tarot ya no va en cursiva. */
.tarot-entrada h2 span{
  font-family:"Zodiak",Georgia,serif!important;
  font-weight:800!important;
  font-style:normal!important;
  color:#f1eef2!important;
}

/* MP3: reproductor real dentro de la pantalla. */
#music-player{
  display:block!important;
  width:100%!important;
  height:185px!important;
  margin:10px 0 12px!important;
  border:1px solid #3f74ee!important;
  background:#000!important;
}

/* TV: conserva el grano/scanlines, pero sin barra móvil ni titileo constante. */
.tv-pantalla::before{
  animation:none!important;
  transform:none!important;
  opacity:.1!important;
}
.tv-pantalla.is-static::before{
  animation:tvStatic .07s steps(2,end) infinite!important;
  opacity:.8!important;
}

/* CHAT: la Cbox vive dentro de una terminal CRT en vez de quedar flotando. */
.chat-terminal{
  width:min(720px,100%);
  margin:0 auto 76px;
}
.chat-monitor{
  padding:14px;
  border:4px solid #676a76;
  border-radius:18px 18px 28px 28px;
  background:#17181e;
  box-shadow:
    inset 0 0 0 2px #30323a,
    9px 11px #000;
}
.chat-monitor-top,
.chat-terminal-controls{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:0 5px;
  color:#b6b8c2;
  font:700 .65rem/1.3 "Courier New",monospace;
  letter-spacing:.09em;
}
.chat-monitor-top{padding-bottom:10px}
.chat-led{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#8f3eff;
  box-shadow:0 0 10px #672969;
}
.chat-screen{
  position:relative;
  padding:10px;
  border:8px solid #030405;
  border-radius:12px;
  background:#040508;
  box-shadow:inset 0 0 28px #67296944;
}
.chat-screen::after{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  z-index:4;
  background:repeating-linear-gradient(
    to bottom,
    transparent 0 3px,
    rgba(143,62,255,.035) 3px 4px
  );
}
.chat-screen-label{
  position:relative;
  z-index:5;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:6px 8px 9px;
  border-bottom:1px solid #672969;
}
.chat-screen-label h2{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#f2eef4!important;
  font:800 clamp(.9rem,2vw,1.1rem)/1.2 "Zodiak",Georgia,serif!important;
}
.chat-screen-label span{
  color:#b986bf;
  font:700 .56rem/1 "Courier New",monospace;
  letter-spacing:.08em;
}
.chat-viewport{
  position:relative;
  height:230px;
  overflow:hidden;
  background:#08090c;
}
.chat-viewport iframe{
  display:block;
  width:100%!important;
  height:230px!important;
  border:0!important;
  background:#08090c!important;
}
.chat-terminal-controls{
  padding-top:12px;
}
.chat-moderator-link{
  padding:7px 9px;
  border:1px solid #5c5f6c;
  color:#e2d2e5!important;
  background:#24252b;
  text-decoration:none;
}
.chat-moderator-link:hover{
  border-color:#9d72a1;
  background:#3b1b40;
}
.chat-note{
  margin:9px 4px 0!important;
  color:#7f818b!important;
  font:.63rem/1.45 "Courier New",monospace!important;
}

/* Radio: Drive queda como motor de audio, no como interfaz visible. */
.radio-player-slot{
  position:relative!important;
  min-height:0!important;
  padding:9px 11px!important;
  border:1px solid #5b5d67!important;
  background:#09090d!important;
}
#podcast-audio{
  display:none!important;
}
#podcast-player{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  opacity:.001!important;
  pointer-events:none!important;
  border:0!important;
}
.radio-now-playing{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:32px;
  color:#d5b4da;
  font:700 .66rem/1.3 "Courier New",monospace;
  letter-spacing:.05em;
}
.radio-now-playing a{
  color:#b98ec0!important;
  white-space:nowrap;
}

/* El archivero completo se mudó al Cuarto de Desvelo. */
.archive-room-link{
  position:relative;
  display:grid;
  gap:5px;
  width:min(560px,100%);
  margin:28px auto 0;
  padding:20px 22px 18px;
  border:2px solid #6b6d76;
  background:#202127;
  color:#f0eff2!important;
  box-shadow:5px 6px #000;
  text-decoration:none!important;
}
.archive-room-link::before,
.archive-room-link::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  height:5px;
  border:1px solid #111216;
  background:#44454e;
}
.archive-room-link::before{top:7px}
.archive-room-link::after{bottom:7px}
.archive-room-tab{
  width:max-content;
  padding:4px 8px;
  background:#d7d4cc;
  color:#202024;
  border:1px solid #77776f;
  font:700 .56rem "Courier New",monospace;
}
.archive-room-link strong{
  margin-top:3px;
  font:800 1.2rem/1.1 "Zodiak",Georgia,serif;
}
.archive-room-link small{
  color:#a7a8b0;
  font:.65rem/1.45 "Courier New",monospace;
}
.archive-room-link:hover{
  border-color:#9a6d9e;
  box-shadow:0 0 18px #67296955,5px 6px #000;
}

/* Selector de lógica del juego. */
.maze-mode-switch{
  display:flex;
  justify-content:center;
  gap:8px;
  width:min(650px,100%);
  margin:0 auto 12px;
}
.maze-mode-switch button{
  flex:1;
  padding:10px 12px;
  border:1px solid #5f5365;
  background:#121018;
  color:#aaa6b0;
  font:700 .68rem/1.2 "Courier New",monospace;
  letter-spacing:.07em;
}
.maze-mode-switch button[aria-pressed="true"]{
  background:#672969;
  border-color:#a474a8;
  color:#fff;
  box-shadow:inset 0 -3px 0 #3f74ee;
}
.maze-dot{
  position:relative;
}
.maze-dot::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:4px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#c7a6cc;
  box-shadow:0 0 4px #672969;
}
.maze-board[data-mode="pacman"] .maze-exit{
  box-shadow:none!important;
}
.maze-container[data-mode="pacman"] .maze-status{
  border-color:#3f74ee!important;
}

/* En mobile el chat sigue pareciendo objeto, sin ocupar media página. */
@media(max-width:600px){
  .chat-monitor{padding:10px;border-width:3px}
  .chat-viewport,
  .chat-viewport iframe{height:215px!important}
  .chat-terminal-controls{
    align-items:flex-start;
    flex-direction:column;
  }
  .radio-now-playing{
    align-items:flex-start;
    flex-direction:column;
  }
}

body:has(.ritual) h1 em{font-style:normal!important;}

/* =====================================================
   RONDA 5 — SONIDO FÍSICO / RADIO ESTABLE / MP3 ICONOS
   ===================================================== */

/* MP3: lenguaje de íconos de teléfono, no menú textual */
.phone-icon-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0 16px;
}
.phone-icon-button{
  position:relative;
  aspect-ratio:1;
  min-height:0!important;
  padding:12px!important;
  border:1px solid #3159b8!important;
  background:#050915!important;
  color:#bcd0ff!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:inset 0 0 0 1px #101d47!important;
}
.phone-icon-button:hover{
  border-color:#91b1ff!important;
  background:#091331!important;
  box-shadow:inset 0 0 18px #3f74ee33,0 0 10px #3f74ee22!important;
}
.phone-icon-button svg{width:36px;height:36px;fill:currentColor;filter:drop-shadow(0 0 5px #3f74ee55)}
.phone-icon-button>span{
  position:absolute;
  right:6px;
  bottom:5px;
  color:#7f9de8;
  font:700 .58rem/1 "Courier New",monospace;
}

/* El iframe musical conserva el aspecto del dispositivo; en http(s) usa embed sin cookies. */
#music-player{border:1px solid #3159b8!important;background:#000!important}

/* “Un umbral” como subtítulo regular, menor y sin pose editorial. */
.tarot-entrada h2 span{
  display:inline-block!important;
  margin-top:.18em!important;
  font-family:"Zodiak",Georgia,serif!important;
  font-size:.68em!important;
  line-height:1.08!important;
  font-weight:400!important;
  font-style:normal!important;
  letter-spacing:0!important;
}

/* Radio: carcasa recta y de altura estable. La fuente de audio nunca modifica el aparato. */
.radio-apparatus,
.radio-case,
.radio-console,
.radio-player-slot{
  transform:none!important;
  rotate:0deg!important;
  skew:none!important;
}
.radio-apparatus{width:min(860px,100%)!important}
.radio-case{
  align-items:stretch!important;
  min-height:500px!important;
  overflow:hidden!important;
}
.radio-console{
  min-height:438px!important;
  justify-content:flex-start!important;
}
.radio-player-slot{
  position:relative!important;
  height:62px!important;
  min-height:62px!important;
  padding:9px 12px!important;
  overflow:hidden!important;
  border:1px solid #5d5e68!important;
  background:#060608!important;
  box-shadow:inset 0 0 18px #67296933!important;
}
#podcast-audio{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.radio-hidden-source{
  position:fixed!important;
  left:-10000px!important;
  top:-10000px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  border:0!important;
}
.radio-now-playing{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:18px!important;
  color:#e8dceb!important;
  font:700 .66rem/1.3 "Courier New",monospace!important;
}
.radio-signal-dot{width:7px;height:7px;border-radius:50%;background:#704b75;box-shadow:0 0 0 1px #130e15}
.radio-player-slot.is-playing .radio-signal-dot{background:#80ff73;box-shadow:0 0 8px #5ab030}
#radio-timecode{color:#9a9ca4;font-variant-numeric:tabular-nums}
.radio-levels{display:flex;align-items:flex-end;gap:3px;height:19px;margin-top:7px}
.radio-levels i{display:block;width:7px;height:4px;background:#672969;opacity:.35;transform-origin:bottom}
.radio-player-slot.is-playing .radio-levels i{animation:radioMeter .82s steps(4,end) infinite}
.radio-player-slot.is-playing .radio-levels i:nth-child(2n){animation-delay:-.18s}
.radio-player-slot.is-playing .radio-levels i:nth-child(3n){animation-delay:-.33s}
@keyframes radioMeter{0%,100%{height:4px;opacity:.35}50%{height:18px;opacity:1}}

/* Más peso táctil en los botones: parecen hundirse, no sólo cambiar de color. */
.radio-preset-buttons button:active:not(:disabled),
.reproductor-controles button:active,
.tv-controles button:active{
  transform:translateY(3px)!important;
  box-shadow:inset 0 3px 6px #000b!important;
}

/* Pac-Man cabe completo en una vista de escritorio. */
.maze-mode-switch{width:min(480px,100%)!important}
.maze-container{
  width:min(480px,100%)!important;
  margin:18px auto!important;
  padding:12px!important;
}
.maze-status{
  min-height:42px!important;
  margin-bottom:9px!important;
  padding:8px 10px!important;
  font-size:.68rem!important;
}
.maze-board{
  width:min(420px,100%)!important;
  margin:0 auto!important;
  padding:5px!important;
  gap:1px!important;
}
.maze-leyenda{
  margin:7px 0!important;
  font-size:.62rem!important;
  line-height:1.35!important;
}
.maze-controls{
  margin-top:8px!important;
  gap:4px!important;
}
.maze-controls>div{gap:4px!important}
.maze-controls button{
  width:38px!important;
  min-height:34px!important;
  padding:5px!important;
}

@media(max-width:650px){
  .phone-icon-grid{gap:8px}
  .phone-icon-button svg{width:31px;height:31px}
  .radio-case{min-height:0!important}
  .radio-console{min-height:0!important}
  .maze-container{width:min(430px,100%)!important}
  .maze-board{width:min(380px,100%)!important}
}

/* Historias recientes: rectas y limpias. Nada de tarjetas ladeadas. */
.radial-stories .recorte,
.radial-stories .recorte:nth-of-type(even),
.radial-stories .recorte:nth-of-type(odd){
  transform:none!important;
  rotate:0deg!important;
  margin:14px 0!important;
  box-shadow:4px 5px 0 #000!important;
}

/* =====================================================
   RONDA 6 — aparatos estables / reproducción en pestaña
   ===================================================== */

/* MP3 un poco más ancho para que el reproductor 16:9 respire. */
.reproductor{
  width:min(100%,390px)!important;
}
.reproductor-pantalla{
  height:430px!important;
}
#music-player{
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:190px!important;
  max-height:220px!important;
  display:block!important;
  margin:12px 0 14px!important;
  border:2px solid #3159b8!important;
  box-sizing:border-box!important;
  background:#000!important;
}

/* Radio: proporción fija. El estado de reproducción ocupa siempre el mismo lugar,
   por eso encenderla o iniciar capítulo ya no puede estirar la carcasa. */
.radio-apparatus{
  width:min(790px,100%)!important;
  margin:28px auto 22px!important;
  padding-top:30px!important;
}
.radio-handle{
  left:25%!important;
  right:25%!important;
  height:48px!important;
  border-width:6px!important;
}
.radio-case{
  box-sizing:border-box!important;
  grid-template-columns:minmax(205px,34%) minmax(0,1fr)!important;
  gap:20px!important;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/8.15!important;
  padding:22px 24px 22px!important;
  overflow:hidden!important;
  align-items:center!important;
}
.radio-speaker{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  align-self:center!important;
  border-width:6px!important;
  border-radius:50%!important;
}
.radio-console{
  min-height:0!important;
  height:100%!important;
  gap:10px!important;
  justify-content:center!important;
}
.radio-brand{font-size:.65rem!important}
.radio-dial{padding:12px 14px 11px!important;border-width:4px!important}
.radio-display{padding:8px 10px!important;margin-top:8px!important;font-size:.73rem!important}
.radio-knobs{gap:22px!important;padding:3px 0 9px!important}
.radio-knob{
  width:62px!important;
  height:62px!important;
  border-width:5px!important;
}
.radio-knob::after{height:18px!important;top:6px!important}
.radio-knob span{top:69px!important;font-size:.55rem!important}
.radio-preset-buttons{margin-top:3px!important}
.radio-preset-buttons button{padding:9px 6px!important;font-size:.64rem!important}
.radio-player-slot{
  display:block!important;
  visibility:visible!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  padding:7px 10px!important;
  margin-top:1px!important;
  overflow:hidden!important;
}
#podcast-wrapper[hidden]{
  display:block!important;
  visibility:hidden!important;
}
.radio-now-playing{font-size:.59rem!important}
.radio-levels{height:14px!important;margin-top:4px!important}
.radio-levels i{width:6px!important}
#podcast-audio{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* El tablero de Pac-Man entra completo junto a sus controles. */
.maze-mode-switch{width:min(430px,100%)!important}
.maze-container{width:min(430px,100%)!important;padding:10px!important}
.maze-board{width:min(360px,100%)!important;padding:3px!important;gap:1px!important}
.maze-cell{font-size:.86rem!important}
.maze-controls{margin-top:8px!important;gap:5px!important}
.maze-controls button{min-width:38px!important;min-height:34px!important;padding:5px!important}
.maze-leyenda{font-size:.6rem!important;line-height:1.45!important;margin-top:7px!important}

@media(max-width:720px){
  .radio-case{
    aspect-ratio:auto!important;
    grid-template-columns:1fr!important;
    padding:18px!important;
  }
  .radio-speaker{width:min(235px,70%)!important;justify-self:center!important}
  .radio-console{height:auto!important}
  .radio-player-slot{height:50px!important;min-height:50px!important}
}

/* =====================================================
   V9 COMPLETA — correcciones finales de interacción
   ===================================================== */
body,
button,
a,
input,
textarea,
select,
summary,
[role="button"]{
  cursor:url("estrella.png") 16 16,auto!important;
}
button,a,summary,[role="button"]{cursor:url("estrella.png") 16 16,pointer!important}

/* Zodiak con menos aire entre letras; el título principal es el PNG del póster. */
.titulo,.titulo-seccion,.tarot-entrada h2,.lector-cabecera h2,.archive-reader-heading h2{
  letter-spacing:-.018em!important;
}

/* La foto del archivero se ve completa; si no hay foto no existe este bloque. */
.archive-file img,
.archive-photo{
  width:100%!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#101113!important;
  padding:6px!important;
  box-sizing:border-box!important;
}

/* MP3: marco 16:9 estable y mensaje de diagnóstico discreto. */
.music-player-note{
  margin:8px 0 10px!important;
  padding:8px 10px!important;
  border:1px solid #3159b8!important;
  background:#050915!important;
  color:#b7c9ff!important;
  font:.66rem/1.45 "Courier New",monospace!important;
}

/* Radio: Drive vive dentro de una ranura fija y nunca modifica la carcasa. */
.radio-player-slot{position:relative!important;isolation:isolate!important}
.drive-radio-frame{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  display:none!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  margin:0!important;
  background:#111!important;
  filter:grayscale(1) contrast(1.15) brightness(.78)!important;
}
.radio-player-slot.needs-drive .drive-radio-frame{
  display:block!important;
}
.radio-player-slot.needs-drive .radio-now-playing,
.radio-player-slot.needs-drive .radio-levels{
  opacity:0!important;
  pointer-events:none!important;
}
.radio-player-slot.needs-drive::after{
  content:"DRIVE / PLAY INTEGRADO";
  position:absolute;
  right:5px;
  bottom:3px;
  z-index:7;
  padding:2px 4px;
  background:#050608cc;
  color:#dcdde2;
  font:700 .48rem/1 "Courier New",monospace;
  pointer-events:none;
}

/* Radio más analógica: madera/violeta oscuro sin degradado marrón. */
.radio-case{
  background:#211126!important;
  border-color:#8b728f!important;
  box-shadow:inset 0 0 0 3px #0b080d,9px 10px 0 #000!important;
}
.radio-speaker{background:#08080b!important}
.radio-dial{background:#07070a!important}
.radio-display{background:#030305!important}

/* TV: el botón se siente como pieza física; la parte eléctrica queda en la estática de pantalla. */
.tv-controles button{
  border-width:3px!important;
  border-style:outset!important;
  box-shadow:0 5px 0 #0a0a0b,0 8px 12px #0008!important;
}
.tv-controles button:active{
  transform:translateY(4px)!important;
  box-shadow:0 1px 0 #0a0a0b,inset 0 3px 5px #000a!important;
}

/* Modo Pac-Man compacto para no obligar a desplazar la página. */
.maze-container{max-height:none!important}
.maze-board{aspect-ratio:auto!important}


/* TÍTULO OFICIAL — PNG ORIGINAL DEL MANUAL */
.brand-title-heading{margin:22px auto!important;line-height:1!important}
.brand-title-art{display:block;width:min(620px,88vw);height:auto;margin:0 auto;filter:none!important;image-rendering:auto}
