:root{--ac:var(--ac);--ac-rgb:56,190,255;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;font-family:system-ui,sans-serif;color:#E4F2FF;transition:background 0.5s;}
body{background:#03070D;}

/* ── THEMES ── */
body.t-matrix{background:#000!important;}
.menu-item{display:flex;align-items:center;width:100%;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);color:#E4F2FF;font-size:13px;font-weight:700;cursor:pointer;text-align:left;position:relative;transition:transform 0.12s cubic-bezier(0.22,1,0.36,1),background 0.12s;}
.menu-item:active{background:rgba(var(--ac-rgb),0.12);transform:scale(0.97);}
#menuModal{align-items:center;}
#menuModal .mbox,#imgScanModal .mbox{border-radius:20px;transform:scale(0.86);transform-origin:center;max-width:360px;}
#menuModal.show .mbox,#imgScanModal.show .mbox{transform:scale(1);transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1),opacity 0.36s cubic-bezier(0.16,1,0.3,1);}
@keyframes imgScanSpin{to{transform:rotate(360deg);}}
.verified-badge{animation:verifiedPop 0.5s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes verifiedPop{0%{transform:scale(0);opacity:0;}60%{transform:scale(1.3);opacity:1;}100%{transform:scale(1);}}
.tap-ripple{position:fixed;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:rgba(var(--ac-rgb),0.35);border:2px solid rgba(var(--ac-rgb),0.85);pointer-events:none;z-index:99999;animation:tapRipple 0.55s ease-out forwards;}
@keyframes tapRipple{0%{transform:scale(0.3);opacity:0.9;}100%{transform:scale(7);opacity:0;}}
/* Bolitas que salen disparadas del interruptor al activarlo (encender un
   switch). Cada una define su propio ángulo/distancia vía variables CSS
   (--dx/--dy) puestas desde JS, así una sola regla sirve para las 4. */
.sw-burst{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--ac);box-shadow:0 0 8px 1px rgba(var(--ac-rgb),0.9);pointer-events:none;z-index:99999;animation:swBurst 0.55s cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes swBurst{0%{transform:translate(0,0) scale(1);opacity:1;}100%{transform:translate(var(--dx),var(--dy)) scale(0.2);opacity:0;}}
#streakFloat{position:fixed;top:70px;right:12px;z-index:150;display:flex;align-items:center;gap:5px;background:rgba(4,7,15,0.88);backdrop-filter:blur(8px);border:1px solid rgba(255,136,68,0.45);border-radius:30px;padding:7px 13px;font-size:12px;font-weight:900;color:#FF8844;box-shadow:0 4px 16px rgba(0,0,0,0.4);cursor:pointer;animation:streakFloatPulse 2.4s ease-in-out infinite;}
@keyframes streakFloatPulse{0%,100%{box-shadow:0 4px 16px rgba(0,0,0,0.4);}50%{box-shadow:0 4px 20px rgba(255,136,68,0.45);}}
/* Fondo personalizado subido por el usuario: la imagen se aplica vía
   body.style.backgroundImage (no puede ser una clase CSS porque la imagen es
   dinámica). El oscurecido para que el texto siga siendo legible va
   combinado directamente en ese mismo background-image (ver _applyCustomBgVisual). */
body.persona-mono,body.persona-mono input,body.persona-mono textarea,body.persona-mono button,body.persona-mono select{font-family:"Courier New",Courier,monospace!important;letter-spacing:0.3px;}
/* Temas con letras personalizadas (Hacker/Ciberseguridad/Consola): sus fondos
   animados son más "cargados" visualmente, así que los mensajes necesitan un
   fondo más opaco/oscuro detrás del texto para que se lean bien. */
body.persona-mono .bub.bot,body.persona-mono .bub.user,body.persona-mono .bub.adm{background-color:rgba(0,0,0,0.4)!important;background-blend-mode:multiply;}
body.persona-mono .bub.bot{background:linear-gradient(rgba(0,0,0,0.42),rgba(0,0,0,0.42)),color-mix(in srgb, var(--ac) 16%, #04070f)!important;}
body.persona-mono .bub.user{background:linear-gradient(rgba(0,0,0,0.26),rgba(0,0,0,0.26)),linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,black))!important;}
body.persona-mono .bub.adm{background:linear-gradient(rgba(0,0,0,0.38),rgba(0,0,0,0.38)),linear-gradient(135deg,rgba(255,160,0,0.14),rgba(255,80,0,0.08))!important;}
body.persona-mono.glass .bub.bot{background:linear-gradient(rgba(0,0,0,0.42),rgba(0,0,0,0.42)),linear-gradient(160deg,rgba(255,255,255,0.05),rgba(255,255,255,0) 40%),rgba(var(--ac-rgb),0.14)!important;}
body.persona-mono.glass .bub.user{background:linear-gradient(rgba(0,0,0,0.28),rgba(0,0,0,0.28)),linear-gradient(160deg,rgba(255,255,255,0.07),rgba(255,255,255,0) 40%),rgba(var(--ac-rgb),0.16)!important;}
body.persona-mono.glass .bub.adm{background:linear-gradient(rgba(0,0,0,0.38),rgba(0,0,0,0.38)),linear-gradient(160deg,rgba(255,255,255,0.06),rgba(255,255,255,0) 40%),linear-gradient(135deg,rgba(255,160,0,0.18),rgba(255,80,0,0.1))!important;}

/* ── RGB ANIMADO (borde corriendo) ── */
@keyframes rgbRun{0%{background-position:0% 50%;}100%{background-position:300% 50%;}}
body.rgb-on.rgb-input .input-area,
body.rgb-on.rgb-msgs .bub,body.rgb-on.rgb-msgs .feed-item,
body.rgb-on.rgb-btns .cbtn,body.rgb-on.rgb-btns .obtn,body.rgb-on.rgb-btns #sendBtn,
body.rgb-on.rgb-btns #feedSendBtn,body.rgb-on.rgb-btns .icon-btn,body.rgb-on.rgb-btns .btn-main{
  position:relative!important;
}
body.rgb-on.rgb-input .input-area::before,
body.rgb-on.rgb-msgs .bub::before,body.rgb-on.rgb-msgs .feed-item::before,
body.rgb-on.rgb-btns .cbtn::before,body.rgb-on.rgb-btns .obtn::before,body.rgb-on.rgb-btns #sendBtn::before,
body.rgb-on.rgb-btns #feedSendBtn::before,body.rgb-on.rgb-btns .icon-btn::before,body.rgb-on.rgb-btns .btn-main::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:linear-gradient(90deg,#ff003c,#ff8a00,#ffee00,#3dff8f,#38beff,#aa44ff,#ff003c);
  background-size:300% 300%;
  animation:rgbRun 2.4s steps(30) infinite; /* ~12 fps: mismo efecto, 5 veces menos repintado */
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:2;
}
/* Pausa del RGB mientras se desliza o hay una ventana abierta: no se repinta lo que no se está mirando */
body.rgb-on.rgb-input.is-scrolling .input-area::before,
body.rgb-on.rgb-msgs.is-scrolling .bub::before,
body.rgb-on.rgb-msgs.is-scrolling .feed-item::before,
body.rgb-on.rgb-btns.is-scrolling .cbtn::before,
body.rgb-on.rgb-btns.is-scrolling .obtn::before,
body.rgb-on.rgb-btns.is-scrolling #sendBtn::before,
body.rgb-on.rgb-btns.is-scrolling #feedSendBtn::before,
body.rgb-on.rgb-btns.is-scrolling .icon-btn::before,
body.rgb-on.rgb-btns.is-scrolling .btn-main::before,
body.rgb-on.rgb-input.ov-open .input-area::before,
body.rgb-on.rgb-msgs.ov-open .bub::before,
body.rgb-on.rgb-msgs.ov-open .feed-item::before,
body.rgb-on.rgb-btns.ov-open .cbtn::before,
body.rgb-on.rgb-btns.ov-open .obtn::before,
body.rgb-on.rgb-btns.ov-open #sendBtn::before,
body.rgb-on.rgb-btns.ov-open #feedSendBtn::before,
body.rgb-on.rgb-btns.ov-open .icon-btn::before,
body.rgb-on.rgb-btns.ov-open .btn-main::before{animation-play-state:paused;}
body.t-cyber{background:linear-gradient(135deg,#050010,#000820,#050010)!important;}
body.t-fire{background:radial-gradient(ellipse at bottom,#1a0500,#000)!important;}
body.t-neon{background:linear-gradient(135deg,#0a0020,#180040,#0a0020)!important;}
body.t-ocean{background:linear-gradient(180deg,#000a1a,#001428,#000a1a)!important;}
body.t-gold{background:linear-gradient(135deg,#0a0800,#1a1200,#0a0800)!important;}
body.t-blood{background:linear-gradient(135deg,#0a0000,#180000,#0a0000)!important;}
body.t-mint{background:linear-gradient(135deg,#00100a,#001a10,#00100a)!important;}
/* Fondos exclusivos de los Temas de Personalización (no se comparten con los fondos sueltos) */
body.t-cyberguard{background:radial-gradient(ellipse at center,#020a14,#000308 75%)!important;}
body.t-terminal{background:#000502!important;}
body.t-synthwave{background:linear-gradient(180deg,#0a0022,#1a0033 55%,#08000f)!important;}
body.t-inferno{background:radial-gradient(ellipse at bottom,#230300,#050000 80%)!important;}
body.t-abyss{background:linear-gradient(180deg,#000308,#001018 60%,#000000)!important;}

canvas#fx{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0.7;transform:translateZ(0);will-change:transform;contain:strict;}
#fxVideo{opacity:0.85;pointer-events:none;filter:brightness(1.25) saturate(1.3) contrast(1.05);transform:translateZ(0);will-change:transform;contain:strict;}

/* ── GLASSMORPHISM v2 (vidrio esmerilado detallado) ──
   Capas de las barras y ventanas: grano fino · reflejo especular · degradado de luz · tinte del acento.
   Borde con luz arriba-izquierda y sombra abajo-derecha, brillo interior y sombra con el color del acento.
   Blur SOLO en barras, ventanas y botones principales; tarjetas y burbujas llevan el mismo look sin blur propio. */
body.glass{
  --gl-blur:20px;
  --gl-hi:linear-gradient(155deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.10) 35%,rgba(255,255,255,.04) 62%,rgba(255,255,255,.18) 100%);
  --gl-spec:radial-gradient(130% 90% at 8% -8%,rgba(255,255,255,.46),rgba(255,255,255,0) 52%);
  --gl-edge:inset 0 1.5px 0 rgba(255,255,255,.66),inset 1px 0 0 rgba(255,255,255,.28),inset 0 -1.5px 0 rgba(255,255,255,.22),inset -1px 0 0 rgba(255,255,255,.12),inset 0 0 18px rgba(255,255,255,.07);
  --gl-glow:0 12px 28px -14px rgba(var(--ac-rgb),.5);
}
body.glass .header,body.glass .tabs,body.glass .input-area,body.glass .mbox{
  background:var(--gl-spec),var(--gl-hi),linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)),linear-gradient(rgba(6,10,22,.26),rgba(6,10,22,.26)),rgba(var(--ac-rgb),.18)!important;
  background-size:auto!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:var(--gl-edge),0 10px 26px -12px rgba(0,0,0,.55),var(--gl-glow)!important;
  contain:paint;
}
/* Ventanas: un poco más de blur que las barras; pestañas y barra de escribir sin grano (más livianas) */
body.glass .mbox{backdrop-filter:blur(var(--gl-blur)) saturate(1.6)!important;-webkit-backdrop-filter:blur(var(--gl-blur)) saturate(1.6)!important;}
body.glass .tabs,body.glass .input-area{background:var(--gl-spec),var(--gl-hi),linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)),linear-gradient(rgba(6,10,22,.26),rgba(6,10,22,.26)),rgba(var(--ac-rgb),.18)!important;background-size:auto!important;}
/* Cristal esmerilado real en las barras solo cuando el fondo NO se anima (cuesta casi nada); con fondo animado se apaga y queda el vidrio por capas */
body.glass:not(.fx-live) .header,body.glass:not(.fx-live) .tabs,body.glass:not(.fx-live) .input-area{backdrop-filter:blur(14px) saturate(1.5)!important;-webkit-backdrop-filter:blur(14px) saturate(1.5)!important;}
/* Mientras se hace scroll / se cambia de pestaña se apaga SOLO el blur (el fondo animado + blur a la vez es lo que
   trababa); el vidrio se mantiene con un fondo algo más sólido para que no "salte". */
body.glass.is-scrolling .header,body.glass.is-scrolling .tabs,
body.glass.is-scrolling .input-area,body.glass.is-scrolling .mbox{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:var(--gl-spec),var(--gl-hi),color-mix(in srgb,var(--ac) 22%,rgba(8,12,24,.84))!important;
  background-size:auto!important;
}
body.glass .header{border-radius:0 0 30px 30px;}
body.glass .input-area{border-radius:28px;}
body.glass .mbox{border-radius:32px 32px 0 0!important;}
body.glass .header,body.glass .tabs,body.glass .input-area{position:relative;overflow:hidden;}
/* .mbox es scrolleable: overflow-x oculto, overflow-y auto (no bloquear el scroll de los modales). */
body.glass .mbox{position:relative;overflow-x:hidden;overflow-y:auto;}
/* Elementos repetidos: borde claro direccional + sombra suave + reflejo interior. Sin blur. */
body.glass .feed-item,body.glass .bub.bot,body.glass .bub.adm,body.glass .bub.user,body.glass .topt,body.glass .swrow,body.glass .r-chip,body.glass .cpbtn,body.glass .obtn,body.glass .cbtn,body.glass .btn-main,body.glass .btn-google,body.glass #sendBtn,body.glass #feedSendBtn,body.glass .icon-btn,body.glass .inp,body.glass .acard,body.glass .engopt,body.glass .copt,body.glass .stat-box,body.glass .stat,body.glass .feed-toolbar input,body.glass #comboLockedBtn,body.glass .fi-hud-code,body.glass #huAddBtn,body.glass .an-btn,body.glass .sup-chip,body.glass .menu-item{
  border-width:1px!important;
  border-style:solid!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 1px 0 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.16),0 6px 16px -8px rgba(0,0,0,.5);
}
body.glass .feed-item{background:var(--gl-hi),linear-gradient(135deg,rgba(var(--ac-rgb),.15),rgba(var(--ac-rgb),.08))!important;border-radius:26px!important;}
body.glass .bub.bot{background:var(--gl-hi),rgba(var(--ac-rgb),.15)!important;border-radius:6px 22px 22px 22px!important;}
body.glass .bub.adm{background:var(--gl-hi),linear-gradient(135deg,rgba(255,160,0,.20),rgba(255,80,0,.10))!important;border-radius:6px 22px 22px 22px!important;}
body.glass .bub.user{background:var(--gl-hi),rgba(var(--ac-rgb),.30)!important;opacity:.98;border-radius:22px 6px 22px 22px!important;}
body.glass .topt{background:var(--gl-hi),rgba(var(--ac-rgb),.09)!important;border-radius:22px!important;}
body.glass .swrow{background:var(--gl-hi),rgba(var(--ac-rgb),.09)!important;border-radius:20px!important;}
body.glass .r-chip{background:var(--gl-hi),rgba(var(--ac-rgb),.10)!important;border-radius:19px!important;}
body.glass .cpbtn{background:var(--gl-hi),rgba(var(--ac-rgb),.08)!important;border-radius:19px!important;}
body.glass .obtn{background:var(--gl-hi),rgba(var(--ac-rgb),.10)!important;border-radius:22px!important;}
body.glass .menu-item{background:var(--gl-hi),rgba(var(--ac-rgb),.10)!important;border-radius:18px!important;}
body.glass .an-btn{border-radius:16px;}
body.glass .an-btn:not(.sel){background:var(--gl-hi),rgba(255,255,255,.03);}
body.glass .sup-chip:not(.sel){background:var(--gl-hi),rgba(255,255,255,.03);}
/* Botones principales: son pocos y siempre visibles -> aquí sí lleva blur. */
body.glass .cbtn,body.glass .btn-main,body.glass .btn-google,body.glass #sendBtn,body.glass #feedSendBtn,body.glass .icon-btn{
  background-image:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,0) 55%);
}
body.glass .cbtn,body.glass .btn-main,body.glass .btn-google{border-radius:20px!important;}
/* Los botones principales conservan su degradado de acento y llevan encima el reflejo de vidrio */
body.glass .cbtn-p,body.glass .btn-main,body.glass #sendBtn,body.glass #feedSendBtn{
  background-image:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%),
    linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 80%,black),color-mix(in srgb,var(--ac) 55%,black));
}
body.glass .icon-btn{border-radius:16px!important;}
body.glass .inp{background:var(--gl-hi),rgba(var(--ac-rgb),.12)!important;border-radius:24px!important;}
body.glass .acard{background:var(--gl-hi),rgba(var(--ac-rgb),.11)!important;border-radius:24px!important;}
body.glass .nb-media{border-radius:19px!important;}
body.glass .stat-box,body.glass .stat{background:var(--gl-hi),rgba(var(--ac-rgb),.09)!important;border-radius:19px!important;}
body.glass .copt{border-radius:50%!important;}
body.glass .engopt{border-radius:22px!important;}

/* ── BORDES MÁS SUAVES (menos marcados, más translúcidos) ── */
.header{border-bottom-color:rgba(var(--ac-rgb),0.08)!important;}
.tabs{border-bottom-color:rgba(var(--ac-rgb),0.06)!important;}
.feed-item{border-color:rgba(var(--ac-rgb),0.06)!important;border-radius:22px!important;}
.bub.bot{border-color:rgba(var(--ac-rgb),0.08)!important;}
.mbox{border-color:rgba(var(--ac-rgb),0.1)!important;}
.inp,#msgInput,#feedInput{border-color:rgba(var(--ac-rgb),0.12)!important;}
.r-chip{border-color:rgba(var(--ac-rgb),0.09)!important;}
.topt{border-color:rgba(var(--ac-rgb),0.07)!important;border-radius:19px!important;}
.cpbtn{border-color:rgba(var(--ac-rgb),0.1)!important;}
.obtn{border-color:rgba(var(--ac-rgb),0.16)!important;border-radius:16px!important;}
.input-area{border-color:rgba(var(--ac-rgb),0.10)!important;}
.acard{border-color:rgba(var(--ac-rgb),0.06)!important;border-radius:22px!important;}
.stat-box{border-color:rgba(var(--ac-rgb),0.07)!important;}

/* ── QUITAR EL RECUADRO AZUL DE ENFOQUE DEL NAVEGADOR AL TOCAR/CLIC ── */
*{-webkit-tap-highlight-color:transparent;}
button,input,textarea,select,a,.cbtn,.obtn,.topt,.copt,.icon-btn,.feed-item,.r-chip,.bub,.cpbtn,.swrow,.tab{-webkit-tap-highlight-color:transparent;outline:none;}
button:focus,input:focus,textarea:focus,select:focus,a:focus,.cbtn:focus,.obtn:focus,.topt:focus,.copt:focus,.icon-btn:focus,.feed-item:focus,.r-chip:focus,.tab:focus{outline:none;box-shadow:none;}
button:focus-visible,.cbtn:focus-visible,.obtn:focus-visible{outline:none;}
.cbtn,.btn-main,.btn-google,#sendBtn,#feedSendBtn,.obtn,.icon-btn,.copt,.topt,.feed-item,.r-chip,.cpbtn{
  transition:transform 0.18s cubic-bezier(.34,1.56,.64,1),box-shadow 0.25s ease,background 0.25s ease,border-color 0.25s ease,opacity 0.2s ease;
}
.cbtn:active,.btn-main:active,.btn-google:active,#sendBtn:active,#feedSendBtn:active,.obtn:active,.icon-btn:active,.cpbtn:active{transform:scale(0.94);}
.cbtn:hover,.btn-main:hover,.btn-google:hover{filter:brightness(1.08);}
.feed-item:hover{transform:translateY(-2px);}
.topt:hover,.copt:hover{transform:translateY(-2px) scale(1.03);}
@keyframes softBreathe{0%,100%{opacity:1;}50%{opacity:0.85;}}
.login-logo,.dot{will-change:transform,opacity;}

/* ── PARTICLES ── */
.particle{position:fixed;border-radius:50%;pointer-events:none;z-index:0;animation:floatUp linear infinite;}
@keyframes floatUp{0%{transform:translateY(100vh) scale(0);opacity:0;}20%{opacity:1;}80%{opacity:0.5;}100%{transform:translateY(-10vh) scale(1);opacity:0;}}

/* ── VISTA PREVIA ANIMADA DE FONDOS ── */
.tprev,.tprev-canvas{display:block;height:62px;width:100%;border-radius:14px;margin-bottom:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);background:#03070D;}
@keyframes tpMove{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.tprev-default{background:linear-gradient(120deg,#03070D,#12203f,#03070D);}
.tprev-matrix{background:linear-gradient(120deg,#000,#0f0,#000);}
.tprev-rain{background:linear-gradient(120deg,#001428,#38BEFF,#001428);}
.tprev-cyber{background:linear-gradient(120deg,#050010,#00e0ff,#050010);}
.tprev-fire{background:linear-gradient(120deg,#1a0500,#ff6a00,#1a0500);}
.tprev-neon{background:linear-gradient(120deg,#0a0020,#c800ff,#0a0020);}
.tprev-ocean{background:linear-gradient(120deg,#000a1a,#00aaff,#000a1a);}
.tprev-gold{background:linear-gradient(120deg,#0a0800,#ffd700,#0a0800);}
.tprev-blood{background:linear-gradient(120deg,#0a0000,#ff2040,#0a0000);}
.tprev-mint{background:linear-gradient(120deg,#00100a,#3dff8f,#00100a);}

/* ── INTERRUPTORES (SWITCHES) ── */
.swrow{display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb, var(--ac) 11%, #04070f);border:1px solid rgba(var(--ac-rgb),0.12);border-radius:19px;padding:13px 16px;margin-bottom:12px;}
.swrow span{font-size:11px;font-weight:700;color:rgba(160,215,255,0.75);letter-spacing:0.5px;}
.sw{position:relative;width:42px;height:24px;flex-shrink:0;display:inline-block;}
.sw input{opacity:0;width:0;height:0;position:absolute;}
.sw-slider{position:absolute;inset:0;background:rgba(160,215,255,0.15);border-radius:99px;cursor:pointer;transition:background 0.25s;}
.sw-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform 0.25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px rgba(0,0,0,0.35);}
.sw input:checked+.sw-slider{background:var(--ac);}
.sw input:checked+.sw-slider::before{transform:translateX(18px);}

/* ── APP ── */
#app{width:100%;max-width:none;height:100vh;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1;}

/* ── HEADER ── */
.header{flex-shrink:0;background:linear-gradient(135deg,color-mix(in srgb, var(--ac) 16%, #04070f),color-mix(in srgb, var(--ac) 24%, #04070f));border-bottom:1px solid rgba(var(--ac-rgb),0.15);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;backdrop-filter:blur(10px);}
.hcenter{text-align:center;flex:1;}
.header h1{font-size:18px;font-weight:900;letter-spacing:3px;background:linear-gradient(135deg,#fff,var(--ac),color-mix(in srgb,var(--ac) 70%,black));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:glow 3s ease-in-out infinite;will-change:filter;}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 6px rgba(var(--ac-rgb),0.4));}50%{filter:drop-shadow(0 0 14px rgba(var(--ac-rgb),0.8));}}
.hsub{display:flex;justify-content:center;gap:12px;margin-top:3px;}
.hinfo{font-size:9px;letter-spacing:2px;color:rgba(160,215,255,0.4);text-transform:uppercase;}
.dot{display:inline-block;width:6px;height:6px;background:#3DFF8F;border-radius:50%;margin-right:3px;box-shadow:0 0 5px #3DFF8F;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.icon-btn{background:none;border:none;color:rgba(160,215,255,0.4);font-size:17px;cursor:pointer;padding:8px;border-radius:11px;transition:all 0.2s;}
.icon-btn+.icon-btn{margin-left:2px;}
.icon-btn:hover{color:var(--ac);background:rgba(var(--ac-rgb),0.1);}

/* ── TABS ── */
.tabs{flex-shrink:0;display:flex;border-bottom:1px solid rgba(var(--ac-rgb),0.1);background:rgba(3,7,20,0.8);position:relative;}
#tabIndicator{position:absolute;bottom:-1px;left:0;width:50%;height:2px;background:var(--ac);box-shadow:0 0 8px 1px rgba(var(--ac-rgb),0.7);border-radius:2px 2px 0 0;transition:transform 0.32s cubic-bezier(0.65,0,0.35,1);pointer-events:none;transform:translateX(100%);}
.tab{flex:1;padding:10px;text-align:center;font-size:10px;font-weight:800;letter-spacing:2px;cursor:pointer;color:rgba(160,215,255,0.3);text-transform:uppercase;border-bottom:2px solid transparent;transition:color 0.25s,border-color 0.25s,background 0.25s,transform 0.15s;}
.tab:active{transform:scale(0.94);}
.tab.active{color:var(--ac);border-bottom-color:var(--ac);background:rgba(var(--ac-rgb),0.04);}
.feed-toolbar{flex-shrink:0;display:flex;gap:8px;padding:8px 12px;}
.feed-toolbar input{flex:1;background:color-mix(in srgb, var(--ac) 11%, #04070f);border:1px solid rgba(var(--ac-rgb),0.14);border-radius:16px;padding:9px 12px;color:#E4F2FF;font-size:12px;outline:none;transition:border-color 0.2s;}
.feed-toolbar input:focus{border-color:var(--ac);}
#comboLockedBtn{flex-shrink:0;background:rgba(160,215,255,0.06);border:1px solid rgba(160,215,255,0.14);border-radius:16px;padding:9px 12px;color:rgba(160,215,255,0.4);font-size:10px;font-weight:800;cursor:not-allowed;white-space:nowrap;line-height:1.3;text-align:center;}

/* ── LOGIN ── */
#loginScreen{flex:1;display:none;flex-direction:column;align-items:center;justify-content:center;padding:16px 24px;gap:10px;animation:fadeIn 0.5s ease;overflow:hidden;}
#loginScreen.show{display:flex;}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes panelFadeIn{0%{opacity:0;transform:translate(var(--slide-x,0px),var(--slide-y,28px)) scale(0.95);}55%{opacity:1;}100%{opacity:1;transform:translate(0,0) scale(1);}}
.panel-fade{animation:panelFadeIn 0.55s cubic-bezier(0.16,1,0.3,1);will-change:transform,opacity;}
#feedPanel{animation:panelFadeIn 0.55s cubic-bezier(0.16,1,0.3,1);--slide-x:-48px;--slide-y:0px;}#myPanel{animation:panelFadeIn 0.55s cubic-bezier(0.16,1,0.3,1);--slide-x:48px;--slide-y:0px;}

/* ── SPLASH (auto-login en curso) ── */
#splashScreen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.splash-spinner{width:34px;height:34px;border:3px solid rgba(var(--ac-rgb),0.15);border-top-color:var(--ac);border-radius:50%;animation:splashSpin 0.8s linear infinite;}
@keyframes splashSpin{to{transform:rotate(360deg);}}
.login-logo{font-size:36px;animation:bounce 2s ease infinite;}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
#loginScreen h2{font-size:15px;font-weight:800;letter-spacing:2px;color:var(--ac);text-align:center;}
#loginScreen p{font-size:12px;color:rgba(160,215,255,0.45);text-align:center;line-height:1.6;}
.inp{width:100%;background:color-mix(in srgb, var(--ac) 18%, #04070f);border:1px solid rgba(var(--ac-rgb),0.2);border-radius:19px;padding:13px 16px;color:#E4F2FF;font-size:15px;font-weight:600;outline:none;font-family:inherit;transition:border 0.2s;}
.inp:focus{border-color:rgba(var(--ac-rgb),0.5);}
.inp::placeholder{color:rgba(100,170,255,0.28);}
.btn-google{width:100%;background:linear-gradient(135deg,#4285F4,#2A6DD9);border:none;border-radius:19px;padding:14px 20px;color:#fff;font-weight:900;font-size:13px;letter-spacing:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 20px rgba(66,133,244,0.4);transition:transform 0.15s,box-shadow 0.15s;text-transform:uppercase;}
.btn-google:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(66,133,244,0.6);}
.btn-google:active{transform:translateY(0);}
.login-divider{width:100%;display:flex;align-items:center;gap:10px;margin:2px 0;}
.login-divider::before,.login-divider::after{content:"";flex:1;height:1px;background:rgba(var(--ac-rgb),0.15);}
.login-divider span{font-size:10px;color:rgba(160,215,255,0.3);letter-spacing:2px;white-space:nowrap;text-transform:uppercase;}
.btn-main{width:100%;background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 80%,black),color-mix(in srgb,var(--ac) 55%,black));border:none;border-radius:19px;padding:14px;color:#fff;font-weight:900;font-size:13px;letter-spacing:2px;cursor:pointer;box-shadow:0 4px 20px rgba(var(--ac-rgb),0.35);transition:transform 0.15s,box-shadow 0.15s;text-transform:uppercase;}
.btn-main:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(var(--ac-rgb),0.5);}
.btn-main:active{transform:translateY(0);}

/* ── CHAT SCREEN ── */
#chatScreen{flex:1;display:none;flex-direction:column;overflow:hidden;}

/* ── FEED ── */
#feedPanel{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;contain:layout paint;}
.feed-item{background:linear-gradient(135deg,color-mix(in srgb, var(--ac) 15%, #04070f),color-mix(in srgb, var(--ac) 10%, #04070f));border:1px solid rgba(var(--ac-rgb),0.1);border-radius:22px;padding:16px 18px;position:relative;user-select:none;animation:slideIn 0.3s ease;transition:border-color 0.2s,transform 0.15s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.2s ease;box-shadow:0 4px 14px rgba(0,0,0,0.18);}
/* Filo superior de luz (como un borde de vidrio real, sin backdrop-filter
   para no pagar el costo de blur en cada una de las hasta 40 tarjetas). */
.feed-item::before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.22),transparent);pointer-events:none;}
.feed-item:active{transform:scale(0.985);box-shadow:0 2px 8px rgba(0,0,0,0.22);}
@keyframes slideIn{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:translateX(0);}}
.feed-item:hover{border-color:rgba(var(--ac-rgb),0.22);}
.fi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;}
.fi-user{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--ac);}
.fi-nick{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color 0.15s;}
.fi-nick:active{text-decoration-color:var(--ac);}
.fi-like-btn{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:27px;padding:5px 10px;font-size:12px;color:rgba(200,225,255,0.6);cursor:pointer;}
.fi-like-btn.mine{background:rgba(255,68,102,0.16);border-color:rgba(255,68,102,0.4);color:#FF4466;}
.fi-like-count{font-size:10px;font-weight:900;}
.fi-time{font-size:9px;color:rgba(160,215,255,0.28);}
.fi-device{font-size:12px;color:rgba(160,215,255,0.55);margin-bottom:5px;}
.nivel-badge{display:inline-block;font-size:9px;font-weight:800;letter-spacing:2px;padding:2px 10px;border-radius:99px;margin-bottom:7px;}
.nb-baja{background:rgba(61,255,143,0.1);border:1px solid rgba(61,255,143,0.3);color:#3DFF8F;}
.nb-media{background:rgba(var(--ac-rgb),0.1);border:1px solid rgba(var(--ac-rgb),0.3);color:var(--ac);}
.nb-alta{background:rgba(255,85,102,0.1);border:1px solid rgba(255,85,102,0.3);color:#FF5566;}
.fi-result{font-size:12px;font-weight:700;line-height:1.75;color:#E4F2FF;white-space:pre-wrap;}
.fi-reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;min-height:4px;}
.r-chip{background:rgba(var(--ac-rgb),0.07);border:1px solid rgba(var(--ac-rgb),0.15);border-radius:99px;padding:3px 9px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:all 0.15s;animation:popIn 0.2s ease;}
@keyframes popIn{from{transform:scale(0.8);}to{transform:scale(1);}}
.r-chip.mine{border-color:rgba(var(--ac-rgb),0.5);background:rgba(var(--ac-rgb),0.16);}
.r-chip .rc{font-size:10px;font-weight:800;color:rgba(160,215,255,0.6);}
.fi-hint{font-size:9px;color:rgba(160,215,255,0.18);margin-top:5px;letter-spacing:1px;}
.fi-hud-code{margin-top:4px;font-size:13px;font-weight:900;letter-spacing:0.5px;color:var(--ac);background:rgba(var(--ac-rgb),0.1);border:1px dashed rgba(var(--ac-rgb),0.35);border-radius:14px;padding:9px 12px;cursor:pointer;word-break:break-all;user-select:all;}

/* ── EMOJI POPUP ── */
#emojiPopup{display:none;position:fixed;z-index:500;background:linear-gradient(135deg,#040e28,#02081c);border:1px solid rgba(var(--ac-rgb),0.3);border-radius:22px;padding:12px 10px;flex-wrap:wrap;gap:4px;justify-content:center;width:256px;box-shadow:0 10px 40px rgba(0,0,0,0.7);animation:popIn 0.2s ease;}
#emojiPopup.show{display:flex;}
.ep-e{font-size:22px;cursor:pointer;padding:5px;border-radius:11px;transition:transform 0.1s;}
.ep-e:hover{transform:scale(1.35);background:rgba(var(--ac-rgb),0.12);}
.ep-close{width:100%;text-align:center;font-size:9px;color:rgba(160,215,255,0.3);cursor:pointer;margin-top:6px;letter-spacing:2px;padding:4px;}

/* ── MY CHAT ── */
#myPanel{flex:1;display:none;flex-direction:column;overflow:hidden;}
#myMsgs{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:12px;}
.mw{display:flex;flex-direction:column;}
.mw.user{align-items:flex-end;}
.mw.bot{align-items:flex-start;}
.bub{max-width:88%;padding:12px 16px;font-size:13px;font-weight:600;line-height:1.7;white-space:pre-wrap;animation:fadeIn 0.3s ease;}
/* Sensi generada: entrada más especial que un mensaje normal (se aplica solo
   a la burbuja que trae el botón "COPIAR SENSIBILIDAD", ver addMsg/opts.copy).
   Antes animaba box-shadow, que el navegador tiene que REPINTAR en cada
   frame (no se compone en GPU) -> eso era el "trabado". Ahora el brillo es
   un pseudo-elemento con opacity+transform (sí se compone en GPU) y la
   burbuja en sí solo anima transform/opacity -> mucho más fluido. */
.bub.bub-sensi{animation:sensiReveal 0.9s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;will-change:transform,opacity;}
.bub.bub-sensi::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,0.22) 45%,transparent 60%);transform:translateX(-120%);animation:sensiShine 1.3s ease-out 0.25s;pointer-events:none;}
@keyframes sensiReveal{0%{transform:scale(0.8);opacity:0;}45%{transform:scale(1.045);opacity:1;}75%{transform:scale(0.99);}100%{transform:scale(1);}}
@keyframes sensiShine{0%{transform:translateX(-120%);}100%{transform:translateX(120%);}}
/* Chispas de la sensi: propia (no comparte animación con las bolitas de los
   interruptores) para poder hacerla más lenta sin afectar la del switch. */
.sensi-spark{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--ac);box-shadow:0 0 8px 1px rgba(var(--ac-rgb),0.9);pointer-events:none;z-index:99999;animation:sensiSpark 0.95s cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes sensiSpark{0%{transform:translate(0,0) scale(1);opacity:1;}100%{transform:translate(var(--dx),var(--dy)) scale(0.2);opacity:0;}}
.bub.bot{background:color-mix(in srgb, var(--ac) 16%, #04070f);border:1px solid rgba(var(--ac-rgb),0.13);border-radius:5px 19px 19px 19px;}
.bub.user{background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,black));border-radius:19px 5px 19px 19px;}
.bub.adm{background:linear-gradient(135deg,rgba(255,160,0,0.14),rgba(255,80,0,0.08));border:1px solid rgba(255,160,0,0.3);border-radius:5px 19px 19px 19px;}
.bbtns{display:flex;gap:7px;margin-top:7px;flex-wrap:wrap;}
.obtn{background:rgba(var(--ac-rgb),0.12);border:1px solid rgba(var(--ac-rgb),0.28);border-radius:14px;padding:8px 14px;color:var(--ac);font-size:12px;font-weight:800;cursor:pointer;transition:transform 0.15s cubic-bezier(0.34,1.56,0.64,1),background 0.2s ease,border-color 0.2s ease;}
.obtn:hover{background:rgba(var(--ac-rgb),0.24);}
.obtn:disabled{opacity:0.3;cursor:default;}
.cpbtn{display:block;margin-top:8px;width:100%;background:rgba(var(--ac-rgb),0.07);border:1px solid rgba(var(--ac-rgb),0.2);border-radius:12px;padding:8px;color:var(--ac);font-size:10px;font-weight:800;letter-spacing:2px;cursor:pointer;text-transform:uppercase;transition:all 0.2s;}
.cpbtn.ok{background:rgba(61,255,143,0.1);border-color:rgba(61,255,143,0.3);color:#3DFF8F;}
.input-area{flex-shrink:0;margin:0 12px 14px;padding:8px 10px;display:flex;gap:8px;background:rgba(3,7,20,0.97);border:1px solid rgba(var(--ac-rgb),0.10);border-radius:24px;box-shadow:0 8px 24px rgba(0,0,0,0.35);}
#msgInput{flex:1;background:color-mix(in srgb, var(--ac) 17%, #04070f);border:1px solid rgba(var(--ac-rgb),0.14);border-radius:16px;padding:11px 15px;color:#E4F2FF;font-family:inherit;font-size:14px;font-weight:600;outline:none;transition:border 0.2s;}
#msgInput:focus{border-color:rgba(var(--ac-rgb),0.4);}
#msgInput::placeholder{color:rgba(100,170,255,0.25);}
#feedInput{flex:1;background:color-mix(in srgb, var(--ac) 17%, #04070f);border:1px solid rgba(var(--ac-rgb),0.14);border-radius:16px;padding:11px 15px;color:#E4F2FF;font-family:inherit;font-size:14px;font-weight:600;outline:none;transition:border 0.2s;}
#feedInput:focus{border-color:rgba(var(--ac-rgb),0.4);}
#feedInput::placeholder{color:rgba(100,170,255,0.25);}
#feedSendBtn{background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 80%,black),color-mix(in srgb,var(--ac) 55%,black));border:none;border-radius:16px;padding:11px 16px;color:#fff;font-weight:900;font-size:17px;cursor:pointer;flex-shrink:0;transition:transform 0.1s;}
#sendBtn{background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 80%,black),color-mix(in srgb,var(--ac) 55%,black));border:none;border-radius:16px;padding:11px 16px;color:#fff;font-weight:900;font-size:17px;cursor:pointer;flex-shrink:0;transition:transform 0.1s;}
#huAddBtn{background:rgba(var(--ac-rgb),0.12);border:1px solid rgba(var(--ac-rgb),0.3);border-radius:16px;padding:11px 14px;color:var(--ac);font-weight:900;font-size:16px;cursor:pointer;flex-shrink:0;transition:transform 0.1s,background 0.2s;}
#huAddBtn:active,#sendBtn:active,#feedSendBtn:active{transform:scale(0.9);}
#sendBtn:active{transform:scale(0.95);}

/* ── MODALS ──
   Antes: display:none/flex se alternaba de golpe (sin transición posible) y
   el .mbox solo tenía una animación de "entrada" de un solo uso — al cerrar
   no había ninguna animación, se cortaba en seco. Ahora todo el show/hide es
   una transición CSS reversible (opacity+transform), así que abrir Y cerrar
   quedan igual de fluidos, con una curva de easing tipo "salida rápida" que
   se siente instantánea a la respuesta del dedo (estilo alta tasa de refresco). */
.overlay{position:fixed;inset:0;display:flex;background:rgba(0,0,0,0.75);z-index:200;align-items:flex-end;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 0.38s cubic-bezier(0.22,1,0.36,1),visibility 0s linear 0.38s;
  transform:translateZ(0);}
.overlay.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 0.32s cubic-bezier(0.22,1,0.36,1),visibility 0s linear 0s;}
.mbox{background:linear-gradient(135deg,#040e28,#02081c);border:1px solid rgba(var(--ac-rgb),0.18);border-radius:27px 27px 0 0;padding:24px 22px;width:100%;max-width:520px;max-height:82vh;overflow-y:auto;overscroll-behavior:contain;
  transform:translateY(34px) scale(0.97);opacity:0;
  transition:transform 0.56s cubic-bezier(0.16,1,0.3,1),opacity 0.4s cubic-bezier(0.16,1,0.3,1);
  will-change:transform,opacity;
  transform-origin:center bottom;
  position:relative;
  /* Sombra de elevación + un filo de luz interior arriba (borde superior
     más claro), como las hojas inferiores nativas de iOS: le da la
     sensación de tener grosor/vidrio real en vez de un panel plano. */
  box-shadow:0 -12px 50px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.08);}
.mbox::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:3px;background:rgba(255,255,255,0.22);pointer-events:none;}
.mbox>*:first-child{margin-top:6px;}
.overlay.show .mbox{transform:translateY(0) scale(1);opacity:1;transition:transform 0.5s cubic-bezier(0.16,1,0.3,1),opacity 0.38s cubic-bezier(0.16,1,0.3,1);}
.mtitle{font-size:12px;font-weight:900;letter-spacing:3px;color:var(--ac);text-align:center;margin-bottom:22px;text-transform:uppercase;}
.mlabel{font-size:9px;font-weight:800;letter-spacing:2px;color:rgba(160,215,255,0.45);text-transform:uppercase;margin-bottom:6px;margin-top:12px;}
.cfgnav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px;}
.cfgnav-btn{background:color-mix(in srgb, var(--ac) 11%, #04070f);border:1px solid rgba(var(--ac-rgb),0.1);border-radius:16px;padding:10px 2px;text-align:center;font-size:19px;cursor:pointer;color:rgba(160,215,255,0.55);transition:background 0.25s,border-color 0.25s,color 0.25s,box-shadow 0.25s,transform 0.15s;}
.cfgnav-btn:active{transform:scale(0.92);}
.cfgnav-btn span{display:block;font-size:9px;font-weight:800;letter-spacing:0.5px;margin-top:3px;text-transform:uppercase;}
.cfgnav-btn.sel{background:rgba(var(--ac-rgb),0.16);border-color:var(--ac);color:var(--ac);box-shadow:0 0 12px rgba(var(--ac-rgb),0.3);}
.msec{background:color-mix(in srgb, var(--ac) 8%, #04070f);border:1px solid rgba(var(--ac-rgb),0.08);border-radius:22px;padding:18px 16px 20px;margin-bottom:18px;}
.msec .mlabel{margin-top:0;}
.msec .mlabel:not(:first-child){margin-top:22px;padding-top:18px;border-top:1px solid rgba(var(--ac-rgb),0.06);}
.mclose{display:block;text-align:center;margin-top:10px;color:rgba(160,215,255,0.3);font-size:11px;cursor:pointer;padding:8px;letter-spacing:2px;}

/* Config buttons */
.cbtn{width:100%;border:none;border-radius:16px;padding:12px;font-weight:900;font-size:11px;letter-spacing:2px;cursor:pointer;text-transform:uppercase;margin-bottom:6px;transition:transform 0.15s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.2s ease,background 0.2s ease,opacity 0.2s ease;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.cbtn:active{transform:scale(0.96);box-shadow:0 1px 3px rgba(0,0,0,0.2);}
.cbtn-p{background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 80%,black),color-mix(in srgb,var(--ac) 55%,black));color:#fff;}
.cbtn-d{background:rgba(255,50,80,0.12);border:1px solid rgba(255,50,80,0.25)!important;color:#FF5566;}
.cbtn-g{background:rgba(var(--ac-rgb),0.08);border:1px solid rgba(var(--ac-rgb),0.18)!important;color:var(--ac);}

/* Theme grid */
.tgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;}
.topt{padding:14px 8px;border-radius:19px;border:1px solid rgba(var(--ac-rgb),0.12);background:color-mix(in srgb, var(--ac) 11%, #04070f);color:rgba(160,215,255,0.6);font-size:11px;font-weight:700;cursor:pointer;text-align:center;transition:all 0.2s;line-height:1.7;}
.topt:hover{border-color:rgba(var(--ac-rgb),0.35);color:var(--ac);}
.topt.sel{border-color:var(--ac)!important;background:rgba(var(--ac-rgb),0.22)!important;color:var(--ac)!important;box-shadow:0 0 0 2px rgba(var(--ac-rgb),0.4),0 0 16px rgba(var(--ac-rgb),0.35)!important;position:relative;}
.topt.sel::after{content:"✓";position:absolute;top:4px;right:6px;width:16px;height:16px;background:var(--ac);color:#03070D;border-radius:50%;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,0.4);}
body.glass .topt.sel{border-color:var(--ac)!important;background:rgba(var(--ac-rgb),0.28)!important;}

/* Color accent grid */
.cgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px;}
.copt{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all 0.2s;}
.copt.sel{border-color:#fff!important;transform:scale(1.15);box-shadow:0 0 0 2px rgba(255,255,255,0.55),0 0 14px rgba(255,255,255,0.5);}

/* Selector de motor de Sensi (Valores) */
.engsel{display:flex;flex-direction:column;gap:9px;}
.engopt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;border-radius:18px;border:1px solid rgba(var(--ac-rgb),0.14);background:color-mix(in srgb, var(--ac) 12%, #04070f);cursor:pointer;transition:all 0.18s;}
.engopt:active{transform:scale(0.98);}
.engopt-ico{font-size:19px;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,0.05);}
.engopt-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.engopt-txt b{font-size:11.5px;color:rgba(230,245,255,0.85);letter-spacing:0.3px;}
.engopt-txt small{font-size:9.5px;color:rgba(160,215,255,0.45);font-weight:600;line-height:1.3;}
.engopt-check{margin-left:auto;flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid rgba(160,215,255,0.25);position:relative;transition:all 0.18s;}
.engopt.active{border-color:var(--ac);background:linear-gradient(160deg,rgba(var(--ac-rgb),0.16),rgba(var(--ac-rgb),0.08));box-shadow:0 0 0 1px rgba(var(--ac-rgb),0.3),0 4px 16px rgba(var(--ac-rgb),0.22);}
.engopt.active .engopt-ico{background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 75%,black));}
.engopt.active .engopt-txt b{color:var(--ac);}
.engopt.active .engopt-check{border-color:var(--ac);background:var(--ac);}
.engopt.active .engopt-check::after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#fff;}

/* ── ADMIN ── */
#adminScreen{flex:1;display:none;flex-direction:column;overflow:hidden;}
.admin-header{flex-shrink:0;background:linear-gradient(135deg,rgba(30,0,0,0.97),rgba(20,0,0,0.97));border-bottom:1px solid rgba(255,85,102,0.2);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;}
.admin-header h2{font-size:15px;font-weight:900;letter-spacing:3px;color:#FF5566;}
#adminContent{flex:1;overflow-y:auto;padding:12px;}
.acard{background:color-mix(in srgb, var(--ac) 15%, #04070f);border:1px solid rgba(var(--ac-rgb),0.1);border-radius:22px;padding:18px;margin-bottom:16px;}
.acard.red{border-color:rgba(255,85,102,0.2);background:rgba(30,0,0,0.5);}
.acard.green{border-color:rgba(61,255,143,0.2);background:rgba(0,20,10,0.5);}
.acard.gold{border-color:rgba(255,200,0,0.2);background:rgba(20,14,0,0.5);}
.atitle{font-size:10px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;}
.atitle.blue{color:rgba(var(--ac-rgb),0.7);}
.atitle.red{color:rgba(255,85,102,0.7);}
.atitle.green{color:rgba(61,255,143,0.7);}
.atitle.gold{color:rgba(255,200,0,0.7);}
.agrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.abtn{padding:10px;border-radius:14px;border:none;font-size:10px;font-weight:800;letter-spacing:1px;cursor:pointer;text-transform:uppercase;transition:all 0.15s;}
.abtn-blue{background:rgba(var(--ac-rgb),0.1);border:1px solid rgba(var(--ac-rgb),0.25)!important;color:var(--ac);}
.abtn-red{background:rgba(255,85,102,0.1);border:1px solid rgba(255,85,102,0.25)!important;color:#FF5566;}
.abtn-green{background:rgba(61,255,143,0.1);border:1px solid rgba(61,255,143,0.25)!important;color:#3DFF8F;}
.abtn-gold{background:rgba(255,200,0,0.1);border:1px solid rgba(255,200,0,0.25)!important;color:#FFC800;}
.online-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:1px;padding:3px 8px;border-radius:27px;}
.online-badge.on{background:rgba(61,255,143,0.12);border:1px solid rgba(61,255,143,0.3);color:#3DFF8F;}
.online-badge.off{background:rgba(160,215,255,0.06);border:1px solid rgba(160,215,255,0.12);color:rgba(160,215,255,0.4);}
.online-badge .dot-sm{width:6px;height:6px;border-radius:50%;}
.online-badge.on .dot-sm{background:#3DFF8F;box-shadow:0 0 6px #3DFF8F;}
.online-badge.off .dot-sm{background:rgba(160,215,255,0.3);}
/* Creator program */
.creator-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10,6,0,0.98);z-index:500;display:none;flex-direction:column;overflow-y:auto;padding:20px;}
.creator-screen.show{display:flex;}
.creator-form{max-width:480px;width:100%;margin:0 auto;padding-bottom:40px;}
.creator-badge{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:900;letter-spacing:2px;padding:3px 8px;border-radius:27px;}
.creator-badge.pending{background:rgba(255,200,0,0.1);border:1px solid rgba(255,200,0,0.3);color:#FFC800;}
.creator-badge.approved{background:rgba(61,255,143,0.1);border:1px solid rgba(61,255,143,0.3);color:#3DFF8F;}
.creator-badge.rejected{background:rgba(255,85,102,0.1);border:1px solid rgba(255,85,102,0.3);color:#FF5566;}
.upload-box{border:2px dashed rgba(var(--ac-rgb),0.2);border-radius:16px;padding:16px;text-align:center;cursor:pointer;transition:all 0.2s;background:rgba(var(--ac-rgb),0.03);}
.upload-box:hover,.upload-box.has-file{border-color:rgba(var(--ac-rgb),0.5);background:rgba(var(--ac-rgb),0.07);}
@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
.loading-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,200,0,0.3);border-top-color:#FFC800;border-radius:50%;animation:spin 0.8s linear infinite;vertical-align:middle;margin-right:4px;}
@keyframes prog-pulse{0%,100%{opacity:0.6;}50%{opacity:1;}}
#creatorUploadProgress{animation:prog-pulse 1.5s ease-in-out infinite;}
.upload-box input[type=file]{display:none;}
.ainfo{font-size:12px;color:#E4F2FF;line-height:1.9;white-space:pre-wrap;margin-top:8px;}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.stat-box{background:rgba(var(--ac-rgb),0.05);border:1px solid rgba(var(--ac-rgb),0.12);border-radius:14px;padding:12px;text-align:center;}
.stat-n{font-size:24px;font-weight:900;color:var(--ac);}
.stat-l{font-size:9px;letter-spacing:2px;color:rgba(160,215,255,0.4);margin-top:2px;text-transform:uppercase;}

/* scrollbars */
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-thumb{background:rgba(var(--ac-rgb),0.18);border-radius:4px;}

/* ── ANIMACIONES (login animado + microinteracciones) ── */
#loginScreen{position:relative;}
#loginScreen::before,#loginScreen::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(var(--ac-rgb),.3),transparent 65%);will-change:transform;}
#loginScreen::before{width:520px;height:520px;top:-200px;left:-180px;animation:lgDrift 9s ease-in-out infinite alternate;}
#loginScreen::after{width:420px;height:420px;bottom:-160px;right:-140px;animation:lgDrift 11s ease-in-out infinite alternate-reverse;}
#loginScreen>*{position:relative;z-index:1;}
#loginScreen.show>*:not(.login-logo){animation:lgIn .65s cubic-bezier(.16,1,.3,1) backwards;}
.login-logo{width:104px;height:104px;font-size:0;animation:lgPop .8s cubic-bezier(.34,1.56,.64,1) backwards,lgFloat 3.2s ease-in-out .8s infinite!important;}
.login-logo img{width:100%!important;height:100%!important;border-radius:50%!important;object-fit:cover;display:block;border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 26px rgba(0,0,0,.5);}
.login-logo::after{content:"";position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,rgba(var(--ac-rgb),.5),transparent 70%);z-index:-1;animation:lgGlow 2.6s ease-in-out infinite;}
.lg-ring{position:absolute;inset:-7px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--ac);opacity:0;transition:opacity .25s;z-index:2;}
#loginScreen.busy .lg-ring{opacity:1;animation:lgSpin .8s linear infinite;}
#lgBar{width:100%;height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;opacity:0;transition:opacity .2s;}
#loginScreen.busy #lgBar{opacity:1;}
#lgBar i{display:block;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,var(--ac),#fff);animation:lgBar 1s ease-in-out infinite;}
.btn-main,.btn-google,.menu-item{position:relative;overflow:hidden;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .15s;}
.btn-main:hover,.btn-google:hover{transform:translateY(-2px) scale(1.015);}
.btn-main:active,.btn-google:active,.menu-item:active{transform:scale(.95);}
.btn-main:disabled{opacity:.7;}
.btn-main::after,.btn-google::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:shine 3.4s ease-in-out infinite;pointer-events:none;}
.rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);animation:rip .55s ease-out;pointer-events:none;}
.icon-btn{transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s;}
.icon-btn:hover{transform:rotate(8deg) scale(1.12);}
.icon-btn:active{transform:scale(.86);}
.tab:active{transform:scale(.94);}
.feed-item:hover{transform:translateY(-2px);}
#menuModal.show .menu-item{animation:miIn .5s cubic-bezier(.16,1,.3,1) backwards;}
#myMsgs>*{animation:msgIn .4s cubic-bezier(.16,1,.3,1);}
@keyframes lgIn{from{opacity:0;transform:translateY(18px);}}
@keyframes lgPop{from{opacity:0;transform:scale(.5);}}
@keyframes lgFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes lgGlow{0%,100%{opacity:.55;transform:scale(.95);}50%{opacity:1;transform:scale(1.1);}}
@keyframes lgSpin{to{transform:rotate(360deg);}}
@keyframes lgBar{0%{transform:translateX(-100%);}100%{transform:translateX(250%);}}
@keyframes lgDrift{to{transform:translate(70px,50px) scale(1.15);}}
@keyframes shine{0%,55%{transform:translateX(0) skewX(-20deg);}100%{transform:translateX(500%) skewX(-20deg);}}
@keyframes rip{to{transform:scale(1);opacity:0;}}
@keyframes miIn{from{opacity:0;transform:translateX(-18px);}}
@keyframes msgIn{from{opacity:0;transform:translateY(12px) scale(.96);}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
#loginScreen.busy .btn-google,#loginScreen.busy .login-divider,#loginScreen.busy #nickIn,#loginScreen.busy #loginBtn,#loginScreen.busy>p[style],#loginScreen.ok .btn-google,#loginScreen.ok .login-divider,#loginScreen.ok #nickIn,#loginScreen.ok #loginBtn,#loginScreen.ok>p[style],#loginScreen.ok #lgBar{display:none!important;}
.lg-check{position:absolute;inset:0;width:100%;height:100%;padding:28px;border-radius:50%;background:linear-gradient(135deg,#4ade80,#059669);opacity:0;transform:scale(.5);transition:opacity .25s,transform .5s cubic-bezier(.34,1.56,.64,1);z-index:3;pointer-events:none;box-shadow:0 0 30px rgba(74,222,128,.55);}
.lg-check path{stroke-dasharray:30;stroke-dashoffset:30;}
#loginScreen.ok .lg-check{opacity:1;transform:scale(1);}
#loginScreen.ok .lg-check path{animation:lgCheck .5s .2s ease-out forwards;}
#loginScreen.ok .lg-ring{opacity:0;}
#loginScreen.ok h2,#loginScreen.ok>p{animation:lgIn .45s cubic-bezier(.16,1,.3,1) backwards;}
@keyframes lgCheck{to{stroke-dashoffset:0;}}
#lgNameBox{display:none;flex-direction:column;gap:10px;width:100%;}
#loginScreen.naming #lgNameBox{display:flex;animation:lgIn .5s cubic-bezier(.16,1,.3,1) backwards;}
#loginScreen.naming .btn-google,#loginScreen.naming .login-divider,#loginScreen.naming #nickIn,#loginScreen.naming #loginBtn,#loginScreen.naming>p[style],#loginScreen.naming #lgBar{display:none!important;}
/* ── COLOR METÁLICO (acero con tinte del tema) en todas partes ── */
body{--metal:radial-gradient(130% 150% at 12% 0%,color-mix(in srgb,var(--ac) 44%,#05080f),transparent 62%),radial-gradient(130% 150% at 92% 100%,color-mix(in srgb,var(--ac) 34%,#05080f),transparent 64%),color-mix(in srgb,var(--ac) 24%,#05080f);--metal-sh:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(0,0,0,.5),0 8px 22px rgba(0,0,0,.35);}
.header,.tabs,.input-area,.mbox,.feed-item{background:var(--metal)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:rgba(255,255,255,.22)!important;box-shadow:var(--metal-sh);}
.menu-item{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.03))!important;border-color:rgba(255,255,255,.18)!important;}
.header,.tabs,.input-area,.mbox,.feed-item{background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,0) 45%),var(--metal)!important;border:1.5px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.32),inset 0 -1.5px 0 rgba(0,0,0,.28),inset 1px 0 0 rgba(255,255,255,.1),inset -1px 0 0 rgba(0,0,0,.16),0 4px 14px rgba(0,0,0,.24);}
#loginScreen>.btn-google,#loginScreen>.btn-main,#loginScreen>#nickIn,#loginScreen>#lgNameBox,#loginScreen>.login-divider,#loginScreen>#lgBar{max-width:440px;align-self:center;}
/* ── TEMAS DE PERSONALIZACIÓN: animaciones (solo transform/opacity) ── */
#personaGrid .topt{position:relative;overflow:hidden;--pc:var(--ac);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .2s,background .2s,color .2s;}
#personaGrid .topt[data-pt="hacker"]{--pc:#3DFF8F;}
#personaGrid .topt[data-pt="consola"]{--pc:#3DFF8F;}
#personaGrid .topt[data-pt="cyber"]{--pc:#38BEFF;}
#personaGrid .topt[data-pt="abismo"]{--pc:#38BEFF;}
#personaGrid .topt[data-pt="neon"]{--pc:#FF5AC8;}
#personaGrid .topt[data-pt="infernal"]{--pc:#FF5566;}
#personaGrid .topt::before{content:"";position:absolute;pointer-events:none;opacity:.6;}
#personaGrid .topt[data-pt="hacker"]::before{left:0;right:0;top:-14px;bottom:0;background:repeating-linear-gradient(180deg,transparent 0 6px,color-mix(in srgb,var(--pc) 28%,transparent) 6px 7px);animation:ptRain 1s linear infinite;}
#personaGrid .topt[data-pt="cyber"]::before{left:0;right:0;top:0;height:2px;background:var(--pc);box-shadow:0 0 8px var(--pc);animation:ptScan 2s ease-in-out infinite alternate;}
#personaGrid .topt[data-pt="consola"]::before{content:"▌";right:8px;bottom:3px;color:var(--pc);font-size:12px;animation:ptBlink 1s steps(2) infinite;}
#personaGrid .topt[data-pt="neon"]::before{left:0;right:0;top:20%;height:3px;background:linear-gradient(90deg,#FF5AC8,#38BEFF);animation:ptGlitch 2.2s steps(1) infinite;}
#personaGrid .topt[data-pt="infernal"]::before{left:0;right:0;bottom:0;height:55%;background:linear-gradient(0deg,color-mix(in srgb,var(--pc) 50%,transparent),transparent);transform-origin:bottom;animation:ptFlame .9s ease-in-out infinite alternate;}
#personaGrid .topt[data-pt="abismo"]::before{left:-20%;right:-20%;bottom:0;height:45%;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--pc) 50%,transparent),transparent 70%);animation:ptWave 2.6s ease-in-out infinite;}
#cfgSecPersona .topt{animation:ptIn .55s cubic-bezier(.34,1.56,.64,1) backwards;}
#personaGrid .topt:nth-child(1){animation-delay:0.05s;}
#personaGrid .topt:nth-child(2){animation-delay:0.12s;}
#personaGrid .topt:nth-child(3){animation-delay:0.19s;}
#personaGrid .topt:nth-child(4){animation-delay:0.26s;}
#personaGrid .topt:nth-child(5){animation-delay:0.33s;}
#personaGrid .topt:nth-child(6){animation-delay:0.40s;}
#personaGrid .topt:hover{transform:translateY(-3px) scale(1.05);border-color:var(--pc)!important;color:var(--pc);}
#personaGrid .topt:active{transform:scale(.93);}
#personaGrid .topt.sel{animation:ptPop .5s cubic-bezier(.34,1.56,.64,1),ptGlow 2.2s ease-in-out .5s infinite;border-color:var(--pc)!important;color:var(--pc)!important;}
#applyPersonaBtn,#disablePersonaBtn{position:relative;overflow:hidden;transition:transform .18s cubic-bezier(.34,1.56,.64,1);}
#applyPersonaBtn:hover,#disablePersonaBtn:hover{transform:translateY(-2px);}
#applyPersonaBtn:active,#disablePersonaBtn:active{transform:scale(.95);}
@keyframes ptIn{from{opacity:0;transform:translateY(16px) scale(.8);}}
@keyframes ptPop{0%{transform:scale(.88);}60%{transform:scale(1.1);}100%{transform:scale(1);}}
@keyframes ptGlow{0%,100%{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--pc) 50%,transparent));}50%{filter:drop-shadow(0 0 12px var(--pc));}}
@keyframes ptRain{to{transform:translateY(14px);}}
@keyframes ptScan{from{transform:translateY(0);}to{transform:translateY(64px);}}
@keyframes ptBlink{50%{opacity:0;}}
@keyframes ptGlitch{0%{transform:translateY(0);opacity:0;}20%{transform:translateY(8px);opacity:.8;}25%{opacity:0;}60%{transform:translateY(34px);opacity:.7;}65%{opacity:0;}100%{opacity:0;}}
@keyframes ptFlame{from{transform:scaleY(.65);opacity:.45;}to{transform:scaleY(1.05);opacity:.85;}}
@keyframes ptWave{0%,100%{transform:translateX(-6%) scaleY(.8);}50%{transform:translateX(6%) scaleY(1.15);}}
#cfgModal .msec{--slide-x:0px;--slide-y:12px;animation:panelFadeIn .4s cubic-bezier(.16,1,.3,1);will-change:transform,opacity;}
#rankingList{transition:opacity .2s;}
/* ── CARGA INICIAL (igual que la verificación del login) ── */
#splashScreen .lg-ring{opacity:1;animation:lgSpin .8s linear infinite;}
#spImg:not([src]){visibility:hidden;}
#splashScreen .sp-t{margin:6px 0 0;color:var(--ac);font-size:18px;font-weight:900;letter-spacing:2px;animation:lgIn .5s .15s cubic-bezier(.16,1,.3,1) backwards;}
#splashScreen .sp-s{margin:0;color:rgba(160,215,255,.55);font-size:12px;animation:lgIn .5s .25s cubic-bezier(.16,1,.3,1) backwards;}
#spBar{width:min(260px,70%);height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;}
#spBar i{display:block;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,var(--ac),#fff);animation:lgBar 1s ease-in-out infinite;}
/* ── QUITAR COLOR: glassmorphism neutro ── */
.copt.copt-none{grid-column:1/-1;aspect-ratio:auto;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#fff;border:1.5px solid rgba(255,255,255,.18);background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.03) 45%),#18191c;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.32),inset 0 -1.5px 0 rgba(0,0,0,.28),inset 1px 0 0 rgba(255,255,255,.1),inset -1px 0 0 rgba(0,0,0,.16),0 4px 14px rgba(0,0,0,.24);}
.copt.copt-none.sel{transform:scale(1.02);}
body.glass .copt.copt-none{border-radius:16px!important;}
body.nocolor{--metal:radial-gradient(130% 150% at 12% 0%,rgba(255,255,255,.2),transparent 62%),radial-gradient(130% 150% at 92% 100%,rgba(255,255,255,.1),transparent 64%),#18191c;}
/* ── AVISO modo aleatorio + tutorial ligero ── */
#rcWarn{position:fixed;inset:0;z-index:9600;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.78);opacity:0;transition:opacity .25s;}
#rcWarn.on{opacity:1;}
#rcWarnCard{width:100%;max-width:360px;padding:22px 18px 18px;border-radius:24px;text-align:center;display:flex;flex-direction:column;gap:10px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,0) 45%),var(--metal);border:1.5px solid rgba(255,255,255,.14);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.32),inset 0 -1.5px 0 rgba(0,0,0,.28),0 18px 50px rgba(0,0,0,.6);transform:translateY(20px) scale(.9);transition:transform .45s cubic-bezier(.34,1.56,.64,1);}
#rcWarn.on #rcWarnCard{transform:none;}
#rcWarnCard .rw-i{font-size:34px;}
#rcWarnCard h3{margin:0;color:#fff;font-size:16px;font-weight:900;letter-spacing:1px;}
#rcWarnCard p{margin:0 0 4px;color:rgba(230,240,255,.8);font-size:13px;line-height:1.45;}
#rwNo{height:42px;border-radius:16px;border:1.5px solid rgba(255,255,255,.18);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 45%),#171c26;color:#fff;font-weight:800;font-size:12px;letter-spacing:1.5px;cursor:pointer;}
body.tut-on .rc-wave{display:none!important;}
body.tut-on .btn-main::after,body.tut-on .btn-google::after{animation:none!important;}
/* ── NOTIFICACIONES ── */
#toastBox{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translateX(-50%);width:min(92vw,420px);display:flex;flex-direction:column;gap:8px;z-index:9300;pointer-events:none;}
.toast{--tc:var(--ac);position:relative;overflow:hidden;pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 12px 15px;border-radius:18px;color:#fff;font-size:13px;font-weight:600;line-height:1.35;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,0) 45%),var(--metal);border:1.5px solid rgba(255,255,255,.14);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.3),inset 0 -1.5px 0 rgba(0,0,0,.28),0 10px 28px rgba(0,0,0,.5);animation:toastIn .45s cubic-bezier(.34,1.56,.64,1);}
.toast.out{animation:toastOut .28s ease forwards;}
.toast.ok,.n-it.ok{--tc:#3DFF8F;}.toast.err,.n-it.err{--tc:#FF5566;}.toast.warn,.n-it.warn{--tc:#FFC800;}
.toast .ti,.n-it .ti{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 18%,transparent);border:1.5px solid color-mix(in srgb,var(--tc) 55%,transparent);}
.toast .tx{flex:1;min-width:0;word-break:break-word;white-space:pre-line;}
.tx-x{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s;}
.tx-x:active{transform:scale(.85);}
.tbar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--tc);transform-origin:left;opacity:.85;animation:tbar 5s linear forwards;}
#notifBadge{display:none;position:absolute;top:-2px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#FF5566;color:#fff;font-size:10px;font-weight:800;align-items:center;justify-content:center;}
#notifOv{position:fixed;inset:0;z-index:9400;display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 62px) 14px 14px;background:rgba(0,0,0,.7);opacity:0;transition:opacity .25s;}
#notifOv.on{opacity:1;}
#notifCard{width:100%;max-width:440px;max-height:78vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,0) 45%),var(--metal);border:1.5px solid rgba(255,255,255,.14);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.3),0 18px 50px rgba(0,0,0,.6);transform:translateY(-16px) scale(.96);transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
#notifOv.on #notifCard{transform:none;}
.n-h{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;color:#fff;font-size:13px;letter-spacing:2px;}
.n-h span{display:flex;gap:8px;align-items:center;}
.n-h button{height:28px;padding:0 10px;border-radius:14px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.n-h #nX{width:28px;padding:0;}
#nList{overflow-y:auto;padding:4px 12px 14px;display:flex;flex-direction:column;gap:8px;}
.n-it{--tc:var(--ac);display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff;font-size:13px;}
.n-it.new{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,rgba(255,255,255,.04));}
.n-it .nb{flex:1;min-width:0;}.n-it .tx{white-space:pre-line;word-break:break-word;}.n-it small{color:rgba(255,255,255,.5);font-size:11px;}
.n-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 0;color:rgba(255,255,255,.5);font-size:12px;}
@keyframes toastIn{from{opacity:0;transform:translateY(-18px) scale(.94);}}
@keyframes toastOut{to{opacity:0;transform:translateY(-12px) scale(.94);}}
@keyframes tbar{to{transform:scaleX(0);}}
.hby{font-size:9px;letter-spacing:2px;color:rgba(160,215,255,.5);margin-top:3px;}
body:not(.in-app) .hsub{display:none;} /* contador de conectados y sensis: solo con la cuenta iniciada */
.hby b{font-weight:900;color:rgba(255,255,255,.88);}
#ctrLabel{font-size:11px;font-weight:700;letter-spacing:1.5px;color:rgba(200,230,255,.8);}
#novTxt:empty{display:none;}
/* ── MENÚ: los botones se levantan al pasar el puntero ── */
.menu-item{transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,background .15s,border-color .2s;}
#menuCloseX{display:inline-block;transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s;}
@media (hover:hover){
  .menu-item:hover,.menu-item:focus-visible{transform:translateY(-5px) scale(1.02);border-color:rgba(var(--ac-rgb),.55)!important;box-shadow:0 12px 24px rgba(0,0,0,.42),0 0 0 1px rgba(var(--ac-rgb),.3),inset 0 1.5px 0 rgba(255,255,255,.3);}
  .menu-item:hover:active{transform:translateY(-2px) scale(.96);}
  #menuCloseX:hover{transform:rotate(90deg) scale(1.2);color:#fff!important;}
}

/* ═════════ v2 · ELÁSTICO: algo que se desprende de otra cosa ═════════
   SOLO en: Configuración (ventana y secciones), chat (MI CHAT) y feed (EN VIVO). Siempre activo.
   Cada pieza arranca aplastada y estirada desde el punto del que sale (el botón o pestaña tocada,
   o la barra de escribir) y se despega con rebote de resorte. Solo transform + opacity. */
:root{--ease-soft:cubic-bezier(.3,1.25,.5,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);}
@supports (transition-timing-function:linear(0,1)){
  :root{--ease-soft:linear(0, 0.024, 0.086, 0.175, 0.281, 0.395, 0.509, 0.62, 0.722, 0.813, 0.891, 0.956, 1.008, 1.048, 1.076, 1.094, 1.104, 1.107, 1.104, 1.097, 1.088, 1.076, 1.064, 1.052, 1.04, 1.029, 1.02, 1.011, 1.004, 0.999, 0.995, 0.992, 0.99, 0.989, 0.989, 0.989, 0.99, 0.991, 0.992, 0.993, 0.994, 0.996, 0.997, 0.998, 1);--ease-spring:linear(0, 0.029, 0.107, 0.22, 0.356, 0.502, 0.648, 0.786, 0.911, 1.016, 1.101, 1.164, 1.206, 1.228, 1.233, 1.225, 1.205, 1.178, 1.145, 1.111, 1.077, 1.045, 1.017, 0.993, 0.974, 0.96, 0.951, 0.946, 0.946, 0.948, 0.953, 0.96, 0.967, 0.975, 0.983, 0.991, 0.997, 1.002, 1.007, 1.01, 1.012, 1.013, 1.013, 1.012, 1);}
}
@keyframes detach{from{opacity:0;transform:scale(var(--sx,.3),var(--sy,.06));}to{opacity:1;transform:none;}}
/* Chat <-> feed: el panel se despega de la pestaña tocada (origen calculado por JS) */
.panel-pre{opacity:0!important;}
#feedPanel,#myPanel{animation:none!important;}
#feedPanel.panel-in,#myPanel.panel-in{--sx:.5;--sy:.08;transform-origin:var(--ox,50%) var(--oy,0px);animation:detach .8s var(--ease-soft) both!important;will-change:transform,opacity;}
/* Chat: cada burbuja nueva se despega de la barra de escribir */
#myMsgs>*:not(.bub-sensi){--sx:.4;--sy:.12;animation:detach .75s var(--ease-spring) both;}
#myMsgs>.bub.bot,#myMsgs>.bub.adm{transform-origin:18% calc(100% + 64px);}
#myMsgs>.bub.user{transform-origin:82% calc(100% + 64px);}
/* Configuración: la ventana sube estirándose desde el borde de abajo... */
#cfgModal .mbox{transform-origin:50% 100%;transform:scale(.84,.12);}
#cfgModal.show .mbox{transform:none;transition:transform .85s var(--ease-soft),opacity .3s ease;}
/* ...y cada sección se despega del icono que tocaste (origen calculado por JS) */
#cfgModal .msec{--sx:.3;--sy:.05;transform-origin:var(--ox,50%) var(--oy,0px);animation:detach .75s var(--ease-spring) both;}
/* Indicador de pestañas: lo anima JS (se estira como liga) */
#tabIndicator{transition:none!important;}
/* Panel admin: entrada simple (sin elástico) */
@keyframes adminIn{from{opacity:0;transform:translate3d(var(--slide-x,0px),6px,0);}to{opacity:1;transform:none;}}
.panel-fade{animation:adminIn .35s cubic-bezier(.16,1,.3,1) both;}

/* ═════════════════════ v2 · INTERFAZ MODERNA ═════════════════════ */
html,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}
*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:6px;}
::-webkit-scrollbar-track{background:transparent;}
.header{padding:12px 16px;gap:12px;}
.header h1{font-size:17px;letter-spacing:2.5px;}
/* Pestañas como píldora segmentada con indicador deslizante */
body .tabs{margin:10px 12px 4px;padding:4px;border-radius:999px!important;border:1px solid rgba(255,255,255,.14)!important;}
.tab{position:relative;z-index:1;border-bottom:none!important;border-radius:999px;padding:10px 8px;font-size:11px;letter-spacing:1.6px;color:rgba(228,242,255,.55);background:none!important;}
.tab.active{color:#fff;background:none!important;}
#tabIndicator{top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/2);height:auto;border-radius:999px;z-index:0;
  background:linear-gradient(145deg,rgba(var(--ac-rgb),.55),rgba(var(--ac-rgb),.26));
  box-shadow:0 6px 18px -4px rgba(var(--ac-rgb),.6),inset 1px 1px 0 rgba(255,255,255,.35);}
/* Barra de escribir: píldora flotante + botón de enviar redondo */
body .input-area{border-radius:28px!important;padding:8px;gap:8px;margin:0 12px 14px;}
#msgInput,#feedInput{border-radius:22px;padding:12px 16px;font-size:14px;}
body #sendBtn,body #feedSendBtn{border-radius:50%!important;width:46px;height:46px;padding:0!important;display:grid;place-items:center;font-size:18px;flex-shrink:0;}
body #huAddBtn{border-radius:50%!important;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;}
.inp:focus,#msgInput:focus,#feedInput:focus,textarea:focus{box-shadow:0 0 0 3px rgba(var(--ac-rgb),.2)!important;outline:none;}
/* Burbujas */
.bub{font-size:14px;line-height:1.6;padding:11px 15px;}
body .bub.bot,body .bub.adm{border-radius:6px 22px 22px 22px;}
body .bub.user{border-radius:22px 6px 22px 22px;}
/* Ventanas */
.mbox{padding:26px 20px 22px;}
[id$="CloseX"]{width:32px;height:32px;display:grid!important;place-items:center;border-radius:50%;background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.75)!important;font-size:14px!important;top:12px!important;right:14px!important;z-index:3;}
/* Menú con flecha y grupos */
.menu-item{border-radius:18px;padding:14px 16px;font-size:14px;gap:10px;}
.menu-item::after{content:"›";margin-left:auto;font-size:22px;line-height:1;opacity:.45;font-weight:400;}
#inboxDot{right:40px!important;}
/* Configuración */
.cfgnav-btn{border-radius:18px;padding:12px 4px;}
.cfgnav-btn span{letter-spacing:.6px;}
.swrow{padding:12px 14px;}
/* Soporte */
.sup-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.sup-chip{display:flex;align-items:center;gap:8px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(228,242,255,.7);font-size:17px;cursor:pointer;text-align:left;font-family:inherit;}
.sup-chip span{font-size:11px;font-weight:800;letter-spacing:.4px;}
.sup-chip.sel{border-color:var(--ac);color:#fff;background:linear-gradient(145deg,rgba(var(--ac-rgb),.30),rgba(var(--ac-rgb),.10));box-shadow:0 8px 18px -8px rgba(var(--ac-rgb),.6),inset 1px 1px 0 rgba(255,255,255,.25);}
.sup-hint{font-size:11px;line-height:1.5;color:rgba(160,215,255,.6);margin:2px 2px 10px;}
.sup-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:rgba(160,215,255,.45);margin:6px 4px 14px;}
.sup-meta b{color:var(--ac);}
.sup-status{font-size:11px;line-height:1.5;text-align:center;margin-top:8px;min-height:16px;}
/* Panel admin */
.admin-header{background:linear-gradient(135deg,rgba(60,8,16,.88),rgba(20,4,10,.92));border-bottom:1px solid rgba(255,85,102,.25);padding:12px 16px;}
.ah-left{display:flex;align-items:center;gap:12px;}
.ah-crown{width:40px;height:40px;display:grid;place-items:center;font-size:20px;border-radius:14px;background:linear-gradient(145deg,rgba(255,200,0,.28),rgba(255,120,0,.14));border:1px solid rgba(255,200,0,.35);box-shadow:inset 1px 1px 0 rgba(255,255,255,.3),0 8px 18px -8px rgba(255,160,0,.6);}
.admin-header h2{font-size:14px;letter-spacing:3px;line-height:1.1;}
.admin-header small{display:block;font-size:10px;color:rgba(255,200,200,.5);letter-spacing:.5px;margin-top:2px;font-weight:600;}
.admin-nav{display:flex;gap:6px;padding:8px 12px;background:rgba(10,0,4,.55);border-bottom:1px solid rgba(255,85,102,.12);flex-shrink:0;}
.an-btn{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);color:rgba(228,242,255,.55);font-size:18px;cursor:pointer;font-family:inherit;transition:transform .15s ease,background-color .25s,border-color .25s,color .25s,box-shadow .25s;}
.an-btn span{font-size:9px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;}
.an-btn.sel{color:#fff;background:linear-gradient(145deg,rgba(var(--ac-rgb),.34),rgba(var(--ac-rgb),.14));border-color:rgba(var(--ac-rgb),.55);box-shadow:0 8px 20px -8px rgba(var(--ac-rgb),.6),inset 1px 1px 0 rgba(255,255,255,.25);}
.an-btn:active{transform:scale(.92);}
.an-btn b{position:absolute;top:4px;right:10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#FF4466;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;box-shadow:0 0 0 2px rgba(10,0,4,.9);}
#adminBody{flex:1;overflow-y:auto;padding:14px 12px 28px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
#adminContent{flex:none;overflow:visible;padding:0;}
.a-hide{display:none!important;}
.acard{padding:16px;border-radius:24px;}
#msgInput::placeholder,#feedInput::placeholder,.inp::placeholder,textarea::placeholder{color:rgba(228,242,255,.42);}
/* Configuración: 7 pestañas -> 3 anchas arriba y 4 abajo */
.cfgnav{grid-template-columns:repeat(12,1fr);}
.cfgnav-btn{grid-column:span 3;}
.cfgnav-btn:nth-child(-n+3){grid-column:span 4;}
/* Tabla de la sensi: ancho completo (cubre el espacio del bot y el del usuario) */
.mw.wide{align-self:stretch;width:100%;}
.mw.wide .bub{max-width:100%;width:100%;}
.bub.bub-sensi{padding:18px 16px 14px;white-space:normal;}
.stbl-title{font-size:13px;font-weight:900;letter-spacing:2.5px;text-align:center;color:var(--ac);}
.stbl-dev{font-size:13px;font-weight:800;text-align:center;margin:6px 0 8px;color:#fff;word-break:break-word;}
.stbl-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px;}
.stbl-tag{font-size:10px;font-weight:900;letter-spacing:1px;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);}
.stbl-tag.hs{background:rgba(255,160,0,.18);border-color:rgba(255,160,0,.4);color:#FFC24D;}
.stbl-tag.prem{background:rgba(190,120,255,.18);border-color:rgba(190,120,255,.4);color:#D9B3FF;}
.stbl-tag.dpi{background:rgba(70,150,255,.18);border-color:rgba(70,150,255,.4);color:#9CC8FF;}
.stbl-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stbl-cell{padding:12px 10px 10px;border-radius:18px;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:inset 1px 1px 0 rgba(255,255,255,.18);}
.stbl-cell.main{grid-column:1 / -1;background:linear-gradient(145deg,rgba(var(--ac-rgb),.30),rgba(var(--ac-rgb),.10));border-color:rgba(var(--ac-rgb),.5);}
.stbl-lab{font-size:11px;font-weight:800;letter-spacing:.6px;color:rgba(228,242,255,.75);}
.stbl-val{font-size:34px;font-weight:900;line-height:1.15;margin-top:2px;color:#fff;font-variant-numeric:tabular-nums;}
.stbl-cell.main .stbl-val{font-size:48px;color:var(--ac);}
.stbl-foot{margin-top:12px;text-align:center;font-size:10px;font-weight:800;letter-spacing:2px;color:rgba(160,215,255,.5);}

/* ═════ v2.1 · RENDIMIENTO + BARRAS COMPACTAS ═════ */
/* Sin animación de filtro permanente en el título ni blur permanente en la racha */
.header h1{animation:none;filter:drop-shadow(0 0 8px rgba(var(--ac-rgb),.55));}
#streakFloat{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(4,7,15,.92);}
/* Barra superior ocultable */
.hdr-strip{flex-shrink:0;height:0;position:relative;z-index:40;opacity:0;pointer-events:none;transition:height .42s cubic-bezier(.22,1,.36,1),opacity .3s ease;}
body:not(.in-app) .hdr-strip{display:none;}
#hdrToggle{position:absolute;top:3px;left:14px;width:36px;height:30px;padding:0;border-radius:99px;border:1px solid rgba(255,255,255,.22);background:rgba(8,14,30,.88);color:rgba(228,242,255,.85);font-size:9px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.45);font-family:inherit;}
#hdrToggle:active{transform:scale(.92);}
body.hdr-hidden .hdr-strip{height:0;opacity:1;pointer-events:auto;} /* sin franja: el botón de mostrar flota y las pestañas suben hasta arriba */
.header{transition:margin-top .42s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .42s cubic-bezier(.22,1,.36,1);}
body.hdr-hidden .header{margin-top:calc(-1 * var(--hdr-h,170px));opacity:0;transform:translateY(-14px);pointer-events:none;}
body.hdr-gone .header{visibility:hidden;}
body.hdr-nt .header,body.hdr-nt .hdr-strip{transition:none!important;}
/* Pestañas EN VIVO / MI CHAT más pequeñas (no ocupan todo el ancho) */
body .tabs{width:min(240px,64%);margin:6px auto 4px;padding:3px;}
/* Con la barra oculta las pestañas suben hasta arriba y dejan lugar al botón de mostrar */
body.hdr-hidden .tabs{margin:calc(env(safe-area-inset-top,0px) + 6px) auto 4px;}
body.hdr-hidden #hdrToggle{top:calc(env(safe-area-inset-top,0px) + 9px);}
.tab{padding:7px 4px;font-size:10px;letter-spacing:1.2px;}
#tabIndicator{top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/2);}
/* Barra de escribir del chat más pequeña (la del EN VIVO no cambia) */
body #myInputArea{width:min(300px,84%);margin:0 auto 10px;padding:5px 6px;gap:6px;border-radius:22px!important;}
body #myInputArea #msgInput{padding:9px 12px;font-size:13px;}
body #myInputArea #sendBtn,body #myInputArea #huAddBtn{width:36px;height:36px;font-size:15px;}
/* Botón de ocultar junto a las notificaciones */
.header{gap:8px;}
.hleft{flex:0 0 auto;display:flex;align-items:center;gap:4px;}
.hright{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;}
#hdrHide{width:30px;height:34px;padding:0;display:grid;place-items:center;flex-shrink:0;}
/* Barra de escribir del chat: un poco más grande */
body #myInputArea{width:min(340px,90%);margin:0 auto 12px;padding:7px 8px;gap:8px;}
body #myInputArea #msgInput{padding:11px 14px;font-size:14px;}
body #myInputArea #sendBtn,body #myInputArea #huAddBtn{width:42px;height:42px;font-size:17px;}
/* Tabla de la sensi: cada cuadro con su propio color (--cc) e ícono dibujado con código */
.stbl-cell{background:linear-gradient(145deg,rgba(var(--cc-rgb,255,255,255),.26),rgba(var(--cc-rgb,255,255,255),.07));border:1px solid rgba(var(--cc-rgb,255,255,255),.5);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 6px 16px -8px rgba(var(--cc-rgb,0,0,0),.6);transition:border-color .5s ease;}
.stbl-cell.main{background:linear-gradient(145deg,rgba(var(--cc-rgb,255,255,255),.34),rgba(var(--cc-rgb,255,255,255),.10));border-color:rgba(var(--cc-rgb,255,255,255),.6);}
.stbl-lab{display:flex;align-items:center;justify-content:center;gap:7px;color:rgba(235,245,255,.82);}
.stbl-ico{display:inline-grid;place-items:center;width:22px;height:22px;color:var(--cc,#fff);transition:color .5s ease;}
.stbl-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.stbl-val{color:var(--cc,#fff);text-shadow:0 0 14px rgba(var(--cc-rgb,255,255,255),.45);transition:color .5s ease;}
.stbl-cell.main .stbl-val{color:var(--cc,#fff);}
/* El color de acento ahora vive aquí (antes se reescribía una hoja de estilos entera en cada cambio) */
.header h1{background:linear-gradient(135deg,#fff,var(--ac),rgba(var(--ac-rgb),.67));-webkit-background-clip:text;background-clip:text;}
.tab.active{color:var(--ac)!important;border-bottom-color:var(--ac)!important;}
.fi-user{color:var(--ac)!important;}
.feed-item:hover{border-color:rgba(var(--ac-rgb),.27)!important;}
.obtn{color:var(--ac)!important;border-color:rgba(var(--ac-rgb),.27)!important;}
#sendBtn{background:linear-gradient(160deg,var(--ac),rgba(var(--ac-rgb),.67))!important;}
.cpbtn{color:var(--ac)!important;border-color:rgba(var(--ac-rgb),.27)!important;}
.r-chip.mine{border-color:rgba(var(--ac-rgb),.53)!important;background:rgba(var(--ac-rgb),.13)!important;}
.nb-media{color:var(--ac)!important;border-color:rgba(var(--ac-rgb),.27)!important;background:rgba(var(--ac-rgb),.09)!important;}
.inp:focus{border-color:rgba(var(--ac-rgb),.53)!important;}
.online-dot,.dot{background:var(--ac)!important;box-shadow:0 0 5px var(--ac)!important;}
/* Ventana de información */
.inf-sec{margin:0 0 10px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);overflow:hidden;}
.inf-sec summary{padding:13px 14px;font-weight:800;font-size:13px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.inf-sec summary::-webkit-details-marker{display:none;}
.inf-sec summary::after{content:"+";font-size:18px;font-weight:400;color:var(--ac);}
.inf-sec[open] summary::after{content:"–";}
.inf-body{padding:0 14px 14px;font-size:12.5px;line-height:1.6;color:rgba(228,242,255,.82);}
.inf-body ol,.inf-body ul{margin:0;padding-left:18px;}
.inf-body li{margin-bottom:6px;}
.inf-body b{color:#fff;}

/* ---- Sin "borde invisible": la tabla de sensi son solo sus casillas y la barra de escribir de Mi chat no lleva caja detrás ---- */
body .bub.bub-sensi.bub-sensi,body.glass .bub.bub-sensi.bub-sensi{background:none!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:4px 0 8px;overflow:visible;}
.bub.bub-sensi::after{display:none;}
body #myInputArea,body.glass #myInputArea{background:none!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
/* ---- Quién manda el mensaje: 🤖 bot, 👤 usuario, 🛡️ admin ---- */
.mw.bot::before,.mw.user::before{content:"🤖";font-size:15px;line-height:1;margin:0 4px 3px;}
.mw.user::before{content:"👤";}
.mw:has(>.bub.adm)::before{content:"🛡️";}
/* ---- Racha: llama sin fondo y se puede arrastrar ---- */
.racha-ico{display:inline-block;width:.78em;height:1.15em;vertical-align:-.2em;background:url(data:image/png;base64,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) center/contain no-repeat;}
#streakFloat{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;}
#streakFloat .racha-ico{width:15px;height:22px;vertical-align:middle;filter:drop-shadow(0 0 4px rgba(255,120,30,.55));}
#streakFloat.dragging{cursor:grabbing;animation:none;transition:none;}
