:root{--bg: #0E1016;--surface: #171A23;--surface-2: #1F2430;--line: #2A3040;--text: #F2F4F8;--muted: #98A2B8;--primary: #4C6FFF;--primary-soft: #1E2A55;--success: #2BB673;--success-soft: #123528;--danger: #F0554F;--danger-soft: #3A1B1B;--warn: #F5A524;--gold: #E8B931;--radius: 16px;--radius-lg: 22px;--nav-h: 68px;color-scheme:dark}html[data-theme=claro]{--bg: #F6F7FB;--surface: #FFFFFF;--surface-2: #EEF1F7;--line: #DCE2EE;--text: #182033;--muted: #68738A;--primary: #365BE8;--primary-soft: #E8EDFF;--success: #148354;--success-soft: #E5F6EE;--danger: #CE403B;--danger-soft: #FCEBEA;--warn: #B8750A;--gold: #A76E00;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .22s ease,color .22s ease}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}input{font:inherit}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:700;letter-spacing:-.02em}p{margin:0}ul,ol{margin:0;padding:0}.app{min-height:100%;max-width:520px;margin:0 auto;position:relative;background:var(--bg)}.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.brand{font-size:26px;font-weight:800;letter-spacing:-.04em}.brand span{color:var(--primary)}.brand.small{font-size:20px}.bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:var(--primary);transition:width .45s cubic-bezier(.2,.8,.2,1)}.bar.success i{background:var(--success)}.chip{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--surface-2);font-size:11px;font-weight:700;color:var(--muted)}.note{font-size:12px;color:var(--muted);line-height:1.55;margin:20px 0 8px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.field{width:100%;padding:15px 16px;border-radius:14px;background:var(--surface);border:2px solid var(--line);color:var(--text);outline:none;margin-top:8px}.field:focus{border-color:var(--primary)}.field-label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-top:14px}.primary-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border-radius:14px;background:var(--primary);color:#fff;font-weight:800;font-size:16px;box-shadow:0 4px #2e4acb;transition:transform .1s,box-shadow .1s}.primary-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #2e4acb}.primary-button:disabled{background:var(--surface-2);color:var(--muted);box-shadow:none}.secondary-button{width:100%;padding:14px;border-radius:14px;background:var(--surface);border:2px solid var(--line);font-weight:700;color:var(--text)}.secondary-button.wide{margin-top:14px}.ghost-button{padding:10px 14px;border-radius:12px;color:var(--muted);font-weight:700}.danger-button{width:100%;padding:14px;border-radius:14px;margin-top:24px;background:var(--danger-soft);color:var(--danger);font-weight:700}.icon-btn{width:40px;height:40px;border-radius:12px;flex:none;background:var(--surface);color:var(--muted);font-size:16px}.empty{text-align:center;padding:48px 24px}.empty span{font-size:40px;display:block;margin-bottom:12px;color:var(--muted)}.empty b{display:block;font-size:18px;margin-bottom:6px}.empty p{color:var(--muted);font-size:14px}.nori{display:flex;gap:12px;align-items:flex-start;margin:16px 0}.nori-face{width:46px;height:46px;flex:none}.nori-face svg{display:block}.nori-sheet{fill:#fdf6e3;stroke:#c9bfa4;stroke-width:1.5}.nori-fold{fill:#e4d9bc}.nori-face circle{fill:#2a2a2a}.nori-face path[fill=none]{stroke:#2a2a2a;stroke-linecap:round}.nori.bien .nori-sheet{fill:#e7f8ef;stroke:#86d2ac}.nori.mal .nori-sheet{fill:#fdeceb;stroke:#e9a9a5}.nori-bubble{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:4px 16px 16px;padding:12px 14px}.nori-bubble span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.nori-bubble p{font-size:14.5px;margin-top:3px;line-height:1.5}.nori.compact .nori-face{width:34px;height:34px}.nori.compact .nori-bubble p{font-size:13.5px}.onboarding{min-height:100vh;display:flex;flex-direction:column;padding:20px 20px 0}.ob-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ob-count{font-size:13px;font-weight:700;color:var(--muted)}.ob-body{flex:1;padding:24px 0;animation:slide-in .3s ease}.ob-body h1{font-size:27px;margin-bottom:10px}.ob-lead{color:var(--muted);font-size:15px;margin-bottom:8px}.ob-actions{display:flex;gap:10px;padding:12px 0 24px;position:sticky;bottom:0;background:var(--bg)}.ob-actions .grow{flex:1}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ob-hero{text-align:center;padding:24px 0 8px}.ob-hero h1{font-size:31px;margin:20px 0 12px}.ob-hero p{color:var(--muted);font-size:15px}.crest{width:86px;height:86px;margin:0 auto;border-radius:26px;background:linear-gradient(140deg,var(--primary),#7048E8);display:grid;place-items:center;font-size:26px;font-weight:800;box-shadow:0 12px 34px #4c6fff59}.area-list,.choice-list,.sub-choice,.career-list,.modality-list,.level-grid,.time-grid{display:grid;gap:10px;margin-top:14px}.level-grid,.time-grid{grid-template-columns:1fr 1fr}.area-option,.choice-list>button,.sub-choice>button,.career-list>button,.level-grid>button,.time-grid>button,.diagnostic-cta{display:flex;align-items:center;gap:12px;text-align:left;padding:15px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.level-grid>button,.time-grid>button{flex-direction:column;align-items:flex-start;gap:3px}.area-option.selected,.choice-list>button.selected,.sub-choice>button.selected,.career-list>button.selected,.level-grid>button.selected,.time-grid>button.selected{border-color:var(--primary);background:var(--primary-soft)}.area-option b,.choice-list b,.career-list b,.level-grid b,.time-grid b{display:block;font-size:15px}.area-option small,.choice-list small,.sub-choice small,.level-grid small,.time-grid small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}.time-grid em{font-size:11px;font-weight:800;color:var(--primary);font-style:normal;margin-top:4px}.area-letter{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);font-weight:800;font-size:17px;color:var(--primary)}.choice-list>button>span:first-child,.diagnostic-cta>span:first-child{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);font-size:17px}.career-list{max-height:42vh;overflow-y:auto}.career-list>button{justify-content:space-between;padding:13px 15px}.career-list i{color:var(--primary);font-style:normal;font-weight:800}.diagnostic-cta{margin-top:14px;border-color:var(--primary)}.diagnostic-cta i{margin-left:auto;color:var(--muted);font-style:normal}.modality{display:block;text-align:left;padding:15px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.modality.selected{border-color:var(--primary);background:var(--primary-soft)}.modality-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.modality-head b{font-size:16px}.modality small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}.modality-desc{font-size:13px;margin-top:10px;line-height:1.5;opacity:.9}.tag{font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;background:var(--success);color:#06210f}.rigor{font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;margin-left:auto}.rigor.r1{background:var(--success-soft);color:var(--success)}.rigor.r2{background:#3a2f12;color:var(--warn)}.rigor.r3{background:var(--danger-soft);color:var(--danger)}.uni-list{display:grid;gap:10px;margin-top:14px}.uni-option{display:flex;align-items:center;gap:12px;text-align:left;padding:15px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.uni-option.selected{border-color:var(--primary);background:var(--primary-soft)}.uni-option.soon{opacity:.5}.uni-option b{display:block;font-size:15px}.uni-option small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}.uni-option i{margin-left:auto;color:var(--primary);font-style:normal;font-weight:800}.uni-mark{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);font-weight:800;font-size:14px;color:var(--primary)}.uni-option.soon .uni-mark{color:var(--muted)}.soon-tag{margin-left:auto;flex:none;font-style:normal;font-size:10px;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--surface-2);color:var(--muted)}.plan-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.plan-numbers.big{grid-template-columns:repeat(3,1fr)}.plan-numbers>div{background:var(--surface);border-radius:12px;padding:12px 8px;text-align:center}.plan-numbers b{display:block;font-size:21px}.plan-numbers span{font-size:10.5px;color:var(--muted);line-height:1.3;display:block}.summary-card{background:var(--surface);border-radius:var(--radius);padding:6px 16px;margin-top:16px}.summary-card>div{padding:12px 0;border-bottom:1px solid var(--line)}.summary-card>div:last-child{border:none}.summary-card span{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted);display:block}.summary-card b{font-size:15px}.toggle-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px;border-radius:14px;background:var(--surface);border:2px solid var(--line);margin-top:14px}.toggle-row b{display:block;text-align:left}.toggle-row small{color:var(--muted);font-size:12.5px}.toggle-row i{width:46px;height:27px;border-radius:99px;background:var(--surface-2);position:relative;flex:none}.toggle-row i span{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:var(--muted);transition:.2s}.toggle-row.on i{background:var(--primary)}.toggle-row.on i span{left:22px;background:#fff}.page{padding:64px 18px calc(var(--nav-h) + 28px)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.page-head h1{font-size:27px}.page-lead{color:var(--muted);font-size:14px;margin-bottom:14px;line-height:1.55}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:26px 0 12px}.section-head h2{font-size:17px}.section-head small{color:var(--muted);font-size:12px}.coin-pill{font-size:14px;font-weight:800;color:var(--gold)}.top-stats{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;z-index:20;display:flex;gap:8px;padding:12px 18px;background:linear-gradient(var(--bg) 62%,transparent);pointer-events:none}.top-stats .stat{font-size:13px;font-weight:800;padding:5px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}.top-stats .coins{color:var(--gold)}.top-stats .xp{color:var(--primary);margin-left:auto}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;height:var(--nav-h);z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{display:grid;place-items:center;gap:2px;color:var(--muted)}.bottom-nav svg{width:23px;height:23px}.nav-art{width:29px;height:29px;display:block;background-size:500% auto;background-repeat:no-repeat;filter:saturate(.68) brightness(.72);transition:transform .18s,filter .18s}.bottom-nav .active .nav-art{filter:saturate(1.08) brightness(1.12);transform:translateY(-2px) scale(1.08)}.bottom-nav small{font-size:10.5px;font-weight:700}.bottom-nav .active{color:var(--primary)}.hoy-card{background:var(--surface);border-radius:var(--radius-lg);padding:18px;margin-bottom:4px}.hoy-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.hoy-head h1{font-size:22px}.hoy-goal{text-align:right}.hoy-goal b{font-size:22px;display:block}.hoy-goal span{font-size:11px;color:var(--muted)}.hoy-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12.5px;color:var(--muted)}.hoy-meta b{color:var(--text)}.hoy-meta .ok{color:var(--success);font-weight:700}.hoy-meta .warn{color:var(--warn);font-weight:700}.continue-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;border-radius:var(--radius-lg);margin:10px 0 6px;background:var(--surface);border:2px solid var(--primary)}.continue-mark{width:48px;height:48px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:21px;color:#fff}.continue-copy{flex:1;min-width:0}.continue-copy span{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--primary)}.continue-copy b{display:block;font-size:16px;margin:2px 0}.continue-copy small{color:var(--muted);font-size:12.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-card i{font-style:normal;color:var(--primary);font-size:20px}.finished-card{background:var(--success-soft);border-radius:var(--radius);padding:16px;margin:12px 0}.finished-card b{color:var(--success)}.finished-card p{font-size:13px;color:var(--muted);margin-top:4px}.trail{margin-top:18px}.unit{margin-bottom:14px}.unit-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.unit.current .unit-head{border-color:var(--primary)}.unit-badge{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-weight:800;background:var(--surface-2)}.unit-badge[data-phase=fundamentos]{background:#1e2a55;color:#8fa6ff}.unit-badge[data-phase=desarrollo]{background:#14352a;color:#6edba5}.unit-badge[data-phase=consolidacion]{background:#3a2f12;color:#f5c55a}.unit-badge[data-phase=aplicacion]{background:#3a1b1b;color:#f58a85}.unit-title{flex:1;min-width:0}.unit-title span{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.unit-title b{display:block;font-size:15px}.unit-bar{height:4px;border-radius:99px;background:var(--surface-2);margin-top:6px;overflow:hidden}.unit-bar i{display:block;height:100%;background:var(--success)}.unit-count{font-size:12px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:6px}.unit-count i{font-style:normal}.unit-locked-hint{font-size:11px;color:var(--muted);text-align:center;padding:6px}.nodes{padding:14px 0 4px}.node-row{display:flex;align-items:center;gap:14px;padding:7px 0}.node-row.right{flex-direction:row-reverse;text-align:right;margin-right:4%}.node-row.left{margin-left:4%}.node{width:58px;height:58px;flex:none;border-radius:50%;position:relative;background:var(--node-color);display:grid;place-items:center;box-shadow:0 5px #00000073;transition:transform .12s}.node:active{transform:translateY(4px);box-shadow:0 1px #00000073}.node-icon{font-size:21px;color:#fff;font-weight:800}.node.done{background:var(--success)}.node.locked{background:var(--surface-2);box-shadow:0 5px #0b0d12}.node.locked .node-icon{color:var(--muted)}.node.checkpoint,.node.simulacro{border-radius:18px}.node.simulacro{width:64px;height:64px;border:3px solid var(--gold)}.node.simulacro .node-icon{font-size:25px}.node-pulse{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:inherit;border:3px solid var(--primary);animation:pulse 1.7s infinite}@keyframes pulse{0%{opacity:.9;transform:scale(1)}70%{opacity:0;transform:scale(1.22)}to{opacity:0}}.node-label{flex:1;min-width:0}.node-label b{font-size:14px;display:block;line-height:1.3}.node-label small{font-size:11.5px;color:var(--muted)}.lesson,.practice,.game,.result{min-height:100vh;padding:16px 18px 120px}.lesson-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.lesson-top .bar{flex:1}.lesson-count{font-size:12px;font-weight:700;color:var(--muted);min-width:42px;text-align:right}.lesson-context{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:12px}.lesson-context b{font-weight:800}.lesson-context small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-dot{width:10px;height:10px;border-radius:50%;flex:none}.lesson-body{animation:slide-in .28s ease}.lesson-body h1{font-size:24px;margin-bottom:12px}.lesson-lead{font-size:16px;line-height:1.6;color:#dce1ec;margin-bottom:14px}.lesson-caption{font-size:13px;color:var(--muted);font-style:italic;margin-top:10px}.lesson-actions{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 28%)}.idea-box{background:var(--primary-soft);border-left:4px solid var(--primary);border-radius:12px;padding:16px}.idea-box p{font-size:16px;line-height:1.6}.formula{margin-top:14px;padding:14px;border-radius:12px;text-align:center;background:var(--surface);border:1px dashed var(--line);font-family:"Cambria Math",Georgia,serif;font-size:16px}.reveal-list{display:grid;gap:10px;margin-top:8px}.reveal-card{text-align:left;padding:16px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.reveal-card.open{border-color:var(--primary);background:var(--primary-soft)}.reveal-card b{font-size:15px;display:block}.reveal-card p{font-size:14px;color:#dce1ec;margin-top:8px;line-height:1.55}.reveal-hint{font-size:12px;color:var(--muted)}.options{display:grid;gap:10px;margin-top:14px}.options>button{display:flex;align-items:center;gap:12px;text-align:left;padding:15px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.options>button>span{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);font-weight:800;font-size:13px}.options>button>p{font-size:15px;line-height:1.4}.options>button.selected{border-color:var(--primary);background:var(--primary-soft)}.options>button.correct{border-color:var(--success);background:var(--success-soft)}.options>button.wrong{border-color:var(--danger);background:var(--danger-soft)}.options>button.dim{opacity:.45}.feedback{margin-top:14px;padding:14px;border-radius:12px}.feedback.good{background:var(--success-soft)}.feedback.bad{background:var(--danger-soft)}.feedback b{display:block;margin-bottom:4px}.feedback.good b{color:var(--success)}.feedback.bad b{color:var(--danger)}.feedback p{font-size:14px;line-height:1.5}.explain-box{margin-top:12px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:14px;line-height:1.6;color:#dce1ec}.order-slots{display:grid;gap:8px;margin-top:14px}.order-slots li{display:flex;align-items:center;gap:12px;padding:13px;border-radius:12px;background:var(--surface-2);list-style:none}.order-slots li.filled{background:var(--success-soft)}.order-slots span{width:24px;height:24px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--bg);font-size:12px;font-weight:800}.order-slots p{font-size:14px}.order-pool{display:grid;gap:8px;margin-top:16px}.order-pool button{padding:13px;border-radius:12px;background:var(--surface);border:2px solid var(--line);text-align:left;font-size:14px}.order-pool button.used{opacity:.3}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.match-col{display:grid;gap:8px;align-content:start}.match-col button{padding:13px 11px;border-radius:12px;background:var(--surface);border:2px solid var(--line);font-size:13px;text-align:left;line-height:1.35}.match-col button.active{border-color:var(--primary);background:var(--primary-soft)}.match-col button.matched{border-color:var(--success);background:var(--success-soft);opacity:.65}.shake{animation:shake .35s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.explore-box{background:var(--surface);border-radius:var(--radius);padding:20px 16px;margin-top:14px}.explore-value{text-align:center;font-size:34px;font-weight:800;color:var(--primary)}.explore-box input[type=range]{width:100%;margin:14px 0 6px;accent-color:var(--primary)}.explore-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.explore-readout{margin-top:14px;font-size:14.5px;line-height:1.55;text-align:center}.statement{background:var(--surface);border-radius:12px;padding:16px;font-size:15.5px;line-height:1.6;margin-bottom:14px}.worked{display:grid;gap:8px;margin-bottom:14px}.worked li{display:flex;gap:12px;padding:13px;border-radius:12px;background:var(--surface-2);list-style:none;animation:slide-in .25s ease}.worked span{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted);min-width:62px;padding-top:3px}.worked p{font-size:15px;font-family:"Cambria Math",Georgia,serif}.answer-box{background:var(--success-soft);border-radius:12px;padding:16px}.answer-box span{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--success)}.answer-box p{font-size:15px;margin-top:4px}.pitfall{border-radius:12px;padding:14px;margin:12px 0}.pitfall span{font-size:10px;font-weight:800;letter-spacing:.1em;display:block;margin-bottom:5px}.pitfall p{font-size:15px;line-height:1.5}.pitfall.wrong{background:var(--danger-soft)}.pitfall.wrong span{color:var(--danger)}.pitfall.right{background:var(--success-soft)}.pitfall.right span{color:var(--success)}.takeaways{display:grid;gap:10px;margin-top:12px}.takeaways li{list-style:none;padding:13px 13px 13px 38px;border-radius:12px;background:var(--surface);position:relative;font-size:14.5px;line-height:1.5}.takeaways li:before{content:"✓";position:absolute;left:14px;color:var(--success);font-weight:800}.practice-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.practice-title{font-size:12px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-stats{display:flex;gap:8px;flex:none}.combo{font-size:12px;font-weight:800;padding:3px 9px;border-radius:99px;background:#3a2f12;color:var(--warn)}.xp-mini{font-size:12px;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--primary-soft);color:#8fa6ff}.q-topic{font-size:10.5px;font-weight:800;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.question-text{font-size:21px;margin:8px 0 4px;line-height:1.35}.q-examen{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--gold);color:#2a2003}.question-image{display:block;width:100%;max-width:340px;margin:14px auto 0;border-radius:12px;background:#fff;padding:8px}.answer-sheet{margin-top:16px;padding:16px;border-radius:var(--radius)}.answer-sheet.good{background:var(--success-soft)}.answer-sheet.bad{background:var(--danger-soft)}.answer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.answer-head b{font-size:16px}.answer-sheet.good .answer-head b{color:var(--success)}.answer-sheet.bad .answer-head b{color:var(--danger)}.answer-head em{font-style:normal;font-weight:800;color:var(--success)}.answer-sheet>p{font-size:14.5px;line-height:1.6}.result{display:flex;flex-direction:column;justify-content:center;text-align:center;padding-top:60px}.result h1{font-size:28px;margin:14px 0 20px}.result-stars{font-size:38px;letter-spacing:6px;color:var(--surface-2)}.result-stars .on{color:var(--gold)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px}.result-grid>div{background:var(--surface);border-radius:14px;padding:16px 8px}.result-grid b{display:block;font-size:22px}.result-grid span{font-size:11px;color:var(--muted)}.result .nori{text-align:left}.goal-banner{background:var(--success-soft);color:var(--success);border-radius:12px;padding:12px;font-weight:700;font-size:14px;margin-top:8px}.result-actions{display:grid;gap:10px;margin-top:22px}.game-clue{font-size:15.5px;line-height:1.55;text-align:center;margin:18px 0;color:#dce1ec}.game-clue b{color:var(--primary);font-size:19px}.game-controls{display:flex;gap:10px;margin-top:16px}.game-end{text-align:center;margin-top:20px;padding:16px;border-radius:var(--radius)}.game-end.good{background:var(--success-soft)}.game-end.bad{background:var(--danger-soft)}.game-end b{display:block;font-size:17px;margin-bottom:12px}.lives{display:flex;gap:6px;justify-content:center;font-size:15px;color:var(--surface-2)}.lives .on{color:var(--danger)}.word-slots{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:18px 0}.word-slots span{width:30px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--surface);border-bottom:3px solid var(--line);font-weight:800;font-size:18px}.word-slots span.filled{border-color:var(--primary)}.keyboard{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:18px}.keyboard button{padding:12px 0;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-weight:800;font-size:15px}.keyboard button.hit{background:var(--success-soft);color:var(--success)}.keyboard button.wrong{background:var(--danger-soft);color:var(--danger);opacity:.55}.tiles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}.tiles button{width:44px;height:48px;border-radius:10px;background:var(--surface);border:2px solid var(--line);font-weight:800;font-size:19px}.tiles button.used{opacity:.25}.crossword .grid{display:grid;gap:2px;margin:10px 0 18px}.crossword .cell{position:relative;aspect-ratio:1;background:var(--surface);border-radius:3px;display:grid;place-items:center}.crossword .cell.blank{background:transparent}.crossword .cell.solved{background:var(--success-soft)}.crossword .cell em{position:absolute;top:1px;left:2px;font-size:7px;font-style:normal;color:var(--muted)}.crossword .cell b{font-size:12px;color:var(--success)}.clues{display:grid;gap:16px}.clues h4{font-size:13px;color:var(--muted);margin-bottom:6px}.clue{display:flex;gap:10px;width:100%;text-align:left;padding:10px;border-radius:10px;background:var(--surface);margin-bottom:6px}.clue span{font-weight:800;color:var(--primary);font-size:13px;min-width:16px}.clue p{font-size:13px;line-height:1.4}.clue em{color:var(--muted);font-style:normal}.clue.solved{background:var(--success-soft);opacity:.7}.clue.failed{background:var(--danger-soft)}.crossword-input{display:flex;gap:8px;margin-top:14px;position:sticky;bottom:12px}.crossword-input input{flex:1;padding:14px;border-radius:12px;background:var(--surface);border:2px solid var(--primary);color:var(--text);text-transform:uppercase;outline:none}.crossword-input .primary-button{width:auto;padding:14px 18px}.rosco .ring{position:relative;width:100%;aspect-ratio:1;max-width:320px;margin:10px auto 18px}.ring-letter{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line);font-size:12px;font-weight:800}.ring-letter.acertada{background:var(--success);border-color:var(--success);color:#06210f}.ring-letter.fallada{background:var(--danger);border-color:var(--danger);color:#fff}.ring-letter.pasada{background:#3a2f12;border-color:var(--warn);color:var(--warn)}.ring-letter.active{border-color:var(--primary);transform:translate(-50%,-50%) scale(1.25);z-index:2}.ring-center{position:absolute;top:26%;right:26%;bottom:26%;left:26%;display:grid;place-content:center;text-align:center}.ring-center b{font-size:32px}.ring-center span{font-size:11px;color:var(--muted)}.ring-center small{font-size:11px;color:var(--danger)}.rosco-input input{width:100%;padding:15px;border-radius:12px;background:var(--surface);border:2px solid var(--primary);color:var(--text);outline:none;text-align:center;font-size:17px}.claim-banner{background:var(--primary-soft);color:#8fa6ff;border-radius:12px;padding:12px;font-size:13.5px;font-weight:700;margin-bottom:16px}.mission-group{margin-bottom:24px}.group-head{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.group-head h2{font-size:17px}.group-head small{color:var(--muted);font-size:12px}.mission{display:flex;align-items:center;gap:12px;padding:13px;border-radius:14px;background:var(--surface);margin-bottom:8px}.mission.done{border:1px solid var(--success)}.mission.claimed{opacity:.55;border-color:transparent}.mission-icon{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);font-size:17px}.mission-copy{flex:1;min-width:0}.mission-copy b{font-size:14.5px;display:block}.mission-copy small{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.mission-copy em{font-size:11px;color:var(--muted);font-style:normal}.mission-copy .bar{height:6px}.mission-reward{flex:none;min-width:48px;padding:9px 10px;border-radius:11px;background:var(--gold);color:#2a2003;font-weight:800;font-size:13px}.mission-reward:disabled{background:var(--surface-2);color:var(--muted)}.course-grid{display:grid;gap:10px}.world-intro{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;margin:0 0 14px}.world-intro .nav-art{width:70px;height:70px;flex:none;background-size:500% auto;filter:none}.world-intro b{display:block;font-size:15px;margin-bottom:2px}.world-intro p{color:var(--muted);font-size:12.5px;line-height:1.45}.course-card{display:flex;align-items:center;gap:12px;padding:13px;border-radius:14px;background:var(--surface);text-align:left;border-left:4px solid var(--c)}.course-card{position:relative;overflow:hidden}.course-card:after{content:"";position:absolute;right:-20px;top:-28px;width:84px;height:84px;border-radius:50%;background:var(--c);opacity:.08}.course-art{width:42px;height:42px;display:inline-block;flex:none;background-size:400% 400%;background-repeat:no-repeat}.course-icon{width:40px;height:40px;border-radius:12px;background-color:var(--surface-2)}.continue-mark .course-art{width:48px;height:48px}.node-icon .course-art{width:46px;height:46px}.course-copy{flex:1;min-width:0}.course-copy b{font-size:15px;display:block}.course-copy small{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.course-copy .bar{height:5px}.course-card i{font-style:normal;color:var(--muted);font-size:19px}.topic-list{display:grid;gap:6px}.topic-list button{display:flex;align-items:center;gap:11px;padding:11px;border-radius:11px;background:var(--surface-2);text-align:left}.topic-list button.done{background:var(--success-soft)}.topic-list span{font-size:11px;font-weight:800;color:var(--muted);min-width:26px}.topic-list b{font-size:13.5px;display:block}.topic-list small{font-size:11.5px;color:var(--muted)}.topic-list i{margin-left:auto;font-style:normal;color:var(--muted)}.level-card{display:flex;gap:14px;align-items:center;background:var(--surface);border-radius:var(--radius-lg);padding:18px;margin-bottom:14px}.level-ring{width:58px;height:58px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:21px;font-weight:800}.level-card>div:last-child{flex:1;min-width:0}.level-card span{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.level-card h2{font-size:19px;margin:2px 0 8px}.level-card small{font-size:11.5px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats-grid>div{background:var(--surface);border-radius:12px;padding:14px 8px;text-align:center}.stats-grid b{display:block;font-size:19px}.stats-grid span{font-size:10.5px;color:var(--muted)}.course-progress{display:grid;gap:12px}.cp-head{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:13px}.cp-head b{flex:none}.cp-head em{margin-left:auto;font-style:normal;color:var(--muted);font-size:12px}.course-progress .bar{height:6px}.weight-list{display:grid;gap:7px}.weight-list>div{display:flex;align-items:center;gap:10px;font-size:12.5px}.weight-list span{min-width:132px;color:var(--muted)}.wbar{flex:1;height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden}.wbar i{display:block;height:100%;background:var(--primary)}.weight-list b{min-width:20px;text-align:right}.profile-hero{text-align:center;padding:8px 0 22px}.avatar{width:74px;height:74px;margin:0 auto 12px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(140deg,var(--primary),#7048E8);font-size:30px;font-weight:800}.profile-hero h2{font-size:22px}.profile-hero p{color:var(--muted);font-size:14px;margin-top:3px}.profile-hero>span{font-size:12px;color:var(--muted)}.settings-card{background:var(--surface);border-radius:var(--radius);padding:4px 16px;margin-bottom:14px}.settings-card h3{font-size:13px;color:var(--muted);padding:14px 0 8px;text-transform:uppercase;letter-spacing:.08em}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 0;border-bottom:1px solid var(--line);text-align:left}.settings-card .row:last-child{border-bottom:none}.row b{font-size:14.5px;display:block}.row small{font-size:12px;color:var(--muted)}.row i{font-style:normal;color:var(--muted);font-size:18px}.row.selected{color:var(--primary)}.row input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}.version{text-align:center;font-size:11px;color:var(--muted);margin-top:20px}.reporte-cta{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px;border-radius:var(--radius);margin-bottom:14px;background:var(--surface);border:2px solid var(--primary)}.reporte-cta>span{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:19px}.reporte-cta b{display:block;font-size:15px}.reporte-cta small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}.reporte-cta i{margin-left:auto;font-style:normal;color:var(--primary);font-size:19px}.reporte .page-head{align-items:flex-start}.reporte-cursos{display:grid;gap:14px}.reporte-curso{background:var(--surface);border-radius:14px;padding:13px}.rc-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rc-head b{font-size:14.5px}.rc-head strong{margin-left:auto;font-size:15px}.reporte-curso small{display:block;font-size:11.5px;color:var(--muted);margin-top:7px}.nivel{font-style:normal;font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.nivel.dominado{background:var(--success-soft);color:var(--success)}.nivel.bien{background:var(--primary-soft);color:#8fa6ff}.nivel.flojo{background:#3a2f12;color:var(--warn)}.nivel.critico{background:var(--danger-soft);color:var(--danger)}.nivel\.sin-datos,.nivel.sin-datos{background:var(--surface-2);color:var(--muted)}.reco-lista{display:grid;gap:10px}.reco{display:flex;gap:12px;padding:14px;border-radius:14px;background:var(--surface);border-left:4px solid var(--line)}.reco>span{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);font-size:15px}.reco b{display:block;font-size:14.5px;margin-bottom:4px}.reco p{font-size:13.5px;line-height:1.55;color:#dce1ec}.reco.refuerzo{border-left-color:var(--danger)}.reco.ritmo{border-left-color:var(--warn)}.reco.habito{border-left-color:var(--gold)}.reco.estrategia{border-left-color:var(--primary)}.reco.felicitacion{border-left-color:var(--success)}.boss-banner{margin:4px 0 14px;border-radius:var(--radius-lg);padding:17px;background:linear-gradient(135deg,#292137,#171a23);border:2px solid var(--gold)}.boss-banner span{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.13em}.boss-banner h2{margin:5px 0;font-size:20px}.boss-banner p{color:var(--muted);font-size:13px}.tutor-plan{margin-top:16px;padding:15px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-align:left}.tutor-plan>b{display:block;font-size:15px;margin-bottom:5px}.tutor-plan p{color:var(--muted);font-size:13px;line-height:1.5}.tutor-plan ul{margin:10px 0 0 18px;color:#dce1ec;font-size:13px;line-height:1.65}.acceso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 20px;background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 25rem),var(--bg)}.acceso-shell{width:100%;max-width:920px;overflow:hidden;display:grid;grid-template-columns:minmax(290px,.9fr) minmax(360px,1fr);background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:0 28px 80px color-mix(in srgb,#000 27%,transparent)}.acceso-visual{position:relative;overflow:hidden;isolation:isolate;min-height:590px;padding:42px 38px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(145deg,#606ff4,#4e45bd 53%,#262149)}.acceso-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.25;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:21px 21px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 70%);mask-image:linear-gradient(to bottom,#000,transparent 70%)}.acceso-orbita{position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.32);border-radius:50%}.orbita-uno{width:470px;height:470px;top:-215px;left:-130px}.orbita-dos{width:360px;height:360px;top:-60px;right:-230px}.acceso-mascota{position:absolute;top:64px;right:48px;width:86px;height:86px;display:grid;place-items:center;border-radius:28px 28px 28px 8px;background:#ffcf58;color:#24204a;font-family:var(--fuente-titulo);font-size:38px;font-weight:800;box-shadow:0 14px 30px #130f493d;transform:rotate(8deg)}.acceso-eyebrow{margin-bottom:14px;font-size:10px;font-weight:900;letter-spacing:.14em;opacity:.76}.acceso-visual h2{margin:0;font-size:clamp(26px,3vw,39px);line-height:1.05;letter-spacing:-.045em}.acceso-visual p{margin:14px 0 0;max-width:27ch;color:#ffffffc7;font-size:14px;line-height:1.55}.acceso-puntos{display:flex;gap:7px;margin-top:28px}.acceso-puntos i{width:28px;height:5px;border-radius:10px;background:#ffffff59}.acceso-puntos i:first-child{background:#ffcf58}.acceso-caja{width:100%;max-width:480px;align-self:center;padding:44px 42px 46px}.acceso-caja h1{font-size:26px;margin:18px 0 8px}.acceso-lead{color:var(--muted);font-size:14.5px;line-height:1.55;margin-bottom:8px}.acceso-caja .primary-button{margin-top:20px}.acceso-caja code{background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:12px;font-family:Consolas,monospace}.acceso-error{margin-top:14px;padding:12px;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-size:13.5px;line-height:1.45}.acceso-aviso{margin-top:14px;padding:12px;border-radius:12px;background:var(--primary-soft);color:#8fa6ff;font-size:13.5px;line-height:1.45}.acceso-nota{margin-top:20px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.acceso-nota b{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.acceso-nota p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.55}.acceso-links{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin-top:18px}.acceso-links button{font-size:13.5px;font-weight:700;color:var(--primary);padding:6px 0}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;border-radius:14px;margin-top:4px;background:#fff;color:#1f1f1f;font-weight:700;font-size:15px;border:1px solid var(--line)}.google-button:disabled{opacity:.6}.acceso-separador{display:flex;align-items:center;gap:12px;margin:16px 0 2px;color:var(--muted);font-size:12px}.acceso-separador:before,.acceso-separador:after{content:"";flex:1;height:1px;background:var(--line)}.registro-consentimiento{display:flex;align-items:flex-start;gap:10px;margin-top:16px;color:var(--muted);font-size:12px;line-height:1.45;cursor:pointer}.registro-consentimiento input{width:16px;height:16px;margin-top:1px;accent-color:var(--primary);flex:0 0 auto}@media(max-width:700px){.acceso{display:block;padding:0}.acceso-shell{min-height:100vh;display:block;border:0;border-radius:0;box-shadow:none}.acceso-visual{display:none}.acceso-caja{max-width:500px;min-height:100vh;padding:34px 22px 48px;margin:0 auto}}.plan-card{background:var(--surface);border:2px solid var(--primary);border-radius:var(--radius-lg);padding:20px;margin-top:8px}.plan-card>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.plan-card>b{display:block;font-size:34px;margin:4px 0 6px}.plan-card>p{font-size:14px;color:var(--muted)}.plan-card ul{margin-top:14px;display:grid;gap:8px}.plan-card li{list-style:none;padding-left:24px;position:relative;font-size:13.5px;line-height:1.45}.plan-card li:before{content:"✓";position:absolute;left:4px;color:var(--success);font-weight:800}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:520px;max-height:84vh;background:var(--surface);border-radius:22px 22px 0 0;display:flex;flex-direction:column;animation:rise .25s ease}@keyframes rise{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.sheet header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 10px}.sheet header h3{font-size:18px}.sheet header button{width:34px;height:34px;border-radius:11px;background:var(--surface-2);color:var(--muted)}.sheet-body{padding:0 18px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}:root{--lateral-w: 248px;--barra-h: 60px;--fuente-titulo: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--fuente: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif}body{font-family:var(--fuente)}h1,h2,h3,.marca,.cifra{font-family:var(--fuente-titulo);letter-spacing:-.015em}.marco{min-height:100vh;background:var(--bg);background-image:radial-gradient(circle at 85% -10%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 28rem)}.marco .app{padding-bottom:calc(var(--nav-h) + 24px)}.lateral{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;height:var(--nav-h);z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.lateral .marca-lateral,.lateral .lateral-pie,.lateral .lateral-extra{display:none}.lateral a{display:grid;place-items:center;gap:2px;color:var(--muted);text-decoration:none;font-size:10.5px;font-weight:700}.lateral a.activo{color:var(--primary)}.lateral .nav-art{width:29px;height:29px;display:block;background-size:500% auto;background-repeat:no-repeat;filter:saturate(.68) brightness(.72);transition:transform .18s,filter .18s}.lateral a.activo .nav-art{filter:saturate(1.08) brightness(1.12);transform:translateY(-2px) scale(1.08)}.barra{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;z-index:20;display:flex;align-items:center;gap:8px;padding:12px 18px;background:linear-gradient(var(--bg) 62%,transparent)}.barra .marca{display:none}.barra .stat{font-size:13px;font-weight:800;padding:5px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;gap:5px}.barra .stat svg{width:14px;height:14px}.barra .racha{color:var(--warn)}.barra .monedas{color:var(--gold)}.barra .xp{color:var(--primary);margin-left:auto}.theme-toggle{width:34px;height:34px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);transition:transform .16s ease,background .16s ease,color .16s ease}.theme-toggle:hover{color:var(--text);background:var(--surface-2);transform:translateY(-1px)}.theme-toggle svg{width:16px;height:16px}@media(min-width:1024px){.marco{display:grid;grid-template-columns:var(--lateral-w) minmax(0,1fr)}.lateral{position:sticky;top:0;left:auto;transform:none;width:var(--lateral-w);max-width:none;height:100vh;display:flex;flex-direction:column;gap:4px;padding:22px 14px;border-top:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lateral .marca-lateral{display:block;padding:0 10px 18px;font-family:var(--fuente-titulo);font-size:22px;font-weight:700;color:var(--text);text-decoration:none}.lateral .marca-lateral span{color:var(--primary)}.lateral a:not(.marca-lateral){display:flex;flex-direction:row;align-items:center;gap:12px;justify-content:flex-start;padding:11px 12px;border-radius:12px;font-size:14.5px;font-weight:600;transition:background .16s,color .16s}.lateral a:not(.marca-lateral):hover{background:var(--surface-2);color:var(--text)}.lateral a.activo{background:var(--primary-soft);color:var(--text)}.lateral a.activo:before{content:"";position:absolute;left:0;width:3px;height:26px;border-radius:0 3px 3px 0;background:var(--primary)}.lateral a:not(.marca-lateral){position:relative}.lateral .nav-art{width:24px;height:24px}.lateral a.activo .nav-art{transform:none}.lateral .lateral-pie{display:block;margin-top:auto;padding:14px 12px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.lateral-pie b{display:block;color:var(--text);font-size:13.5px}.lateral .lateral-extra{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.lateral-extra a{padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--muted);text-decoration:none}.lateral-extra a:hover{background:var(--surface-2);color:var(--text)}.lateral-extra a.activo{background:var(--primary-soft);color:var(--text)}.barra{position:sticky;top:0;left:auto;transform:none;width:auto;max-width:none;padding:14px 32px;height:var(--barra-h);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.barra .marca{display:block;font-family:var(--fuente-titulo);font-size:15px;font-weight:700;color:var(--muted)}.barra .xp{margin-left:auto}.theme-toggle{margin-left:2px}.marco .app{max-width:880px;margin:0 auto;padding:26px 32px 60px}.marco .page>:is(.hoy-card,.continue-card,.course-grid,.trail,.mission-card,.progress-card){filter:drop-shadow(0 10px 18px color-mix(in srgb,var(--bg) 12%,transparent))}.marco .course-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1440px){.marco .app{max-width:1040px}.marco .course-grid{grid-template-columns:repeat(4,1fr)}}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.cargando-pantalla{min-height:100vh;display:grid;place-items:center;gap:14px;color:var(--muted);text-align:center}.aviso-sandbox{position:fixed;bottom:calc(var(--nav-h) + 10px);left:50%;transform:translate(-50%);z-index:40;background:var(--warn);color:#241a02;font-size:12px;font-weight:800;letter-spacing:.02em;padding:6px 14px;border-radius:99px;white-space:nowrap}@media(min-width:1024px){.aviso-sandbox{bottom:14px;left:auto;right:18px;transform:none}}.precios{max-width:1080px;margin:0 auto;padding:34px 20px 70px}.precios-cabecera{text-align:center;margin-bottom:30px}.precios-cabecera .brand{justify-content:center;margin-bottom:18px}.precios-cabecera h1{font-size:27px;line-height:1.2;margin:0 0 10px}.precios-cabecera p{color:var(--muted);max-width:46ch;margin:0 auto}.precios-anclaje{max-width:620px;margin:18px auto 0;padding:12px 16px;border:1px solid #d9ddff;border-radius:12px;background:#f1f3ff;color:var(--primary);font-size:13px;font-weight:800}.precios-grid{display:grid;gap:16px;align-items:start;grid-template-columns:1fr}.precios-grid .plan-card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 20px}.precios-grid .plan-card.destacado{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 14px 40px -20px var(--primary)}.plan-etiqueta{position:absolute;top:-10px;left:20px;background:var(--primary);color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:4px 10px;border-radius:99px}.plan-nombre{font-size:14px;font-weight:700;color:var(--muted)}.plan-precio{font-family:var(--fuente-titulo);font-size:38px;line-height:1.05}.plan-por-mes{font-size:13px;color:var(--success);font-weight:700}.precios-grid .plan-card p{color:var(--muted);font-size:14px;margin:6px 0 16px;flex:1}.precios-grid .plan-card a{display:block;text-align:center;text-decoration:none}.plan-duracion{display:block;text-align:center;color:var(--muted);font-size:12px;margin-top:10px}.precios-incluye{margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}.precios-incluye h2{font-size:18px;margin:0 0 14px}.precios-incluye ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.precios-incluye li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px}.precios-incluye svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--success)}.precios-nota{text-align:center;margin-top:22px}.precios-links{justify-content:center}@media(min-width:760px){.precios-grid{grid-template-columns:repeat(3,1fr)}.precios-incluye ul{grid-template-columns:repeat(2,1fr)}.precios-cabecera h1{font-size:34px}}.onboarding{max-width:620px;margin:0 auto;padding:18px 20px 120px;min-height:100vh}.onboarding-top{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;padding:12px 0 14px;background:var(--bg)}.onboarding-top .bar{flex:1}.onboarding-body h1{font-size:25px;line-height:1.2;margin:6px 0 10px}.onboarding-body h2{font-size:19px;line-height:1.3}.choice-list.compacto{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.choice-list.compacto button{flex:1 1 auto;justify-content:center;padding:10px 14px;font-size:14px}.sub-choice{display:grid;gap:8px;margin-top:14px}.sub-choice button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:13px 15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}.sub-choice button.selected{border-color:var(--primary);background:var(--primary-soft)}.sub-choice small{display:block;color:var(--muted);font-size:12.5px}.onboarding-actions{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:10px;justify-content:center;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 32%)}.onboarding-actions .primary-button{flex:1;max-width:340px}.onboarding .warn{color:var(--warn)}@media(min-width:1024px){.onboarding{padding-top:40px}.onboarding-body h1{font-size:30px}}.admin{max-width:900px;margin:0 auto;padding:24px 20px 70px}.admin-top{display:flex;align-items:center;gap:14px;margin-bottom:20px}.admin-top h1{font-size:24px;margin:0}.admin-top .note{margin:2px 0 0}.admin-acciones{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.admin-acciones a{text-decoration:none}.admin-nota{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:18px 0}.admin-nota b{display:block;margin-bottom:8px}.admin-nota p{margin:0 0 8px;font-size:14px;color:var(--muted)}.admin-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;margin:18px 0 26px}.admin-form h2{font-size:17px;margin:0 0 14px}.admin-form textarea.field{resize:vertical;font:inherit}.campo-fila{display:grid;gap:12px;grid-template-columns:1fr;align-items:end}@media(min-width:640px){.campo-fila{grid-template-columns:1fr 1fr}}.opcion-fila{display:flex;align-items:center;gap:8px}.opcion-fila .field{margin:0;flex:1}.opcion-marca{width:38px;height:38px;flex:none;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-weight:800}.opcion-marca.activa{background:var(--success);border-color:var(--success);color:#fff}.check-linea{display:flex;align-items:center;gap:8px;font-size:14.5px;padding-bottom:10px}.check-linea input{width:18px;height:18px}.lista-preguntas{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.lista-preguntas li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:13px 16px}.lista-preguntas b{display:block;font-size:14.5px}.lista-preguntas small{color:var(--muted);font-size:12.5px}.lista-acciones{display:flex;align-items:center;gap:8px}.lista-acciones .ghost-button{padding:6px 12px;font-size:13px}.tutor-pedir{margin-top:12px}.tutor-pedir .wide{width:100%}.tutor-respuesta{margin-top:12px;padding:14px 16px;background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--radius)}.tutor-respuesta b{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:6px}.tutor-respuesta p{margin:0 0 8px;font-size:14.5px;line-height:1.55}.tutor-respuesta p:last-child{margin-bottom:0}.chat-pagina .page-head{align-items:center}.chat-curso{width:auto;margin:0;min-width:160px}.chat{display:flex;flex-direction:column;gap:12px;min-height:60vh}.chat-hilo{flex:1;display:flex;flex-direction:column;gap:10px}.chat-burbuja{max-width:82%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap}.chat-burbuja.alumno{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:5px}.chat-burbuja.tutor{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:5px}.chat-forma{display:flex;gap:8px;position:sticky;bottom:0;padding:10px 0;background:var(--bg)}.chat-forma input{flex:1;margin:0}.chat-sugerencias{display:flex;flex-wrap:wrap;gap:8px}.chat-sugerencias button{font-size:13px;padding:7px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}.chat-sugerencias button:hover{color:var(--text);border-color:var(--primary)}.checkout-planes{display:grid;gap:8px;margin:14px 0}.checkout-plan{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:13px 15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}.checkout-plan.selected{border-color:var(--primary);background:var(--primary-soft)}.checkout-plan small{display:block;color:var(--muted);font-size:12.5px}.checkout-plan span{font-family:var(--fuente-titulo);font-weight:700;font-size:16px}.dato-lista{display:grid;gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden}.dato-lista>div{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--surface);padding:13px 16px;font-size:14.5px}.dato-lista dt{color:var(--muted)}.dato-lista dd{margin:0;font-weight:700;text-align:right}.estado-pill{font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;background:var(--surface-2);color:var(--muted)}.estado-pill.activa{background:var(--success-soft);color:var(--success)}.estado-pill.vencida,.estado-pill.cancelada{background:var(--danger-soft);color:var(--danger)}.estado-pill.pendiente{background:var(--primary-soft);color:var(--primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
