/* Mis logros: álbum de stickers de Axi + celebración */
.axi-sticker{display:block;width:100%;height:100%;overflow:visible;}
.axi-eyes{animation:axiBlink 5s infinite;transform-box:fill-box;transform-origin:center;}
.axi-bulb{animation:axiBulb 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
.axi-tw{animation:axiTw 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
.axi-rays{animation:axiSpin 40s linear infinite;transform-origin:256px 262px;}
@keyframes axiBlink{0%,92%,100%{transform:scaleY(1);}95%{transform:scaleY(.08);}}
@keyframes axiBulb{0%,100%{filter:drop-shadow(0 0 0 rgba(255,210,74,0));}50%{filter:drop-shadow(0 0 8px rgba(255,210,74,.95));}}
@keyframes axiTw{0%,100%{opacity:.3;transform:scale(.7);}50%{opacity:1;transform:scale(1.15);}}
@keyframes axiSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.axi-eyes,.axi-bulb,.axi-tw,.axi-rays,.axi-float{animation:none !important;}}

/* Cabecera con Axi */
.lg-hero{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:linear-gradient(135deg,#0B053D 0%,#1B2FBF 60%,#3F63FF 100%);border-radius:24px;padding:24px 32px;color:#fff;margin-bottom:26px;position:relative;overflow:hidden;}
.lg-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 240px at 85% -10%,rgba(255,255,255,.18),transparent 60%),radial-gradient(360px 200px at 5% 120%,rgba(61,220,255,.22),transparent 60%);pointer-events:none;}
.lg-axi{width:150px;height:150px;cursor:pointer;position:relative;z-index:1;}
.axi-float{animation:axiFloat 3.6s ease-in-out infinite;}
@keyframes axiFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
.lg-axi.wiggle{animation:axiWiggle .7s ease;}
@keyframes axiWiggle{0%,100%{transform:rotate(0);}20%{transform:rotate(-8deg) scale(1.05);}45%{transform:rotate(7deg) scale(1.05);}70%{transform:rotate(-3deg);}}
.lg-say{position:relative;z-index:1;}
.lg-say .bubble{background:#fff;color:var(--navy);border-radius:18px 18px 18px 4px;padding:14px 18px;font-size:15px;font-weight:600;line-height:1.45;max-width:520px;box-shadow:0 10px 30px rgba(0,0,0,.2);}
.lg-say .who{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-bottom:8px;}
.lg-ring{position:relative;z-index:1;width:132px;height:132px;flex:none;}
.lg-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.lg-ring .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.lg-ring .n b{font-size:34px;font-weight:900;}
.lg-ring .n small{font-size:12px;opacity:.8;margin-top:4px;font-weight:700;}
@media (max-width:820px){.lg-hero{grid-template-columns:1fr;text-align:center;justify-items:center;padding:22px;}.lg-say .bubble{border-radius:18px;}}

/* Filtros */
.lg-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center;}
.lg-chip{border:1px solid var(--border);background:#fff;color:var(--navy);font-weight:700;font-size:13.5px;padding:8px 16px;border-radius:100px;cursor:pointer;font-family:inherit;}
.lg-chip.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.lg-tools .sp{flex:1;}
.lg-tools small{color:var(--text-muted);font-weight:600;}

/* Curso */
.lg-course{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px 22px 22px;margin-bottom:18px;}
.lg-chead{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.lg-cico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;}
.lg-chead h3{font-size:17px;margin:0;color:var(--navy);}
.lg-chead .meta{font-size:12.5px;color:var(--text-muted);font-weight:600;margin-top:2px;}
.lg-chead .bar{margin-left:auto;width:140px;height:8px;background:var(--bg-tint-2);border-radius:8px;overflow:hidden;flex:none;}
.lg-chead .bar span{display:block;height:100%;background:linear-gradient(90deg,#5B7BFF,#3DDCFF);border-radius:8px;}
@media (max-width:640px){.lg-chead .bar{display:none;}}
.lg-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.lg-slot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;}
.lg-slot .cap{font-size:13px;font-weight:800;color:var(--navy);line-height:1.25;}
.lg-slot .st{font-size:12px;color:var(--text-muted);font-weight:600;line-height:1.3;min-height:2.6em;}
.lg-slot.earned .st{color:#12805C;}
.lg-section-title{font-size:18px;font-weight:800;color:var(--navy);margin:28px 0 12px;display:flex;align-items:center;gap:8px;}

/* Tarjeta de sticker */
.stk{position:relative;width:100%;max-width:190px;aspect-ratio:1;border-radius:26px;background:radial-gradient(circle at 30% 20%,#fff 0%,#EEF2FF 70%);border:1px solid var(--border);cursor:pointer;perspective:700px;padding:8px;font-family:inherit;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden;--rx:0deg;--ry:0deg;--mx:50%;--my:50%;}
.stk .art{width:100%;height:100%;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease;}
.stk.earned:hover{box-shadow:0 18px 40px rgba(27,47,191,.22);transform:translateY(-4px);}
.stk::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 45%),linear-gradient(115deg,rgba(255,255,255,0) 25%,rgba(255,120,200,.28) 42%,rgba(90,220,255,.3) 55%,rgba(255,240,120,.28) 68%,rgba(255,255,255,0) 82%);mix-blend-mode:soft-light;}
.stk.earned.is-tilting::after,.stk.holo::after{opacity:1;}
.stk.holo{background:radial-gradient(circle at 30% 20%,#fff 0%,#F1EAFF 70%);border-color:#D9C9FF;}
.stk.locked{background:repeating-linear-gradient(45deg,#F4F6FC,#F4F6FC 10px,#EEF1FA 10px,#EEF1FA 20px);cursor:default;}
.stk.locked .art{filter:brightness(0) opacity(.11);}
.stk.locked .q{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;color:#B7C0DC;}
.stk.locked .lockic{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#8C97B8;}
.stk.is-new::before{content:"NUEVO";position:absolute;left:10px;top:10px;background:#FF3D81;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;padding:3px 8px;border-radius:100px;z-index:2;}

/* Modal de detalle */
.lg-modal{position:fixed;inset:0;z-index:300;background:rgba(11,5,61,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:lgFade .2s ease;}
@keyframes lgFade{from{opacity:0;}}
.lg-mbox{background:#fff;border-radius:26px;padding:26px 26px 22px;max-width:400px;width:100%;text-align:center;position:relative;animation:lgUp .3s cubic-bezier(.2,.8,.2,1);}
@keyframes lgUp{from{transform:translateY(24px) scale(.96);opacity:0;}}
.lg-mbox .stk{max-width:280px;margin:0 auto 14px;cursor:default;}
.lg-mbox h3{font-size:22px;color:var(--navy);margin:0 0 4px;}
.lg-mbox .sub{font-size:13.5px;color:var(--text-muted);font-weight:600;margin-bottom:6px;}
.lg-mbox .when{font-size:13px;color:#12805C;font-weight:700;margin-bottom:16px;}
.lg-mbox .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.lg-x{position:absolute;right:14px;top:14px;border:0;background:var(--bg-tint-2);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:16px;color:var(--navy);}

/* Tira en el inicio */
.lg-strip{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 10px;}
.lg-strip .stk{flex:none;width:112px;border-radius:20px;}
.lg-strip .stk.more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(150deg,#1B2FBF,#5B3DF5);color:#fff;text-decoration:none;text-align:center;box-shadow:none;transition:transform .2s ease;}
.lg-strip .stk.more:hover{transform:translateY(-3px);}
.lg-strip .stk.more b{font-size:26px;font-weight:900;line-height:1;letter-spacing:-.02em;}
.lg-strip .stk.more b small{font-size:12px;font-weight:700;opacity:.8;letter-spacing:0;}
.lg-strip .stk.more span{font-size:12.5px;font-weight:800;background:rgba(255,255,255,.18);border-radius:100px;padding:5px 11px;}
.lg-home{margin-bottom:26px;}
.lg-strip-empty{display:flex;align-items:center;gap:16px;background:var(--bg-tint);border:1px dashed var(--border);border-radius:18px;padding:16px 18px;}
.lg-strip-empty .mini{width:72px;height:72px;flex:none;}
.lg-strip-empty p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5;}

/* Celebración: sobre de stickers */
.pk-overlay{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 40%,rgba(63,99,255,.55),rgba(11,5,61,.94) 70%);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:lgFade .25s ease;}
.pk-overlay.out{opacity:0;transition:opacity .25s;}
.pk-confetti{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;}
.pk-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;text-align:center;padding:20px;max-width:440px;width:100%;}
.pk-count{font-size:12px;font-weight:800;letter-spacing:.1em;opacity:.75;text-transform:uppercase;}
.pk-title{font-size:24px;font-weight:900;letter-spacing:-.01em;}
.pk-title.small{font-size:20px;animation:pkPop .5s .05s both;}
.pk-pack{position:relative;width:190px;height:250px;border:0;border-radius:20px;cursor:pointer;color:#fff;background:linear-gradient(160deg,#6D8BFF 0%,#2F4BF0 55%,#1B2FBF 100%);box-shadow:0 26px 50px rgba(0,0,0,.45),inset 0 0 0 4px rgba(255,255,255,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;animation:pkWiggle 1.8s ease-in-out infinite;font-family:inherit;}
.pk-pack::before{content:"";position:absolute;left:0;right:0;top:0;height:22px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 8px,transparent 8px 16px);opacity:.7;}
.pk-pack::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 8px,transparent 8px 16px);opacity:.7;}
.pk-pack.rare{background:linear-gradient(160deg,#FF7AB6 0%,#8B6BFF 45%,#3DDCFF 100%);}
.pk-pack img{width:88px;height:88px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3));}
.pk-pack b{font-size:22px;letter-spacing:.2em;font-weight:900;}
.pk-pack small{font-size:12px;font-weight:700;opacity:.9;}
.pk-shine{position:absolute;top:-30%;left:-60%;width:40%;height:160%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(12deg);animation:pkShine 2.4s ease-in-out infinite;}
@keyframes pkShine{0%{left:-60%;}60%,100%{left:130%;}}
@keyframes pkWiggle{0%,100%{transform:rotate(-2.5deg) translateY(0);}50%{transform:rotate(2.5deg) translateY(-6px);}}
.pk-card{width:min(300px,74vw);aspect-ratio:1;border-radius:32px;background:radial-gradient(circle at 30% 20%,#fff,#E8EEFF 75%);padding:12px;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.5);animation:pkPop .7s cubic-bezier(.2,1.3,.4,1) both;--rx:0deg;--ry:0deg;--mx:50%;--my:50%;overflow:hidden;cursor:pointer;}
.pk-card.holo{background:radial-gradient(circle at 30% 20%,#fff,#F1EAFF 75%);}
.pk-card .pk-art{width:100%;height:100%;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s;}
.pk-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.75),rgba(255,255,255,0) 45%),linear-gradient(115deg,rgba(255,255,255,0) 25%,rgba(255,120,200,.3) 42%,rgba(90,220,255,.32) 55%,rgba(255,240,120,.3) 68%,rgba(255,255,255,0) 82%);mix-blend-mode:soft-light;}
.pk-card.holo::after,.pk-card.is-tilting::after{opacity:1;}
@keyframes pkPop{0%{transform:scale(.15) rotate(-28deg);opacity:0;}60%{transform:scale(1.1) rotate(5deg);opacity:1;}100%{transform:scale(1) rotate(0);opacity:1;}}
.pk-flash{position:fixed;inset:0;background:#fff;pointer-events:none;animation:pkFlash .6s ease-out forwards;}
@keyframes pkFlash{from{opacity:.85;}to{opacity:0;}}
.pk-name{font-size:22px;font-weight:900;animation:pkUp .5s .25s both;}
.pk-sub{font-size:14px;opacity:.85;font-weight:600;animation:pkUp .5s .35s both;margin-top:-6px;}
.pk-actions{display:flex;gap:10px;margin-top:8px;animation:pkUp .5s .5s both;flex-wrap:wrap;justify-content:center;}
@keyframes pkUp{from{transform:translateY(14px);opacity:0;}to{transform:none;opacity:1;}}
.pk-btn{border:0;background:#fff;color:var(--navy);font-weight:800;font-size:15px;padding:12px 24px;border-radius:14px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
.pk-btn.ghost{background:rgba(255,255,255,.16);color:#fff;}
@media (prefers-reduced-motion:reduce){.pk-pack,.pk-shine,.pk-card,.pk-title.small,.pk-name,.pk-sub,.pk-actions{animation:none !important;}}

/* Calificar curso */
.side-col{min-width:0;}
.rv-box{margin-top:16px;padding:18px 16px;background:#fff;border:1px solid var(--border);border-radius:16px;text-align:center;}
.rv-box:empty{display:none;}
.rv-box .rv-t{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:10px;}
.rv-btn{width:100%;border:0;border-radius:14px;padding:13px 16px;font:inherit;font-weight:800;font-size:14.5px;cursor:pointer;background:var(--navy);color:#fff;}
.rv-btn:hover:not(:disabled){filter:brightness(1.12);}
.rv-btn:disabled{background:#E3E6EE;color:#9AA1B5;cursor:not-allowed;}
.rv-note{margin-top:8px;font-size:12px;color:var(--text-muted);font-weight:600;line-height:1.4;}
.rv-modal{position:fixed;inset:0;z-index:400;background:rgba(11,5,61,.7);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:16px;animation:lgFade .2s ease;}
.rv-card{background:#fff;border-radius:24px;width:100%;max-width:520px;max-height:94vh;overflow:auto;padding:24px 26px 22px;position:relative;animation:lgUp .3s cubic-bezier(.2,.8,.2,1);}
.rv-head{display:flex;gap:14px;align-items:center;margin-bottom:6px;}
.rv-head .ax{width:64px;height:64px;flex:none;}
.rv-head h3{margin:0;font-size:20px;color:var(--navy);line-height:1.2;}
.rv-head p{margin:2px 0 0;font-size:13px;color:var(--text-muted);font-weight:600;}
.rv-area{display:grid;grid-template-columns:1fr auto 66px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);}
.rv-area:nth-of-type(1){margin-top:8px;}
.rv-area label{font-size:14px;font-weight:700;color:var(--navy);}
.rv-stars{display:flex;align-items:center;gap:2px;flex:none;}
.rv-star{border:0;background:none;padding:2px;font-size:28px;line-height:1;cursor:pointer;color:#D3D8E6;transition:transform .12s,color .12s;}
.rv-star.on{color:#FFB800;}
.rv-star:hover{transform:scale(1.18);}
.rv-star:focus-visible{outline:2px solid var(--blue);border-radius:6px;}
.rv-word{width:66px;text-align:right;font-size:12px;font-weight:700;color:var(--text-muted);}
.rv-txt{width:100%;margin-top:14px;min-height:92px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;font-size:14px;resize:vertical;color:var(--navy);}
.rv-txt:focus{outline:2px solid var(--blue);outline-offset:1px;}
.rv-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;color:var(--text-muted);font-weight:600;}
.rv-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end;}
.rv-thanks{text-align:center;padding:18px 6px 8px;}
.rv-thanks .ax{width:120px;height:120px;margin:0 auto 10px;}
.rv-thanks h3{margin:0 0 6px;color:var(--navy);font-size:22px;}
.rv-thanks p{margin:0 0 16px;color:var(--text-muted);font-size:14px;}
@media(max-width:480px){.rv-area{grid-template-columns:1fr auto;}.rv-word{display:none;}.rv-star{font-size:26px;}}
