*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--blue:#3B82F6;--blue-d:#2563EB;--blue-l:#EFF6FF;--pink:#EC4899;--pink-d:#DB2777;--pink-l:#FDF2F8;--green:#10B981;--green-l:#ECFDF5;--amber:#F59E0B;--amber-l:#FFFBEB;--purple:#8B5CF6;--purple-l:#F5F3FF;--gray:#64748B;--gray-l:#F8FAFC;--white:#FFF;--bg:#F0F9FF;--text:#1E293B;--text-m:#475569;--text-l:#94A3B8;--radius:20px;--radius-sm:12px;--radius-xs:8px;--shadow-blue:0 8px 24px rgba(59,130,246,.35);--shadow-pink:0 8px 24px rgba(219,39,119,.35)}
body{font-family:'Nunito',sans-serif;background:var(--bg);overflow-x:hidden}
.hidden{display:none!important}
.screen{display:none;max-width:430px;margin:0 auto;min-height:100vh;flex-direction:column;position:relative}
.screen.active{display:flex}
.btn{border:none;cursor:pointer;border-radius:var(--radius-sm);font-family:'Nunito',sans-serif;font-weight:700;transition:transform .15s,box-shadow .15s}
.btn:active{transform:scale(.97)}
.btn-blue{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;box-shadow:var(--shadow-blue)}
.btn-pink{background:linear-gradient(135deg,var(--pink),var(--pink-d));color:#fff;box-shadow:var(--shadow-pink)}
.btn-green{background:linear-gradient(135deg,#10B981,#059669);color:#fff;box-shadow:0 8px 24px rgba(16,185,129,.35)}
.btn-full{width:100%;padding:15px;font-size:16px;border-radius:var(--radius)}
input{width:100%;padding:13px 16px;border-radius:var(--radius-sm);border:1.5px solid #E2E8F0;font-size:15px;font-family:'Nunito',sans-serif;background:#F8FAFC;outline:none;transition:border-color .2s,background .2s}
input:focus{border-color:var(--blue);background:#fff}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 0;flex-shrink:0}
.logo{display:flex;align-items:center;gap:8px}
.logo-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--pink));display:flex;align-items:center;justify-content:center;font-size:18px}
.logo-name{font-family:'Baloo 2',cursive;font-weight:800;font-size:14px;line-height:1.1;color:var(--text)}
.logo-name span{color:var(--pink)}
.back-btn{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.8);border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.blobs{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:bfloat 6s ease-in-out infinite}
.b1{width:280px;height:280px;background:var(--blue);top:-60px;left:-60px}
.b2{width:220px;height:220px;background:var(--pink);top:35%;right:-50px;animation-delay:2s}
.b3{width:160px;height:160px;background:#34D399;bottom:8%;left:5%;animation-delay:4s}
.b4{width:120px;height:120px;background:#FCD34D;top:18%;left:38%;animation-delay:1.5s}
@keyframes bfloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.04)}}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s}
.overlay.open{opacity:1;pointer-events:all}
.sheet{background:#fff;border-radius:28px 28px 0 0;width:100%;max-width:430px;margin:0 auto;padding:24px 24px 36px;transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);max-height:90vh;overflow-y:auto}
.sheet::-webkit-scrollbar{display:none}
.overlay.open .sheet{transform:translateY(0)}
.handle{width:40px;height:4px;background:#E2E8F0;border-radius:2px;margin:0 auto 20px}
.sheet-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px;color:var(--text);margin-bottom:6px}
.sheet-sub{font-size:14px;color:var(--gray);margin-bottom:20px}
.pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.pill-blue{background:var(--blue-l);color:var(--blue-d)}.pill-pink{background:var(--pink-l);color:var(--pink-d)}
.pill-green{background:var(--green-l);color:#065F46}.pill-amber{background:var(--amber-l);color:#92400E}
.pill-purple{background:var(--purple-l);color:#5B21B6}
.card{background:#fff;border-radius:var(--radius);padding:18px;border:1px solid rgba(148,163,184,.15);margin-bottom:14px}
#home{background:transparent}#home>*{position:relative;z-index:1}
.hero{text-align:center;padding:24px 20px 16px}
.hero-plate{width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.9);border:3px solid #E0E7FF;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(59,130,246,.15);position:relative}
.food-big{font-size:56px;animation:foodspin 8s linear infinite}
@keyframes foodspin{0%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}100%{transform:rotate(-5deg)}}
.orbit{position:absolute;font-size:26px;animation:obrbit 4s ease-in-out infinite}
.o1{top:0;right:8px}.o2{bottom:8px;right:4px;animation-delay:.7s}
.o3{bottom:4px;left:8px;animation-delay:1.4s}.o4{top:8px;left:4px;animation-delay:2.1s}
@keyframes obrbit{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.hero-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:26px;color:var(--text);line-height:1.2;margin-bottom:8px}
.hero-title .tb{color:var(--blue)}.hero-title .tp{color:var(--pink)}
.hero-sub{font-size:14px;color:var(--gray);max-width:270px;margin:0 auto}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 16px}
.stat-card{background:rgba(255,255,255,.85);border-radius:14px;padding:12px 8px;text-align:center;border:1px solid rgba(148,163,184,.15)}
.stat-n{font-family:'Baloo 2',cursive;font-weight:800;font-size:20px;display:block}
.stat-lbl{font-size:10px;font-weight:700;color:var(--text-l)}
.modes-wrap{padding:0 20px 16px}
.sec-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-l);text-transform:uppercase;text-align:center;margin-bottom:12px}
.modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mode-btn{border-radius:var(--radius);padding:20px 14px;text-align:center;cursor:pointer;position:relative;overflow:hidden;border:none;transition:transform .2s,box-shadow .2s}
.mode-btn:hover{transform:translateY(-3px)}.mode-btn:active{transform:scale(.97)}
.mc{background:linear-gradient(145deg,var(--blue-d),var(--blue));box-shadow:var(--shadow-blue)}
.mp{background:linear-gradient(145deg,var(--pink-d),var(--pink));box-shadow:var(--shadow-pink)}
.mode-shine{position:absolute;top:-20px;right:-20px;width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.12)}
.mbadge{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.25);border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700;color:#fff}
.moji{font-size:34px;display:block;margin-bottom:6px}
.mtitle{font-family:'Baloo 2',cursive;font-weight:700;font-size:15px;color:#fff;margin-bottom:3px}
.mdesc{font-size:11px;color:rgba(255,255,255,.8)}
.cta-row{padding:0 20px 16px}
.cta-card{background:rgba(255,255,255,.9);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;gap:14px;border:1px solid rgba(148,163,184,.15);cursor:pointer}
.cta-icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--blue),var(--pink));display:flex;align-items:center;justify-content:center;font-size:20px}
.cta-t{font-weight:700;font-size:14px;color:var(--text);margin-bottom:2px}
.cta-s{font-size:12px;color:var(--gray)}
.cta-arrow{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--blue-d));display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;margin-left:auto;flex-shrink:0}
.login-hint{text-align:center;font-size:13px;color:var(--gray);padding-bottom:20px}
.link-btn{background:none;border:none;color:var(--blue);font-weight:700;font-size:13px;cursor:pointer;font-family:'Nunito',sans-serif}
#child-home{background:var(--blue-l)}
.child-header{background:linear-gradient(160deg,var(--blue-d),var(--blue));padding:20px 20px 32px;position:relative;overflow:hidden;border-radius:0 0 28px 28px}
.child-header::after{content:'';position:absolute;bottom:-20px;left:0;right:0;height:40px;background:var(--blue-l);border-radius:50% 50% 0 0}
.ch-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.avatar-wrap{display:flex;align-items:center;gap:10px}
.avatar{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;border:2px solid rgba(255,255,255,.4)}
.ch-greeting{color:#fff}.ch-name{font-family:'Baloo 2',cursive;font-weight:800;font-size:16px}.ch-sub{font-size:11px;opacity:.8}
.stars-display{background:rgba(255,255,255,.2);border-radius:12px;padding:6px 12px;display:flex;align-items:center;gap:4px;color:#fff;font-family:'Baloo 2',cursive;font-weight:800;font-size:16px}
.xp-bar-wrap{background:rgba(255,255,255,.2);border-radius:20px;padding:10px 14px}
.xp-label{color:rgba(255,255,255,.8);font-size:11px;font-weight:700;margin-bottom:6px;display:flex;justify-content:space-between}
.xp-track{background:rgba(255,255,255,.2);border-radius:20px;height:10px;overflow:hidden}
.xp-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#FCD34D,#F59E0B);transition:width .6s ease}
.child-scroll{flex:1;overflow-y:auto;padding:20px 20px 10px}.child-scroll::-webkit-scrollbar{display:none}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.section-title{font-family:'Baloo 2',cursive;font-weight:700;font-size:16px;color:var(--text)}
.see-all{font-size:12px;color:var(--blue);font-weight:700;cursor:pointer;background:none;border:none;font-family:'Nunito',sans-serif}
.daily-card{background:linear-gradient(135deg,#8B5CF6,#7C3AED);border-radius:var(--radius);padding:18px;margin-bottom:16px;color:#fff;display:flex;align-items:center;gap:14px;cursor:pointer}
.daily-icon{font-size:42px;flex-shrink:0}.daily-t{font-family:'Baloo 2',cursive;font-weight:700;font-size:16px;margin-bottom:4px}
.daily-s{font-size:12px;opacity:.85}.daily-badge{background:rgba(255,255,255,.2);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700;margin-top:8px;display:inline-block}
.lessons-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px}.lessons-scroll::-webkit-scrollbar{display:none}
.lesson-card{min-width:130px;border-radius:var(--radius-sm);padding:16px 12px;text-align:center;cursor:pointer;flex-shrink:0;transition:transform .2s}
.lesson-card:hover{transform:translateY(-3px)}.lc-emoji{font-size:32px;margin-bottom:8px}
.lc-title{font-family:'Baloo 2',cursive;font-weight:700;font-size:13px;color:#fff}
.lc-stars{font-size:11px;color:rgba(255,255,255,.8);margin-top:4px}
.lc1{background:linear-gradient(145deg,#10B981,#059669)}.lc2{background:linear-gradient(145deg,#F59E0B,#D97706)}
.lc3{background:linear-gradient(145deg,#EC4899,#DB2777)}.lc4{background:linear-gradient(145deg,#3B82F6,#2563EB)}
.lc5{background:linear-gradient(145deg,#8B5CF6,#7C3AED)}.lc6{background:linear-gradient(145deg,#06B6D4,#0891B2)}
.lc7{background:linear-gradient(145deg,#F97316,#EA580C)}.lc8{background:linear-gradient(145deg,#EF4444,#DC2626)}
.games-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.game-card{background:#fff;border-radius:var(--radius-sm);padding:16px;text-align:center;cursor:pointer;border:1px solid rgba(148,163,184,.15);transition:transform .2s,box-shadow .2s}
.game-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.gc-emoji{font-size:36px;margin-bottom:8px}.gc-title{font-family:'Baloo 2',cursive;font-weight:700;font-size:13px;color:var(--text)}
.gc-diff{font-size:10px;color:var(--gray);margin-top:3px}
.medals-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.medals-row::-webkit-scrollbar{display:none}
.medal-item{text-align:center;flex-shrink:0;min-width:70px}
.medal-circle{width:56px;height:56px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;font-size:26px}
.medal-locked{background:#F1F5F9;filter:grayscale(1) opacity(.5)}.medal-earned{box-shadow:0 4px 12px rgba(0,0,0,.15)}
.medal-name{font-size:10px;font-weight:700;color:var(--text-m);line-height:1.2}
.child-nav{background:#fff;border-top:1px solid #F1F5F9;padding:10px 0 16px;display:flex;justify-content:space-around;flex-shrink:0}
.cnav{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;flex:1}
.cnav .ni{font-size:22px}.cnav .nl{font-size:10px;font-weight:700;color:var(--text-l)}.cnav.active .nl{color:var(--blue)}

/* ===== LIST HEADER (lessons/games/medals) ===== */
.list-header{padding:20px;background:linear-gradient(160deg,var(--green),#059669);border-radius:0 0 24px 24px;color:#fff;text-align:center;position:relative}
.list-header-emoji{font-size:48px;margin-bottom:8px}
.list-header-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px}
.list-header-sub{font-size:13px;opacity:.85;margin-top:4px}
.list-scroll{flex:1;overflow-y:auto;padding:20px}.list-scroll::-webkit-scrollbar{display:none}
.list-card{background:#fff;border-radius:var(--radius-sm);padding:16px;margin-bottom:12px;display:flex;align-items:center;gap:14px;cursor:pointer;border:1px solid rgba(148,163,184,.15);transition:transform .2s}
.list-card:hover{transform:translateY(-2px)}
.list-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.list-card-info{flex:1}.list-card-title{font-family:'Baloo 2',cursive;font-weight:700;font-size:15px;color:var(--text)}
.list-card-desc{font-size:12px;color:var(--gray);margin-top:2px}
.list-card-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}
.list-card-arrow{color:var(--text-l);font-size:18px;flex-shrink:0}
.list-section-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-l);margin:18px 0 10px}

/* ===== LESSON DETAIL ===== */
#lesson-detail{background:#fff}
.lesson-header{padding:20px;background:linear-gradient(160deg,#10B981,#059669);border-radius:0 0 24px 24px;color:#fff;text-align:center}
.lh-emoji{font-size:52px;margin-bottom:10px}.lh-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px}
.lh-sub{font-size:13px;opacity:.85;margin-top:4px}
.progress-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);transition:all .3s}
.dot.done{background:#fff}.dot.current{background:#FCD34D;width:20px;border-radius:4px}
.lesson-content{padding:24px 20px;flex:1;overflow-y:auto}.lesson-content::-webkit-scrollbar{display:none}
.lesson-card-big{background:var(--green-l);border-radius:var(--radius);padding:24px;text-align:center;margin-bottom:20px;border:2px solid #A7F3D0}
.lcb-emoji{font-size:64px;margin-bottom:12px;animation:wiggle 2s ease-in-out infinite}
@keyframes wiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.lcb-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px;color:#065F46;margin-bottom:6px}
.lcb-text{font-size:14px;color:#047857;line-height:1.6}
.fun-fact{background:linear-gradient(135deg,#FCD34D20,#FCD34D40);border-radius:var(--radius-sm);padding:14px 16px;border-left:4px solid var(--amber);margin-bottom:20px}
.ff-label{font-size:11px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.ff-text{font-size:14px;color:var(--text-m);line-height:1.5}
.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.ans-btn{background:#F8FAFC;border:2px solid #E2E8F0;border-radius:var(--radius-sm);padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s;font-family:'Nunito',sans-serif}
.ans-btn:hover{border-color:var(--blue);background:var(--blue-l)}
.ans-btn.correct{border-color:var(--green);background:var(--green-l)}
.ans-btn.wrong{border-color:#EF4444;background:#FEF2F2}
.ans-emoji{font-size:28px;margin-bottom:6px}.ans-text{font-size:13px;font-weight:700;color:var(--text)}

/* ===== GAME SCREENS ===== */
#game-screen{background:linear-gradient(160deg,#1E3A5F,#1E40AF)}
#plate-game{background:linear-gradient(160deg,#1E3A5F,#312E81)}
#find-fruit-game{background:linear-gradient(160deg,#064E3B,#065F46)}
#quiz-game{background:linear-gradient(160deg,#4C1D95,#3B0764)}
.game-header{padding:20px;text-align:center;color:#fff;position:relative}
.gh-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:20px;margin-bottom:4px}
.score-row{display:flex;justify-content:center;gap:20px;margin-top:10px}
.score-item{background:rgba(255,255,255,.15);border-radius:10px;padding:8px 16px;text-align:center}
.si-n{font-family:'Baloo 2',cursive;font-weight:800;font-size:20px;color:#FCD34D}
.si-l{font-size:10px;color:rgba(255,255,255,.7)}
.game-area{flex:1;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.question-box{background:rgba(255,255,255,.1);border-radius:var(--radius);padding:20px;text-align:center;margin-bottom:24px;width:100%;border:1px solid rgba(255,255,255,.2)}
.q-emoji{font-size:60px;margin-bottom:10px}
.q-text{font-family:'Baloo 2',cursive;font-weight:700;font-size:18px;color:#fff}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.choice-btn{background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s;font-family:'Nunito',sans-serif}
.choice-btn:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5)}
.choice-btn.correct{background:rgba(16,185,129,.3);border-color:#10B981}
.choice-btn.wrong{background:rgba(239,68,68,.3);border-color:#EF4444}
.cb-emoji{font-size:30px;margin-bottom:6px}.cb-text{font-size:13px;font-weight:700;color:#fff}

/* ===== PLATE GAME ===== */
.plate-visual{width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12);border:3px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:24px;position:relative;overflow:hidden}
.plate-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;margin:4px;transition:all .3s}
.zone-fruits{flex:1;width:85%;background:rgba(16,185,129,.15);border:1px dashed rgba(16,185,129,.4)}
.zone-label{font-size:9px;font-weight:700;color:rgba(255,255,255,.7);text-align:center;padding:2px 0}
.zone-items{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;padding:2px}
.zone-item{font-size:20px;animation:popIn .3s ease}
@keyframes popIn{0%{transform:scale(0)}100%{transform:scale(1)}}
.plate-bottom{display:flex;width:90%;gap:4px}
.zone-protein{flex:1;background:rgba(239,68,68,.15);border:1px dashed rgba(239,68,68,.4)}
.zone-cereal{flex:1;background:rgba(245,158,11,.15);border:1px dashed rgba(245,158,11,.4)}
.plate-question{text-align:center;margin-bottom:20px}
.plate-food-emoji{font-size:56px;margin-bottom:8px;animation:foodspin 1s ease-in-out infinite}
.plate-food-text{font-size:14px;color:rgba(255,255,255,.8)}
.plate-choices{display:flex;gap:10px;width:100%}
.plate-choice-btn{flex:1;padding:14px 8px;border-radius:var(--radius-sm);background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.2);color:#fff;font-size:12px;font-weight:700;text-align:center;transition:all .2s}
.plate-choice-btn:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5)}
.plate-choice-btn.correct{background:rgba(16,185,129,.3);border-color:#10B981}
.plate-choice-btn.wrong{background:rgba(239,68,68,.3);border-color:#EF4444}
.plate-choice-btn:disabled{opacity:.5;pointer-events:none}

/* ===== FIND FRUIT GAME ===== */
.ff-instruction{text-align:center;font-size:14px;color:rgba(255,255,255,.85);margin-bottom:20px;font-weight:700}
.ff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin-bottom:16px}
.ff-cell{aspect-ratio:1;border-radius:var(--radius-sm);background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:36px;cursor:pointer;transition:all .2s}
.ff-cell:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);transform:scale(1.05)}
.ff-cell.ff-found{background:rgba(16,185,129,.25);border-color:#10B981;pointer-events:none}
.ff-cell.ff-wrong{background:rgba(239,68,68,.25);border-color:#EF4444;animation:shake .4s ease}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.ff-cell.ff-missed{background:rgba(245,158,11,.2);border-color:#F59E0B;opacity:.6}
.ff-round-info{text-align:center;font-size:13px;color:rgba(255,255,255,.6);font-weight:700}

/* ===== QUIZ GAME ===== */
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.quiz-opt{background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s;font-family:'Nunito',sans-serif}
.quiz-opt:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.4)}
.quiz-opt.correct{background:rgba(16,185,129,.3);border-color:#10B981}
.quiz-opt.wrong{background:rgba(239,68,68,.3);border-color:#EF4444}
.quiz-opt-text{font-size:13px;font-weight:700;color:#fff}

/* ===== MEDALS SCREEN ===== */
#medals-screen{background:#FFFBEB}
.medals-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px}
.medal-stat{background:#fff;border-radius:var(--radius-sm);padding:14px;text-align:center;border:1px solid rgba(148,163,184,.15)}
.medal-stat-n{font-family:'Baloo 2',cursive;font-weight:800;font-size:24px;color:var(--amber)}
.medal-stat-l{font-size:11px;color:var(--gray);margin-top:2px}
.medal-cat-title{font-family:'Baloo 2',cursive;font-weight:700;font-size:15px;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.medal-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;border:1px solid rgba(148,163,184,.15)}
.medal-row-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.medal-row-icon.earned{box-shadow:0 4px 12px rgba(0,0,0,.12)}
.medal-row-icon.locked{background:#F1F5F9;filter:grayscale(1) opacity(.5)}
.medal-row-info{flex:1}
.medal-row-name{font-weight:700;font-size:14px;color:var(--text)}
.medal-row-desc{font-size:11px;color:var(--gray);margin-top:2px}
.medal-row-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}

/* ===== PARENT ===== */
#parent-home{background:#F8FAFC}
.parent-header{background:linear-gradient(160deg,var(--pink-d),var(--pink));padding:20px 20px 36px;border-radius:0 0 28px 28px;position:relative;overflow:hidden}
.ph-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.ph-greeting{color:#fff}.ph-name{font-family:'Baloo 2',cursive;font-weight:800;font-size:18px}
.ph-sub{font-size:12px;opacity:.8;margin-top:2px}
.notif-btn{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:18px;position:relative;cursor:pointer;border:none}
.notif-dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:#FCD34D;border:2px solid var(--pink)}
.kids-scroll{display:flex;gap:10px;overflow-x:auto}.kids-scroll::-webkit-scrollbar{display:none}
.kid-chip{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);border-radius:20px;padding:8px 14px;flex-shrink:0;cursor:pointer;border:none;transition:background .2s}
.kid-chip.active{background:rgba(255,255,255,.9)}.kid-chip.active .kc-name{color:var(--pink-d)}
.kc-avatar{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:16px}
.kc-name{font-weight:700;font-size:13px;color:#fff}
.parent-scroll{flex:1;overflow-y:auto;padding:20px 20px 10px}.parent-scroll::-webkit-scrollbar{display:none}
.progress-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.prog-card{background:#fff;border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(148,163,184,.15)}
.pc-icon{font-size:22px;margin-bottom:6px}.pc-val{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px;color:var(--text)}
.pc-label{font-size:11px;color:var(--gray);margin-top:2px}
.pc-bar{height:4px;border-radius:2px;background:#F1F5F9;margin-top:8px;overflow:hidden}
.pc-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--pink),var(--pink-d))}
.week-chart{background:#fff;border-radius:var(--radius);padding:18px;margin-bottom:16px;border:1px solid rgba(148,163,184,.15)}
.wc-title{font-weight:700;font-size:14px;color:var(--text);margin-bottom:14px}
.bars-row{display:flex;align-items:flex-end;justify-content:space-between;height:80px;gap:6px}
.bar-wrap{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;justify-content:flex-end}
.bar{border-radius:4px 4px 0 0;width:100%;min-width:24px;transition:height .5s ease}
.bar-lbl{font-size:10px;color:var(--gray);margin-top:4px}
.recipe-card{background:#fff;border-radius:var(--radius);margin-bottom:12px;border:1px solid rgba(148,163,184,.15);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}
.recipe-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.07)}
.recipe-img{height:120px;display:flex;align-items:center;justify-content:center;font-size:56px}
.recipe-body{padding:14px 16px}.recipe-title{font-weight:700;font-size:15px;color:var(--text);margin-bottom:6px}
.recipe-meta{display:flex;gap:10px;flex-wrap:wrap}
.recipe-tag{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--gray);font-weight:600}
.tip-card{background:linear-gradient(135deg,var(--blue-l),#EDE9FE);border-radius:var(--radius);padding:18px;margin-bottom:12px;border:1px solid rgba(139,92,246,.15)}
.tip-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tip-icon{font-size:24px}.tip-title{font-weight:700;font-size:14px;color:var(--text)}
.tip-text{font-size:13px;color:var(--text-m);line-height:1.5}
.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ach-item{background:#fff;border-radius:var(--radius-sm);padding:12px;text-align:center;border:1px solid rgba(148,163,184,.15)}
.ach-emoji{font-size:28px;margin-bottom:6px}.ach-name{font-size:10px;font-weight:700;color:var(--text-m);line-height:1.2}
.ach-status{font-size:9px;margin-top:3px}
.filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px}.filter-row::-webkit-scrollbar{display:none}
.filter-chip{flex-shrink:0;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;border:1.5px solid #E2E8F0;background:#fff;color:var(--gray);cursor:pointer;font-family:'Nunito',sans-serif;transition:all .2s}
.filter-chip.active{background:var(--pink);border-color:var(--pink);color:#fff}
#recipe-detail{background:#fff}
.rd-header{height:200px;display:flex;align-items:center;justify-content:center;font-size:80px;position:relative}
.rd-back{position:absolute;top:20px;left:20px;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.9);border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.rd-body{padding:20px;flex:1;overflow-y:auto}.rd-body::-webkit-scrollbar{display:none}
.rd-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px;color:var(--text);margin-bottom:8px}
.rd-meta{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.ing-list{list-style:none;margin-bottom:20px}
.ing-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #F1F5F9;font-size:14px;color:var(--text-m)}
.ing-list li::before{content:'•';color:var(--pink);font-size:20px}
.step-list{list-style:none;counter-reset:steps}
.step-item{display:flex;gap:12px;margin-bottom:16px;counter-increment:steps}
.step-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--pink-d));color:#fff;font-family:'Baloo 2',cursive;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.step-text{font-size:14px;color:var(--text-m);line-height:1.6;flex:1}
.celebration{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.celebration.show{opacity:1;pointer-events:all}
.celeb-box{background:#fff;border-radius:28px;padding:32px 28px;text-align:center;max-width:300px;width:90%}
.celeb-emoji{font-size:64px;margin-bottom:12px;animation:bounce .5s ease infinite alternate}
@keyframes bounce{from{transform:translateY(0)}to{transform:translateY(-10px)}}
.celeb-title{font-family:'Baloo 2',cursive;font-weight:800;font-size:24px;color:var(--text);margin-bottom:6px}
.celeb-sub{font-size:14px;color:var(--gray);margin-bottom:20px}
.confetti-container{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confettiFall 1.5s linear forwards}
@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}
#profile-screen{background:#F8FAFC}
.profile-header{background:linear-gradient(160deg,var(--blue),var(--blue-d));padding:30px 20px;text-align:center;border-radius:0 0 28px 28px;position:relative}
.profile-avatar{width:80px;height:80px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 12px;border:3px solid rgba(255,255,255,.4)}
.profile-name{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px;color:#fff}
.profile-sub{font-size:13px;color:rgba(255,255,255,.8);margin-top:4px}
.profile-section{padding:20px}
.ps-title{font-family:'Baloo 2',cursive;font-weight:700;font-size:16px;color:var(--text);margin-bottom:12px}
.menu-list{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(148,163,184,.15)}
.menu-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;border-bottom:1px solid #F1F5F9;transition:background .15s}
.menu-item:last-child{border-bottom:none}.menu-item:hover{background:#F8FAFC}
.mi-icon{font-size:20px;width:32px;text-align:center}.mi-text{flex:1;font-weight:600;font-size:14px;color:var(--text)}
.mi-arrow{color:var(--text-l);font-size:16px}
.pnav-bar{display:flex;justify-content:space-around;background:#fff;border-top:1px solid #F1F5F9;padding:10px 0 16px;flex-shrink:0}
.pnav-item{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;flex:1}
.pnav-item .pi{font-size:22px}.pnav-item .pl{font-size:10px;font-weight:700;color:var(--text-l)}
.pnav-item.active .pl{color:var(--pink)}
.toggle-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #F1F5F9}
.toggle-row:last-child{border-bottom:none}.toggle-icon{font-size:20px;width:32px;text-align:center;flex-shrink:0}
.toggle-info{flex:1}.toggle-title{font-weight:700;font-size:14px;color:#1E293B;margin-bottom:1px}
.toggle-sub{font-size:12px;color:#64748B}
.toggle-sw{position:relative;width:46px;height:26px;border-radius:13px;background:#E2E8F0;cursor:pointer;border:none;transition:background .3s;flex-shrink:0}
.toggle-sw.on{background:#10B981}
.toggle-sw::after{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .25s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.toggle-sw.on::after{left:23px}
.pw-strength{height:4px;border-radius:2px;background:#E2E8F0;margin-top:6px;overflow:hidden}
.pw-strength-fill{height:100%;border-radius:2px;width:0%;transition:width .4s,background .4s}
.lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.lang-card{background:#F8FAFC;border-radius:14px;padding:14px;text-align:center;cursor:pointer;border:2px solid #E2E8F0;transition:all .2s}
.lang-card.active{border-color:var(--blue);background:var(--blue-l)}
.lang-flag{font-size:30px;display:block;margin-bottom:6px}
.lang-name{font-size:13px;font-weight:700;color:#1E293B}
.lang-status{font-size:11px;color:#94A3B8;margin-top:2px}.lang-card.active .lang-status{color:var(--blue)}
.about-logo-big{width:80px;height:80px;border-radius:22px;background:linear-gradient(135deg,var(--blue),var(--pink));display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 12px;box-shadow:0 8px 24px rgba(59,130,246,.35)}
.about-feature{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #F1F5F9;font-size:13px;color:#475569}
.about-feature:last-child{border-bottom:none}
.about-feature-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0}
.avatar-option{font-size:32px;cursor:pointer;padding:8px;border-radius:12px;background:#F8FAFC;border:2px solid #E2E8F0;transition:all .2s;display:inline-block}
.avatar-option.selected{border-color:var(--pink);background:var(--pink-l)}
/* ===== TOAST ===== */
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-120px);background:#1E293B;color:#fff;padding:14px 24px;border-radius:14px;font-size:14px;font-weight:600;z-index:500;transition:transform .35s cubic-bezier(.4,0,.2,1);max-width:380px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.3);pointer-events:none}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.success{background:#059669}
.toast.error{background:#DC2626}

/* ===== PASSWORD FIELD WITH EYE ===== */
.pw-field{position:relative}
.pw-field input{padding-right:44px}
.pw-eye-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:18px;color:#94A3B8;padding:4px;line-height:1}
.pw-eye-btn:hover{color:var(--text)}

/* ===== FAMILY CODE ===== */
.family-code-box{font-family:monospace;font-size:28px;font-weight:800;color:var(--blue);text-align:center;letter-spacing:6px;padding:14px;background:var(--blue-l);border-radius:12px;border:2px dashed var(--blue)}

/* === Animación de error del Token === */
@keyframes shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-10px); }
  40% { transform: translateX(10px); }
  60% { transform: translateX(-10px); }
  80% { transform: translateX(10px); }
  100% { transform: translateX(0); }
}