/* Aula Cota V5 — capa visual infantil, sin alterar lógica funcional */
:root{
  --v5-navy:#0b2f73;--v5-blue:#1598e8;--v5-cyan:#42d7ee;--v5-teal:#10aeb5;
  --v5-green:#5acb55;--v5-lime:#a9e65d;--v5-yellow:#ffd457;--v5-orange:#ff9e32;
  --v5-pink:#ff6f91;--v5-purple:#8d67f4;--v5-white:#fff;--v5-soft:#f3fbff;
  --v5-ink:#12366e;--v5-muted:#6483a3;--v5-line:#d7ebf6;--v5-shadow:0 18px 45px rgba(23,105,155,.14);
}
body.v5-child,body.v5-game,body.v5-live{
  background:
    radial-gradient(circle at 8% 18%,rgba(66,215,238,.20) 0 4px,transparent 5px),
    radial-gradient(circle at 91% 11%,rgba(66,215,238,.18) 0 6px,transparent 7px),
    linear-gradient(180deg,#f8fdff 0%,#ebf9ff 45%,#f4fcff 100%)!important;
  color:var(--v5-ink)!important;
}
body.v5-child:before,body.v5-game:before,body.v5-live:before{
  content:"";position:fixed;inset:auto 0 0;height:190px;pointer-events:none;z-index:-1;
  background:
    radial-gradient(ellipse at 8% 100%,#7ad6ba 0 26%,transparent 27%),
    radial-gradient(ellipse at 22% 108%,#58c7bd 0 20%,transparent 21%),
    radial-gradient(ellipse at 79% 110%,#7bd293 0 23%,transparent 24%),
    radial-gradient(ellipse at 94% 104%,#46bdb6 0 25%,transparent 26%);
  opacity:.48;
}
/* Marca compacta compartida */
.v5-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--v5-navy)!important;font-weight:900}
.v5-brand img{width:188px;height:auto;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(15,96,145,.12))}
.v5-brand span{font-size:1.08rem}.v5-brand small{display:block;font-size:.58rem;color:#61809d;font-weight:700;margin-top:1px}
/* Hero niño */
.v5-hero{position:relative;overflow:hidden;border:1px solid rgba(137,211,237,.65);border-radius:30px;min-height:300px;padding:30px 34px 28px 43%;display:flex;align-items:center;background:
  radial-gradient(circle at 73% 20%,rgba(255,255,255,.72) 0 6px,transparent 7px),
  radial-gradient(circle at 81% 39%,rgba(255,255,255,.55) 0 9px,transparent 10px),
  linear-gradient(135deg,#dff9ff 0%,#b9f0fb 43%,#ddf8df 100%);box-shadow:var(--v5-shadow);margin-bottom:22px}
.v5-hero:before{content:"";position:absolute;inset:auto 0 0;height:74px;background:linear-gradient(180deg,transparent,rgba(29,181,182,.14))}
.v5-hero-nemi{position:absolute;left:15px;bottom:-42px;width:39%;max-width:420px;min-width:240px;filter:drop-shadow(0 18px 18px rgba(26,104,146,.18));z-index:2}
.v5-hero-copy{position:relative;z-index:3;max-width:620px}.v5-kicker{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#168bc0;font-weight:900}.v5-hero h1{font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif!important;color:var(--v5-navy)!important;font-size:clamp(2rem,4vw,3.4rem)!important;line-height:1.02!important;letter-spacing:-.05em!important;margin:7px 0 10px!important}.v5-hero h1 em{font-style:normal;color:#0aa5b1}.v5-hero p{font-size:.92rem!important;line-height:1.6!important;color:#4d7190!important;margin:0!important;max-width:560px}.v5-bubble{display:inline-flex;margin-top:14px;background:#fff;border:1px solid #d9edf6;border-radius:17px;padding:10px 13px;font-size:.76rem;font-weight:800;color:#276184;box-shadow:0 8px 20px rgba(35,117,155,.08)}
/* Nemi mini-guía para juegos/páginas */
.v5-nemi-guide{position:fixed;left:16px;bottom:14px;z-index:80;display:flex;align-items:flex-end;gap:8px;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(22,90,130,.15))}
.v5-nemi-guide img{width:96px;height:96px;object-fit:contain}.v5-nemi-guide .say{max-width:180px;background:#fff;border:2px solid #ccebf6;border-radius:20px 20px 20px 7px;padding:9px 11px;color:var(--v5-navy);font-size:.68rem;line-height:1.35;font-weight:800;box-shadow:0 10px 22px rgba(30,100,140,.10)}
.v5-nemi-guide.small img{width:74px;height:74px}.v5-nemi-guide.small .say{font-size:.62rem;max-width:155px}
/* Franja de acompañamiento */
.v5-nemi-strip{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:20px;background:linear-gradient(100deg,#e9fbff,#fff,#f0ffe9);border:1px solid #d6eef5;box-shadow:0 10px 26px rgba(24,105,145,.07);margin:12px 0 18px}.v5-nemi-strip img{width:70px;height:70px;object-fit:contain}.v5-nemi-strip b{color:var(--v5-navy);font-size:.9rem}.v5-nemi-strip p{margin:3px 0 0!important;color:#6885a1!important;font-size:.72rem!important}
/* Tarjetas más cálidas */
body.v5-child .card,body.v5-child .tile,body.v5-child .game,body.v5-game .card,body.v5-admin .card,body.v5-admin .stat{
  border-color:var(--v5-line)!important;box-shadow:0 10px 26px rgba(30,104,145,.07)!important;
}
body.v5-child .button,body.v5-child .primary,body.v5-game .btn-primary,body.v5-live .btn-primary{background:linear-gradient(135deg,#087ce5,#16a8ea)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 10px 22px rgba(17,129,215,.20)!important}
body.v5-child .coins{background:#fff7d8!important;border-color:#f5d26c!important;color:#91620a!important}
/* Login */
.v5-login-nemi{position:fixed;left:max(18px,calc((100vw - 1120px)/2));bottom:8px;z-index:0;width:260px;text-align:center;pointer-events:none}.v5-login-nemi img{width:225px;filter:drop-shadow(0 15px 20px rgba(25,100,150,.16))}.v5-login-nemi .say{margin:-18px auto 0;background:#fff;border:2px solid #d8eef7;padding:9px 13px;border-radius:18px;color:var(--v5-navy);font-size:.72rem;font-weight:800;max-width:210px;position:relative}
/* Centro de aprendizaje */
body.v5-learning .hero{position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#dffaff,#bfefff 50%,#eaffdf)!important;border-color:#bfe9f5!important;min-height:318px!important;padding-left:42%!important;align-items:center!important}
body.v5-learning .hero:before{content:"";position:absolute;left:0;bottom:-46px;width:42%;height:360px;background:url('/assets/brand/v5/nemi-saluda.webp') center bottom/contain no-repeat;filter:drop-shadow(0 15px 18px rgba(22,100,145,.15));pointer-events:none}
body.v5-learning .hero>div:first-child{position:relative;z-index:2}body.v5-learning .hero h1{color:var(--v5-navy)!important}body.v5-learning .gradebox{position:relative;z-index:2;background:rgba(255,255,255,.86)!important;border:2px solid rgba(255,255,255,.9)!important;box-shadow:0 12px 28px rgba(30,110,150,.10)!important}
body.v5-learning .game{border-radius:24px!important;background:#fff!important}.v5-learning-message{margin:14px 0 0;display:inline-block;background:#fff;border-radius:16px;padding:9px 12px;color:#247090;font-size:.72rem;font-weight:800;border:1px solid #d5ebf4}
/* Juego: barra guía superior opcional */
.v5-game-banner{max-width:1180px;margin:14px auto 10px;padding:10px 14px 10px 88px;min-height:68px;position:relative;border-radius:20px;background:linear-gradient(110deg,#e5faff,#fff,#efffe8);border:1px solid #d6eef5;box-shadow:0 8px 20px rgba(30,100,145,.07);display:flex;align-items:center}.v5-game-banner img{position:absolute;left:12px;bottom:-3px;width:74px;height:74px;object-fit:contain}.v5-game-banner b{color:var(--v5-navy);display:block;font-size:.82rem}.v5-game-banner span{font-size:.67rem;color:#67839e;font-weight:700}
/* Avatar/tienda */
.v5-character-coach{max-width:1320px;margin:14px auto 16px;padding:14px 18px;display:flex;align-items:center;gap:15px;background:linear-gradient(105deg,#e9fbff,#fff6fb,#f2ffe9);border:1px solid #d5edf6;border-radius:22px;box-shadow:0 9px 22px rgba(25,100,145,.08)}.v5-character-coach img{width:78px;height:78px;object-fit:contain}.v5-character-coach b{font-size:.95rem;color:var(--v5-navy)}.v5-character-coach span{display:block;font-size:.7rem;color:#6783a0;margin-top:3px}
/* Admin */
body.v5-admin{background:linear-gradient(180deg,#f8fdff,#eef8fc)!important;color:#173b6d!important}
body.v5-admin .side{background:linear-gradient(180deg,#0c4e93,#0b376e)!important}.v5-admin-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:170px;padding:22px 260px 22px 28px;margin-bottom:18px;border-radius:24px;background:linear-gradient(120deg,#e4faff,#fff,#e9fce8);border:1px solid #d4ebf4;box-shadow:0 12px 30px rgba(25,100,145,.08)}.v5-admin-hero h2{margin:0 0 5px!important;color:var(--v5-navy)!important}.v5-admin-hero p{margin:0!important;color:#66829e!important}.v5-admin-hero img{position:absolute;right:25px;bottom:-36px;width:220px;filter:drop-shadow(0 14px 16px rgba(20,90,125,.15))}.v5-admin-hero .say{position:absolute;right:190px;top:28px;background:#fff;border:1px solid #d7ebf5;border-radius:16px;padding:8px 10px;font-size:.66rem;font-weight:800;color:#286281;max-width:165px;text-align:center}
body.v5-admin .stat strong{color:var(--v5-navy)!important}body.v5-admin .progress i{background:linear-gradient(90deg,#1a8fea,#4ec98b)!important}
/* Clase en vivo */
body.v5-live .top{background:rgba(255,255,255,.96)!important}body.v5-live .panel,body.v5-live .info-card,body.v5-live .stage,body.v5-live .side{border-color:#d7ebf5!important;box-shadow:0 12px 30px rgba(25,100,145,.08)!important}.v5-live-nemi{position:absolute;left:15px;bottom:0;width:170px;pointer-events:none;filter:drop-shadow(0 15px 18px rgba(20,95,135,.16))}
/* Footer helper */
.v5-footer-note{text-align:center;color:#7090a7;font-size:.65rem;padding:12px 0 20px;font-weight:700}
@media(max-width:980px){.v5-hero{padding-left:36%;}.v5-hero-nemi{width:36%}.v5-admin-hero{padding-right:190px}.v5-admin-hero img{width:180px}.v5-admin-hero .say{display:none}}
@media(max-width:760px){.v5-hero{padding:230px 20px 22px;min-height:auto;text-align:center}.v5-hero-nemi{width:230px;left:50%;top:4px;bottom:auto;transform:translateX(-50%)}.v5-hero-copy{margin:auto}.v5-bubble{display:flex;justify-content:center}.v5-nemi-guide,.v5-login-nemi{display:none}body.v5-learning .hero{padding:235px 20px 22px!important;text-align:center!important}body.v5-learning .hero:before{width:260px;height:240px;left:50%;top:0;bottom:auto;transform:translateX(-50%)}.v5-admin-hero{padding:20px;min-height:auto}.v5-admin-hero img{display:none}.v5-game-banner{margin:8px 10px;padding-left:80px}.v5-character-coach{margin:8px 10px}.v5-character-coach img{width:62px;height:62px}}
body.v5-home .welcome{display:none!important}body.v5-home main{padding-top:20px!important}body.v5-home .today{background:linear-gradient(145deg,#fff,#f3fbff)!important;border-color:#d5ebf5!important}body.v5-home .label{color:#168fc0!important}body.v5-home .tile{position:relative;overflow:hidden}body.v5-home .tile:nth-child(1){background:linear-gradient(145deg,#fff,#eef7ff)!important}body.v5-home .tile:nth-child(2){background:linear-gradient(145deg,#fff,#fff8e8)!important}body.v5-home .tile:nth-child(3){background:linear-gradient(145deg,#fff,#eefcf2)!important}body.v5-home .tile:nth-child(4){background:linear-gradient(145deg,#fff,#fff0f7)!important}body.v5-home .tile .ico{background:linear-gradient(145deg,#eaf5ff,#fff)!important;color:#137ad5!important}body.v5-home .menu{margin-bottom:18px}
body.v5-login{background:linear-gradient(180deg,#e8faff,#f8fdff)!important}body.v5-login .login-card{border-color:#d5ebf5!important;box-shadow:0 18px 45px rgba(25,100,145,.12)!important}body.v5-login .login-hero-titulo{color:var(--v5-navy)!important}
body.v5-character{background:linear-gradient(180deg,#edfaff,#f8fdff)!important}body.v5-character .top,body.v5-character header{border-color:#d8ebf4!important}body.v5-character .card,body.v5-character .item-card{border-color:#d8ebf4!important}

/* V5.1 · acabado infantil sutil con recursos ya existentes de Pecera */
body.v5-child,body.v5-game,body.v5-live{position:relative;isolation:isolate}
body.v5-child:after,body.v5-game:after,body.v5-live:after{
  content:"";position:fixed;inset:auto 0 0;height:150px;pointer-events:none;z-index:-1;opacity:.18;
  background-image:url('/assets/pecera/background_seaweed_a.svg'),url('/assets/pecera/background_seaweed_g.svg'),url('/assets/pecera/bubble_a.svg'),url('/assets/pecera/bubble_b.svg');
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-position:left -20px bottom -15px,right -12px bottom -18px,12% 35%,88% 20%;
  background-size:190px auto,210px auto,28px 28px,22px 22px;
}
@media(max-width:760px){.v5-brand img{width:160px}body.v5-child:after,body.v5-game:after,body.v5-live:after{opacity:.12;height:110px;background-size:130px auto,145px auto,22px 22px,18px 18px}}
/* V5.3 · accesibilidad básica para aula */
:focus-visible{outline:4px solid #ffbf2f!important;outline-offset:3px!important}
button,a,input,select,[role="button"]{touch-action:manipulation}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (pointer:coarse){button,.btn,.button,a.ac-btn,.tecla{min-height:44px}}
