:root{
  --papel:#FBFAFD;
  --velo:#F2EFF8;
  --linea:#E3DEED;
  --tinta:#241B3A;
  --tinta-2:#5E5775;
  --pulso:#B4235A;
  --pulso-velo:#FBEAF1;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Figtree", system-ui, -apple-system, sans-serif;
  --abas:64px;
  --seguro:env(safe-area-inset-bottom, 0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 17px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--pulso);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}

main{position:relative;isolation:isolate;max-width:680px;margin:0 auto;padding:0 20px calc(var(--abas) + var(--seguro) + 32px);outline:none}

/* ---------- tipografia ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(40px,11vw,56px)}
h2{font-size:30px}
h3{font-size:23px}
.chico{font-size:14.5px;color:var(--tinta-2);line-height:1.45}
.frase{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(24px,6.6vw,30px);line-height:1.22}
p{margin:0}

/* ---------- topo ---------- */
.marca{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(18px + env(safe-area-inset-top,0px)) 0 4px}
.marca b{font:600 21px/1 var(--serif);letter-spacing:.01em}
.marca span{font-size:14px;color:var(--tinta-2)}

/* ---------- inicio: hoy (destaque imersivo) ---------- */
.hoy{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:14px;align-items:center;margin:14px 0 4px;padding:22px 18px 22px 22px;border-radius:28px;text-decoration:none;background:var(--tinta);color:#fff;box-shadow:0 24px 48px -28px rgba(36,27,58,.55)}
.hoy-velo{position:absolute;inset:-30%;width:160%;height:160%;max-width:none;object-fit:cover;filter:blur(38px) saturate(1.5);opacity:.62;z-index:-1;transform:scale(1.1)}
.hoy::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(28,20,46,.86) 30%,rgba(28,20,46,.35))}
.hoy-eti{font-size:14px;font-weight:500;color:rgba(255,255,255,.78)}
.hoy .frase{font-size:clamp(22px,6vw,27px);margin-top:6px;color:#fff}
.hoy .quien{margin-top:12px;font-weight:600;font-size:15px;color:#FFD3E3}
.hoy-arte{width:108px;height:108px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 12px 30px -8px rgba(0,0,0,.45)}

/* ---------- mapa del cuerpo ---------- */
.mapa{position:relative;margin:26px auto 6px;max-width:330px}
.mapa svg{max-width:290px;margin-left:auto;margin-right:auto}
.mapa h2{text-align:center}
.mapa > p{text-align:center;margin:6px auto 0;max-width:30ch}
.mapa svg{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}
.silueta{fill:url(#relleno);stroke:var(--tinta);stroke-width:.7;stroke-opacity:.45}
.nodo{cursor:pointer}
.nodo .halo{fill:var(--pulso);opacity:.16;transform-box:fill-box;transform-origin:center;animation:latir 3.2s ease-in-out infinite}
.nodo .punto{fill:var(--pulso)}
.nodo text{font:600 8.2px var(--sans);fill:var(--tinta);paint-order:stroke;stroke:var(--papel);stroke-width:3px}
.nodo:hover .punto,.nodo:focus-visible .punto{fill:var(--tinta)}
.nodo:focus{outline:none}
.nodo:focus-visible .halo{opacity:.4}
@keyframes latir{0%,100%{transform:scale(.7)}50%{transform:scale(1.15)}}

.sistemas{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:4px 0 30px}
.pastilla{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:8px 14px;font-size:15px;cursor:pointer;text-decoration:none;line-height:1.3}
.pastilla:hover{border-color:var(--tinta-2)}
.pastilla.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}

/* ---------- lista de órganos ---------- */
.seccion-titulo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:30px 0 4px}
.seccion-titulo .chico{white-space:nowrap}
.filas{list-style:none;margin:0;padding:0}
.fila{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linea);text-decoration:none}
.fila img,.fila .sin-arte{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--velo)}
.fila b{display:block;font:600 21px/1.15 var(--serif)}
.fila span{display:block;font-size:14.5px;color:var(--tinta-2);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fila mark{background:var(--pulso-velo);color:inherit;border-radius:3px;padding:0 2px}

/* ---------- ficha ---------- */
.volver{display:inline-flex;align-items:center;gap:6px;margin:16px 0 0;padding:6px 0;background:none;border:0;cursor:pointer;color:var(--tinta-2);font-size:15px;text-decoration:none}
.ficha-cabeza{text-align:center;padding:6px 0 24px}
.ficha-cabeza img{width:min(78vw,300px);margin:0 auto -6px;aspect-ratio:1;object-fit:cover;border-radius:50%}
.ficha-cabeza .chico{margin-top:14px}
.ficha-cabeza h1{margin-top:4px}
.ficha-cabeza .extra{font:500 20px/1.2 var(--serif);color:var(--tinta-2);margin-top:4px}
.acciones{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--linea);background:#fff;cursor:pointer;font-weight:500;font-size:15.5px;text-decoration:none;line-height:1.25;text-align:center}
.boton svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.boton.lleno{background:var(--tinta);border-color:var(--tinta);color:#fff}
.boton.on{border-color:var(--pulso);color:var(--pulso)}
.boton.ancho{width:100%}

.raiz{padding:26px 0;border-top:1px solid var(--linea)}
.raiz .chico{margin-bottom:8px}
.raiz .frase{margin-top:18px;color:var(--pulso)}

.bloque{padding:22px 0;border-top:1px solid var(--linea)}
.bloque h3{margin-bottom:8px}
.bloque ul{margin:0;padding:0 0 0 1.1em}
.bloque li{margin:3px 0}
.bloque li::marker{color:var(--pulso)}
.dos{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media (min-width:560px){.dos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px}
.etiquetas a{font-size:15px;padding:6px 12px}

.clave{margin:6px 0 4px;padding:22px;border-radius:20px;background:var(--pulso-velo)}
.clave h3{color:var(--pulso)}

/* reproductor */
.sonido{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;padding:22px 0;border-top:1px solid var(--linea)}
.respira{position:relative;width:96px;height:96px;border-radius:50%;border:1px solid var(--linea);display:grid;place-items:center;cursor:pointer;background:#fff;padding:0}
.respira::before{content:"";position:absolute;inset:14px;border-radius:50%;background:radial-gradient(circle,var(--pulso) 0,rgba(180,35,90,.35) 55%,transparent 72%);opacity:.35;transform:scale(.55);transition:opacity .4s}
.respira.on::before{opacity:.9;animation:respirar 10s ease-in-out infinite}
.respira svg{position:relative;width:26px;height:26px;fill:var(--tinta)}
@keyframes respirar{0%{transform:scale(.55)}40%{transform:scale(1.05)}100%{transform:scale(.55)}}
.sonido b{font:600 30px/1 var(--serif)}
.sonido-ctrl{display:flex;flex-direction:column;align-items:center;gap:8px}
.sonido-btn-txt{font-size:13.5px;font-weight:600;color:var(--pulso);text-align:center}
.sonido-desc{margin-top:6px;font-size:15px;line-height:1.45;color:var(--tinta)}
.sonido-nota{margin-top:6px}
.sonido .guia{margin-top:6px;font-weight:600;font-size:14.5px;color:var(--pulso);min-height:1.4em}

.vecinos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:10px}
.vecinos a{display:block;padding:14px;border:1px solid var(--linea);border-radius:16px;text-decoration:none;background:#fff;min-width:0}
.vecinos a:last-child{text-align:right}
.vecinos b{display:block;font:600 20px/1.15 var(--serif);overflow-wrap:anywhere}

/* páginas especiales */
.especial-bloque{padding:16px 0;border-top:1px solid var(--linea)}
.especial-bloque h3{font-size:21px;margin-bottom:4px}

/* ---------- buscar ---------- */
.campo{display:flex;align-items:center;gap:10px;margin:18px 0 14px;padding:0 16px;border:1px solid var(--linea);border-radius:999px;background:#fff;min-height:52px}
.campo svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--tinta-2);stroke-width:1.8}
.campo input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:17px;padding:12px 0}
.vacio{padding:36px 0;text-align:center;color:var(--tinta-2)}

/* ---------- formularios ---------- */
label.rot{display:block;font-weight:600;font-size:15px;margin:18px 0 6px}
.entrada,select.entrada,textarea.entrada{width:100%;border:1px solid var(--linea);border-radius:14px;background:#fff;padding:12px 14px;font-size:17px;min-height:48px}
textarea.entrada{min-height:110px;resize:vertical;line-height:1.5}
.intensidad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.intensidad button{min-height:46px;border-radius:12px;border:1px solid var(--linea);background:#fff;cursor:pointer;font-weight:600}
.intensidad button.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}

/* ---------- sesiones ---------- */
.tarjeta{display:block;padding:16px 0;border-bottom:1px solid var(--linea);text-decoration:none}
.tarjeta b{font:600 22px/1.2 var(--serif);display:block}
.paso{padding:6px 0 0}
.paso-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 6px}
.progreso{height:4px;background:var(--linea);border-radius:4px;overflow:hidden;margin-top:14px}
.progreso i{display:block;height:100%;background:var(--pulso)}
.contenido-paso{padding:18px 0;font-size:18px}
.contenido-paso ul{padding-left:1.1em;margin:0}
.ayuda{margin:6px 0 4px;padding:16px;border-radius:16px;background:var(--velo)}
.ayuda p+p{margin-top:8px}
.navpasos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:18px}

/* ---------- agenda ---------- */
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:14px 0 6px}
.dia{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0 8px;border-radius:16px;text-decoration:none;color:var(--tinta-2);background:#fff;box-shadow:inset 0 0 0 1px var(--linea);min-height:72px;transition:transform .15s ease}
.dia span{font-size:12.5px;text-transform:capitalize}
.dia b{font:600 22px/1 var(--serif);color:var(--tinta)}
.dia i{font-style:normal;font-size:12px;line-height:1;height:10px;color:var(--pulso);letter-spacing:1px}
.dia.on{background:var(--tinta);box-shadow:none;color:rgba(255,255,255,.75)}
.dia.on b{color:#fff}
.dia.on i{color:var(--rosa,#FFC4DE)}
.dia:active{transform:scale(.95)}
.cita{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;margin-top:10px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);text-decoration:none;transition:transform .15s ease}
.cita:active{transform:scale(.985)}
.cita-hora{font:600 22px/1 var(--serif);color:var(--pulso)}
.cita-txt b{display:block;font:600 19px/1.2 var(--serif)}
.cita-txt span{display:block;font-size:14px;color:var(--tinta-2);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cita-arte{width:42px;height:42px;border-radius:50%;object-fit:cover}
.vacio-dia{padding:16px 0 2px;color:var(--tinta-2)}
.dia-sep{margin-top:14px}
.seccion-titulo a{text-decoration:none;color:var(--pulso);font-weight:600;white-space:nowrap}
.cita-cab{padding:14px 0 18px}
.cita-hora-g{font:600 54px/1 var(--serif);color:var(--pulso);margin-top:6px}
.cita-hora-g span{font-size:22px;color:var(--tinta-2)}
.cita-cab h2{margin-top:10px}
.cita-motivo{margin-top:8px;color:var(--tinta-2)}
.acciones-cita{display:grid;gap:10px;margin-top:20px}
.dos-botones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.dos-campos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.opcional{font-weight:400;color:var(--tinta-2)}
.ayuda-campo{margin-top:6px;font-size:14px;color:var(--tinta-2)}
.error{margin-top:6px;font-size:14.5px;font-weight:600;color:#B42318}
.boton-buscar{min-height:40px;padding:8px 14px;font-size:14.5px;flex:none}
.fila-btn{width:100%;background:none;border:0;border-bottom:1px solid var(--linea);text-align:left;cursor:pointer;font:inherit;color:inherit}
.proxima{display:flex;align-items:baseline;gap:10px;margin:12px 0 0;padding:12px 16px;border-radius:16px;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.proxima span:first-child{font-size:14px;color:rgba(255,255,255,.7)}
.proxima b{font:600 22px/1 var(--serif);color:#FFC4DE}
.proxima span:last-child{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- mas ---------- */
.texto-largo p{margin:0 0 14px}
.texto-largo h2{margin:22px 0 14px}

/* ---------- hoja ---------- */
.hoja{position:fixed;inset:0;z-index:50}
.hoja-fondo{position:absolute;inset:0;background:rgba(36,27,58,.32)}
.hoja-panel{position:absolute;left:0;right:0;bottom:0;max-height:82vh;overflow:auto;background:var(--papel);border-radius:24px 24px 0 0;padding:6px 20px calc(24px + var(--seguro));max-width:680px;margin:0 auto;animation:subir .28s ease-out}
.hoja-asa{display:block;width:44px;height:5px;border-radius:5px;border:0;background:var(--linea);margin:6px auto 14px;cursor:pointer;padding:0}
@keyframes subir{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}

/* ---------- abas ---------- */
.abas{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(251,250,253,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linea);padding-bottom:var(--seguro)}
.abas a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--abas);text-decoration:none;color:var(--tinta-2);font-size:12px;font-weight:500}
.abas svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.abas a[aria-current="page"]{color:var(--pulso)}

/* ---------- explorar ---------- */
.explorar{margin-top:8px}
.mosaico{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;margin-top:16px}
@media (min-width:560px){.mosaico{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tesela{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;background:none;border:0;padding:0;cursor:pointer;min-width:0}
.tesela img{width:min(112px,34vw);aspect-ratio:1;border-radius:50%;object-fit:cover;margin-bottom:8px;box-shadow:0 14px 30px -18px rgba(36,27,58,.6);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.tesela b{font:600 19px/1.15 var(--serif);overflow-wrap:anywhere}
.tesela span{font-size:13.5px;color:var(--tinta-2)}
.tesela:active img{transform:scale(.95)}
@media (hover:hover){.tesela:hover img{transform:scale(1.04)}}

/* ---------- ficha: halo e barra ---------- */
.ficha-arte{box-shadow:0 30px 60px -30px rgba(36,27,58,.55)}
.barra{position:fixed;left:0;right:0;top:0;z-index:30;display:flex;align-items:center;gap:6px;padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;background:rgba(251,250,253,.86);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--linea);transform:translateY(-110%);transition:transform .25s ease-out}
.barra.on{transform:none}
.barra a{display:grid;place-items:center;width:44px;height:44px;font-size:26px;text-decoration:none;color:var(--tinta)}
.barra b{font:600 21px/1.1 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- bienvenida ---------- */
.intro{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;justify-content:space-between;overflow-x:hidden;overflow-y:auto;color:#fff;background:radial-gradient(120% 80% at 50% 30%,#4A2D73 0,#2A1C45 45%,#160F26 100%);transition:opacity .45s ease,transform .45s ease}
.intro.sale{opacity:0;transform:scale(1.04)}
.intro-orbita{--t:min(23vw,12.5vh,104px);--r:min(36vw,19vh,170px);position:relative;flex:none;height:calc(2*var(--r) + var(--t) + 8px);margin-top:calc(28px + env(safe-area-inset-top,0px));animation:girar 80s linear infinite}
.intro-orbita span{position:absolute;left:50%;top:50%;width:var(--t);aspect-ratio:1;margin:calc(var(--t)/-2) 0 0 calc(var(--t)/-2);transform:rotate(calc(var(--k)*45deg)) translateY(calc(var(--r)*-1)) rotate(calc(var(--k)*-45deg))}
.intro-orbita img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 18px 40px -12px rgba(0,0,0,.6);animation:girar 80s linear infinite reverse}
.intro-orbita::after{content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,220,.55),transparent 70%);animation:latir 5s ease-in-out infinite}
@keyframes girar{to{transform:rotate(360deg)}}
.intro-texto{padding:0 24px calc(28px + env(safe-area-inset-bottom,0px));max-width:520px;margin:0 auto;width:100%;animation:subir .7s .15s cubic-bezier(.2,.8,.2,1) both}
.intro h1{font-size:clamp(36px,min(12vw,6.4vh),58px);color:#fff}
.intro-lema{margin-top:10px;font-size:18px;line-height:1.5;color:rgba(255,255,255,.82)}
.intro-hechos{list-style:none;margin:20px 0 24px;padding:0;display:grid;gap:8px;font-size:15.5px;color:rgba(255,255,255,.78)}
.intro-hechos b{color:#fff;font-weight:600}
.intro-boton{width:100%;min-height:54px;background:#fff;color:var(--tinta);border:0;font-size:17px;font-weight:600}
.intro-boton:focus-visible{outline-color:#FFD3E3}
@media (max-height:720px){
  .intro-orbita{--t:min(20vw,10vh,90px);--r:min(32vw,15vh,150px)}
  .intro-hechos{display:none}
  .intro-lema{margin-bottom:22px}
}

/* ---------- palco noturno (início) ---------- */
.escenario{--noche:#1B1230;position:relative;isolation:isolate;margin:0 -20px;padding:0 20px 30px;color:#fff;border-radius:0 0 36px 36px;
  background:
    radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.7),transparent),
    radial-gradient(1px 1px at 78% 12%,rgba(255,255,255,.55),transparent),
    radial-gradient(1.4px 1.4px at 88% 46%,rgba(255,220,240,.6),transparent),
    radial-gradient(1px 1px at 8% 62%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.2px 1.2px at 92% 78%,rgba(255,255,255,.45),transparent),
    radial-gradient(1px 1px at 22% 88%,rgba(255,255,255,.4),transparent),
    radial-gradient(90% 55% at 50% 62%,#4A2D73 0,rgba(74,45,115,0) 70%),
    radial-gradient(120% 70% at 50% 0,#33214F 0,var(--noche) 70%)}
.escenario .marca b{color:#fff}
.escenario .marca span{color:rgba(255,255,255,.66)}
.escenario .hoy{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 30px 60px -30px rgba(0,0,0,.6)}
.escenario .hoy::after{background:linear-gradient(110deg,rgba(27,18,48,.82) 30%,rgba(27,18,48,.25))}
.escenario .mapa h2{color:#fff}
.escenario .mapa > p{color:rgba(255,255,255,.7)}
.escenario .mapa svg{max-width:330px}
.cuerpo-luz{fill:url(#cuerpo);stroke:url(#trazo);stroke-width:1.1}
.eje{stroke:rgba(255,205,232,.38);stroke-width:.8;stroke-dasharray:2 4}
.haz{animation:barrer 6.5s cubic-bezier(.45,0,.55,1) infinite}
@keyframes barrer{0%{transform:translateY(0)}100%{transform:translateY(520px)}}
.escenario .nodo .halo{fill:#FF7EB6;opacity:.25;animation-delay:var(--d)}
.escenario .nodo .punto{fill:url(#orbe)}
.nodo .centro{fill:#fff}
.escenario .nodo text{fill:#fff;font-weight:600;stroke:rgba(27,18,48,.85);stroke-width:3px}
.escenario .nodo:hover .punto,.escenario .nodo:focus-visible .punto{fill:url(#orbe)}
.escenario .nodo:focus-visible .halo{opacity:.6}
.escenario .pastilla{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.escenario .pastilla:hover{border-color:rgba(255,255,255,.5)}
.escenario .sistemas{margin-bottom:0}
.escenario + .explorar{margin-top:30px}

/* ---------- ficha em cena ---------- */
.escena{position:relative;isolation:isolate;margin:0 -20px;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 30px;color:#fff;border-radius:0 0 36px 36px;overflow:hidden;
  background:radial-gradient(80% 60% at 50% 38%,#3E2763 0,rgba(62,39,99,0) 70%),radial-gradient(130% 80% at 50% 0,#2C1D48 0,#1B1230 75%)}
.escena .volver{display:flex;width:max-content;margin:0;color:rgba(255,255,255,.78);min-height:44px}
.arte-escena{position:relative;width:min(80vw,320px);aspect-ratio:1;margin:4px auto 0}
.ficha-cabeza .arte-escena img{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:50%;object-fit:cover}
.ficha-cabeza .arte-escena .arte-aura{inset:-14%;width:128%;height:128%;filter:blur(34px) saturate(1.7);opacity:.75;border-radius:50%;animation:respirar-aura 7s ease-in-out infinite}
@keyframes respirar-aura{0%,100%{transform:scale(.94);opacity:.6}50%{transform:scale(1.04);opacity:.85}}
.ficha-arte{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 30px 60px -20px rgba(0,0,0,.6)}
.escena .chico{color:rgba(255,255,255,.7);margin-top:22px}
.escena h1{color:#fff}
.escena .extra{color:rgba(255,255,255,.75)}
.escena .boton{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.escena .boton.on{border-color:#FFB3D1;color:#FFD3E3;background:rgba(255,126,182,.14)}
.escena + .raiz{border-top:0;padding-top:30px}

/* ---------- toque e transição ---------- */
a,button,.nodo{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.fila,.boton,.pastilla,.vecinos a,.tarjeta{transition:transform .15s ease,background-color .2s ease,border-color .2s ease}
.fila:active,.vecinos a:active,.tarjeta:active{transform:scale(.985)}
.boton:active,.pastilla:active{transform:scale(.96)}
.hoy{transition:transform .2s ease}
.hoy:active{transform:scale(.985)}
main.entra{animation:entrar .26s cubic-bezier(.2,.8,.2,1)}
@keyframes entrar{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.abas a{position:relative}
.abas a::before{content:"";position:absolute;top:7px;left:50%;width:54px;height:30px;margin-left:-27px;border-radius:999px;background:var(--pulso-velo);opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1);z-index:-1}
.abas a[aria-current="page"]::before{opacity:1;transform:none}
.abas{isolation:isolate}
.hoja-fondo{background:rgba(22,15,38,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

.aviso-corto{margin:28px 0 0;font-size:13.5px;color:var(--tinta-2);line-height:1.5}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ===== mapa: corpo realista (índice ilustrado do PDF) ===== */
.corpo-mapa{position:relative;width:min(270px,70vw);margin:14px auto 6px}
.corpo-img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 18px rgba(185,139,255,.45)) drop-shadow(0 0 2px rgba(255,196,222,.6))}
.corpo-mapa svg{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:visible}
.escenario .nodo .halo{fill:#FF7EB6;opacity:.22}
.escenario .nodo .punto{fill:#1B1230;stroke:#FFC4DE;stroke-width:2.5}
.escenario .nodo text{font:700 17px var(--sans);fill:#fff;stroke:none}
.escenario .nodo:hover .punto,.escenario .nodo:focus-visible .punto{fill:#B4235A}
.tesela-arte{position:relative;display:block}
.tesela-arte i{position:absolute;left:4px;top:4px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 14px/1 var(--sans);font-style:normal;color:#fff;background:var(--pulso);box-shadow:0 0 0 2px #fff}
.tesela-arte img{background:#fff}
.hoja-portada{display:block;width:120px;aspect-ratio:1;border-radius:50%;object-fit:cover;margin:4px auto 12px;box-shadow:0 14px 30px -16px rgba(36,27,58,.6)}

/* ===== início: saudação, corpo herói, conquistas, atalhos ===== */
.saludo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(18px + env(safe-area-inset-top,0px)) 0 0}
.saludo-hola{font:500 17px/1.3 var(--sans);color:rgba(255,255,255,.8)}
.saludo-yo{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;text-decoration:none;font:600 19px/1 var(--serif);color:#1B1230;background:linear-gradient(135deg,#FFE3B3,#FFC4DE);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.escenario .mapa{margin-top:14px;max-width:none}
.mapa-tit{font-size:clamp(36px,10vw,48px);text-align:center;color:#fff;line-height:1.02}
.mapa-sub{margin:10px auto 0;max-width:30ch;text-align:center;font-size:16px;color:rgba(255,255,255,.72)}
.corpo-mapa{width:min(300px,78vw);margin:20px auto 8px}
.corpo-mapa::before{content:"";position:absolute;left:50%;top:44%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(142,107,255,.35),rgba(255,126,182,.12) 55%,transparent)}
.corpo-scan{position:absolute;inset:0;pointer-events:none;-webkit-mask:var(--masc) center/100% 100% no-repeat;mask:var(--masc) center/100% 100% no-repeat;background:linear-gradient(180deg,transparent 0,transparent 42%,rgba(255,225,242,.75) 50%,transparent 58%,transparent 100%);background-size:100% 260%;animation:escanear 5.5s cubic-bezier(.45,0,.55,1) infinite;mix-blend-mode:screen}
@keyframes escanear{0%{background-position:0 100%}100%{background-position:0 0}}
.corpo-mapa .nodo{opacity:0;animation:aparecer .5s ease forwards;animation-delay:calc(.4s + var(--d))}
.corpo-mapa .nodo .halo{animation:latir 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes aparecer{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.corpo-mapa .nodo{transform-box:fill-box;transform-origin:center}
.logros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 16px}
.logro{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;border-radius:20px;text-align:center;text-decoration:none;color:rgba(255,255,255,.72);font-size:13px;line-height:1.25;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.logro-n{font:600 30px/1 var(--serif);color:#fff;height:46px;display:grid;place-items:center}
.anillo{--p:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:conic-gradient(#FF7EB6 calc(var(--p)*1%),rgba(255,255,255,.14) 0)}
.anillo b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#241840;font:600 18px/1 var(--serif);color:#fff}
.atajos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 6px}
.atajos a{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 14px;border-radius:18px;text-decoration:none;font-weight:600;font-size:15px;line-height:1.25;background:#fff;box-shadow:inset 0 0 0 1px var(--linea),0 10px 24px -18px rgba(36,27,58,.4)}
.atajos svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--pulso);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.atajos a:active{transform:scale(.97)}
.seguir{margin-top:22px}
.carril{display:flex;gap:12px;overflow-x:auto;margin:10px -20px 0;padding:2px 20px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
.carril::-webkit-scrollbar{display:none}
.carril a{flex:none;width:96px;scroll-snap-align:start;text-decoration:none;text-align:center}
.carril img,.carril .sin-arte{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 12px 24px -16px rgba(36,27,58,.6)}
.carril b{display:block;margin-top:8px;font:600 16px/1.15 var(--serif)}
.explorar{margin-top:26px}

/* ===== perfil ===== */
.tit-sub{margin:10px 0 14px}
.perfil-cab{position:relative;isolation:isolate;margin:0 -20px;padding:calc(26px + env(safe-area-inset-top,0px)) 20px 22px;text-align:center;color:#fff;border-radius:0 0 32px 32px;background:radial-gradient(90% 80% at 50% 0%,#4A2D73,#1B1230)}
.perfil-cab .chico{color:rgba(255,255,255,.7)}
.avatar{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 12px;border-radius:50%;font:600 36px/1 var(--serif);color:#1B1230;background:linear-gradient(135deg,#FFE3B3,#FFC4DE);box-shadow:0 0 0 5px rgba(255,255,255,.1),0 18px 36px -14px rgba(255,126,182,.6)}
.avatar svg{width:38px;height:38px;fill:none;stroke:#1B1230;stroke-width:1.6}
.perfil-num{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:18px}
.perfil-num span{display:flex;flex-direction:column;font-size:13px;color:rgba(255,255,255,.7)}
.perfil-num b{font:600 28px/1.1 var(--serif);color:#fff}
.perfil-cab .progreso{background:rgba(255,255,255,.15)}
.perfil-cab .progreso i{background:#FF7EB6}
.grupo-tit{margin:26px 0 10px;font:600 13.5px/1.2 var(--sans);letter-spacing:.02em;color:var(--tinta-2)}
.opciones{list-style:none;margin:0;padding:0;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);overflow:hidden}
.opciones li + li{border-top:1px solid var(--linea)}
.opc{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;padding:10px 14px;text-decoration:none}
.opc.solo{margin-top:18px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.opc-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--pulso-velo)}
.opc-ic svg{width:21px;height:21px;fill:none;stroke:var(--pulso);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.opc-txt{display:flex;flex-direction:column;min-width:0}
.opc-txt b{font-weight:600;font-size:16px;line-height:1.3}
.opc-txt span{font-size:14px;color:var(--tinta-2);line-height:1.35}
.opc-ir{font-size:22px;color:var(--tinta-2)}
.opc:active{background:var(--velo)}
.version{margin:28px 0 0;text-align:center;font:600 16px var(--serif);color:var(--tinta-2)}
.form{display:grid;gap:8px}
.form .rot{margin-top:10px}
.form .boton{margin-top:18px}
.segmento{display:grid;gap:8px}
.segmento label{position:relative;cursor:pointer}
.segmento input{position:absolute;opacity:0}
.segmento span{display:block;padding:13px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);font-weight:500}
.segmento input:checked + span{box-shadow:inset 0 0 0 2px var(--pulso);background:var(--pulso-velo);color:var(--tinta)}
.segmento input:focus-visible + span{outline:2px solid var(--pulso);outline-offset:2px}
.interruptor{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);cursor:pointer}
.interruptor > span{display:flex;flex-direction:column}
.interruptor input{position:absolute;opacity:0}
.interruptor i{position:relative;flex:none;width:50px;height:30px;border-radius:30px;background:var(--linea);transition:background .2s}
.interruptor i::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s}
.interruptor input:checked + i{background:var(--pulso)}
.interruptor input:checked + i::after{transform:translateX(20px)}
.interruptor input:focus-visible + i{outline:2px solid var(--pulso);outline-offset:2px}
.resumen-datos{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;padding:0}
.resumen-datos li{padding:12px 14px;border-radius:16px;background:var(--velo);font-size:14.5px;color:var(--tinta-2)}
.resumen-datos b{display:block;font:600 26px/1.1 var(--serif);color:var(--tinta)}
.boton.peligro{color:#A3123F;border-color:#F0C9D6}
.plan-app{margin-top:4px;padding:20px;border-radius:22px;color:#fff;background:linear-gradient(150deg,#4A2D73,#1B1230)}
.plan-app-eti{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;color:#1B1230;background:#B9F3D0}
.plan-app-nom{margin-top:10px;font:600 26px/1.1 var(--serif)}
.plan-app .chico{margin-top:8px;color:rgba(255,255,255,.75)}
.pasos-cancel{margin:8px 0 18px;padding-left:22px;display:grid;gap:8px}
.toast{position:fixed;left:50%;bottom:calc(var(--abas) + var(--seguro) + 18px);z-index:200;transform:translate(-50%,20px);opacity:0;padding:12px 18px;border-radius:999px;background:var(--tinta);color:#fff;font-weight:600;font-size:15px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}
.letras{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:4px;margin:0 -20px 6px;padding:8px 20px;background:rgba(251,250,253,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.letras a{display:grid;place-items:center;min-width:32px;height:32px;border-radius:9px;text-decoration:none;font-weight:600;font-size:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.letra-tit{margin:18px 0 4px;color:var(--pulso);scroll-margin-top:96px}

/* ===== agenda: semana/mês ===== */
.vista{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 0 4px;padding:4px;border-radius:14px;background:var(--velo)}
.vista a{display:grid;place-items:center;min-height:40px;border-radius:11px;text-decoration:none;font-weight:600;font-size:15px;color:var(--tinta-2)}
.vista a.on{background:#fff;color:var(--tinta);box-shadow:0 2px 8px -2px rgba(36,27,58,.2)}
.semana-nav{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.semana-nav b{font:600 21px/1.1 var(--serif);text-transform:capitalize}
.semana-nav a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;text-decoration:none;font-size:26px;line-height:1;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.ir-hoy{display:inline-block;margin-top:6px;color:var(--pulso);font-weight:600}
.dia.hoy-d:not(.on){box-shadow:inset 0 0 0 2px var(--pulso)}
.mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:14px}
.mes-sem{text-align:center;font-size:12.5px;font-weight:600;color:var(--tinta-2);padding-bottom:2px}
.mes-dia{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:12px;text-decoration:none;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.mes-dia b{font:600 18px/1 var(--serif)}
.mes-dia i{position:absolute;bottom:4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-style:normal;font-size:11px;font-weight:700;line-height:16px;text-align:center;color:#fff;background:var(--pulso)}
.mes-dia.pasado{opacity:.55}
.mes-dia.hoy-d{background:var(--tinta);box-shadow:none;opacity:1}
.mes-dia.hoy-d b{color:#fff}
.mes-resumen{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;font-size:15px;color:var(--tinta-2)}
.mes-resumen b{font:600 22px var(--serif);color:var(--tinta)}
.mes-resumen a{margin-left:auto;color:var(--pulso);font-weight:600}
.cita-hora small{display:block;margin-top:3px;font:500 12.5px var(--sans);color:var(--tinta-2)}

/* ===== primeiro acesso: passo 2 ===== */
.intro-h2{font-size:clamp(34px,9vw,44px)}
.intro-form{display:grid;gap:12px;margin-top:16px;text-align:left}
.intro-form .entrada{background:rgba(255,255,255,.95);color:var(--tinta)}
.intro .segmento span{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:#fff}
.intro .segmento input:checked + span{background:rgba(255,126,182,.18);box-shadow:inset 0 0 0 2px #FF7EB6;color:#fff}
.intro-saltar{background:none;border:0;color:rgba(255,255,255,.7);font-size:15px;padding:10px;cursor:pointer}

/* ===== ajustes globais ===== */
html[data-letra="grande"] body{font-size:19px}
html[data-letra="grande"] .chico{font-size:16px}
html[data-letra="muy"] body{font-size:21px}
html[data-letra="muy"] .chico{font-size:17.5px}
html[data-calma] *,html[data-calma] *::before,html[data-calma] *::after{animation:none!important;transition:none!important}
html[data-calma] .corpo-mapa .nodo{opacity:1}
@media (prefers-reduced-motion:reduce){.corpo-scan{display:none}.corpo-mapa .nodo{opacity:1;animation:none}}
p.rot{font-weight:600;font-size:15px;margin:18px 0 6px}
.logro-n,.anillo b,.perfil-num b,.resumen-datos b,.mes-resumen b{font-family:var(--sans);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.logro-n{font-size:26px}.anillo b{font-size:15px}.perfil-num b{font-size:24px}.resumen-datos b{font-size:22px}.mes-resumen b{font-size:18px}
.semana-nav b{text-transform:none}
.mes-dia b,.dia b{font-family:var(--sans);font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}

/* ===== pergunta do dia: trocar ===== */
.hoy-otra{display:inline-flex;align-items:center;gap:7px;margin:10px 0 0 auto;padding:8px 14px;min-height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:#fff;font-weight:600;font-size:14px;cursor:pointer;float:right}
.hoy-otra svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.escenario::after{content:"";display:block;clear:both}

/* ===== ficha: leitura em capítulos ===== */
.capitulo{display:flex;align-items:center;gap:14px;margin:40px 0 16px}
.capitulo h2{font-size:clamp(27px,7.4vw,32px);flex:none;max-width:85%}
.capitulo::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--linea),transparent)}
.cab-b{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cab-b h3{font-size:22px;flex:1;min-width:0}
.ico-f{width:34px;height:34px;flex:none;padding:7px;border-radius:11px;fill:none;stroke:var(--pulso);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;background:var(--pulso-velo)}
.que{position:relative;flex:none}
.que summary{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;list-style:none;cursor:pointer;font-weight:700;font-size:14px;color:var(--tinta-2);box-shadow:inset 0 0 0 1px var(--linea);background:#fff}
.que summary::-webkit-details-marker{display:none}
.que[open] summary{background:var(--tinta);color:#fff;box-shadow:none}
.que p{position:absolute;right:0;top:36px;z-index:6;width:min(280px,76vw);padding:12px 14px;border-radius:14px;font-size:14.5px;line-height:1.45;color:#fff;background:var(--tinta);box-shadow:0 18px 40px -16px rgba(0,0,0,.5)}
.raiz2{padding:20px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.raiz2-txt{font:500 clamp(22px,6vw,26px)/1.3 var(--serif);color:var(--tinta)}
.voz{position:relative;margin:12px 0 0;padding:24px 22px 26px;border-radius:24px;color:#fff;background:radial-gradient(120% 120% at 0 0,#4A2D73,#1B1230 70%)}
.voz figcaption{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#FFC4DE}
.voz figcaption .ico-f{background:rgba(255,196,222,.14);stroke:#FFC4DE}
.voz blockquote{margin:14px 0 0;font:500 italic clamp(26px,7.2vw,32px)/1.22 var(--serif)}
.voz blockquote::before{content:"“";display:block;height:.45em;font-size:2.2em;line-height:1;color:#FF7EB6}
.sonido2{margin-top:12px;padding:20px;border:0;border-radius:24px;background:var(--velo)}
.flujo{list-style:none;margin:0;padding:0;display:grid;gap:0}
.flujo li{position:relative;padding:0 0 22px 22px;border-left:2px solid var(--linea);margin-left:16px}
.flujo li:last-child{padding-bottom:4px;border-left-color:transparent}
.flujo li::before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--pulso);box-shadow:0 0 0 4px var(--pulso-velo)}
.flujo .cab-b{margin-left:-2px}
.flujo p{font-size:17.5px;line-height:1.6}
.ambiente{margin-top:12px;padding:20px;border-radius:24px;background:linear-gradient(160deg,#F4EEFF,#FBEAF2)}
.tarjeta-b{margin-top:12px;padding:20px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.memorias{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.memorias li{padding:12px 14px;border-radius:14px;background:var(--velo);line-height:1.45}
.bucles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bucles li{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-weight:500;font-size:15.5px;background:#fff;box-shadow:inset 0 0 0 1.5px #E7C9D6}
.bucles li::before{content:"↻";color:var(--pulso);font-weight:700}
.burbujas{display:grid;gap:10px}
.burbujas p{position:relative;max-width:88%;padding:12px 16px;border-radius:18px 18px 18px 4px;font:500 italic 19px/1.35 var(--serif);background:var(--tinta);color:#fff}
.burbujas p:nth-child(even){justify-self:end;border-radius:18px 18px 4px 18px;background:var(--pulso)}
.simbolos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.simbolos li{display:flex;align-items:center;min-height:58px;padding:10px 14px;border-radius:16px;font:600 18px/1.2 var(--serif);text-align:left;background:linear-gradient(150deg,#FFF6E8,#FBEAF2);box-shadow:inset 0 0 0 1px #F3DDC9}
.familia{margin-top:12px;padding:20px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);border-left:5px solid #8E6BD8}
.clave2{position:relative;overflow:hidden;padding:24px 22px;border-radius:26px;color:#fff;background:linear-gradient(150deg,#B4235A,#6E1B53 60%,#3B1A5C)}
.clave2-ic .ico-f{width:44px;height:44px;padding:9px;background:rgba(255,255,255,.14);stroke:#fff}
.clave2 h3{margin-top:12px;font-size:25px}
.clave2 p{margin-top:8px;font-size:18px;line-height:1.6}

/* ===== consultório ===== */
.pestanas{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.pestanas a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:14px;text-decoration:none;font-weight:600;font-size:15px;color:var(--tinta-2);background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.pestanas a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pestanas a.on{color:#fff;background:var(--tinta);box-shadow:none}
.lista-cons{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.cons-fila{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;text-decoration:none;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.cons-av{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font:600 21px/1 var(--serif);color:#fff;background:linear-gradient(135deg,#8E6BD8,#B4235A)}
.cons-av.grande{width:84px;height:84px;font-size:38px;margin:0 auto 12px;box-shadow:0 0 0 5px rgba(255,255,255,.12),0 18px 36px -14px rgba(180,35,90,.6)}
.cons-txt{display:flex;flex-direction:column;min-width:0}
.cons-txt b{font-weight:600;font-size:16.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cons-txt span{font-size:13.5px;color:var(--tinta-2);line-height:1.35}
.cons-num{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:var(--tinta-2)}
.cons-num b{font:700 20px/1 var(--sans);color:var(--tinta)}
.vacio-cons{margin-top:18px;padding:22px;border-radius:22px;text-align:center;background:var(--velo)}
.cons-cab{margin:6px -20px 0;padding:24px 20px 22px;text-align:center;color:#fff;border-radius:28px;background:radial-gradient(90% 90% at 50% 0%,#4A2D73,#1B1230)}
.cons-cab h2{font-size:clamp(28px,8vw,36px)}
.cons-cab .chico{margin-top:6px;color:rgba(255,255,255,.72)}
.contacto{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.contacto a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14.5px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.contacto svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cons-acc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.cons-acc .lleno{grid-column:1/-1;min-height:52px;font-size:16.5px}
.cons-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.cons-stats span{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border-radius:16px;background:var(--velo);font-size:13px;color:var(--tinta-2);text-align:center}
.cons-stats b{font:700 21px/1.2 var(--sans);color:var(--tinta)}
.evo{margin:0 0 12px;padding:16px 14px 10px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.evo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;align-items:baseline}
.evo figcaption b{font:600 19px/1.2 var(--serif)}
.evo figcaption span{font-size:13.5px;font-weight:600;color:var(--tinta-2)}
.evo figcaption span.bien{color:#1E7A4C}.evo figcaption span.mal{color:#A3123F}
.evo svg{display:block;width:100%;height:auto;margin-top:6px}
.evo-guia{stroke:var(--linea);stroke-width:1;stroke-dasharray:3 4}
.evo-eje{font:500 11px var(--sans);fill:var(--tinta-2)}
.evo-linea{fill:none;stroke:var(--pulso);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.evo-punto{fill:#fff;stroke:var(--pulso);stroke-width:3}
.evo-val{font:700 12px var(--sans);fill:var(--tinta)}
.evo-fechas{display:flex;justify-content:space-between;font-size:12.5px;color:var(--tinta-2);padding:0 6px}
.evo-vacio{padding:16px;border-radius:18px;background:var(--velo)}
.historial{display:grid;gap:8px}
.hist{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:16px;text-decoration:none;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.hist > span:last-child{display:flex;flex-direction:column;min-width:0}
.hist b{font-weight:600;font-size:15.5px}
.hist > span:last-child span{font-size:13.5px;color:var(--tinta-2);line-height:1.4}
.hist-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--velo)}
.hist-ic svg{width:19px;height:19px;fill:none;stroke:var(--tinta-2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hist-ic.fut{background:var(--pulso-velo)}.hist-ic.fut svg{stroke:var(--pulso)}
.hist-ic.ses{background:#EFE8FF}.hist-ic.ses svg{stroke:#6B4BD8}
.hist-ic.ev{background:#FFF1DE}.hist-ic.ev svg{stroke:#B26A12}
.mas-datos{margin-top:14px;padding:4px 16px 14px;border-radius:16px;background:var(--velo)}
.mas-datos summary{cursor:pointer;padding:10px 0;font-weight:600}
.link-cons{text-decoration:none;border-bottom:2px solid var(--pulso-velo)}
/* avaliação */
.ev-cab{margin-top:8px}
.ev-cab h2{margin:4px 0 6px;font-size:clamp(28px,7.6vw,34px)}
.ev-est{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#1E7A4C;background:#E5F6EC}
.ev-sec{margin-top:16px;padding:18px 16px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.ev-sec h3{display:flex;align-items:center;gap:10px;font-size:21px}
.ev-sec h3 span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;font:700 14px/1 var(--sans);color:#fff;background:var(--pulso)}
.ev-pro{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;color:#6B4BD8;background:#EFE8FF}
.ev-campo .rot{margin-top:16px}
.rot-preg{font-family:var(--serif)!important;font-style:italic;font-size:19px!important;font-weight:500!important;line-height:1.3;color:var(--tinta)}
.escala{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.escala button{min-height:44px;border:0;border-radius:10px;font:700 15px var(--sans);cursor:pointer;color:var(--tinta);background:hsl(calc(140 - var(--i) * 14) 55% 92%)}
.escala button.on{color:#fff;background:hsl(calc(140 - var(--i) * 14) 55% 38%);transform:scale(1.08);box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
.ev-sec dl{margin:10px 0 0}
.ev-dato{padding:10px 0;border-top:1px solid var(--linea)}
.ev-dato:first-child{border-top:0}
.ev-dato dt{font-size:13.5px;font-weight:600;color:var(--tinta-2)}
.ev-dato.preg dt{font:500 italic 17px/1.3 var(--serif);color:var(--tinta)}
.ev-dato dd{margin:4px 0 0}
.ev-num{font:700 24px var(--sans)}.ev-num small{font-size:14px;color:var(--tinta-2)}
.ev-grande{display:flex;align-items:center;gap:14px;margin-top:14px;padding:16px 18px;border-radius:20px;color:#fff;background:linear-gradient(150deg,#4A2D73,#1B1230)}
.ev-grande b{font:700 44px/1 var(--sans)}
.acciones-ev{display:grid;gap:10px;margin-top:22px}
.pastilla.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
/* perguntas */
.preg-grupo{margin-top:14px}
.preg-cab{display:flex;flex-direction:column;margin-bottom:8px}
.preg-cab b{font:600 20px/1.2 var(--serif)}
.preg-cab span{font-size:13.5px;color:var(--tinta-2)}
.preg-lista{margin:0;padding:0;list-style:none;display:grid;gap:6px;counter-reset:q}
.preg-lista li{counter-increment:q;position:relative;padding:10px 12px 10px 40px;border-radius:14px;background:var(--velo);font:500 italic 17.5px/1.35 var(--serif)}
.preg-lista li::before{content:counter(q);position:absolute;left:12px;top:11px;font:700 13px var(--sans);font-style:normal;color:var(--pulso)}
.preg-btn{display:flex;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;cursor:pointer;color:inherit}
.preg-btn span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font:700 16px var(--sans);font-style:normal;color:#fff;background:var(--pulso)}
.preg-btn.on span{background:#1E7A4C}
.preg-mas{margin-top:8px;padding:8px 0;border:0;background:none;color:var(--pulso);font-weight:600;cursor:pointer}
.preg-tit{display:flex;align-items:center;justify-content:space-between;gap:10px}
.preg-ses{margin-top:12px}
.preg-ses .rot-preg{margin:0 0 6px}
.preg-ficha .preg-grupo:first-of-type{margin-top:0}
/* impressão da avaliação */
@media print{
  .abas,.volver,.acciones-ev,.toast,#hoja,.ev-est{display:none!important}
  body{background:#fff;font-size:12pt}
  main{padding:0;max-width:none}
  .ev-sec{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
  .ev-grande{color:#000;background:none;border:1px solid #ccc}
}
.evo-linea.sale{stroke:#1E9E62}
.evo-punto.sale{stroke:#1E9E62}
.evo-salto{stroke:#C9C2D9;stroke-width:2;stroke-dasharray:2 3}
.evo-ley{display:flex;gap:16px;padding:2px 6px;font-size:13px;color:var(--tinta-2)}
.evo-ley span{display:inline-flex;align-items:center;gap:6px}
.evo-ley i{width:14px;height:3px;border-radius:2px;background:var(--pulso)}
.evo-ley i.sale{background:#1E9E62}
.letras a{padding:0 11px;min-width:34px;height:34px;font-size:14px}

/* ===== cabeçalho do início (v2) ===== */
.saludo{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:calc(20px + env(safe-area-inset-top,0px)) 0 4px}
.yo-anillo{--p:0;position:relative;flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;text-decoration:none;background:conic-gradient(#FF7EB6 calc(var(--p)*1%),rgba(255,255,255,.16) 0)}
.yo-anillo span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;font:600 24px/1 var(--serif);color:#1B1230;background:linear-gradient(135deg,#FFE3B3,#FFC4DE);box-shadow:0 0 0 3px #241840}
.yo-anillo svg{width:26px;height:26px;fill:none;stroke:#1B1230;stroke-width:1.6}
.saludo-txt{display:flex;flex-direction:column;min-width:0}
.saludo-hola{font:500 15px/1.2 var(--sans);color:#FFC4DE}
.saludo-nombre{margin-top:2px;font:600 clamp(30px,8.4vw,38px)/1 var(--serif);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.saludo-fecha{margin-top:5px;font-size:13.5px;color:rgba(255,255,255,.6)}
.saludo-yo{display:none}
.escenario .mapa{margin-top:26px}
/* cabeçalho centralizado */
.saludo{flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding-top:calc(22px + env(safe-area-inset-top,0px))}
.saludo-txt{align-items:center}
.saludo-nombre{max-width:80vw}
.escenario .mapa{margin-top:22px}

/* ===== topo premium: saudação compacta + "¿Qué sientes hoy?" com busca (12/11) ===== */
.saludo{gap:8px;padding-top:calc(20px + env(safe-area-inset-top,0px))}
.yo-anillo{width:50px;height:50px}
.yo-anillo span{width:43px;height:43px;font-size:21px}
.saludo-hola{font:400 17px/1.25 var(--sans);color:rgba(255,255,255,.78)}
.saludo-hola b{font:600 20px/1 var(--serif);color:#fff;letter-spacing:.005em}
.saludo-fecha{margin-top:3px;font-size:13px;color:rgba(255,196,222,.75)}
.escenario .mapa{margin-top:26px}
.mapa-tit{font-size:clamp(38px,10.6vw,50px);letter-spacing:-.01em}
.mapa-sub{margin-top:8px;font-size:16.5px;color:rgba(255,255,255,.74)}
.pide{position:relative;display:flex;align-items:center;gap:10px;max-width:420px;margin:22px auto 0;padding:6px 6px 6px 18px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.2);
  box-shadow:0 14px 34px -14px rgba(10,4,30,.8),inset 0 1px 0 rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pide:focus-within{border-color:rgba(255,196,222,.7);box-shadow:0 0 0 4px rgba(255,126,182,.18),0 14px 34px -14px rgba(10,4,30,.8)}
.pide>svg{width:21px;height:21px;flex:none;fill:none;stroke:#FFC4DE;stroke-width:1.9;stroke-linecap:round}
.pide input{flex:1;min-width:0;height:46px;border:0;background:none;outline:none;color:#fff;font:500 17px/1 var(--sans);-webkit-appearance:none;appearance:none}
.pide input::placeholder{color:rgba(255,255,255,.55)}
.pide input::-webkit-search-cancel-button{display:none}
.pide button{flex:none;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,#FF8CC0,#C77DFF);box-shadow:0 6px 16px -6px rgba(255,126,182,.8)}
.pide button svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pide-atajos{display:flex;gap:8px;margin:14px -20px 0;padding:2px 20px 4px;overflow-x:auto;scrollbar-width:none;scroll-padding-inline:20px}
.pide-atajos::-webkit-scrollbar{display:none}
.pide-atajos a{flex:none;padding:10px 15px;border-radius:999px;text-decoration:none;white-space:nowrap;font:500 14.5px/1 var(--sans);color:#fff;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}
.pide-atajos a:active{background:rgba(255,126,182,.25)}
.pide-o{display:flex;align-items:center;gap:12px;max-width:300px;margin:24px auto 0;font-size:13.5px;color:rgba(255,255,255,.6)}
.pide-o::before,.pide-o::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}
.escenario .corpo-mapa{margin-top:10px}
@media (min-width:560px){.pide-atajos{justify-content:center;flex-wrap:wrap;margin:14px 0 0;padding:0}}

/* ===== 12/11: bonus, foto de perfil, tipografia do diário e do perfil ===== */
button.opc{width:100%;border:0;background:none;text-align:left;cursor:pointer;color:inherit}
.boton-texto{margin-left:6px;min-height:44px;padding:8px 12px;border:0;background:none;color:var(--pulso);font-weight:600;cursor:pointer}

/* cabeçalho das páginas internas */
.cab-sub{margin:14px 0 22px}
.cab-sub h2{font:600 clamp(32px,8.6vw,40px)/1.04 var(--serif);letter-spacing:-.01em;color:var(--tinta)}
.cab-sub p{margin-top:10px;max-width:38ch;font-size:16.5px;line-height:1.55;color:var(--tinta-2)}
.cab-sub .sello-bonus{margin-bottom:12px}

/* texto corrido (origem, aviso) */
.texto-largo{max-width:62ch}
.texto-largo p{margin:0 0 18px;font-size:17px;line-height:1.72;color:#3A3152}
.texto-largo p:first-child{font:500 22px/1.42 var(--serif);color:var(--tinta)}

/* como ler cada ficha */
.guia-lista{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.guia-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px 16px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.guia-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:600 15px/1 var(--sans);color:var(--pulso);background:var(--pulso-velo)}
.guia-item h3{margin:4px 0 6px;font:600 18px/1.25 var(--sans);color:var(--tinta)}
.guia-item p{margin:0;font-size:16px;line-height:1.6;color:#3A3152}
.guia-uso{margin-top:12px!important;padding:12px 14px;border-radius:14px;background:var(--velo);font-size:15px!important;color:var(--tinta-2)!important}
.guia-uso b{display:block;margin-bottom:3px;font-size:13px;font-weight:700;color:var(--pulso)}

/* diário */
.diario-cab{position:relative;isolation:isolate;margin:0 -20px;padding:calc(30px + env(safe-area-inset-top,0px)) 20px 26px;text-align:center;color:#fff;border-radius:0 0 32px 32px;background:radial-gradient(90% 80% at 50% 0%,#4A2D73,#1B1230)}
.diario-cab h2{font:600 clamp(38px,10vw,48px)/1 var(--serif);color:#fff;letter-spacing:-.01em}
.diario-cab>p{margin:10px auto 0;max-width:30ch;font-size:16.5px;line-height:1.5;color:rgba(255,255,255,.74)}
.diario-cab .perfil-num{margin-top:22px}
.perfil-num b.txt{font:600 19px/1.5 var(--serif)}
.boton-luz{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:360px;min-height:52px;margin-top:22px;padding:12px 20px;border-radius:999px;text-decoration:none;font:600 16.5px/1.2 var(--sans);color:#fff;background:linear-gradient(135deg,#FF8CC0,#C77DFF);box-shadow:0 12px 26px -12px rgba(255,126,182,.9)}
.boton-luz svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}
.diario-lista{display:grid;gap:12px;margin-top:22px}
.registro{display:block;padding:16px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);text-decoration:none}
.registro-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.registro-fecha{font-size:14px;font-weight:500;color:var(--tinta-2)}
.registro-int{display:flex;gap:4px}
.registro-int i{width:8px;height:8px;border-radius:50%;background:var(--linea)}
.registro-int i.on{background:var(--pulso)}
.registro-org{display:flex;align-items:center;gap:12px;margin-top:10px}
.registro-org .arte,.registro-org img{width:44px;height:44px;flex:none}
.registro-org b{font:600 22px/1.1 var(--serif);color:var(--tinta)}
.registro-em{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.registro-em span{padding:5px 11px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--pulso);background:var(--pulso-velo)}
.registro-nota{margin:12px 0 0;padding-left:12px;border-left:2px solid var(--pulso-velo);font:italic 500 18px/1.45 var(--serif);color:#3A3152}
.diario-vacio{display:grid;justify-items:center;gap:8px;padding:40px 10px;text-align:center}
.diario-vacio>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--pulso-velo)}
.diario-vacio svg{width:30px;height:30px;fill:none;stroke:var(--pulso);stroke-width:1.7}
.diario-vacio b{margin-top:6px;font:600 24px/1.15 var(--serif);color:var(--tinta)}
.diario-vacio p{margin:0;max-width:30ch;font-size:16px;color:var(--tinta-2)}

/* foto do perfil */
.yo-anillo span img,.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.yo-anillo span{overflow:hidden}
button.avatar{position:relative;border:0;padding:0;cursor:pointer;overflow:visible}
button.avatar>img{display:block}
.avatar-cam{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 4px 12px -4px rgba(0,0,0,.5)}
.avatar-cam svg{width:16px;height:16px;fill:none;stroke:var(--pulso);stroke-width:1.8}
.foto-edit{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:16px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.avatar.chico-av{width:64px;height:64px;margin:0;font-size:28px;flex:none;overflow:hidden}
.foto-edit .chico{margin-top:6px}

/* bonus */
.sello-bonus{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;border-radius:999px;font:700 13px/1 var(--sans);color:#5A3A00;background:linear-gradient(135deg,#FFE7B0,#FFC98A);box-shadow:inset 0 0 0 1px rgba(160,100,0,.18)}
.sello-bonus svg{width:14px;height:14px;fill:none;stroke:#8A5A00;stroke-width:1.9}
.bonus-banda{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;margin:22px 0 4px;padding:14px 16px;border-radius:22px;text-decoration:none;color:#fff;
  background:radial-gradient(120% 140% at 0% 0%,#5B3A8C,#24173F 70%);box-shadow:0 16px 30px -18px rgba(36,23,63,.9),inset 0 0 0 1px rgba(255,231,176,.25)}
.bonus-banda.en-perfil{margin-top:22px}
.bonus-banda-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#FFE7B0,#FFC98A)}
.bonus-banda-ic svg{width:24px;height:24px;fill:none;stroke:#7A4E00;stroke-width:1.8}
.bonus-banda-txt b{display:block;font:600 21px/1.1 var(--serif)}
.bonus-banda-txt span{display:block;margin-top:3px;font-size:14px;line-height:1.35;color:rgba(255,255,255,.72)}
.bonus-banda-ir{font-size:24px;color:#FFE7B0}
.bonus-cab{position:relative;margin:0 -20px;padding:calc(8px + env(safe-area-inset-top,0px)) 20px 28px;text-align:center;color:#fff;border-radius:0 0 32px 32px;background:radial-gradient(90% 80% at 50% 0%,#5B3A8C,#1B1230)}
.bonus-cab .volver{display:flex;width:max-content;color:rgba(255,255,255,.78)}
.bonus-regalo{display:grid;place-items:center;width:68px;height:68px;margin:8px auto 14px;border-radius:22px;background:linear-gradient(135deg,#FFE7B0,#FFC98A);box-shadow:0 18px 36px -14px rgba(255,201,138,.7)}
.bonus-regalo svg{width:34px;height:34px;fill:none;stroke:#7A4E00;stroke-width:1.7}
.bonus-cab h2{font:600 clamp(38px,10vw,48px)/1 var(--serif);color:#fff}
.bonus-cab p{margin:10px auto 0;max-width:32ch;font-size:16.5px;line-height:1.5;color:rgba(255,255,255,.74)}
.bonus-lista{display:grid;gap:12px;margin-top:22px}
.bono-app{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px 16px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);text-decoration:none}
.bono-app-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--pulso-velo)}
.bono-app-ic svg{width:24px;height:24px;fill:none;stroke:var(--pulso);stroke-width:1.7}
.bono-app-txt b{display:block;margin-top:10px;font:600 23px/1.1 var(--serif);color:var(--tinta)}
.bono-app-txt>span:not(.sello-bonus){display:block;margin-top:6px;font-size:15.5px;line-height:1.5;color:var(--tinta-2)}
.bono-app-ir{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:999px;font-weight:600;font-size:15px;color:#fff;background:var(--tinta)}
.pestanas-sello{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-size:14px;color:var(--tinta-2)}

/* ---------- demo da página de vendas ---------- */
main{padding-top:47px!important;padding-bottom:calc(64px + 54px)!important}
.escenario,.escena{margin-top:-47px!important}.escenario{padding-top:47px!important}.escena{padding-top:57px!important}.barra{padding-top:47px!important}
.abas{padding-bottom:22px!important}.hoja-panel{padding-bottom:44px!important}
.saludo{padding-top:6px!important}
.demo-candado{position:relative;margin-top:16px;border-top:1px solid var(--linea)}
.demo-velo{filter:blur(6px);opacity:.5;user-select:none;pointer-events:none;padding:8px 0 20px}
.demo-velo h3{margin-top:18px}
.demo-candado-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background:linear-gradient(180deg,rgba(251,250,253,.3),rgba(251,250,253,.95) 40%)}
.demo-candado-txt svg{width:44px;height:44px;padding:11px;border-radius:50%;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round;background:var(--tinta)}
.demo-candado-txt p{max-width:30ch;color:var(--tinta-2);font-size:15.5px}
