.layout{flex-direction:column;min-height:100dvh;display:flex}.main-content{padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-xl));flex:1}.main-content.no-nav{padding-bottom:var(--space-md)}.xp-badge-mini{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-full);color:var(--yellow);padding:4px 12px;font-size:.8rem;font-weight:800}.mascot-container{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.mascot-bubble{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:260px;padding:10px 16px;animation:.4s bounceIn;position:relative}.mascot-bubble p{color:var(--text-primary);font-size:.9rem;line-height:1.4}.bubble-tail{border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--border);width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.mascot-capy{border-radius:50% 50% 45% 45%;justify-content:center;align-items:center;transition:transform .3s;display:flex;position:relative;box-shadow:0 4px 12px #0000004d}.mascot-capy:hover{transform:scale(1.05)}.capy-face{width:70%;height:70%;position:relative}.capy-eyes{justify-content:center;gap:12px;display:flex;position:absolute;top:20%;left:50%;transform:translate(-50%)}.capy-eye{background:#1a1a1a;border-radius:50%;width:10px;height:12px;position:relative}.capy-eye:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:2px;right:2px}.capy-nose{background:#8b6f47;border-radius:50%;width:16px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.capy-mouth{border-bottom:2px solid #6b4f37;border-radius:0 0 50% 50%;width:12px;height:6px;position:absolute;top:62%;left:50%;transform:translate(-50%)}.capy-ears{justify-content:space-between;width:100%;display:flex;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.capy-ear{filter:brightness(.85);border-radius:50% 50% 0 0;width:14px;height:10px}.capy-ear.left{transform:rotate(-15deg)}.capy-ear.right{transform:rotate(15deg)}.capy-accessory{filter:drop-shadow(0 2px 4px #0000004d);font-size:1.2rem;position:absolute;top:-14px;right:-8px}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:400px;padding:40px 32px}.auth-header{text-align:center;margin-bottom:32px}.auth-mascot{width:80px;height:80px;margin:0 auto 16px}.auth-header h1{color:var(--text);margin-bottom:4px;font-size:1.6rem;font-weight:900}.auth-header p{color:var(--text-muted);font-size:.85rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.auth-field input{border:2px solid var(--border);width:100%;color:var(--text);font-size:1rem;font-family:var(--font);background:#ffffff0d;border-radius:12px;outline:none;padding:12px 16px;transition:border-color .2s}.auth-field input:focus{border-color:var(--green)}.auth-field input::placeholder{color:var(--text-muted)}.auth-error{color:#ff4b4b;text-align:center;background:#ff4b4b1a;border:1px solid #ff4b4b4d;border-radius:10px;padding:10px 14px;font-size:.85rem}.auth-submit{background:var(--green);box-shadow:0 4px 0 var(--green-dark);color:#fff;font-size:1rem;font-weight:800;font-family:var(--font);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px;transition:all .15s;display:flex}.auth-submit:active{box-shadow:none;transform:translateY(3px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.85rem}.auth-toggle button{color:var(--blue);font-weight:700;font-family:var(--font);cursor:pointer;background:0 0;border:none;font-size:.85rem}.auth-toggle button:hover{text-decoration:underline}.google-btn-container{justify-content:center;margin-bottom:4px;display:flex}.google-btn-container>div{width:100%!important}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;margin:8px 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.onboarding{min-height:100dvh;padding:var(--space-lg) var(--space-md);background:var(--bg);flex-direction:column;display:flex}.onboarding-dots{margin-bottom:var(--space-lg);justify-content:center;gap:8px;display:flex}.dot{background:var(--border);width:12px;height:12px;transition:all var(--transition);border-radius:50%}.dot.active{background:var(--green);transform:scale(1.2)}.dot.done{background:var(--green);opacity:.5}.onboarding-mascot{margin-bottom:var(--space-lg);justify-content:center;display:flex}.onboarding-content{flex:1}.step-content h1{text-align:center;margin-bottom:var(--space-lg);color:var(--text-primary);font-size:1.5rem;font-weight:900}.level-grid{gap:var(--space-sm);flex-direction:column;display:flex}.level-card{align-items:center;gap:var(--space-md);padding:12px var(--space-md);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition);text-align:left;font-family:var(--font);display:flex}.level-card:hover,.level-card.selected{border-color:var(--green);background:#58cc0214}.level-card .level-num{background:var(--bg-elevated);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:900;display:flex}.level-card.selected .level-num{background:var(--green);color:#fff}.level-card strong{font-size:.95rem;font-weight:800;display:block}.level-card small{color:var(--text-muted);font-size:.75rem;font-weight:600;display:block}.goal-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.goal-card{padding:var(--space-md);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition);font-family:var(--font);flex-direction:column;align-items:center;gap:4px;display:flex}.goal-card:hover,.goal-card.selected{border-color:var(--green);background:#58cc0214}.goal-emoji{font-size:2rem}.goal-card strong{font-size:1rem;font-weight:800}.goal-card small{color:var(--text-muted);font-size:.8rem;font-weight:600}.profile-form{gap:var(--space-md);flex-direction:column;display:flex}.name-input{text-align:center;font-size:1.2rem}.avatar-label{color:var(--text-secondary);text-align:center;font-size:.9rem;font-weight:700}.avatar-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.avatar-btn{padding:var(--space-sm);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition);font-family:var(--font);flex-direction:column;align-items:center;gap:4px;display:flex}.avatar-btn:hover,.avatar-btn.selected{border-color:var(--green);background:#58cc0214}.avatar-emoji{font-size:2rem}.avatar-btn small{color:var(--text-muted);font-size:.7rem;font-weight:700}.onboarding-nav{gap:var(--space-sm);padding-top:var(--space-lg);display:flex}.onboarding-nav .btn{flex:1}.home-page{padding-bottom:var(--space-xl)}.trail{gap:var(--space-xl);flex-direction:column;display:flex}.unit-header{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-xl);color:#fff;display:flex;box-shadow:0 4px #0003}.unit-emoji{font-size:2.2rem}.unit-header h2{font-size:1.2rem;font-weight:900}.unit-header p{opacity:.9;font-size:.75rem;font-weight:600}.lesson-nodes{align-items:center;gap:var(--space-md);padding:var(--space-lg) 0;flex-direction:column;display:flex;position:relative}.lesson-row{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.lesson-row.left{align-items:flex-start;padding-left:20%}.lesson-row.right{align-items:flex-end;padding-right:20%}.connector{border-bottom:3px dashed;width:40px;height:20px;position:absolute;top:-16px}.connector.from-right{right:50%}.connector.from-left{left:50%}.lesson-node{cursor:pointer;font-family:var(--font);transition:transform var(--transition);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;display:flex}.lesson-node:active:not(:disabled){transform:scale(.95)}.node-circle{width:64px;height:64px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.lesson-node.completed .node-circle{background:var(--node-color);box-shadow:0 4px 0 var(--node-color-dark), 0 0 0 3px #ffffff1a}.lesson-node.current .node-circle{background:var(--node-color);box-shadow:0 4px 0 var(--node-color-dark), 0 0 20px color-mix(in srgb, var(--node-color) 50%, transparent);animation:1.8s infinite pulse}.lesson-node.locked .node-circle{background:var(--bg-card);border:3px solid var(--border);opacity:.5}.lesson-node.locked{cursor:not-allowed}.node-icon{color:#fff;font-size:1.6rem}.locked-icon{color:var(--text-muted);font-size:1.2rem}.node-label{color:var(--text-secondary);text-align:center;max-width:100px;font-size:.75rem;font-weight:800}.lesson-node.current .node-label{color:var(--text-primary)}.lesson-node.locked .node-label{opacity:.4}.unit-crown{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);color:#1a1a1a;background:linear-gradient(135deg,gold,orange);margin:0 auto;font-size:.85rem;font-weight:900;animation:.5s bounceIn;display:flex}.unit-crown span:first-child{font-size:1.4rem}.exercise-container{gap:var(--space-md);flex-direction:column;min-height:100%;display:flex}.exercise-title{color:var(--text-primary);font-size:1.3rem;font-weight:900}.exercise-prompt{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg)}.exercise-prompt p{color:var(--text-primary);font-size:1.15rem;font-weight:700;line-height:1.5}.translate-answer-zone{background:var(--bg-secondary);border:2px dashed var(--border);border-radius:var(--radius-lg);min-height:60px;padding:var(--space-sm);gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.placeholder-text{color:var(--text-muted);padding:var(--space-sm);font-size:.85rem;font-weight:600}.word-bank{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.check-btn{margin-top:auto}.fill-prompt p{font-size:1.2rem}.blank-slot{border-bottom:3px solid var(--blue);min-width:80px;color:var(--blue);text-align:center;transition:all var(--transition);margin:0 4px;padding:4px 12px;font-weight:900;display:inline-block}.blank-slot.filled{border-color:var(--blue);color:var(--blue)}.blank-slot.correct{border-color:var(--green);color:var(--green)}.blank-slot.incorrect{border-color:var(--red);color:var(--red)}.fill-options{gap:var(--space-sm);flex-direction:column;display:flex}.listen-controls{align-items:center;gap:var(--space-md);justify-content:center;display:flex}.audio-btn{cursor:pointer;transition:all var(--transition);font-family:var(--font);border:none;border-radius:50%;justify-content:center;align-items:center;gap:6px;font-weight:800;display:flex}.audio-btn.main{background:var(--blue);color:#fff;width:72px;height:72px;box-shadow:0 4px 0 var(--blue-shadow);font-size:2rem}.audio-btn.main:active{box-shadow:0 1px 0 var(--blue-shadow);transform:translateY(3px)}.audio-btn.slow{border-radius:var(--radius-lg);background:var(--bg-card);border:2px solid var(--border);width:auto;height:auto;color:var(--text-secondary);padding:10px 16px;font-size:1.1rem}.audio-btn.slow span{font-size:.75rem}.listen-input{text-align:center;font-size:1.1rem}.hint-btn{color:var(--text-muted);cursor:pointer;padding:var(--space-sm);font-size:.85rem;font-weight:700;font-family:var(--font);background:0 0;border:none;text-decoration:underline}.hint-text{background:var(--bg-card);border:2px solid var(--yellow);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);animation:.3s slideDown}.hint-text p{color:var(--yellow);font-size:.9rem}.speak-prompt{text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.listen-small-btn{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--blue);cursor:pointer;font-size:.8rem;font-weight:700;font-family:var(--font);background:0 0;padding:4px 12px}.speak-controls{align-items:center;gap:var(--space-sm);padding:var(--space-lg) 0;flex-direction:column;display:flex}.mic-btn{background:var(--blue);color:#fff;cursor:pointer;width:80px;height:80px;box-shadow:0 4px 0 var(--blue-shadow);transition:all var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2.2rem;display:flex}.mic-btn.recording{background:var(--red);box-shadow:0 4px 0 var(--red-shadow), 0 0 20px #ff4b4b80;animation:1s infinite pulse}.mic-btn:active{box-shadow:0 1px 0 var(--blue-shadow);transform:translateY(3px)}.mic-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.speak-result{padding:var(--space-md);border-radius:var(--radius-lg);text-align:center;animation:.4s bounceIn}.speak-result.correct{border:2px solid var(--green);background:#58cc0226}.speak-result.incorrect{border:2px solid var(--red);background:#ff4b4b26}.speak-heard{color:var(--text-secondary);margin-bottom:4px;font-size:.9rem}.speak-feedback{font-size:1.2rem;font-weight:900}.match-columns{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.match-column{gap:var(--space-sm);flex-direction:column;display:flex}.column-label{color:var(--text-muted);text-align:center;padding-bottom:var(--space-xs);text-transform:uppercase;font-size:.75rem;font-weight:800}.match-btn{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition);text-align:center;font-size:.85rem;font-weight:700;font-family:var(--font);padding:10px 8px;box-shadow:0 2px #0003}.match-btn:active{box-shadow:none;transform:translateY(2px)}.match-btn.selected{border-color:var(--blue);background:#1cb0f626;box-shadow:0 0 12px #1cb0f64d}.match-btn.wrong{border-color:var(--red);background:#ff4b4b26}.match-btn.matched{border-color:var(--green);color:var(--green);cursor:default;background:#58cc0226;font-weight:800}.lesson-page{min-height:100dvh;padding:var(--space-md);flex-direction:column;display:flex;position:relative}.lesson-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.close-btn{background:var(--bg-card);border:2px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.lesson-progress{flex:1;height:14px}.lives-display{color:var(--red);flex-shrink:0;align-items:center;gap:4px;font-size:.9rem;font-weight:900;display:flex}.heart-icon{font-size:1.2rem}.exercise-wrapper{flex-direction:column;flex:1;display:flex}.lesson-loading{min-height:50vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.feedback-banner{width:100%;max-width:var(--max-width);padding:var(--space-md);z-index:50;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.feedback-banner .feedback-correct{justify-content:space-between;align-items:center;display:flex}.xp-gain{font-size:1rem;font-weight:900;animation:1.2s forwards xpFloat}.modal-overlay{z-index:200;padding:var(--space-md);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;gap:var(--space-md);flex-direction:column;width:100%;max-width:360px;display:flex}.modal-emoji{font-size:3rem}.modal-content h2{font-size:1.3rem;font-weight:900}.modal-content p{color:var(--text-secondary);font-size:.9rem}.complete-page{min-height:100dvh;padding:var(--space-lg);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.confetti-container{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation:linear infinite confettiDrop;position:absolute;top:-20px}.complete-content{z-index:1;align-items:center;gap:var(--space-lg);flex-direction:column;width:100%;display:flex;position:relative}.complete-title{text-align:center;color:var(--text-primary);font-size:1.6rem;font-weight:900}.stats-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;width:100%;display:grid}.stat-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);flex-direction:column;align-items:center;gap:4px;display:flex}.stat-value{font-size:1.3rem;font-weight:900}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.perfect-bonus{border:2px solid var(--yellow);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-lg);color:var(--yellow);text-align:center;background:linear-gradient(135deg,#ffd90026,#ff960026);font-size:1rem;font-weight:900}.profile-page{padding-bottom:var(--space-2xl)}.profile-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.profile-header h1{font-size:1.5rem;font-weight:900}.profile-level{color:var(--text-muted);font-size:.85rem;font-weight:700}.profile-stats{gap:var(--space-sm);margin-bottom:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.profile-stat-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-sm);flex-direction:column;align-items:center;gap:2px;display:flex}.stat-emoji{font-size:1.5rem}.stat-num{color:var(--text-primary);font-size:1.2rem;font-weight:900}.stat-desc{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.activity-section{margin-bottom:var(--space-xl)}.activity-section h3{margin-bottom:var(--space-sm);font-size:1rem;font-weight:800}.heatmap{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.heatmap-cell{aspect-ratio:1;background:var(--bg-card);border:1px solid var(--border);border-radius:4px}.heatmap-cell.active{background:var(--green);border-color:var(--green-dark)}.achievements-section h3{margin-bottom:var(--space-sm);font-size:1rem;font-weight:800}.badges-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.badge{padding:var(--space-sm);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);opacity:.3;flex-direction:column;align-items:center;gap:4px;display:flex}.badge.earned{opacity:1;border-color:var(--yellow);background:#ffc80014}.badge span{font-size:1.8rem}.badge small{color:var(--text-muted);font-size:.65rem;font-weight:700}.shop-page{padding-bottom:var(--space-2xl)}.shop-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.shop-header h1{font-size:1.5rem;font-weight:900}.gem-balance{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-full);color:var(--blue);align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;font-weight:800;display:flex}.shop-section{margin-bottom:var(--space-xl)}.shop-section h2{margin-bottom:var(--space-md);font-size:1.1rem;font-weight:800}.shop-grid{gap:var(--space-sm);flex-direction:column;display:flex}.shop-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.shop-card.equipped{border-color:var(--green);background:#58cc020d}.shop-emoji{font-size:2.5rem}.shop-card strong{font-size:.95rem;font-weight:800}.shop-card p{color:var(--text-muted);font-size:.75rem;font-weight:600}.equipped-badge{color:var(--green);padding:4px 12px;font-size:.8rem;font-weight:800}.plus-banner{border-radius:var(--radius-lg);margin-bottom:var(--space-lg);cursor:pointer;background:linear-gradient(135deg,#ce82ff1f,#58cc021f);border:2px solid #ce82ff40;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.plus-banner:active{transform:scale(.98)}.plus-banner-content{align-items:center;gap:14px;display:flex}.plus-banner-icon{font-size:2rem}.plus-banner-text{flex-direction:column;display:flex}.plus-banner-text strong{color:var(--green);font-size:1rem;font-weight:900}.plus-banner-text span{color:var(--text-muted);font-size:.75rem;font-weight:600}.plus-banner-price{color:var(--yellow);white-space:nowrap;font-size:.85rem;font-weight:800}.plus-banner-arrow{color:var(--green);font-size:1.4rem;font-weight:900}.shop-skin-img{object-fit:contain;border-radius:12px;width:80px;height:80px}.leagues-page{padding-bottom:var(--space-2xl)}.league-badge{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-xl);margin-bottom:var(--space-md);border:2px solid;display:flex}.league-emoji{font-size:2.5rem}.league-badge h1{font-size:1.3rem;font-weight:900}.league-badge p{color:var(--text-muted);font-size:.75rem;font-weight:600}.league-xp{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.9rem}.league-xp strong{color:var(--yellow)}.ranking-list{flex-direction:column;gap:4px;display:flex}.ranking-row{align-items:center;gap:var(--space-sm);padding:10px var(--space-md);background:var(--bg-card);border-radius:var(--radius-md);border:2px solid #0000;display:flex}.ranking-row.is-user{border-color:var(--blue);background:#1cb0f61a}.ranking-row.top-zone{border-left:3px solid var(--green)}.ranking-row.danger-zone{border-left:3px solid var(--red);opacity:.7}.rank-num{text-align:center;flex-shrink:0;width:32px;font-size:.9rem;font-weight:900}.rank-name{flex:1;font-size:.9rem;font-weight:700}.rank-xp{color:var(--yellow);font-size:.85rem;font-weight:800}.stories-page h1{margin-bottom:4px;font-size:1.5rem;font-weight:900}.stories-subtitle{color:var(--text-muted);margin-bottom:var(--space-lg);font-size:.85rem}.stories-list{gap:var(--space-sm);flex-direction:column;display:flex}.story-card{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-family:var(--font);color:var(--text-primary);transition:all var(--transition);width:100%;display:flex}.story-card:hover{border-color:var(--blue)}.story-card-left{background:var(--bg-elevated);border-radius:var(--radius-md);width:48px;height:48px;color:var(--blue);flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.story-card-body{flex-direction:column;gap:2px;display:flex}.story-card-body strong{font-size:.95rem;font-weight:800}.story-card-body small{color:var(--text-muted);font-size:.75rem}.story-meta{color:var(--yellow);font-size:.7rem;font-weight:700}.story-reader{gap:var(--space-md);padding-bottom:var(--space-2xl);flex-direction:column;display:flex}.story-reader h1{font-size:1.3rem;font-weight:900}.story-level{color:var(--text-muted);font-size:.75rem;font-weight:700}.listen-story-btn{background:var(--blue);color:#fff;border-radius:var(--radius-full);cursor:pointer;font-size:.85rem;font-weight:800;font-family:var(--font);border:none;align-self:flex-start;align-items:center;gap:6px;padding:8px 16px;display:flex}.story-text{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.story-text p{color:var(--text-primary);margin-bottom:var(--space-md);font-size:1rem;font-weight:600;line-height:1.7}.story-quiz,.story-quiz-done{align-items:center;gap:var(--space-lg);padding:var(--space-xl) 0;flex-direction:column;justify-content:center;min-height:60vh;display:flex}.quiz-question{text-align:center;color:var(--text-primary);font-size:1.2rem;font-weight:800}.quiz-options{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.error-practice-page{gap:var(--space-md);min-height:80vh;padding-bottom:var(--space-2xl);flex-direction:column;display:flex}.error-header{justify-content:space-between;align-items:center;display:flex}.error-header h2{font-size:1.2rem;font-weight:900}.error-header span{color:var(--text-muted);font-size:.85rem;font-weight:800}.error-practice-empty{justify-content:center;align-items:center;gap:var(--space-lg);text-align:center;flex-direction:column;min-height:70vh;display:flex}.empty-emoji{font-size:4rem}.error-practice-empty h2{font-size:1.3rem}.error-practice-empty p{color:var(--text-muted);font-size:.9rem}.plus-page{align-items:center;gap:var(--space-lg);padding-bottom:var(--space-2xl);flex-direction:column;display:flex}.plus-hero{border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-lg);text-align:center;background:linear-gradient(160deg,#1e2d35,#162028);border:2px solid #ce82ff33;width:100%;position:relative;overflow:hidden}.plus-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 30%,#ce82ff14 0%,#0000 60%);position:absolute;inset:-50%}.plus-capy-img{object-fit:contain;width:100px;height:100px;margin:0 auto var(--space-sm);background:#ce82ff14;border:3px solid #ce82ff4d;border-radius:50%;padding:6px;display:block}.plus-hero h1{color:var(--text-primary);margin-bottom:4px;font-size:1.6rem;font-weight:900}.plus-text{background:linear-gradient(90deg,#ce82ff,#ff9600);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.plus-hero p{color:var(--text-muted);font-size:.85rem;font-weight:600}.plus-benefits{flex-direction:column;gap:10px;width:100%;display:flex}.benefit-item{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:14px 18px;transition:border-color .2s;display:flex}.benefit-item:hover{border-color:#ce82ff4d}.benefit-icon{background:#ce82ff14;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex}.benefit-text strong{color:var(--text-primary);font-size:.9rem;font-weight:800;display:block}.benefit-text span{color:var(--text-muted);font-size:.75rem;font-weight:600}.plus-pricing{text-align:center;padding:var(--space-md) 0}.price-tag{color:var(--text-primary);font-size:2.8rem;font-weight:900}.price-period{color:var(--text-muted);font-size:1rem;font-weight:700}.price-savings{color:var(--green);margin-top:4px;font-size:.75rem;font-weight:700;display:block}.plus-buttons{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.btn-plus{color:#fff;border-radius:var(--radius-lg);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#ce82ff,#9747c7);border:none;padding:16px;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 15px #ce82ff4d}.btn-plus:active{transform:scale(.97)}.btn-pix{background:linear-gradient(135deg,#58cc02,#3ea001);box-shadow:0 4px 15px #58cc024d}.plus-disclaimer{color:var(--text-muted);text-align:center;font-size:.75rem}:root{--green:#58cc02;--green-dark:#46a302;--green-shadow:#3e8e00;--green-light:#d7ffb8;--blue:#1cb0f6;--blue-dark:#1899d6;--blue-shadow:#1478a7;--blue-light:#ddf4ff;--red:#ff4b4b;--red-dark:#ea2b2b;--red-shadow:#c42020;--red-light:#ffdfe0;--yellow:#ffc800;--yellow-dark:#e5b300;--yellow-shadow:#cc9f00;--yellow-light:#fff4cc;--purple:#ce82ff;--purple-dark:#b366e0;--purple-shadow:#9747c7;--orange:#ff9600;--orange-dark:#e08500;--orange-shadow:#c27400;--gold:#ffd900;--bg:#131f24;--bg-secondary:#1a2c33;--bg-card:#1f3a44;--bg-elevated:#264653;--surface:#fff;--surface-dark:#f0f0f0;--border:#2a4a56;--border-light:#3a5a66;--text-primary:#fff;--text-secondary:#a0b8c0;--text-muted:#6b8a95;--text-dark:#3c3c3c;--text-on-color:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-btn:0 4px 0;--shadow-card:0 2px 8px #0000004d;--shadow-elevated:0 8px 24px #0006;--font:"Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--transition:.2s ease;--transition-slow:.4s ease;--max-width:480px;--bottom-nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-weight:700;overflow-x:hidden}#root{max-width:var(--max-width);min-height:100dvh;margin:0 auto;position:relative}img,svg{max-width:100%;display:block}button{font-family:var(--font);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;outline:none;font-weight:800}input,textarea{font-family:var(--font);outline:none;font-weight:700}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.page{padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-xl));min-height:100dvh}.page-no-nav{padding:var(--space-md);flex-direction:column;min-height:100dvh;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:14px var(--space-lg);border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition);-webkit-user-select:none;user-select:none;width:100%;font-size:1rem;font-weight:800;display:flex;position:relative}.btn:active{transform:translateY(3px)}.btn-green{background:var(--green);color:var(--text-on-color);box-shadow:var(--shadow-btn) var(--green-shadow)}.btn-green:active{box-shadow:0 1px 0 var(--green-shadow)}.btn-blue{background:var(--blue);color:var(--text-on-color);box-shadow:var(--shadow-btn) var(--blue-shadow)}.btn-blue:active{box-shadow:0 1px 0 var(--blue-shadow)}.btn-red{background:var(--red);color:var(--text-on-color);box-shadow:var(--shadow-btn) var(--red-shadow)}.btn-red:active{box-shadow:0 1px 0 var(--red-shadow)}.btn-outline{color:var(--text-secondary);border:2px solid var(--border);box-shadow:none;background:0 0}.btn-outline:active{background:var(--bg-card);transform:translateY(1px)}.btn-gold{color:#1a1a1a;box-shadow:var(--shadow-btn) #c80;background:linear-gradient(135deg,gold,orange)}.btn-disabled{opacity:.5;pointer-events:none}.btn-sm{padding:10px var(--space-md);font-size:.875rem}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);border:2px solid var(--border)}.card-elevated{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card);border:2px solid var(--border)}.feedback-correct{background:var(--green);color:var(--text-on-color);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);align-items:center;gap:var(--space-sm);font-size:1.1rem;font-weight:800;animation:.3s slideUp;display:flex}.feedback-incorrect{background:var(--red);color:var(--text-on-color);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);gap:var(--space-xs);flex-direction:column;font-size:1rem;font-weight:700;animation:.3s slideUp;display:flex}.feedback-incorrect .correct-answer{opacity:.9;font-size:.875rem}.word-chip{background:var(--bg-elevated);border:2px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none;box-shadow:0 2px 0 var(--border);align-items:center;padding:8px 16px;font-size:1rem;font-weight:700;display:inline-flex}.word-chip:active{box-shadow:none;transform:translateY(2px)}.word-chip.selected{background:var(--blue);border-color:var(--blue-dark);color:var(--text-on-color);box-shadow:0 2px 0 var(--blue-shadow)}.word-chip.disabled{opacity:.3;pointer-events:none}.option-btn{align-items:center;gap:var(--space-md);width:100%;padding:14px var(--space-md);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition);text-align:left;font-size:1rem;font-weight:700;display:flex;box-shadow:0 2px #0003}.option-btn:active{box-shadow:none;transform:translateY(2px)}.option-btn.selected{border-color:var(--blue);background:#1cb0f61a}.option-btn.correct{border-color:var(--green);background:#58cc0226}.option-btn.incorrect{border-color:var(--red);background:#ff4b4b26}.input-field{width:100%;padding:14px var(--space-md);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);transition:border-color var(--transition);font-size:1.1rem}.input-field:focus{border-color:var(--blue)}.input-field::placeholder{color:var(--text-muted);font-weight:600}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes xpFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}@keyframes confettiDrop{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes glowPulse{0%,to{box-shadow:0 0 8px #58cc0266}50%{box-shadow:0 0 20px #58cc02cc}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-bounce-in{animation:.5s forwards bounceIn}.animate-slide-up{animation:.3s forwards slideUp}.animate-slide-down{animation:.3s forwards slideDown}.animate-shake{animation:.4s shake}.animate-pulse{animation:1.5s infinite pulse}.animate-float{animation:2s ease-in-out infinite float}.animate-fade-in{animation:.3s forwards fadeIn}.animate-xp-float{animation:1.2s forwards xpFloat}.animate-glow{animation:2s infinite glowPulse}.progress-bar-track{background:var(--bg-card);border-radius:var(--radius-full);border:2px solid var(--border);width:100%;height:16px;overflow:hidden}.progress-bar-fill{background:var(--green);border-radius:var(--radius-full);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";border-radius:var(--radius-full);background:#ffffff4d;height:4px;position:absolute;top:2px;left:4px;right:4px}.bottom-nav{width:100%;max-width:var(--max-width);height:var(--bottom-nav-height);background:var(--bg-secondary);border-top:2px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{border-radius:var(--radius-md);color:var(--text-muted);text-transform:uppercase;transition:all var(--transition);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;font-size:.65rem;font-weight:800;display:flex}.nav-item svg{transition:all var(--transition);font-size:1.5rem}.nav-item.active{color:var(--blue)}.nav-item.active svg{transform:scale(1.15)}.top-bar{padding:var(--space-sm) 0;margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.top-bar-stats{align-items:center;gap:var(--space-md);display:flex}.stat-item{color:var(--text-primary);align-items:center;gap:4px;font-size:.9rem;font-weight:800;display:flex}.stat-item .icon{font-size:1.2rem}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}@supports (padding:env(safe-area-inset-bottom)){.page{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--space-lg))}}
