

.mp.mp-sitio .mp-tabs { display:none !important; }

#cuenta-ov .cu-lado { display:flex; flex-direction:column; align-items:flex-start; gap:calc(40 * var(--dc-u, .75px)); max-width:calc(820 * var(--dc-u, .75px)); }
#cuenta-ov .cu-que { font-family:var(--dc-font); font-size:var(--dc-fs-60, 44px); line-height:1.05; text-wrap:balance;
  text-shadow:0 0 22px rgba(242,242,244,.4), 0 0 64px rgba(242,242,244,.14); }
#cuenta-ov .cu-que .mp-metal { font-size:inherit; }
#cuenta-ov .cu-que-s { margin-top:calc(-24 * var(--dc-u, .75px)); font-size:var(--dc-fs-30, 20px); line-height:1.4; opacity:.72; }
#cuenta-ov .cu-planes { width:100%; display:flex; flex-direction:column; }
#cuenta-ov .cu-plan { display:grid; grid-template-columns:minmax(120px, 1.1fr) minmax(0, 1.3fr) auto; align-items:baseline; gap:18px;
  padding:14px 0; border-top:1px solid rgba(242,242,244,.12); }
#cuenta-ov .cu-plan:last-child { border-bottom:1px solid rgba(242,242,244,.12); }
#cuenta-ov .cu-plan-n { font-family:var(--dc-font); font-size:var(--dc-fs-50, 34px); line-height:1; }
#cuenta-ov .cu-plan-n .mp-metal { font-size:inherit; }
#cuenta-ov .cu-plan-e { font-size:var(--dc-fs-30, 20px); opacity:.72; font-variant-numeric:tabular-nums; }
#cuenta-ov .cu-plan-ir { font-family:var(--dc-font); font-size:var(--dc-fs-30, 20px); background:none; border:0; color:inherit; cursor:pointer; padding:0; white-space:nowrap;
  text-shadow:0 0 18px rgba(242,242,244,.35); }
#cuenta-ov .cu-plan-ir:hover, #cuenta-ov .cu-plan-ir:focus-visible { outline:none; text-shadow:0 0 22px rgba(242,242,244,.6); }
#cuenta-ov .cu-lado .cu-ops { flex-direction:row; flex-wrap:wrap; gap:calc(40 * var(--dc-u, .75px)); }
#cuenta-ov .cu-lado .ent-op { font-size:var(--dc-fs-40, 26px); }
#cuenta-ov .cu-lado .ent-op.cu-cerrar { margin-top:0; }

#cuenta-ov.en-club .cu-lado { color:#F2F2F4; }
html #cuenta-ov.en-club .cu-velo, html.sin-desenfoque #cuenta-ov.en-club .cu-velo { background:rgba(10,10,12,.94); }
#cuenta-ov:not(.en-club) .cu-que, #cuenta-ov:not(.en-club) .cu-plan-ir { text-shadow:none; }
#cuenta-ov:not(.en-club) .cu-plan { border-color:rgba(20,30,45,.14); }
@media (max-width:700px) {
  #cuenta-ov { overflow-y:auto; align-items:flex-start; }
  #cuenta-ov .cu-lado { gap:22px; max-width:none; width:100%; }
  #cuenta-ov .cu-que { font-size:28px; }
  #cuenta-ov .cu-que-s { margin-top:-12px; font-size:15px; }
  #cuenta-ov .cu-plan { grid-template-columns:78px minmax(0, 1fr) auto; gap:10px; padding:12px 0; }
  #cuenta-ov .cu-plan-n { font-size:24px; }
  #cuenta-ov .cu-plan-e, #cuenta-ov .cu-plan-ir { font-size:14px; }
  #cuenta-ov .cu-lado .cu-ops { gap:18px; }
  #cuenta-ov .cu-lado .ent-op { font-size:20px; }
}

.cr-carta.m-prueba .cr-tier-prueba { font-size:46px; letter-spacing:.01em; }
.noche.alto .cr-carta.m-prueba .cr-tier-prueba { font-size:22px; }

.tuyyo-rep { position:relative; overflow:hidden; border-radius:14px; box-shadow:0 18px 40px rgba(0,0,0,.4); }
.tuyyo-rep { width:100%; height:100%; }
.tuyyo-rep .mp-clase { position:absolute; left:50%; top:0; width:1100px; height:720px; transform-origin:0 0; transform:scale(var(--s, .2889)) translateX(-50%); }
.mp-cc-carta .tuyyo-rep .mp-clase { --s:.2889; }                 
.noche.alto .mp-cc-carta .tuyyo-rep { border-radius:6px; }
.noche.alto .mp-cc-carta .tuyyo-rep .mp-clase { --s:.0847; }     
#pr-muro .pr-carta .tuyyo-rep .mp-clase { --s:.2625; }           

.pr-tu { text-align:center; max-width:calc(900 * var(--dc-u)); margin:0 auto; }
.pr-tu-t { font-size:var(--dc-fs-60); line-height:1.1; letter-spacing:var(--dc-tracking); text-shadow:0 0 calc(22 * var(--dc-u)) rgba(242,242,244,.3); }
.pr-tu-s { margin-top:var(--dc-sp-20); font-size:var(--dc-fs-30); line-height:1.35; color:var(--dc-ink-70); }

#muro.pr-tg .mu-nombre, #muro.pr-tg .mu-correo, #muro.pr-tg .mu-clave, #muro.pr-tg .mu-acepto { display:none !important; }
#muro .pr-abre { margin-top:var(--dc-sp-20); max-width:calc(620 * var(--dc-u)); font-size:var(--dc-fs-30); line-height:1.35; color:var(--dc-ink-70); text-align:center; }

#pr-muro { position:fixed; inset:0; z-index:9650; overflow-y:auto; overscroll-behavior:contain; display:flex; justify-content:center; align-items:flex-start;
  opacity:0; visibility:hidden; transition:opacity var(--dc-t-salida) var(--dc-ease), visibility 0s linear var(--dc-t-salida);
  font-family:var(--dc-font); font-weight:var(--dc-weight); color:var(--dc-ink); -webkit-tap-highlight-color:transparent; }
#pr-muro .mu-velo { background:radial-gradient(70% 70% at 50% 45%, rgba(10,10,12,.55), rgba(10,10,12,.86)); }
#pr-muro.on { opacity:1; visibility:visible; transition:opacity var(--dc-t-entrada) var(--dc-ease), visibility 0s; }
html.pr-abierto .noche-escenario, html.pr-abierto #screen-home, html.pr-abierto #lec-ov { filter:blur(18px) saturate(.9); transition:filter var(--dc-t-entrada) var(--dc-ease); }
#pr-muro .pr-caja { position:relative; margin:auto; width:100%; max-width:calc(1500 * var(--dc-u)); padding:var(--dc-sp-60) var(--dc-sp-24); box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center; text-align:center; transform:translateY(calc(24 * var(--dc-u))); transition:transform var(--dc-t-entrada) var(--dc-ease); }
#pr-muro.on .pr-caja { transform:none; }
#pr-muro .pr-tit { margin-top:var(--dc-sp-48); font-size:var(--dc-fs-60); line-height:1.1; letter-spacing:var(--dc-tracking);
  text-shadow:0 0 calc(22 * var(--dc-u)) rgba(242,242,244,.4), 0 0 calc(64 * var(--dc-u)) rgba(242,242,244,.14); }
#pr-muro .pr-sub { margin-top:var(--dc-sp-20); max-width:calc(760 * var(--dc-u)); font-size:var(--dc-fs-30); line-height:1.35; color:var(--dc-ink-70); }
#pr-muro .pr-nums { display:flex; justify-content:center; gap:var(--dc-sp-60); margin-top:var(--dc-sp-48); flex-wrap:wrap; }
#pr-muro .pr-n { display:flex; flex-direction:column; align-items:center; gap:calc(6 * var(--dc-u)); }
#pr-muro .pr-n b { font-weight:inherit; font-size:var(--dc-fs-140); line-height:.9; font-variant-numeric:tabular-nums;
  text-shadow:0 0 calc(22 * var(--dc-u)) rgba(242,242,244,.42), 0 0 calc(64 * var(--dc-u)) rgba(242,242,244,.14); }
#pr-muro .pr-n span { font-size:var(--dc-fs-30); color:var(--dc-ink-70); }
#pr-muro .pr-planes { display:flex; justify-content:center; align-items:flex-start; gap:var(--dc-sp-60); margin-top:var(--dc-sp-60); }
#pr-muro .pr-plan { display:flex; flex-direction:column; align-items:center; gap:calc(10 * var(--dc-u)); width:300px; transition:opacity var(--dc-t-salida) var(--dc-ease); }
#pr-muro .pr-carta { width:300px; height:189px; }
#pr-muro .pr-escala { transform:scale(.3846); transform-origin:0 0; }
#pr-muro .pr-precio { margin-top:calc(14 * var(--dc-u)); font-size:var(--dc-fs-50); line-height:1.1; font-variant-numeric:tabular-nums; }
#pr-muro .pr-que { font-size:var(--dc-fs-30); line-height:1.3; color:var(--dc-ink-70); min-height:2.6em; }
#pr-muro .pr-ir { font-size:var(--dc-fs-50); }
#pr-muro .pr-plan.elegido .pr-ir { text-shadow:0 0 calc(22 * var(--dc-u)) rgba(242,242,244,.45), 0 0 calc(64 * var(--dc-u)) rgba(242,242,244,.16); }
#pr-muro .pr-planes:has(.elegido) .pr-plan:not(.elegido) { opacity:.45; }
#pr-muro .pr-hecho { min-height:1.4em; margin-top:var(--dc-sp-24); font-size:var(--dc-fs-30); color:var(--dc-ink); }
#pr-muro .pr-pie { margin-top:var(--dc-sp-24); font-size:var(--dc-fs-30); color:var(--dc-ink-70); }
#pr-muro .pr-pie a { color:inherit; text-decoration:none; cursor:pointer; }
#pr-muro .pr-punto { margin:0 .6em; }
@media (max-width:700px) {
  #pr-muro .pr-planes { flex-direction:column; align-items:center; gap:var(--dc-sp-48); }
  #pr-muro .pr-nums { gap:var(--dc-sp-24); }
  #pr-muro .pr-n b { font-size:var(--dc-fs-60); }
}

.es-mas-alto .emx-solo-t { font-size:150px; line-height:.9; margin-top:2px; letter-spacing:-.02em; color:#F2F2F4;
  text-shadow:0 0 26px rgba(242,242,244,.38), 0 0 80px rgba(242,242,244,.14); }
.noche.ancho .es-mas-alto .emx-solo-t { font-size:280px; }
.es-mas-alto .emx-sub { margin-top:14px; font-size:30px; line-height:1.2; color:rgba(242,242,244,.72); text-shadow:0 0 18px rgba(10,10,12,.6); white-space:nowrap; }
.noche.ancho .es-mas-alto .emx-sub { margin-top:18px; font-size:40px; }
.noche.alto .es-mas-alto .emx-sub { font-size:22px; white-space:normal; max-width:300px; text-align:center; }

.es-solo { background:linear-gradient(135deg, #3A3C40 0%, #1C1D20 55%, #0E0E10 100%); }
.noche.grafito .es-solo { background:linear-gradient(135deg, #585B5B 0%, #0A0A0C 100%); }
.noche.casa .es-solo { background:var(--dc-bg); }
.noche:not(.casa) .es-solo { background:transparent !important; }
.es-solo .emx-marca .n-mas-hc { color:#F2F2F4; }
.es-solo.es-mas-z .emx-marca { z-index:7; }

.es-mas-alto .emx-solo-t { text-shadow:none; }
.es-mas-alto .emx-solo-t .mp-metal, .es-mas-alto .emx-solo-t .mp-metal .cr-tier-t { font-size:inherit; line-height:inherit; letter-spacing:-.02em; }
.es-mas-alto .emx-solo-t .mp-metal .cr-tier-t { filter:drop-shadow(0 14px 24px rgba(10,14,22,.6)); }
.nv-esc:not(.moviendo) .n-rec.centro .emx-solo-t .mas-luz { animation:masLuz 2.6s cubic-bezier(.3,0,.2,1) both; }
.inv-ov .inv-marca .inv-solo-t { text-shadow:none !important; }
.inv-ov .inv-solo-t .mp-metal, .inv-ov .inv-solo-t .mp-metal .cr-tier-t { font-size:inherit !important; line-height:inherit; letter-spacing:-.02em; }

.noche.ns-esc:not(.alto) .noche-sonando { right:206px; top:56px; }
.noche.ns-esc.alto .noche-sonando { top:auto; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); right:18px; gap:8px; }
.noche.ns-esc.alto .ns-foto { width:48px; height:48px; border-radius:11px !important; box-shadow:0 14px 34px rgba(0,0,0,.6); }
.noche.lista.suena.ns-muda .noche-sonando { opacity:0 !important; transform:none; transition:opacity .28s ease; pointer-events:none; }

.si-tres { display:flex; align-items:flex-start; justify-content:center; gap:28px; width:100%; }
.noche .si-puerta { appearance:none; border:0; background:none; padding:0; margin:0; color:#F2F2F4; font:inherit; letter-spacing:inherit; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:12px; flex:0 0 auto; -webkit-tap-highlight-color:transparent;
  transition:transform var(--dc-t-lento, .45s) var(--dc-ease, ease), opacity var(--dc-t-lento, .45s) var(--dc-ease, ease); }
.noche .si-puerta:disabled { cursor:default; }
.noche .si-puerta:not(:disabled):active { transform:scale(.97); }
@media (any-hover: hover) { .noche .si-puerta:not(:disabled):hover { transform:scale(1.04); } }
.si-carta { position:relative; display:block; width:200px; height:126px; }
.si-carta .cr-carta { position:absolute; left:0; top:0; transform:scale(.2564); transform-origin:0 0; box-shadow:0 22px 50px rgba(0,0,0,.4); }
.si-carta .cr-carta, .si-carta .cr-carta * { animation-play-state:paused; }
.si-pz { position:relative; display:block; width:193px; height:126px; border-radius:10px; overflow:hidden; box-shadow:0 22px 50px rgba(0,0,0,.4); }
.si-pz .mp-clase { position:absolute; left:0; top:0; width:1100px; height:720px; transform:scale(.1755); transform-origin:0 0; }
.si-puerta-n { font-size:30px; line-height:1; margin-top:8px; text-shadow:var(--n-brillo); }
.si-puerta-n .mp-metal { font-size:inherit; }
.si-puerta-e { font-size:18px; line-height:1.2; color:rgba(242,242,244,.62); white-space:nowrap; font-variant-numeric:tabular-nums; }

.noche.alto .si-tres { flex-direction:column; align-items:stretch; gap:18px; width:auto; }
.noche.alto .si-puerta { display:grid; grid-template-columns:120px minmax(0, 1fr); grid-template-rows:auto auto; column-gap:18px; row-gap:4px; align-items:center; text-align:left; }
.noche.alto .si-puerta > .si-carta, .noche.alto .si-puerta > .si-pz { grid-row:1 / span 2; }
.noche.alto .si-carta { width:120px; height:76px; }
.noche.alto .si-carta .cr-carta { transform:scale(.3429); }   
.noche.alto .si-pz { width:66px; height:85px; border-radius:7px; justify-self:center; }
.noche.alto .si-pz .mp-clase { transform:scale(.0944); }   
.noche.alto .si-puerta-n { font-size:24px; margin-top:0; align-self:end; }
.noche.alto .si-puerta-e { font-size:14px; align-self:start; }
.noche .si-puerta-n .mp-metal, .noche .si-puerta-n .mp-metal .cr-tier-t { font-size:inherit !important; line-height:1; }

.noche .mp[data-sitio="carta"] .un-cuenta { flex-direction:row; align-items:baseline; gap:34px; margin-top:30px; }
.noche.alto .mp[data-sitio="carta"] .un-cuenta { justify-content:flex-start; gap:26px; margin-top:16px; }

.nv { transition:opacity .38s ease, visibility 0s linear .38s; }
.nv-esc.vuelve .n-rec { transition:transform 1s var(--dc-ease), opacity .8s ease .3s; }

.nv-cla.on { transition:opacity .7s ease .1s, visibility 0s; }

.mp-fono .mp-logo { left:58.8px; top:26.3px; font-size:52.6px; letter-spacing:.67px; text-shadow:0 21px 37px rgba(20,30,45,.6); }
.mp-fono .mp-logo .marca-club { font-size:.38em; margin-left:.06em; }
.mp-fono.con-leccion .mp-pantalla, .mp-fono.con-leccion .mp-pantalla.papel { background:linear-gradient(100deg, #C3C9CD 0%, #A5B0BD 45%, #7F8EA6 100%) !important; }

.mp-fono .mp-pantalla, .mp-fono .mp-leccion { isolation:isolate; -webkit-mask-image:-webkit-radial-gradient(white, black); mask-image:radial-gradient(white, black); }

.cl-combo { position:relative; display:block; }

.cl-combo .pz-carta, .mp-cs .pz-carta { display:none; }
.cl-mini { position:absolute; right:-24px; bottom:-18px; width:92px; height:58px; pointer-events:none; filter:drop-shadow(0 12px 18px rgba(0,0,0,.45)); }
.cl-mini-e { position:absolute; left:0; top:0; width:780px; height:492px; transform:scale(.118); transform-origin:0 0; }
.cl-mini-e .cr-carta, .cl-mini-e .cr-carta * { animation-play-state:paused; }

.noche.alto .cl-mini { right:-18px; bottom:-8px; width:46px; height:29px; }
.noche.alto .cl-mini-e { width:350px; height:221px; transform:scale(.1314); }

#muro .mu-item-pz .cl-combo { display:inline-block; }
@media (max-width:700px) { #muro .cl-mini { right:-14px; bottom:-10px; width:50px; height:32px; } #muro .cl-mini-e { transform:scale(.0641); } }

.mp-cs { position:relative; }
.mp-cs-carta { position:absolute; right:-54px; bottom:-64px; width:780px; height:492px; transform:scale(.5); transform-origin:100% 100%;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.45)); pointer-events:none; }
.mp-cs-carta .cr-carta { box-shadow:none; }
.noche.alto .mp-cs-carta { right:-24px; bottom:-30px; width:350px; height:221px; transform:scale(.85); }

.noche .si-puerta.si-tuyo .si-carta .cr-carta { box-shadow:0 0 0 3px rgba(255,255,255,.28), 0 0 70px 18px rgba(255,255,255,.42), 0 22px 50px rgba(0,0,0,.35); }
.noche .si-puerta.si-tuyo .si-pz { box-shadow:0 0 0 1px rgba(255,255,255,.35), 0 0 22px 5px rgba(255,255,255,.42), 0 22px 50px rgba(0,0,0,.35); }
.noche .si-puerta.si-tuyo .si-puerta-e { color:#F2F2F4; text-shadow:0 0 14px rgba(242,242,244,.55), 0 0 36px rgba(242,242,244,.25); }
.noche.alto .si-puerta.si-tuyo .si-carta .cr-carta { box-shadow:0 0 0 2px rgba(255,255,255,.28), 0 0 40px 10px rgba(255,255,255,.42); }

.noche .cu-clases { position:absolute; top:84px; z-index:9; appearance:none; border:0; background:none; padding:0; margin:0; cursor:pointer;
  display:inline-flex; align-items:center; font-family:var(--dc-font, 'Coolvetica', sans-serif); color:#F2F2F4; transition:opacity .35s ease, transform .2s ease; translate:0 var(--cu-dy, 0px); }
.noche .cu-clases[hidden] { display:none !important; }
.noche .cu-clases:active { transform:scale(.96); }
@media (any-hover:hover) { .noche .cu-clases:hover { transform:scale(1.04); } }
.noche .cu-clases .cu-t { text-shadow:var(--n-brillo); }
.noche.alto .cu-clases { right:24px !important; top:86px; }
.noche.alto .cu-clases .cu-t { font-size:16px; }
.noche:not(.lista) .cu-clases, .noche:not([data-vista="esc"]) .cu-clases { opacity:0; pointer-events:none; }
@media (any-hover: hover) { .noche .cu-clases:hover .cu-t { color:#fff; } }

.noche.con-clases.ns-esc:not(.alto) .noche-sonando { right:var(--cu-sonando, 420px); }

#muro .rec-pista { margin-top:var(--dc-sp-20, 20px); max-width:calc(620 * var(--dc-u, 1px)); font-size:var(--dc-fs-30, 18px); line-height:1.35; color:var(--dc-ink-70, rgba(242,242,244,.7)); text-align:center; }

@media (max-width:700px) {
  #muro .mu-tres { gap:10px; }
  #muro .mu-tres .mu-carta { width:78px; height:49px; }
  #muro .mu-tres .mu-carta .cr-carta { transform:scale(.1); }
  #muro .mu-pz { width:78px; height:51px; }
  #muro .mu-pz .mp-clase { transform:scale(.0709); }
  #muro .cl-mini { right:-10px; bottom:-8px; width:36px; height:23px; }
  #muro .cl-mini-e { transform:scale(.0462); }
}

.noche.alto .si-puerta > .cl-combo { grid-row:1 / span 2; justify-self:center; }

.tr-alza { position:fixed; left:0; top:0; z-index:9300; pointer-events:none; transform-origin:0 0; line-height:normal; white-space:nowrap; will-change:transform; }
.tr-alza-w { display:inline-block; transform-origin:50% 85%;
  transition:transform var(--dc-t-lento, .7s) var(--dc-ease, cubic-bezier(.42,0,.18,1)), text-shadow var(--dc-t-lento, .7s) var(--dc-ease, cubic-bezier(.42,0,.18,1)), color var(--dc-t-lento, .7s) var(--dc-ease, cubic-bezier(.42,0,.18,1)); }
.tr-alza.alzada .tr-alza-w { color:#fff !important; transform:translateY(-.24em) scale(1.08); text-shadow:0 .47em .76em rgba(0,0,0,.62), 0 .82em 1.3em rgba(0,0,0,.3); }
*::highlight(tr-oculta) { color:transparent; text-shadow:none; }
@media (prefers-reduced-motion: reduce) { .tr-alza-w { transition:none !important; } }

.noche.ns-esc:not(.alto) .noche-sonando, .noche.con-clases.ns-esc:not(.alto) .noche-sonando { right:56px; top:52px; }
.noche:not(.alto) .cu-club { top:auto; bottom:44px; right:56px; }
.noche:not(.alto) .cu-clases { top:auto; bottom:52px; }
.noche.ns-esc.alto .noche-sonando { top:38px; bottom:auto; right:18px; gap:6px; }
.noche.ns-esc.alto .ns-foto { width:40px; height:40px; border-radius:9px !important; }
.noche.alto .cu-club { top:auto; right:auto; left:16px; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); }
.noche.alto .cu-clases { top:auto; left:auto; right:16px !important; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); }
.noche.alto :is(.cu-club, .cu-clases) { padding:9px 16px 9px 10px; border-radius:999px; background:rgba(242,242,244,.08);
  box-shadow:inset 0 0 0 1px rgba(242,242,244,.16), 0 10px 26px rgba(0,0,0,.35); --cu-dy:0px; translate:none; }
.noche.alto .cu-clases { padding:11px 18px; }

.noche .nm-son-foto { position:relative; overflow:hidden; }
.noche .nm-son-t { transition:opacity .35s ease; }
.noche .nm-son-t.cambia { opacity:0; }

.noche :is(.cu-club, .cu-clases) { padding:0; border-radius:0; background:none; box-shadow:none; translate:none; --cu-dy:0px;
  display:inline-flex; align-items:center; gap:12px; transform-origin:center;
  transition:transform var(--dc-t-lento, .7s) var(--dc-ease, cubic-bezier(.42,0,.18,1)), opacity .5s ease; }
.noche:not(.alto) :is(.cu-club, .cu-clases) { top:auto; bottom:48px; }
.noche.alto :is(.cu-club, .cu-clases) { bottom:calc(22px + env(safe-area-inset-bottom, 0px)); }
.noche :is(.cu-club, .cu-clases) .cu-t { font-family:var(--dc-font, 'Coolvetica', sans-serif); line-height:1; color:rgba(242,242,244,.62); text-shadow:none;
  transition:color var(--dc-t-lento, .7s) var(--dc-ease, cubic-bezier(.42,0,.18,1)), text-shadow var(--dc-t-lento, .7s) var(--dc-ease, cubic-bezier(.42,0,.18,1)); }
.noche:not(.alto) :is(.cu-club, .cu-clases) .cu-t { font-size:26px; }
.noche.alto :is(.cu-club, .cu-clases) .cu-t { font-size:17px; }
@media (any-hover:hover) { .noche :is(.cu-club, .cu-clases):hover { transform:scale(1.12); } }
.noche :is(.cu-club, .cu-clases):active { transform:scale(1.12); }
@media (any-hover:hover) { .noche :is(.cu-club, .cu-clases):hover .cu-t { color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35); } }
.noche :is(.cu-club, .cu-clases):active .cu-t { color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35); }
.noche:not(.alto) .cu-club .cu-mini { width:54px; height:34px; border-radius:4px; box-shadow:0 4px 10px rgba(10,12,16,.35); }
.noche:not(.alto) .cu-club .cu-mini-carta .cr-carta { transform:scale(.0692); }   

.noche .hz-paso { min-width: 0; }
.noche .hz-lista { list-style: none; padding: 0; }
.noche .hz-lista li { position: relative; padding-left: .9em; }
.noche .hz-lista li + li { margin-top: .32em; }
.noche .hz-lista li::before { content: "·"; position: absolute; left: .1em; top: 0; color: rgba(242,242,244,.55); }

.noche .hz-ops { margin-top: 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  opacity: 0; translate: 0 10px; animation: mpEntra .55s var(--dc-ease) .2s forwards; }
.noche .hz-op { display: flex; align-items: baseline; gap: 18px; padding: 6px 0; text-align: left; color: #F2F2F4;
  transition: transform var(--dc-t-lento) var(--dc-ease), opacity .3s ease; }
.noche .hz-op-t { font-size: 34px; line-height: 1.15; text-shadow: var(--n-brillo); }
.noche .hz-op-s { font-size: 21px; color: rgba(242,242,244,.55); white-space: nowrap; }
.noche .hz-op.mio .hz-op-s { color: #F2F2F4; text-shadow: var(--n-brillo); }
.noche .hz-op[disabled] { cursor: default; }
.noche .hz-op.lleno { opacity: .38; }
@media (any-hover: hover) { .noche .hz-op:not([disabled]):hover { transform: translateX(6px); } }

.noche .hz-niveles { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 4px 26px;
  opacity: 0; translate: 0 10px; animation: mpEntra .55s var(--dc-ease) .2s forwards; }
.noche .hz-nv { padding: 6px 0; font-size: 34px; line-height: 1.15; color: rgba(242,242,244,.42); text-shadow: none;
  transition: color .3s ease, text-shadow .3s ease, transform var(--dc-t-lento) var(--dc-ease); }
.noche .hz-nv.mio { color: #F2F2F4; text-shadow: var(--n-brillo); }
@media (any-hover: hover) { .noche .hz-nv:hover { color: #F2F2F4; } }
.noche.alto .hz-niveles { margin-top: 12px; gap: 0 20px; }
.noche.alto .hz-nv { font-size: 22px; padding: 7px 0; }

.noche .hz-volver { display: block; margin-top: 22px; font-size: 22px; color: rgba(242,242,244,.5); text-align: left;
  opacity: 0; animation: mpEntra .55s var(--dc-ease) .34s forwards; transition: color .3s ease; }
.noche .hz-volver.hz-otra { margin-top: 18px; color: rgba(242,242,244,.72); }
.noche .hz-volver + .hz-volver { margin-top: 10px; }
@media (any-hover: hover) { .noche .hz-volver:hover { color: #F2F2F4; } }
.noche .hz-nota { margin-top: 10px; font-size: 19px; color: rgba(242,242,244,.42);
  opacity: 0; animation: mpEntra .55s var(--dc-ease) .3s forwards; }
.noche .hz-ir[disabled] { opacity: .45; pointer-events: none; }

.noche .hz-campo { display: block; width: 100%; max-width: 22em; margin-top: 22px; padding: 4px 0; border: 0; outline: 0; background: none;
  border-radius: 0; box-shadow: none; font: inherit; font-size: 30px; line-height: 1.3; color: #F2F2F4; caret-color: #F2F2F4;
  -webkit-user-select: text; user-select: text; text-shadow: var(--n-brillo);
  opacity: 0; animation: mpEntra .55s var(--dc-ease) .2s forwards; }
.noche .hz-campo::placeholder { color: rgba(242,242,244,.28); text-shadow: none; }

.noche.alto .hz-ops { margin-top: 12px; gap: 0; }
.noche.alto .hz-op { gap: 12px; padding: 5px 0; }
.noche.alto .hz-op-t { font-size: 21px; }
.noche.alto .hz-op-s { font-size: 14px; }
.noche.alto .hz-volver { margin-top: 12px; font-size: 15px; }
.noche.alto .hz-volver + .hz-volver { margin-top: 6px; }
.noche.alto .hz-nota { margin-top: 6px; font-size: 13px; }
.noche.alto .hz-campo { font-size: 19px; margin-top: 12px; }
.noche.alto .hz-lista li + li { margin-top: .22em; }

.noche.alto .mp.hz-en-paso .mp-vis { opacity: .35; transition: opacity .5s ease; }

.hz-velo { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #2C2D2E 0%, #16171A 48%, #0A0A0C 100%); opacity: 0; transition: opacity .9s var(--dc-ease, ease); }
.hz-velo.on { opacity: 1; }
.hz-velo.ido { opacity: 0; pointer-events: none; transition: opacity 1s var(--dc-ease, ease); }
.hz-velo-t { text-align: center; color: #F2F2F4; font-family: inherit; padding: 0 28px;
  opacity: 0; transition: opacity .8s ease .9s; }
.hz-velo.on .hz-velo-t { opacity: 1; }
.hz-velo.ido .hz-velo-t { opacity: 0; transition: opacity .3s ease; }
.hz-velo-f { font-size: clamp(22px, 2.6vw, 40px); line-height: 1.15; text-shadow: 0 0 22px rgba(242,242,244,.42), 0 0 64px rgba(242,242,244,.14); }
.hz-velo-d { margin-top: 10px; font-size: clamp(15px, 1.4vw, 22px); color: rgba(242,242,244,.6); }
.hz-velo .hz-volver { display: inline-block; margin-top: 26px; font-size: clamp(14px, 1.2vw, 18px); color: rgba(242,242,244,.45);
  background: none; border: 0; padding: 4px 0; cursor: pointer; font-family: inherit; opacity: 1; animation: none; }
@media (any-hover: hover) { .hz-velo .hz-volver:hover { color: #F2F2F4; } }
@media (prefers-reduced-motion: reduce) {
  .noche .hz-ops, .noche .hz-niveles, .noche .hz-volver, .noche .hz-nota, .noche .hz-campo { animation: none; opacity: 1; translate: 0 0; }
}

#alumno-panel-auto .cam-solo { display:flex; flex-direction:column; align-items:stretch; }
.cam-linea {
  display:flex; gap:.8em; align-items:baseline; justify-content:center;
  font-family:var(--dc-font); font-size:var(--dc-fs-30); color:var(--dc-ink);
  letter-spacing:var(--dc-tracking); margin:0 auto var(--dc-sp-8); text-shadow:var(--dc-shadow-text);
}
.cam-linea > span { opacity:.85; }
.cam-linea .cam-abrir { font-size:var(--dc-fs-30); padding:0; opacity:1; text-shadow:var(--dc-shadow-text-strong); transform-origin:center; text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }
.filtros.cam-alas { margin-bottom:var(--dc-sp-8); }
.filtros.cam-alas .ent-op.cam-cerrada { opacity:.2; }
@media (any-hover: hover) { .filtros.cam-alas .ent-op.cam-cerrada:hover { opacity:.4; transform:none; } }

.ent-op.cam-respira { animation:camRespira 6s ease-in-out infinite; }
.gal-item.cam-respira .gal-titulo > span { animation:camRespira 6s ease-in-out infinite; }
@keyframes camRespira {
  0%, 100% { text-shadow:var(--dc-shadow-text-strong); }
  50% { text-shadow:0 0 14px rgba(255,255,255,.95), 0 0 40px rgba(255,255,255,.55), var(--dc-shadow-text-strong); }
}

.ent-op.cam-nace { opacity:1; animation:naceBrilla 5.4s cubic-bezier(.3,0,.2,1) forwards; }

#cam-ov {
  position:fixed; inset:0; z-index:2400; overflow:hidden;
  background:var(--dc-bg); opacity:0; transition:opacity .45s var(--dc-ease);
  -webkit-user-select:none; user-select:none;
}
#cam-ov.show { opacity:1; }
#cam-ov.hide { opacity:0; transition-duration:var(--dc-t-salida); }
#cam-ov .crear-marca { z-index:7; font-size:44px; top:calc(22px + env(safe-area-inset-top, 0px)); left:calc(30px + env(safe-area-inset-left, 0px)); }

.cam-cab {
  position:absolute; left:0; right:0; top:0; z-index:5; pointer-events:none;
  display:flex; flex-direction:column; align-items:center;
  padding-top:calc(24px + env(safe-area-inset-top, 0px)); padding-bottom:72px;
  
  background:var(--dc-bg); background-size:100vw 100vh; background-position:left top;
  -webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - 66px), transparent); mask-image:linear-gradient(to bottom, #000 calc(100% - 66px), transparent);
}
.cam-cab > * { pointer-events:auto; }
.filtros.cam-pisos { gap:var(--dc-sp-48); }
.filtros.cam-pisos .ent-op { text-transform:none; font-size:var(--dc-fs-40); }
.filtros.cam-pisos .ent-op.cam-cerrada:not(.active) { opacity:.22; }
.cam-cuenta {
  font-family:var(--dc-font); font-size:var(--dc-fs-22); color:var(--dc-ink);
  letter-spacing:var(--dc-tracking); opacity:.75; margin-top:var(--dc-sp-6); text-align:center; padding:0 24px;
}
.cam-vp { position:absolute; inset:0; touch-action:none; cursor:grab; }
.cam-vp:active { cursor:grabbing; }
.cam-mundo { position:absolute; left:0; top:0; transform-origin:0 0; will-change:transform; }
.cam-lineas { position:absolute; left:0; top:0; overflow:visible; pointer-events:none; }
.cam-pasillo { fill:none; stroke:rgba(255,255,255,.3); stroke-width:6; stroke-linecap:round; stroke-dasharray:1 18; }
.cam-pasillo.enc { stroke:rgba(255,255,255,.85); stroke-dasharray:none; }

.cam-zona { position:absolute; display:flex; flex-direction:column; color:var(--dc-ink); font-family:var(--dc-font); pointer-events:none; transition:opacity var(--dc-t-lento) var(--dc-ease); }
.cam-z-n { font-size:52px; line-height:1; letter-spacing:.5px; white-space:nowrap; text-shadow:var(--dc-shadow-text-strong); }
.cam-z-ru { font-size:24px; line-height:1; opacity:.7; margin-top:10px; white-space:nowrap; }
.cam-zona.cerrada, .cam-zona.cam-por-nacer { opacity:.32; }
.cam-zona.cam-nace { opacity:1; }
.cam-zona.cam-nace .cam-z-n { animation:naceBrilla 5.4s cubic-bezier(.3,0,.2,1) forwards; }

.cam-sala {
  position:absolute; box-sizing:border-box; border-radius:12px; padding:20px 24px;
  display:flex; flex-direction:column; justify-content:space-between;
  font-family:var(--dc-font); color:var(--dc-ink); letter-spacing:.3px; cursor:pointer;
  transition:background var(--dc-t-lento) var(--dc-ease), box-shadow var(--dc-t-lento) var(--dc-ease),
             opacity var(--dc-t-lento) var(--dc-ease), transform var(--dc-t-lento) var(--dc-ease);
}
.cam-s-t { font-size:34px; line-height:1.08; }
.cam-s-t > span { -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.cam-s-pie { font-size:22px; line-height:1; opacity:.75; }
.cam-sala.est-cerrada { background:rgba(255,255,255,.05); opacity:.42; }
.cam-sala.est-pronto { background:rgba(255,255,255,.1); }
.cam-sala.est-pronto .cam-s-t { opacity:.72; }
.cam-sala.est-abierta, .cam-sala.est-nueva { background:rgba(255,255,255,.17); box-shadow:var(--dc-shadow-pill-metal); }
.cam-sala.est-hecha { background:var(--dc-glass); box-shadow:var(--dc-shadow-pill-metal); }
.cam-sala.est-hecha .cam-s-t > span { background-image:linear-gradient(var(--hl-g), var(--hl-g)); padding:.02em .12em; border-radius:.22em; }
.cam-sala.est-nueva { animation:camRespiraSala 6s ease-in-out infinite; }
@keyframes camRespiraSala {
  0%, 100% { box-shadow:var(--dc-shadow-pill-metal), 0 0 0 rgba(255,255,255,0); }
  50% { box-shadow:var(--dc-shadow-pill-metal), 0 0 22px rgba(255,255,255,.75), 0 0 70px rgba(255,255,255,.35); }
}
.cam-sala.cam-nace { animation:camNaceSala 3s cubic-bezier(.3,0,.2,1) both; }
@keyframes camNaceSala {
  0%   { box-shadow:var(--dc-shadow-pill-metal), 0 0 0 rgba(255,255,255,0); }
  18%  { box-shadow:var(--dc-shadow-pill-metal), 0 0 18px #fff, 0 0 70px rgba(255,255,255,.95), 0 0 160px rgba(255,255,255,.6); background:rgba(255,255,255,.7); }
  100% { box-shadow:var(--dc-shadow-pill-metal), 0 0 22px rgba(255,255,255,.25); }
}
.cam-sala.elegida { transform:scale(1.04); }
.cam-sala.cam-jefe .cam-s-t { font-size:40px; }

.cam-aqui {
  position:absolute; z-index:3; transform:translate(-50%, -100%); pointer-events:none;
  display:flex; flex-direction:column; align-items:center; opacity:0;
  transition:left 1.4s var(--dc-ease), top 1.4s var(--dc-ease), opacity .6s var(--dc-ease);
}
.cam-aqui.ver { opacity:1; }
.cam-aqui-t { font-family:var(--dc-font); font-size:36px; line-height:1; color:#fff; white-space:nowrap; text-shadow:var(--dc-shadow-text-strong); margin-bottom:14px; }
.cam-aqui-p { width:16px; height:16px; border-radius:4px; background:#fff; margin-bottom:-8px; animation:camLatido 2.4s ease-out infinite; }
@keyframes camLatido {
  0% { box-shadow:0 0 0 0 rgba(255,255,255,.8); }
  100% { box-shadow:0 0 0 24px rgba(255,255,255,0); }
}

.cam-ficha {
  position:absolute; z-index:4; left:0; right:0; bottom:0;
  padding:var(--dc-sp-60) calc(28px + env(safe-area-inset-left, 0px)) calc(28px + env(safe-area-inset-bottom, 0px));
  display:flex; flex-direction:column; align-items:flex-start;
  color:var(--dc-ink); font-family:var(--dc-font); letter-spacing:var(--dc-tracking);
  background:var(--dc-bg); background-size:100vw 100vh; background-position:left bottom;
  -webkit-mask-image:linear-gradient(to top, #000 78%, transparent); mask-image:linear-gradient(to top, #000 78%, transparent);
  opacity:0; transform:translateY(24px); pointer-events:none;
  transition:opacity var(--dc-t-lento) var(--dc-ease), transform var(--dc-t-lento) var(--dc-ease);
}
.cam-ficha.ver { opacity:1; transform:none; pointer-events:auto; }
.cam-f-ala { font-size:var(--dc-fs-22); opacity:.7; }
.cam-f-t { font-size:var(--dc-fs-60); line-height:1.05; text-shadow:var(--dc-shadow-text-strong); margin:var(--dc-sp-6) 0 var(--dc-sp-10); }
.cam-f-puedo { font-size:var(--dc-fs-30); line-height:1.25; max-width:30ch; }
.cam-f-lecs { display:flex; flex-direction:column; align-items:flex-start; margin-top:var(--dc-sp-16); }
.cam-f-lec { display:flex; gap:.6em; align-items:baseline; text-align:left; text-transform:none; font-size:var(--dc-fs-30); opacity:.7; padding:var(--dc-sp-6) 0; }
.cam-f-lec.active { opacity:1; text-shadow:var(--dc-shadow-text-strong); }
.cam-f-lec.apagada { opacity:.32; cursor:default; }
@media (any-hover: hover) { .cam-f-lec.apagada:hover { opacity:.32; transform:none; } }
.cam-f-n { font-size:.72em; opacity:.75; }
.cam-f-nota { font-size:var(--dc-fs-30); line-height:1.25; opacity:.85; margin-top:var(--dc-sp-16); max-width:30ch; }
.cam-ficha .cam-f-ir { margin-top:var(--dc-sp-24); }

@media (min-width:900px) and (orientation:landscape) {
  .cam-ficha {
    left:auto; top:0; width:38vw; justify-content:center; background-position:right top;
    padding:0 var(--dc-sp-72) 0 calc(var(--dc-sp-60) + 4vw);
    -webkit-mask-image:linear-gradient(to right, transparent, #000 13%); mask-image:linear-gradient(to right, transparent, #000 13%);
    transform:translateX(24px);
  }
}
@media (max-width:700px) {
  #cam-ov .crear-marca { font-size:46px; left:calc(24px + env(safe-area-inset-left, 0px)); }
  .cam-cab { padding-top:calc(96px + env(safe-area-inset-top, 0px)); }
  .filtros.cam-pisos { gap:var(--dc-sp-60); }
  .filtros.cam-pisos .ent-op { font-size:var(--dc-fs-50); }
  .cam-cuenta { font-size:var(--dc-fs-30); }
  .cam-f-ala { font-size:var(--dc-fs-30); }
}
@media (prefers-reduced-motion: reduce) {
  .ent-op.cam-respira, .gal-item.cam-respira .gal-titulo > span, .cam-sala.est-nueva, .cam-aqui-p { animation:none; }
}

.cam-sala.est-hecha.firme { box-shadow:var(--dc-shadow-pill-metal), 0 0 0 2px rgba(194,202,212,.55), 0 0 28px rgba(194,202,212,.28); }
.cam-sala.est-hecha.firme .cam-s-t > span { background-image:linear-gradient(180deg, #F2F4F7, #C2CAD4 45%, #8B97AB); -webkit-background-clip:text; background-clip:text; color:transparent; padding:0; }
.cam-sala.est-hecha.firme .cam-s-pie { opacity:.95; }
.cam-f-tutor { font-size:var(--dc-fs-22); line-height:1.3; opacity:.8; margin-top:var(--dc-sp-10); max-width:34ch; }

.cam-f-primera b { font-weight:inherit; opacity:1; text-shadow:var(--dc-shadow-text-strong); }
.cam-f-primera .cam-f-tg { font-size:inherit; padding:0; opacity:1; text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; transform-origin:left center; }
.cam-f-tutor.firme { opacity:1; }

#screen-home .gal-item.gal-solo .gal-titulo { visibility:hidden; height:0; margin:0; }
#screen-home .gal-item.gal-solo .gal-vacia { padding:0 9%; box-sizing:border-box; text-align:center; text-wrap:balance;
  font-size:calc(var(--gal-w) * .105); line-height:1.1; color:#fff;
  filter:drop-shadow(0 calc(var(--gal-w) * .022) calc(var(--gal-w) * .03) rgba(20,30,45,.45)); }
#screen-home .gal-item.gal-solo.cam-respira .gal-vacia { animation:camRespira 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { #screen-home .gal-item.gal-solo.cam-respira .gal-vacia { animation:none; } }

#tm-ov { position:fixed; inset:0; z-index:1290; overflow:hidden; pointer-events:auto;
  --n-brillo:0 0 22px rgba(242,242,244,.42), 0 0 64px rgba(242,242,244,.14); }
#tm-ov .tm-velo { position:absolute; inset:0; background:#0E1016; opacity:0; }
#tm-ov .tm-lienzo { position:absolute; inset:0; width:100%; height:100%; display:block; }
#tm-ov .tm-humo { position:absolute; inset:0; width:100%; height:100%; display:block; }
#tm-ov .tm-pared { position:absolute; inset:0; }
#tm-ov.tm-sale { transition:opacity .45s var(--dc-ease); opacity:0; }

#tm-ov .tm-t { opacity:0; }

#tm-ov .enciende .tm-t { animation:frTAparece calc(2.4s * var(--tmk, 1)) var(--dc-ease) var(--d) both; }
#tm-ov .enciende .tm-t::before { animation:frTBrillo calc(3s * var(--tmk, 1)) ease-out var(--d) both; }
#tm-ov .enciende .tm-t::after { animation:frTFlash calc(1.6s * var(--tmk, 1)) ease-out var(--d) both; }

#tm-ov .tm-elegida { z-index:2; box-shadow:0 24px 60px rgba(0,0,0,.5); will-change:transform; }
#tm-ov .tm-elegida.destella::before { animation:tmBrilloQueda calc(1.6s * var(--tmk, 1)) ease-out both; }
#tm-ov .tm-elegida.destella::after { animation:frTFlash calc(.9s * var(--tmk, 1)) ease-out both; }
@keyframes tmBrilloQueda { 0% { opacity:0; } 20% { opacity:1; } 100% { opacity:.75; } }

#tm-ov .tm-marca { position:absolute; z-index:3; opacity:0; pointer-events:none; white-space:nowrap;
  top:min(40px, 2.8vw); left:min(56px, 3.9vw); font-size:min(78px, 5.42vw); line-height:1;
  font-family:'Coolvetica','DM Sans',sans-serif; font-weight:400; letter-spacing:.5px; color:#F2F2F4;
  text-shadow:0 0 18px rgba(242,242,244,.42), 0 0 44px rgba(242,242,244,.16); }

html body #hc-ov #hc-marca, html body #lec-ov .crear-marca {
  font-size:min(78px, 5.42vw); top:min(40px, 2.8vw); left:min(56px, 3.9vw); }
@media (max-width:700px) {
  html body #hc-ov #hc-marca, html body #lec-ov .crear-marca, #tm-ov .tm-marca {
    font-size:min(46px, 11.8vw); top:calc(min(34px, 8.7vw) + env(safe-area-inset-top, 0px)); left:min(24px, 6.2vw); }
}

#hc-preguntas { display:none !important; }
body.is-teacher #hc-ov:not(.hc-student) #hc-preguntas.tm-hay { display:inline-flex !important; }
body:not(.is-teacher) #hc-tema { display:none !important; }
#hc-ov.hc-student #hc-tema { display:none !important; }

.tm-chu { position:absolute; z-index:7; right:calc(36px + env(safe-area-inset-right, 0px)); top:110px; bottom:110px; width:min(31vw, 460px);
  overflow-y:auto; scrollbar-width:none; pointer-events:auto;
  font-family:var(--dc-font); letter-spacing:var(--dc-tracking); color:var(--dc-ink); text-shadow:var(--dc-shadow-text-strong);
  opacity:0; transform:translateX(18px); transition:opacity .35s var(--dc-ease), transform .45s var(--dc-ease); }
.tm-chu::-webkit-scrollbar { display:none; }

.tm-chu-sombra { position:absolute; z-index:6; top:0; right:0; bottom:0; width:min(46vw, 700px); pointer-events:none;
  background:linear-gradient(270deg, rgba(20,28,42,.62) 0%, rgba(20,28,42,.42) 45%, rgba(20,28,42,0) 100%);
  opacity:0; transition:opacity .4s var(--dc-ease); }
.tm-chu-sombra.abierta { opacity:1; }
@media (max-width:760px) { .tm-chu-sombra { left:0; top:auto; width:auto; height:62%; background:linear-gradient(0deg, rgba(20,28,42,.7) 0%, rgba(20,28,42,.45) 55%, rgba(20,28,42,0) 100%); } }
.tm-chu.abierta { opacity:1; transform:none; }
.tm-chu-b { margin-bottom:20px; }
.tm-chu-l { font-size:16px; opacity:.62; margin-bottom:5px; }
.tm-chu-x { font-size:21px; line-height:1.24; }
.tm-chu-x + .tm-chu-x { margin-top:6px; }
.tm-chu-giro .tm-chu-x { padding-left:1.25em; text-indent:-1.25em; }
.tm-chu-pie { display:flex; gap:22px; margin-top:8px; }
.tm-b { background:none; border:none; padding:4px 0; cursor:pointer; color:inherit; font-family:inherit; letter-spacing:inherit;
  font-size:17px; text-shadow:inherit; opacity:.55; transition:opacity .25s, transform .25s var(--dc-ease); }
.tm-b.on { opacity:1; }
@media (any-hover:hover) { .tm-b:hover { opacity:1; } }
@media (max-width:760px) {
  .tm-chu { left:18px; right:18px; width:auto; top:auto; bottom:96px; max-height:46%; }
  .tm-chu-x { font-size:18px; }
}

#tm-panel { position:fixed; inset:0; z-index:1320; display:flex; align-items:center; justify-content:center; padding:var(--dc-sp-60);
  background:rgba(30,40,55,.30); -webkit-backdrop-filter:blur(30px); backdrop-filter:blur(30px);
  opacity:0; transition:opacity var(--dc-t-entrada) var(--dc-ease); font-family:var(--dc-font); letter-spacing:var(--dc-tracking); }
#tm-panel.abierto { opacity:1; }
#tm-panel .tmp-cuerpo { display:flex; flex-direction:column; align-items:center; gap:var(--dc-sp-24);
  transform:translateY(calc(12 * var(--dc-u))); transition:transform var(--dc-t-entrada) var(--dc-ease); }
#tm-panel.abierto .tmp-cuerpo { transform:none; }
#tm-panel .tmp-titulo { font-size:var(--dc-fs-100); color:var(--dc-ink); text-shadow:var(--dc-shadow-text-strong); line-height:1; margin-bottom:var(--dc-sp-8); }
#tm-panel .tmp-fila { display:flex; gap:var(--dc-sp-24); align-items:baseline; }
#tm-panel .tmp-op, #tm-panel .tmp-ir { background:none; border:none; cursor:pointer; padding:var(--dc-sp-8) var(--dc-sp-12);
  font-family:var(--dc-font); letter-spacing:var(--dc-tracking); color:var(--dc-ink); text-shadow:var(--dc-shadow-text-strong);
  font-size:var(--dc-fs-30); opacity:.45; transition:opacity var(--dc-t-lento) var(--dc-ease), transform var(--dc-t-lento) var(--dc-ease); }
#tm-panel .tmp-op.on { opacity:1; }
#tm-panel .tmp-ir { font-size:var(--dc-fs-50); opacity:1; margin-top:var(--dc-sp-16); }
#tm-panel .tmp-ir[disabled] { opacity:.35; cursor:default; }
#tm-panel .tmp-nota { font-size:var(--dc-fs-22); color:var(--dc-ink); opacity:.6; min-height:1.2em; text-shadow:var(--dc-shadow-text-strong); }
@media (any-hover:hover) { #tm-panel .tmp-op:hover, #tm-panel .tmp-ir:not([disabled]):hover { opacity:1; transform:scale(1.05); } }
@media (prefers-reduced-motion: reduce) { #tm-ov .enciende .tm-t { animation-duration:.01s; } }

:is(.mp-vis, .fs-esc) > .fs { flex: none; position: relative; width: 390px; height: 800px; box-sizing: border-box; padding: 0; border-radius: 55px;
  background: none; box-shadow: 0 40px 80px rgba(20,30,45,.30), 0 6px 26px rgba(20,30,45,.18);   
  transform: scale(var(--mp-esc, 1)); transform-origin: center; cursor: pointer;
  transition: transform .6s var(--dc-ease, cubic-bezier(.25,.1,.25,1)); }
.fs-pantalla { position: relative; width: 390px; height: 800px; border-radius: 55px; overflow: hidden; isolation: isolate;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  background: linear-gradient(100deg, #C3C9CD 0%, #A5B0BD 45%, #7F8EA6 100%); }
.fs-logo { position: absolute; left: 30px; top: 62px; z-index: 8; font-size: 40px; line-height: 1; color: #fff; white-space: nowrap; pointer-events: none;
  text-shadow: 0 14px 26px rgba(20,30,45,.42), 0 3px 8px rgba(20,30,45,.18); }
.fs-logo .marca-club { font-size: .4em; margin-left: .08em; }
.fs-capa { position: absolute; inset: 0; opacity: 0; transition: opacity .6s cubic-bezier(.25,.1,.25,1); pointer-events: none; }

.fs[data-modo="leccion"] .fs-lec, .fs[data-modo="camino"] .fs-camino,
.fs[data-modo="chat"] .fs-chat, .fs[data-modo="juntos"] .fs-chat { opacity: 1; }
.mp-vis.en-leccion .fs[data-modo="juntos"] .fs-lec { opacity: 1; z-index: 3; }
.mp-vis.en-leccion .fs[data-modo="juntos"] .fs-chat { opacity: 0; }

.fs-v { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; background: transparent; }
.fs-v.on { opacity: 1; }
.fs-v.on.entra { animation: fsEntra .5s ease both; }
@keyframes fsEntra { from { opacity: 0; } to { opacity: 1; } }

.fs-camino { padding: 140px 28px 40px; display: flex; flex-direction: column; gap: 18px; box-sizing: border-box; }
.fs-cam-l { display: flex; align-items: center; gap: 16px; color: #fff; opacity: 0; transform: translateY(12px);
  text-shadow: 0 8px 18px rgba(20,30,45,.32), 0 2px 6px rgba(20,30,45,.16); }
.fs[data-modo="camino"] .fs-cam-l { animation: fsCam .7s cubic-bezier(.25,.1,.25,1) calc(.2s + var(--i) * .14s) both; }
@keyframes fsCam { to { opacity: 1; transform: none; } }
.fs-cam-n { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font-size: 21px; line-height: 1;
  background: linear-gradient(90deg, #97A4BA 0%, #CCD2D8 100%); box-shadow: 0 10px 24px rgba(20,30,45,.24); }
.fs-cam-x { font-size: 25px; line-height: 1.15; }
.fs-cam-l.mas .fs-cam-n, .fs-cam-l.nueva .fs-cam-n { background: none; box-shadow: inset 0 0 0 2px rgba(255,255,255,.75); }
.fs-cam-l.mas, .fs-cam-l.nueva { opacity: 0; }
.fs[data-modo="camino"] .fs-cam-l.nueva .fs-cam-x { opacity: .85; }

.fs-chat .mp-charla { position: absolute; left: 0; right: 0; top: 130px; bottom: 36px; display: flex; flex-direction: column; justify-content: flex-end;
  gap: 18px; padding: 0 22px; overflow: visible; }
.fs .mp-grupo { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }

.fs .mp-de { font-size: 0; line-height: 1; padding-left: 18px; animation: mpSube .9s cubic-bezier(.25,.1,.25,1) forwards; opacity: 0; }
.fs .mp-de::before { content: "no solo"; font-size: 21px; letter-spacing: -.01em;
  background: linear-gradient(100deg, #FFFFFF 0%, #EEF2F6 40%, #C9D1DB 60%, #FFFFFF 100%); -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent; filter: drop-shadow(0 4px 8px rgba(20,30,45,.35)); }
.fs .mp-l { max-width: 86%; padding: 18px 26px; border-radius: 34px; font-size: 25px; line-height: 1.28; color: #fff;
  background: linear-gradient(90deg, #97A4BA 0%, #CCD2D8 100%); text-shadow: none !important; box-shadow: 0 10px 24px rgba(20,30,45,.26);
  opacity: 0; scale: 1; translate: none; animation: mpSube .9s cubic-bezier(.25,.1,.25,1) forwards; }
.fs .mp-l.mp-yo { align-self: flex-end; background: linear-gradient(90deg, #97A4BA 0%, #CCD2D8 100%); }
.fs .mp-l.mp-tutor { align-self: flex-start; color: #fff; background: linear-gradient(90deg, #97A4BA 0%, #CCD2D8 100%); }
.fs .mp-l .mp-tx { display: inline; animation: mpTxDifu .9s cubic-bezier(.25,.1,.25,1) both; }
.fs .mp-l .mp-corr { display: block; margin-top: 14px; padding: 14px 0 0; border-radius: 0; background: none; border-top: 2px solid #D5D5D5;
  color: #fff; font-size: 22px; line-height: 1.28; text-shadow: none; }
.fs .mp-bts { align-self: flex-start; max-width: 90%; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 2px; opacity: 1; translate: none;
  animation: mpSube .9s cubic-bezier(.25,.1,.25,1) .15s both; }
.fs .mp-bt { flex: 0 0 auto; padding: 13px 20px; border-radius: 28px; font-size: 21px; line-height: 1.2; color: #fff; text-shadow: none;
  background: linear-gradient(90deg, #97A4BA 0%, #CCD2D8 100%); box-shadow: 0 8px 20px rgba(20,30,45,.24); transition: transform .25s ease, background .25s ease; }
.fs .mp-bt.pulsa { transform: scale(.94); background: linear-gradient(90deg, #7F8DA6 0%, #B6BECB 100%); }
.fs .mp-voz { padding: 22px 28px; display: flex; align-items: center; }
.fs .mp-onda { display: flex; align-items: center; gap: 7px; height: 46px; }
.fs .mp-onda b { display: block; width: 10px; height: calc(var(--h) * 5px); min-height: 10px; border-radius: 5px; background: #fff; animation: none; scale: none; }
.fs .mp-aviso-tg { position: absolute; top: 128px; left: 20px; right: 20px; z-index: 7; padding: 15px 20px; border-radius: 28px; display: flex; flex-direction: column; gap: 3px;
  background: linear-gradient(90deg, #97A4BA 0%, #CCD2D8 100%); box-shadow: 0 12px 30px rgba(20,30,45,.3);
  opacity: 0; transform: translateY(-16px); filter: blur(6px); transition: transform .8s cubic-bezier(.25,.1,.25,1), opacity .8s ease, filter .8s ease; }
.fs .mp-aviso-tg b { font-size: 16px; font-weight: 400; color: #fff; opacity: .85; }
.fs .mp-aviso-tg span { font-size: 20px; line-height: 1.25; color: #fff; }
.mp-vis.con-aviso .fs .mp-aviso-tg { opacity: 1; transform: none; filter: none; }
.fs .mp-candado { position: absolute; left: 50%; top: 50%; z-index: 7; width: 150px; height: 170px; margin: -85px 0 0 -75px; pointer-events: none;
  opacity: 0; transform: scale(.6); transition: opacity .6s ease, transform .8s cubic-bezier(.25,.1,.25,1); }
.mp-vis.con-candado .fs .mp-candado { opacity: 1; transform: scale(.75); }
.mp-vis.con-candado .fs .mp-charla { opacity: .18; transition: opacity .6s ease; }

.mp-marca-solo .fs-lema { margin-top: 26px; font-size: 44px; line-height: 1.18; text-align: center; white-space: pre-line; color: rgba(242,242,244,.86);
  text-shadow: 0 0 22px rgba(242,242,244,.28); }
.mp-marca-solo .mp-metal { font-size: 280px; }
.noche.alto .mp-marca-solo .fs-lema { font-size: 30px; }

.mp-texto .mp-metal { font-size: inherit; line-height: inherit; vertical-align: baseline; }
.mp-texto .mp-metal .cr-tier-t { font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit; filter: drop-shadow(0 3px 7px rgba(10,14,22,.55)); }
.mp-texto .mp-metal .mas-luz { display: none; }
.mp-frase .mp-metal .mas-luz { display: block; width: 2.2em; height: 2.2em; margin: -1.1em 0 0 -1.1em; animation: masLuz 2.6s cubic-bezier(.3,0,.2,1) .4s both; }
@media (prefers-reduced-motion: reduce) { .fs-capa, .fs-v { transition: none; } .fs-cam-l { animation: none !important; opacity: 1 !important; transform: none !important; } }

.nv-cla :is(.mp-texto, .mp-vis).dc-entra { animation-name: dcEntraLigera; will-change: opacity, transform; }
.nv-cla :is(.mp-texto, .mp-vis).dc-sale { animation-name: dcSaleLigera; will-change: opacity, transform; }

.es-fono .fs-esc { position: absolute; right: 12%; top: 50%; width: 390px; height: 800px; margin-top: -400px; z-index: 6; pointer-events: none; }
.es-fono .fs-esc > .fs { transform: scale(.8); transform-origin: 50% 50%; cursor: default; }
.noche.ancho .es-solo.es-fono .emx-marca { right: 46%; }
.noche:not(.ancho):not(.alto) .es-solo.es-fono .emx-marca { right: 44%; }

.noche.alto .es-fono .fs-esc { display: none; }
.noche.ancho .es-solo.es-fono .emx-marca { left: 4%; }
.noche:not(.alto) .es-solo.es-fono .emx-sub { font-size: 34px; }

#hc-ov.hc-guion .rd-w.hl-yellow, #hc-ov.hc-guion .rd-w.hl-pink, #hc-ov.hc-guion .rd-w.hl-green { padding:.04em .1em; }
#hc-ov.hc-guion .rd-w.rd-new-hl { animation:hlSweep .62s cubic-bezier(.33,0,.18,1) both; }

:is(#lec-ov, #lec-voz) .rd-w.rd-new-hl { animation:hlSweep .45s cubic-bezier(.25,.1,.25,1) both; }

:is(#screen-lesson, #aula-clase-abierta, #ej-ed, #lec-ov, #lec-nav, .mp-ej) .w-chip.leaving {
  animation:fluQueda .3s var(--dc-ease) both;
}
@keyframes fluQueda { from { opacity:0; transform:none; } to { opacity:.26; transform:none; } }

:is(#screen-lesson, #aula-clase-abierta, #ej-ed, #lec-ov, #lec-nav, .mp-ej) .w-chip.used:not(.removing) {
  transition:none !important;
}

:is(#screen-lesson, #aula-clase-abierta, #ej-ed, #lec-ov, #lec-nav, .mp-ej) .w-chip,
:is(#screen-lesson, #aula-clase-abierta, #ej-ed, #lec-ov, #lec-nav, .mp-ej) .w-chip:active { scale:none !important; }
:is(#screen-lesson, #aula-clase-abierta, #ej-ed, #lec-ov, #lec-nav, .mp-ej) .w-chip:not(.used):active {
  transform:translateY(calc(-2 * var(--dc-u))) scale(.985) !important;
}

:is(#screen-lesson, #aula-clase-abierta, #ej-ed, #lec-ov, #lec-nav, .mp-ej) :is(.drop-slot, .match-drop-zone).flu-llega {
  background:var(--ej-vidrio-hondo) !important; box-shadow:var(--ej-hundido) !important;
}

#lec-ov .result-banner { display:none !important; }
#lec-ov .ex-completed-banner { animation:lecVoz var(--dc-t-entrada) var(--dc-ease) both; }
#lec-ov .ex-wysiwyg { transition:opacity var(--dc-t-lento) var(--dc-ease); }

#lec-ov .lec-dentro { transition:transform var(--dc-t-lento) var(--dc-ease), translate var(--dc-t-lento) var(--dc-ease); }
#lec-ov::before, #lec-ov::after { content:''; position:absolute; left:0; right:0; height:100vh; background:var(--dc-bg); pointer-events:none; }
#lec-ov::before { bottom:100%; }
#lec-ov::after { top:100%; }
html.flu-quieta, html.flu-quieta body { overscroll-behavior:none; }

.noche .nm-son-titulo, .noche .nm-son-artista {
  padding:14px 26px 22px; margin:-14px -26px -22px;
}
.noche .nm-son-t { gap:6px; }

@media (pointer: coarse) {
  .galeria-carril { scroll-snap-type:x mandatory; overscroll-behavior-x:contain; }
  .galeria-carril .gal-item { scroll-snap-align:center; }
}

.noche.alto :is(.cu-club, .cu-clases) { padding:14px 8px; border-radius:0; background:none; box-shadow:none; }
.noche.alto .cu-club { left:14px; bottom:calc(10px + env(safe-area-inset-bottom, 0px)); }
.noche.alto .cu-clases { right:14px !important; bottom:calc(10px + env(safe-area-inset-bottom, 0px)); padding:14px 8px; }
.noche.alto :is(.cu-club, .cu-clases) .cu-t { font-size:17px; color:rgba(242,242,244,.7); text-shadow:var(--n-brillo); }
.noche.alto.esq-b .cu-club { left:50%; right:auto; translate:-100% 0; padding-right:14px; }
.noche.alto.esq-b .cu-clases { left:50%; right:auto !important; padding-left:14px; }
.noche.alto.esq-b .cu-clases .cu-t::before { content:'·'; position:absolute; left:-1px; top:50%; translate:-50% -52%; opacity:.5; }

html #lec-ov .lec-dentro { transition:transform var(--dc-t-lento) var(--dc-ease), translate .3s cubic-bezier(.22,.8,.24,1); }
#lec-ov .tq-cortina { position:absolute; left:0; right:0; top:0; height:var(--tq-techo, 120px); z-index:1; pointer-events:none;
  background:var(--dc-bg); background-size:100% var(--tq-H, 100vh); background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - 30px), transparent);
          mask-image:linear-gradient(to bottom, #000 calc(100% - 30px), transparent);
  opacity:0; transition:opacity .22s ease; }
#lec-ov.tq-subido .tq-cortina { opacity:1; }
#lec-ov .lec-dentro .tq-velado { opacity:0 !important; transition:opacity .2s ease; pointer-events:none; }

#lec-ov::before { content:''; position:absolute; left:0; right:0; bottom:100%; height:100vh; background:var(--dc-bg); pointer-events:none; }

#lec-ov .fw-body.tq-caja { -webkit-overflow-scrolling:touch; overscroll-behavior:contain; scrollbar-width:none; }
#lec-ov .fw-body.tq-caja::-webkit-scrollbar { display:none; }

html { touch-action:manipulation; }

#lec-ov::after { content:''; position:absolute; inset:0; background:rgba(8,12,20,.66); opacity:0; pointer-events:none; z-index:5; transition:opacity .32s ease; }
#lec-ov.tq-alzado::after { opacity:1; pointer-events:auto; }
#lec-ov .tq-card { position:absolute; z-index:6; left:20px; right:20px; top:calc(env(safe-area-inset-top, 0px) + 17vh); box-sizing:border-box;
  max-height:36vh; overflow-y:auto; margin:0; padding:0; background:none; box-shadow:none; border-radius:0; font-size:19px;
  color:#f4f6fa; text-shadow:none; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; scrollbar-width:none; }
#lec-ov .tq-card::-webkit-scrollbar { display:none; }
#lec-ov .tq-card :is(.sentence-line, .fw-p, .wa-input, input, textarea) { color:#f4f6fa !important; caret-color:#fff; }
#lec-ov .tq-card .wa-hueco { border-color:rgba(255,255,255,.75) !important; }

.galeria-carril.gal-mueve .gal-item { transition:filter var(--dc-t-lento) var(--dc-ease) !important; }
.galeria-carril.gal-mueve .gal-titulo { transition:none !important; }

.galeria-carril .gal-titulo { will-change:transform; }

.galeria-carril {
  overflow-x:hidden !important; scroll-snap-type:none !important; scroll-behavior:auto !important; touch-action:pan-y; }

:is(#screen-home, #screen-student) .alumno-tabs .aula-tab-indicator, .noche :is(.n-tabs, .mp-tabs) .aula-tab-indicator {
  transition:transform var(--dc-t-viaje, .9s) var(--dc-ease), width var(--dc-t-viaje, .9s) var(--dc-ease),
             height var(--dc-t-viaje, .9s) var(--dc-ease), top var(--dc-t-viaje, .9s) var(--dc-ease); }

@media (max-width:699px), (orientation:portrait) and (max-width:1100px) {
  #screen-home .alumno-tabs:not(.prof-tabs) { overflow-x:hidden !important; touch-action:pan-y; }
  
  #screen-home .alumno-tabs:not(.prof-tabs) > .aula-tab { transition:translate var(--dc-t-viaje) var(--dc-ease), transform var(--dc-t-lento) var(--dc-ease), opacity var(--dc-t-lento) var(--dc-ease), color var(--dc-t-lento) var(--dc-ease), text-shadow var(--dc-t-lento) var(--dc-ease); }
  #screen-home .alumno-tabs:not(.prof-tabs) > .aula-tab-indicator { transition:transform var(--dc-t-viaje) var(--dc-ease), width var(--dc-t-viaje) var(--dc-ease), height var(--dc-t-viaje) var(--dc-ease), top var(--dc-t-viaje) var(--dc-ease), translate var(--dc-t-viaje) var(--dc-ease); }
  #screen-home .alumno-tabs:not(.prof-tabs).fila-quieta > * { transition:none !important; }
}

.filtros .ent-op.ln-fuera { display:none !important; }
.filtros .ent-op.ln-mas { opacity:.62; font-style:normal; }
@media (any-hover: hover) { .filtros .ent-op.ln-mas:hover { opacity:1; } }

#ln-hoja { position:fixed; inset:0; z-index:2460; display:flex; align-items:center; justify-content:center; pointer-events:none; }
#ln-hoja.on { pointer-events:auto; }
#ln-hoja .ln-velo { position:absolute; inset:0; background:rgba(30,40,55,.14); opacity:0; transition:opacity .42s var(--dc-ease);
  -webkit-backdrop-filter:blur(26px) saturate(130%); backdrop-filter:blur(26px) saturate(130%); }
html.sin-desenfoque #ln-hoja .ln-velo { background:rgba(30,40,55,.88); -webkit-backdrop-filter:none; backdrop-filter:none; }
#ln-hoja.ln-oscura .ln-velo { background:linear-gradient(180deg, rgba(14,18,24,.42) 0%, rgba(14,18,24,.72) 26%, rgba(14,18,24,.92) 62%, rgba(14,18,24,.95) 100%); }
#ln-hoja.on .ln-velo { opacity:1; }
#ln-hoja .ln-lista { position:relative; margin:0; display:flex; flex-direction:column; flex-wrap:nowrap; align-items:center; gap:var(--dc-sp-14, 14px);
  max-height:calc(100% - 2 * var(--dc-sp-60, 60px) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  overflow-y:auto; scrollbar-width:none; overscroll-behavior:contain; padding:var(--dc-sp-24, 24px) var(--dc-sp-40, 40px); box-sizing:border-box; }
#ln-hoja .ln-lista::-webkit-scrollbar { display:none; }
#ln-hoja .ent-op { font-size:var(--dc-fs-40); transform-origin:center; text-align:center; padding:var(--dc-sp-8, 8px) var(--dc-sp-16, 16px);
  opacity:0; transform:translateY(calc(14 * var(--dc-u, .75px))); filter:blur(2px);
  transition:opacity .5s var(--dc-ease) calc(var(--ln-i, 0) * 34ms), transform .7s var(--dc-ease) calc(var(--ln-i, 0) * 34ms),
             filter .5s var(--dc-ease) calc(var(--ln-i, 0) * 34ms), text-shadow var(--dc-t-lento) var(--dc-ease); }
#ln-hoja.on .ent-op { opacity:.62; transform:none; filter:none; }
#ln-hoja.on .ent-op.active { opacity:1; text-shadow:var(--dc-shadow-text-strong); }
#ln-hoja.on .ent-op.cam-cerrada { opacity:.22; }
@media (any-hover: hover) { #ln-hoja.on .ln-lista:hover .ent-op:not(:hover) { opacity:.32; } #ln-hoja.on .ent-op:hover { opacity:1; transform:scale(1.06); } }
#ln-hoja.on .ent-op:active { transform:scale(.985); transition:transform var(--dc-t-press) var(--dc-ease); }

#ln-hoja:not(.on) .ent-op { transition-delay:0s !important; transition-duration:.28s !important; }
@media (max-width:700px) { #ln-hoja .ent-op { font-size:var(--dc-fs-40); } }
@media (prefers-reduced-motion: reduce) { #ln-hoja .ln-velo, #ln-hoja .ent-op { transition:none; } }

#app-aviso { position:fixed; inset:0; z-index:2147482000; display:flex; align-items:flex-end; justify-content:center;
  background:rgba(8,9,11,0); transition:background .6s ease; pointer-events:none;
  font-family:var(--dc-font, 'Coolvetica', 'DM Sans', sans-serif); font-weight:var(--dc-weight, 400); letter-spacing:var(--dc-tracking, normal); }
#app-aviso.on { background:rgba(8,9,11,.5); pointer-events:auto; }
#app-aviso .app-hoja { width:100%; max-width:480px; box-sizing:border-box; padding:30px 28px calc(28px + env(safe-area-inset-bottom, 0px));
  background:linear-gradient(160deg, #2C2D2E 0%, #16171A 55%, #0E0E10 100%); border-radius:26px 26px 0 0;
  box-shadow:0 -24px 70px rgba(0,0,0,.55); color:#F2F2F4;
  opacity:0; transform:translateY(34px); transition:opacity .6s ease, transform .75s var(--dc-ease, cubic-bezier(.42,0,.18,1)); }
#app-aviso.on .app-hoja { opacity:1; transform:none; }
#app-aviso .app-frase { font-size:22px; line-height:1.15; color:rgba(242,242,244,.78); text-shadow:0 0 22px rgba(242,242,244,.3); text-wrap:balance; }

#app-aviso .app-marca { margin-top:8px; line-height:1; }
#app-aviso .app-marca .noche-marca-t { font-size:56px; cursor:default; }
#app-aviso .app-ventajas { list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
#app-aviso .app-ventajas li { font-size:19px; line-height:1.25; color:#F2F2F4; text-shadow:0 0 18px rgba(242,242,244,.32); }
#app-aviso .app-pasos { list-style:none; margin:22px 0 0; padding:0; display:flex; flex-direction:column; gap:14px; counter-reset:paso; }
#app-aviso .app-pasos li { display:flex; align-items:center; gap:16px; font-size:18px; line-height:1.2; }
#app-aviso .app-ico { flex:none; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
#app-aviso .app-ico svg { width:30px; height:30px; fill:none; stroke:#F2F2F4; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(242,242,244,.4)); }
#app-aviso .app-cerrar { appearance:none; border:0; background:none; margin:22px 0 0; padding:8px 0; font:inherit; font-size:20px; text-transform:none; letter-spacing:inherit;
  color:rgba(242,242,244,.72); cursor:pointer; text-shadow:0 0 18px rgba(242,242,244,.3); -webkit-tap-highlight-color:transparent; }
#app-aviso .app-cerrar:active { color:#fff; }
@media (prefers-reduced-motion: reduce) { #app-aviso, #app-aviso .app-hoja { transition:none; } }

html:not(.cab-club) #app > .screen { padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px); }   
#screen-login { padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px); }

html::after { content:''; position:fixed; left:0; right:0; top:0; height:env(safe-area-inset-top, 0px); z-index:2147481500; pointer-events:none;
  background:linear-gradient(to bottom, rgba(58,70,88,.50) 0%, rgba(58,70,88,.26) 55%, rgba(58,70,88,0) 100%); }
html.noche-oscura::after, html.sin-franja::after { display:none; }

html:not(.vitrina) body :is(.crear-marca, #hc-ov #hc-marca, #tm-ov .tm-marca) {
  left:var(--lg-x) !important; top:var(--lg-y) !important; margin:0 !important; padding:0 !important; }
html:not(.vitrina) body :is(.crear-marca, #hc-ov #hc-marca, #tm-ov .tm-marca, #screen-home .topbar-logo-text) {
  font-size:var(--lg-fs) !important; letter-spacing:var(--lg-ls) !important; line-height:1 !important; }

html:not(.vitrina) body :is(.crear-marca, #hc-ov #hc-marca, #tm-ov .tm-marca, #screen-home .topbar-logo-text) .marca-club {
  display:inline-block !important; font-size:.38em !important; margin-left:.16em !important; letter-spacing:normal !important; }

html:not(.vitrina) #screen-home .topbar-logo-text { position:absolute !important; left:var(--lg-x) !important; top:var(--lg-y) !important; margin:0 !important; z-index:6; }
html:not(.vitrina) #screen-home .topbar-logo-pill::before { content:'H'; display:block; visibility:hidden; width:1px; overflow:hidden; white-space:nowrap;
  font-family:var(--dc-font); font-weight:var(--dc-weight); font-size:var(--dc-fs-120, 120px); line-height:1; height:var(--cab-relleno, auto); }
@media (max-width:480px) { html:not(.vitrina) #screen-home .topbar-logo-pill::before { font-size:var(--dc-fs-68, 68px); } }

html:not(.vitrina) body :is(#elegir-ov .crear-cuerpo, .ajustes-cuerpo) { padding-top:calc(var(--lg-y) + var(--lg-fs) + 18px) !important; }

html .noche, html #muro, html #bv { bottom:calc(-1 * var(--pwa-sobra, 0px)); }

html.modo-app, html.modo-app body, html.modo-app #app { height:calc(100dvh + var(--pwa-sobra, 0px)); }
html #lec-ov, html #hc-ov, html #tm-ov, html #cuenta-ov, html #ln-hoja, html #pr-muro, html #un-telon { bottom:calc(-1 * var(--pwa-sobra, 0px)); }

#muro { align-items:flex-start !important; overflow:hidden; }
#muro .mu-caja { align-items:flex-start; padding-top:clamp(28px, 11vh, 130px); padding-bottom:24px; transition:transform var(--dc-t-entrada) var(--dc-ease), opacity .6s var(--dc-ease), filter .6s var(--dc-ease); }
#muro .mu-centro { align-self:flex-start; }
#muro .mu-lado { align-self:flex-start; margin-top:clamp(40px, 15vh, 190px); }

#muro .ent-campo.persiana { max-height:calc(140 * var(--dc-u)); }
html #muro.pr-tg .mu-nombre:not(.plegada) { display:block !important; }
html #muro.pr-tg .mu-correo, html #muro.pr-tg .mu-clave { display:block !important; }

html #muro.pr-tg.en-web-crear .mu-acepto { display:flex !important; }
#muro .mu-acepto.persiana { max-height:120px; }
@media (max-width:900px) { #muro .mu-acepto { font-size:13px; line-height:1.35; padding:8px 4px; margin:6px auto 0; text-align:left; } }
#muro .en-tg { display:block; margin:var(--dc-sp-20, 18px) auto 0; padding:0; border:0; background:none; cursor:pointer; font:inherit;
  font-size:var(--dc-fs-30, 18px); color:var(--dc-ink, #F2F2F4); opacity:.85; max-height:80px; -webkit-tap-highlight-color:transparent; }
@media (any-hover:hover) { #muro .en-tg:hover { opacity:1; text-shadow:0 0 22px rgba(242,242,244,.4); } }
#muro .en-tg-dice { max-width:calc(620 * var(--dc-u)); margin:var(--dc-sp-14, 12px) auto 0; text-align:center; font-size:var(--dc-fs-22, 15px); line-height:1.35; color:var(--dc-ink-70, rgba(242,242,244,.7)); max-height:80px; }
#muro .rec-pista.persiana { max-height:120px; }
#muro .rec-pista.persiana.plegada { margin-top:0; }

#muro .en-escena { position:relative; width:280px; height:216px; }
#muro .en-item { position:absolute; left:0; right:0; top:0; display:flex; flex-direction:column; align-items:center; gap:14px;
  opacity:0; filter:blur(10px); transform:scale(.985); pointer-events:none;
  transition:opacity 1s var(--dc-ease), filter 1s var(--dc-ease), transform 1s var(--dc-ease); }
#muro .en-item.on { opacity:1; filter:none; transform:none; }
#muro .en-carta { position:relative; width:260px; height:164px; flex:0 0 auto; margin-top:6px; }
#muro .en-carta .cr-carta { position:absolute; left:0; top:0; transform:scale(.3333); transform-origin:0 0; }
#muro .en-pz-caja { position:relative; width:260px; height:164px; display:flex; align-items:center; justify-content:center; margin-top:6px; }
#muro .en-pz-caja .cl-combo { display:inline-block; }
#muro .en-pz { width:240px; height:157px; }
#muro .en-pz .mp-clase { transform:scale(.2182); }
#muro .en-item .mu-cap { font-size:20px; }
#muro .mu-lado .mu-plan-t { min-height:0; }
html.sin-desenfoque #muro .en-item { filter:none; }

#muro .mu-marca { font-size:calc(180 * var(--dc-u)); transition:font-size var(--dc-t-entrada) var(--dc-ease); }
#muro.en-crear .en-escena { width:440px; height:310px; }
#muro.en-crear .en-carta { width:420px; height:265px; }
#muro.en-crear .en-carta .cr-carta { transform:scale(.5385); }
#muro .en-escena, #muro .en-carta { transition:width var(--dc-t-entrada) var(--dc-ease), height var(--dc-t-entrada) var(--dc-ease); }
#muro .en-carta .cr-carta { transition:transform var(--dc-t-entrada) var(--dc-ease); }

@media (max-width:900px) {
  #muro .mu-caja { min-height:100%; height:100dvh; padding-top:clamp(20px, 7vh, 90px); padding-bottom:max(16px, env(safe-area-inset-bottom)); gap:0; justify-content:flex-start; align-items:center; }
  #muro .mu-centro { align-self:stretch; }
  #muro .mu-lado { align-self:center; margin-top:auto; padding-top:16px; gap:10px; }
  #muro .en-escena { width:230px; height:180px; }
  #muro .en-carta, #muro .en-pz-caja { width:210px; height:132px; }
  #muro .en-carta .cr-carta { transform:scale(.2692); }
  #muro .en-pz { width:194px; height:127px; }
  #muro .en-pz .mp-clase { transform:scale(.1764); }
  #muro .en-item .mu-cap { font-size:17px; }
  #muro .mu-lado .mu-plan-t { font-size:15px; }
}
@media (max-width:700px) {
  #muro .mu-caja { padding-top:clamp(16px, 6vh, 64px); }
  #muro .mu-motivo { font-size:15px; margin-top:10px; }
  #muro .mu-tabs { padding:18px 0 4px; }
  #muro .ent-campo { font-size:24px; margin-top:8px; padding:6px 0; }
  #muro .ent-campo.persiana { max-height:60px; }
  #muro .ent-accion { font-size:30px; margin-top:10px; }
  #muro .en-tg { font-size:17px; margin-top:12px; }
  #muro .rec-pista { font-size:14px !important; margin-top:10px !important; }
  #muro .ent-pie { margin-top:10px; }
  #muro .ent-pie a { font-size:16px; }
  #muro .ent-pie .mu-olvido { margin-bottom:8px; }
}

@media (max-width:900px) and (max-height:760px) {
  #muro .mu-marca { font-size:44px; }
  #muro .en-escena { width:190px; height:150px; }
  #muro .en-carta, #muro .en-pz-caja { width:172px; height:108px; }
  #muro .en-carta .cr-carta { transform:scale(.2205); }
  #muro .en-pz { width:160px; height:105px; }
  #muro .en-pz .mp-clase { transform:scale(.1455); }
  #muro .en-item { gap:8px; }
}
@media (max-width:900px) and (max-height:640px) {
  #muro .mu-lado .mu-plan-t { display:none; }
  #muro .en-escena { width:160px; height:122px; }
  #muro .en-carta, #muro .en-pz-caja { width:144px; height:91px; }
  #muro .en-carta .cr-carta { transform:scale(.1846); }
  #muro .en-pz { width:136px; height:89px; }
  #muro .en-pz .mp-clase { transform:scale(.1236); }
}

@media (max-width:900px) {
  #muro .mu-marca { font-size:68px; }
  #muro.en-crear .en-escena { width:340px; height:236px; }
  #muro.en-crear .en-carta { width:330px; height:208px; }
  #muro.en-crear .en-carta .cr-carta { transform:scale(.4231); }
}
@media (max-width:900px) and (max-height:760px) {
  #muro .mu-marca { font-size:56px; }
  #muro.en-crear .en-escena { width:310px; height:214px; }
  #muro.en-crear .en-carta { width:300px; height:189px; }
  #muro.en-crear .en-carta .cr-carta { transform:scale(.3846); }
}
@media (max-width:900px) and (max-height:640px) {
  #muro .mu-marca { font-size:48px; }
  #muro.en-crear .en-escena { width:270px; height:184px; }
  #muro.en-crear .en-carta { width:260px; height:164px; }
  #muro.en-crear .en-carta .cr-carta { transform:scale(.3333); }
}
@media (max-width:900px) and (max-height:700px) {
  #muro:not(.en-crear) .mu-lado .mu-plan-t { display:none; }
}
@media (max-width:360px) {
  #muro .mu-marca { font-size:54px; }
  #muro.en-crear .en-escena { width:300px; }
  #muro.en-crear .en-carta { width:290px; height:183px; }
  #muro.en-crear .en-carta .cr-carta { transform:scale(.3718); }
}

@media (min-width:901px) and (max-height:860px) {
  #muro .mu-caja { padding-top:clamp(20px, 6vh, 80px); }
  #muro .mu-marca { font-size:calc(150 * var(--dc-u)); }
  #muro .mu-tabs { padding:calc(32 * var(--dc-u)) 0 calc(12 * var(--dc-u)); }
}

#muro.en-sale .mu-caja { opacity:0; filter:blur(14px); transform:scale(.98); }
#muro.en-sale .mu-velo { background:#0B0B0D; transition:background .6s var(--dc-ease); }
html.en-saliendo body { pointer-events:none; }

.noche:not(.alto) .nm-generos { left:0 !important; padding-left:60px !important; padding-right:90px !important; }
.noche:not(.alto) .rc-generos { padding-left:60px; padding-right:90px; margin-left:-60px; }
.noche.alto .nm-generos, .noche.alto .rc-generos { padding-top:40px !important; padding-bottom:40px !important; margin-top:-12px; }

.noche .en-tr-aviso { position:absolute; inset:0; z-index:5; display:flex; align-items:center; justify-content:center; text-align:center;
  background:rgba(11,11,13,.55); -webkit-backdrop-filter:blur(22px) saturate(.9); backdrop-filter:blur(22px) saturate(.9);
  opacity:0; transition:opacity .6s var(--dc-ease, ease); -webkit-tap-highlight-color:transparent; cursor:pointer; }
.noche .en-tr-aviso.on { opacity:1; }
.noche .en-tr-aviso.fuera { opacity:0; transition:opacity .55s var(--dc-ease, ease); }
.noche .en-tr-caja { padding:0 32px; transform:translateY(10px); filter:blur(8px); transition:transform .7s var(--dc-ease, ease), filter .7s var(--dc-ease, ease); }
.noche .en-tr-aviso.on .en-tr-caja { transform:none; filter:none; }
.noche .en-tr-aviso.fuera .en-tr-caja { filter:blur(10px); transform:scale(.98); }
.noche .en-tr-marca { font-size:64px; line-height:1; white-space:nowrap; color:#F2F2F4; text-shadow:0 0 18px rgba(242,242,244,.42), 0 0 44px rgba(242,242,244,.16); }
.noche .en-tr-marca span { font-size:.42em; margin-left:.12em; }
.noche .en-tr-t { margin:26px auto 0; max-width:300px; font-size:22px; line-height:1.3; color:#F2F2F4; text-shadow:0 0 22px rgba(242,242,244,.3); }
.noche .en-tr-toca { margin-top:22px; font-size:15px; color:rgba(242,242,244,.55); }
html.sin-desenfoque .noche .en-tr-aviso { -webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(11,11,13,.9); }

html.franja-oscura, html.franja-oscura body { background:#0B0B0D !important; }
html.franja-oscura::after { display:none; }

html.franja-oscura #screen-login, html.en-saliendo #screen-login, html.en-saliendo #app { visibility:hidden !important; }
