:root{--p:#6d28d9;--p2:#a855f7;--pink:#ec4899;--ink:#211536;--muted:#766d88;--bg:#faf7ff;--card:#fff;--gold:#f59e0b;--green:#16a34a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif}button{font:inherit;border:0;cursor:pointer}
#app{max-width:780px;margin:auto;padding:18px 18px 95px}.screen{display:none;min-height:calc(100vh - 120px);animation:in .25s ease}.screen.active{display:block}@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.topbar{display:flex;justify-content:space-between;gap:10px}.eyebrow{font-size:10px;font-weight:950;letter-spacing:.14em;color:var(--p)}h1{font-size:26px;margin:5px 0}h2{font-size:30px;line-height:1.05;margin:6px 0 10px}h3{margin:0 0 15px}p{color:var(--muted);line-height:1.45}.stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stats span{background:#fff;padding:8px 9px;border-radius:15px;box-shadow:0 5px 18px #4c1d9510;font-size:12px}
.player-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:26px;padding:17px;margin:20px 0;box-shadow:0 8px 25px #4c1d9510}.avatar{width:82px;height:82px;border-radius:25px;background:linear-gradient(135deg,#ede9fe,#fce7f3);display:grid;place-items:center;font-size:52px}.player-info{flex:1}.level-pill{display:inline-block;background:#ede9fe;color:var(--p);font-size:10px;font-weight:950;padding:5px 8px;border-radius:99px}.player-info h2{font-size:20px}.xpbar{height:9px;background:#eee8f7;border-radius:10px;overflow:hidden}.xpbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--p),var(--pink));border-radius:10px}.player-info small{font-size:10px;color:var(--muted)}
.world-card{overflow:hidden;border-radius:30px;background:linear-gradient(145deg,#dbeafe,#f5d0fe);box-shadow:0 12px 30px #4c1d9515}.world-art{height:120px;display:flex;align-items:center;justify-content:space-around;font-size:45px;background:linear-gradient(#93c5fd55,#c4b5fd55);padding-top:12px}.world-copy{padding:18px 20px 5px}.world-card .primary{margin:12px 18px 18px;width:calc(100% - 36px)}
.primary,.secondary{width:100%;padding:16px;border-radius:18px;font-weight:950;margin:7px 0}.primary{color:#fff;background:linear-gradient(135deg,var(--p),var(--pink));box-shadow:0 10px 22px #6d28d938}.secondary{color:var(--p);background:#fff;box-shadow:0 6px 18px #4c1d9510}
.daily{display:flex;align-items:center;gap:12px;background:#fff7db;border:2px solid #fde68a;border-radius:20px;padding:13px;margin:13px 0}.daily>span{font-size:32px}.daily div{flex:1;display:flex;flex-direction:column}.daily small{color:#856b22}.daily button{background:#f59e0b;color:#fff;padding:10px 13px;border-radius:13px;font-weight:900}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{background:#fff;border-radius:20px;padding:18px;text-align:left;box-shadow:0 5px 18px #4c1d9510;display:flex;flex-direction:column;gap:4px;font-size:22px}.tile b{font-size:15px}.tile small{font-size:11px;color:var(--muted)}
.back{background:transparent;color:var(--muted);font-weight:850;padding:7px 0;margin-bottom:20px}.section-head{margin-bottom:20px}
.map{position:relative;background:linear-gradient(#bfdbfe,#dcfce7);border-radius:30px;padding:28px 12px;min-height:610px;overflow:hidden}.map:before{content:"☁️      ☁️                 ☁️";position:absolute;top:22px;left:15px;font-size:27px;opacity:.7}.path{position:absolute;left:50%;top:75px;height:485px;border-left:8px dashed #fff;transform:translateX(-50%);filter:drop-shadow(0 2px 2px #0001)}.map-node{position:relative;z-index:1;width:155px;margin:45px auto;background:#fff;border-radius:22px;padding:12px;text-align:center;box-shadow:0 8px 20px #16653422}.map-node:nth-of-type(3){margin-left:18%}.map-node:nth-of-type(4){margin-right:18%}.map-node:nth-of-type(5){margin-left:12%}.map-node span{font-size:38px;display:block}.map-node b{display:block;font-size:14px}.map-node small{color:var(--muted);font-size:10px}.active-node{border:3px solid #f59e0b}
.table-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.table-btn{background:#fff;border-radius:19px;padding:17px 7px;font-size:21px;font-weight:950;box-shadow:0 5px 18px #4c1d9510}.table-btn small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.game-top{display:flex;align-items:center;gap:10px}.game-top .back{margin:0}.progress-wrap{height:10px;background:#eee8f7;border-radius:20px;overflow:hidden;flex:1}.progress-wrap div{height:100%;width:10%;background:linear-gradient(90deg,var(--p),var(--pink));transition:.25s}.quest-strip{display:flex;justify-content:space-between;background:#fff;border-radius:15px;padding:10px 13px;margin:16px 0;font-size:12px;font-weight:850}.question-card{text-align:center;background:#fff;border-radius:29px;padding:24px 12px;margin:10px 0 14px;box-shadow:0 10px 30px #4c1d9510}.mini-cat{font-size:42px}.question-label{font-size:10px;font-weight:950;letter-spacing:.13em;color:var(--muted)}.question{font-size:54px;font-weight:950;margin:5px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:11px}.answer{background:#fff;border:3px solid transparent;border-radius:19px;padding:19px;font-size:26px;font-weight:950;box-shadow:0 5px 18px #4c1d9510}.answer.correct{border-color:#22c55e;background:#f0fdf4}.answer.wrong{border-color:#fb7185;background:#fff1f2}.feedback{text-align:center;min-height:48px;padding:12px;color:var(--p);font-weight:950}
.center{text-align:center;padding-top:35px}.chest{font-size:110px;animation:bob 1s infinite alternate}@keyframes bob{to{transform:translateY(-10px) rotate(3deg)}}.chest-open{font-size:105px;animation:pop .55s}@keyframes pop{0%{transform:scale(.2)}80%{transform:scale(1.15)}100%{transform:scale(1)}}.pill{display:inline-block;background:#fff;color:var(--p);font-size:10px;font-weight:950;padding:7px 10px;border-radius:99px}.result-card,.stats-big{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.result-card>div,.stats-big>div{background:#fff;border-radius:19px;padding:15px;display:flex;flex-direction:column;gap:4px;box-shadow:0 5px 18px #4c1d9510}.result-card b,.stats-big b{font-size:23px}.result-card small,.stats-big small{color:var(--muted)}.unlock{background:#fef3c7;border-radius:18px;padding:14px;margin:12px 0 18px;font-weight:850}.loot-card{background:#fff;border-radius:28px;padding:25px;margin:20px auto;max-width:250px;box-shadow:0 12px 30px #4c1d9512}.loot-card div{font-size:90px}.loot-card b,.loot-card small{display:block}.loot-card small{margin-top:5px;color:var(--p);font-weight:950;letter-spacing:.1em}
.rarity-row{display:flex;justify-content:space-between;font-size:8px;font-weight:950;color:var(--muted);margin-bottom:8px}.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cat-card{background:#fff;border-radius:21px;padding:16px;text-align:center;box-shadow:0 5px 18px #4c1d9510}.cat-card .emoji{font-size:58px}.cat-card b{display:block;font-size:13px;margin-top:4px}.cat-card small{font-size:9px;color:var(--muted)}.cat-card.locked{filter:grayscale(1);opacity:.4}.rarity-common{border-bottom:4px solid #94a3b8}.rarity-rare{border-bottom:4px solid #3b82f6}.rarity-epic{border-bottom:4px solid #a855f7}.rarity-legendary{border-bottom:4px solid #f59e0b}
.mastery{background:#fff;border-radius:23px;padding:19px}.bar-row{margin:13px 0}.bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:850}.bar{height:9px;background:#eee8f7;border-radius:10px;overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--p),var(--pink))}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:#ffffffed;backdrop-filter:blur(15px);display:flex;justify-content:center;z-index:10;border-top:1px solid #eee8f5}.bottom-nav button{background:transparent;min-width:72px;color:var(--p);font-size:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.bottom-nav small{font-size:9px;font-weight:900}
@media(min-width:650px){#app{padding-top:32px}.table-grid{grid-template-columns:repeat(5,1fr)}.cat-grid{grid-template-columns:repeat(4,1fr)}.bottom-nav{position:sticky;top:0;bottom:auto;max-width:780px;margin:-32px auto 25px;border:0;border-radius:0 0 20px 20px}}

.smart{background:linear-gradient(135deg,#ecfdf5,#eff6ff);color:#047857}
.room{height:430px;border-radius:30px;overflow:hidden;background:linear-gradient(#bae6fd 0 55%,#fde68a 55%);position:relative;box-shadow:0 12px 30px #4c1d9515}.room-decor{text-align:center;font-size:38px;padding:28px 5px}.room-floor{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:45px}.room-cat{display:inline-block;position:relative;font-size:90px;animation:bob 1.4s infinite alternate}.room-cat i{position:absolute;right:-8px;top:0;font-style:normal;font-size:38px}.room-sign{position:absolute;top:180px;left:50%;transform:translateX(-50%);background:#fff;border-radius:14px;padding:9px 15px;font-weight:900;white-space:nowrap}
.shop-msg{background:#fff7db;border:2px solid #fde68a;padding:13px;border-radius:17px;margin-bottom:12px;color:#765d20}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.shop-item{background:#fff;border-radius:20px;padding:15px;text-align:center;box-shadow:0 5px 18px #4c1d9510}.shop-item>div{font-size:55px}.shop-item b,.shop-item small{display:block}.shop-item small{color:#9a6b08;margin:4px}.shop-item button{background:#ede9fe;color:var(--p);border-radius:11px;padding:8px 12px;font-weight:900;margin-top:5px}.sound{display:block;background:#fff;padding:15px;border-radius:16px;margin-top:13px;font-weight:850}
.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.achievement{background:#fff;border-radius:20px;padding:16px;box-shadow:0 5px 18px #4c1d9510;opacity:.45}.achievement.done{opacity:1;border:2px solid #fbbf24;background:#fffbeb}.achievement span{font-size:42px;display:block}.achievement b,.achievement small{display:block}.achievement small{color:var(--muted);margin-top:3px}

.profile-card,.parent-card{background:#fff;border-radius:25px;padding:20px;box-shadow:0 8px 25px #4c1d9510;margin-bottom:14px}.profile-avatar{width:100px;height:100px;margin:0 auto 18px;border-radius:30px;background:linear-gradient(135deg,#ede9fe,#fce7f3);display:grid;place-items:center;font-size:62px}.profile-card input{width:100%;padding:15px;border:2px solid #eee8f7;border-radius:15px;font:inherit;margin-bottom:10px;outline:none}.cloud-status{background:#eef2ff;border-radius:16px;padding:13px;font-size:12px;color:#4338ca}.parent-card{display:flex;flex-direction:column;gap:5px}.parent-card small{color:var(--muted)}.weak-item{background:#fff7db;border-radius:15px;padding:12px;margin:9px 0;display:flex;justify-content:space-between;font-weight:850}.weak-item small{color:#9a6b08}

.auth-hero{text-align:center;padding:35px 10px 20px}.auth-cat{font-size:95px;animation:bob 1s infinite alternate}.auth-hero h1{font-size:31px}.auth-card{background:#fff;border-radius:27px;padding:20px;box-shadow:0 10px 30px #4c1d9512}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f3effa;border-radius:13px;padding:4px;margin-bottom:14px}.auth-tabs button{padding:10px;border-radius:10px;background:transparent;font-weight:950;color:var(--muted)}.auth-tabs button.active{background:#fff;color:var(--p);box-shadow:0 2px 8px #0001}.auth-card input,.profile-card input{width:100%;padding:15px;border:2px solid #eee8f7;border-radius:15px;font:inherit;margin-bottom:10px;outline:none}.auth-msg{min-height:20px;text-align:center;color:#b45309;font-size:12px;font-weight:800;padding-top:8px}.children-list{display:grid;gap:10px;margin:15px 0}.child-row{background:#fff;border-radius:19px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 5px 18px #4c1d9510}.child-row span{font-size:38px}.child-row div{flex:1}.child-row small{color:var(--muted);display:block}.child-row button{background:#ede9fe;color:var(--p);border-radius:11px;padding:9px;font-weight:900}

/* V5.2 — Family dashboard */
.family-hero{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(135deg,#fff,#f5f3ff);border-radius:25px;padding:20px;box-shadow:0 8px 25px #4c1d9510;margin-bottom:12px}.family-hero h2{margin-bottom:5px}.family-hero p{margin:0}.family-badge{min-width:74px;height:74px;border-radius:22px;background:#ede9fe;color:var(--p);display:grid;place-items:center;font-size:30px;font-weight:950}.family-badge small{font-size:8px;display:block;color:var(--muted)}.family-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.family-stats>div{background:#fff;border-radius:18px;padding:14px;text-align:center;box-shadow:0 5px 18px #4c1d9510}.family-stats b{font-size:24px;display:block}.family-stats small{font-size:10px;color:var(--muted);font-weight:850}.family-add{margin-top:14px}.family-add h3{margin:3px 0}.family-add p{margin:0 0 12px;font-size:12px}.compact-head{margin:20px 0 10px}.compact-head h3{margin:3px 0}.family-child-row{position:relative}.family-child-row.selected{outline:3px solid #ddd6fe;background:#faf7ff}.child-avatar{width:50px;height:50px;border-radius:17px;background:#f3e8ff;display:grid;place-items:center;flex:none}.child-main{min-width:0}.child-main b{font-size:15px}.child-main small{font-size:10px;line-height:1.4}.child-actions{display:flex;align-items:center;gap:5px}.child-actions button{white-space:nowrap}.child-actions .icon-btn{background:#f8fafc;color:var(--muted);padding:8px;border-radius:10px}.child-actions .danger{color:#dc2626}.empty-family{background:#fff;border-radius:22px;padding:28px;text-align:center;box-shadow:0 5px 18px #4c1d9510;display:flex;flex-direction:column;gap:6px}.empty-family span{font-size:52px}.empty-family small{color:var(--muted)}.parent-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:9px}.parent-toolbar .secondary{margin:0}.parent-children-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.parent-child-card{background:#fff;border-radius:21px;padding:14px;text-align:left;box-shadow:0 6px 20px #4c1d9510;display:flex;align-items:center;gap:10px;border:3px solid transparent}.parent-child-card.active{border-color:#c4b5fd;background:#faf7ff}.parent-child-avatar{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#ede9fe,#fce7f3);display:grid;place-items:center;font-size:32px;flex:none}.parent-child-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.parent-child-copy b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-child-copy small{font-size:9px;color:var(--muted)}.parent-child-arrow{font-size:25px;color:var(--p)}.parent-detail{margin-top:12px}.detail-heading{display:flex;align-items:center;gap:12px}.detail-heading>span{font-size:48px;width:65px;height:65px;border-radius:20px;background:#f3e8ff;display:grid;place-items:center}.detail-heading b,.detail-heading small{display:block}.detail-heading small{color:var(--muted);font-size:10px;margin-top:4px}.success-note{background:#ecfdf5;color:#047857;border-radius:15px;padding:13px;font-weight:850;font-size:12px}
@media(max-width:520px){.parent-children-grid{grid-template-columns:1fr}.child-actions{flex-wrap:wrap;justify-content:flex-end}.child-actions button:first-child{width:100%}.family-hero{align-items:flex-start}.family-badge{min-width:62px;height:62px}.family-badge small{font-size:7px}}

/* V6 — dashboard familiar y separación adulto/niño */
.parent-entry{border:1px dashed #8b5cf6!important}
.parent-analytics{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}
.analytics-card{background:#fff;border:1px solid #eee7fb;border-radius:22px;padding:18px;box-shadow:0 8px 25px rgba(76,29,149,.06)}
.analytics-card h3{margin:0 0 14px}
.session-chart{height:170px;display:flex;align-items:end;gap:8px;padding:12px 4px 0;border-bottom:1px solid #e9e1f5}
.chart-col{flex:1;min-width:18px;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:5px}
.chart-bar{width:100%;max-width:30px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#7c3aed,#ec4899);min-height:4px}
.chart-score{font-size:11px;font-weight:800;color:#5b21b6}.chart-date{font-size:9px;color:#8b7b9d}
.chart-legend{font-size:12px;color:#7c6b8e;margin-top:10px;text-align:center}
.session-history{display:flex;flex-direction:column;gap:8px;max-height:245px;overflow:auto}
.session-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;background:#faf8ff;border-radius:13px;padding:9px 10px}
.session-row .emoji{font-size:20px}.session-row b{display:block;font-size:13px}.session-row small{color:#8b7b9d;font-size:11px}.session-result{font-weight:900;color:#6d28d9}
.empty-analytics{padding:20px;text-align:center;color:#8b7b9d;background:#faf8ff;border-radius:14px}
.parent-toolbar{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:760px){.parent-analytics{grid-template-columns:1fr}.analytics-card{padding:14px}.session-chart{height:145px}}

.child-login-card{max-width:520px;margin:0 auto 30px}
.family-code-card{display:grid;gap:10px;margin:18px 0;padding:20px;border-radius:22px;background:linear-gradient(135deg,#f5efff,#fff);border:2px solid #eadffb}
.family-code-value{font-size:28px;font-weight:900;letter-spacing:3px;text-align:center;color:#6d28d9;padding:10px;background:#fff;border-radius:15px}
