.bottom-tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:6px;width:calc(100% - 12px);max-width:418px;height:64px;background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.05);border-radius:18px;box-shadow:0 8px 24px #0000000f;display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center;z-index:1000;box-sizing:border-box}.bottom-tabbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;padding:0;min-width:0;height:100%;-webkit-tap-highlight-color:transparent}.bottom-tabbar__item svg{width:22px;height:22px}.bottom-tabbar__label{font-size:11px;font-weight:600;color:#a8a29e;font-family:Nunito,sans-serif;line-height:1.1;white-space:nowrap}.bottom-tabbar__item--active .bottom-tabbar__label{color:#f97316}.bottom-tabbar__center{display:flex;align-items:center;justify-content:center}.bruno-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#fff7ed;border:2px solid #FED7AA;box-shadow:0 2px 10px #f973162e;transform:translateY(-6px)}.bruno-avatar--active{border-color:#fb923c;box-shadow:0 3px 14px #f9731647}.bruno-avatar img{width:100%;height:100%;object-fit:cover;display:block}.welcome-page{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:40px 24px;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff8f0,#ffedd5,#fff8f0)}.welcome-bg{position:absolute;top:-60%;right:-40%;width:140%;height:120%;background:radial-gradient(circle at center,rgba(249,115,22,.08) 0%,transparent 60%);pointer-events:none}.welcome-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}.welcome-hero{width:180px;height:180px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 8px 32px #f9731633;border:4px solid white}.welcome-mascot{width:100%;height:100%;object-fit:cover}.welcome-text{max-width:300px}.welcome-title{font-size:42px;font-weight:900;color:var(--orange-500);letter-spacing:-1px;margin-bottom:6px}.welcome-tagline{font-size:17px;font-weight:700;color:var(--gray-700);margin-bottom:10px}.welcome-desc{font-size:14px;color:var(--text-secondary);line-height:1.55}.welcome-actions{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:8px}.welcome-footer{display:flex;align-items:center;gap:8px;margin-top:4px}.welcome-level-tag,.welcome-free-tag{font-size:13px;font-weight:700;color:var(--text-secondary)}.welcome-dot{color:var(--text-muted)}.auth-page{min-height:100dvh;padding:20px 24px 40px;display:flex;flex-direction:column;background:var(--bg-primary)}.auth-back{background:none;border:none;cursor:pointer;padding:8px;margin:0 -8px 12px;color:var(--text-secondary);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:background .15s}.auth-back:active{background:var(--gray-100)}.auth-header{text-align:center;margin-bottom:28px}.auth-sticker{width:72px;height:72px;border-radius:20px;overflow:hidden;margin:0 auto 14px;box-shadow:0 4px 16px #f9731626}.auth-sticker img{width:100%;height:100%;object-fit:cover}.auth-avatar{width:72px;height:72px;border-radius:20px;overflow:hidden;margin:0 auto 14px;background:#fff;box-shadow:0 4px 16px #f9731626}.auth-avatar img{width:100%;height:100%;object-fit:cover}.auth-title{font-size:26px;font-weight:800;color:var(--text-primary);margin-bottom:4px}.auth-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.5}.auth-form{flex:1;display:flex;flex-direction:column;gap:0}.auth-form .btn{margin-top:8px}.auth-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600;margin-bottom:16px}.auth-success{background:#f0fdf4;color:#16a34a;padding:16px;border-radius:var(--radius-md);font-size:15px;font-weight:700;text-align:center;margin-bottom:16px}.auth-switch{text-align:center;font-size:14px;color:var(--text-secondary);margin-top:24px;font-weight:500}.auth-link{background:none;border:none;color:var(--orange-500);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.auth-forgot-link{background:none;border:none;color:var(--orange-500);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;text-align:right;padding:0;margin:-8px 0 12px;text-decoration:none;opacity:.85;transition:opacity .15s}.auth-forgot-link:hover,.auth-forgot-link:active{opacity:1}.auth-dev-token{background:#fffbeb;border:1px dashed var(--orange-300);border-radius:var(--radius-md);padding:14px;margin-bottom:8px}.dev-token-label{font-size:12px;font-weight:700;color:var(--orange-600);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.dev-token-value{display:block;font-size:11px;color:var(--gray-600);word-break:break-all;background:#0000000a;padding:8px;border-radius:8px;line-height:1.4}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.home-page{padding-top:max(env(safe-area-inset-top,16px),16px)}.home-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4px}.home-greeting{font-size:14px;color:var(--text-secondary);font-weight:600;margin-bottom:2px}.home-streak{display:flex;align-items:center;gap:4px;background:#fff3e0;padding:6px 12px;border-radius:100px}.streak-flame{font-size:18px}.streak-count{font-size:16px;font-weight:800;color:var(--orange-600)}.home-bruno-card{margin-top:16px;background:linear-gradient(135deg,#fff8f0,#ffedd5);border:1.5px solid var(--orange-200)}.home-bruno-row{display:flex;align-items:center;gap:14px;margin-bottom:16px}.home-bruno-text{flex:1}.home-bruno-title{font-size:17px;font-weight:800;margin-bottom:4px}.home-bruno-desc{font-size:13px;color:var(--text-secondary);line-height:1.45}.home-bruno-img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 2px 8px #00000014;flex-shrink:0}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:14px 10px;text-align:center;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:2px}.stat-emoji{font-size:22px}.stat-value{font-size:22px;font-weight:800;color:var(--text-primary)}.stat-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.home-section-title{font-size:18px;font-weight:800;margin-top:24px;margin-bottom:12px}.home-quick{display:flex;flex-direction:column;gap:8px}.quick-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:none;border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-card);cursor:pointer;font-family:inherit;text-align:left;transition:transform .15s;width:100%}.quick-card:active{transform:scale(.98)}.quick-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--orange-50);border-radius:12px}.quick-label{flex:1;font-size:16px;font-weight:700;color:var(--text-primary)}.quick-arrow{font-size:16px;color:var(--text-muted);font-weight:600}.home-tip{margin-top:20px}.tip-header{margin-bottom:8px}.tip-text{font-size:14px;color:var(--text-secondary);line-height:1.5}.tip-text strong{color:var(--orange-600)}.path-page{padding-top:max(env(safe-area-inset-top,16px),16px)}.path-units{display:flex;flex-direction:column;gap:16px;margin-top:16px}.path-unit{background:var(--bg-card);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card)}.path-unit.locked{opacity:.55}.unit-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.unit-emoji{width:44px;height:44px;border-radius:14px;background:var(--orange-50);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.unit-info{flex:1;min-width:0}.unit-title{font-size:16px;font-weight:800;color:var(--text-primary)}.unit-subtitle{font-size:12px;color:var(--text-secondary);margin-top:1px}.unit-progress-ring{width:40px;height:40px;border-radius:50%;background:var(--orange-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}.unit-progress-text{font-size:11px;font-weight:800;color:var(--orange-600)}.unit-lock{font-size:20px;flex-shrink:0}.unit-bar{margin-bottom:14px}.unit-lessons{display:flex;flex-direction:column;gap:6px}.lesson-pill{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:2px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50);font-family:inherit;cursor:pointer;transition:all .15s;text-align:left}.lesson-pill:active:not(:disabled){transform:scale(.98)}.lesson-pill:disabled{cursor:default;opacity:.5}.lesson-pill.completed{background:#f0fdf4;border-color:#bbf7d0}.lesson-pill.next{background:#fff8f0;border-color:var(--orange-300);box-shadow:0 0 0 2px #f973161a}.pill-status{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;background:var(--gray-200);color:var(--gray-600)}.lesson-pill.completed .pill-status{background:var(--green-500);color:#fff}.lesson-pill.next .pill-status{background:var(--orange-400);color:#fff}.pill-title{flex:1;font-size:14px;font-weight:600;color:var(--text-primary)}.lf{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-primary);z-index:100;max-width:430px;margin:0 auto}@media (min-width: 481px){.lf{box-shadow:0 0 40px #0000001f}}.lf-xp-pop{position:fixed;top:60px;right:16px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:17px;font-weight:900;padding:8px 18px;border-radius:100px;box-shadow:0 6px 20px #f59e0b80;z-index:300;pointer-events:none;animation:lfXpPop 1.6s cubic-bezier(.22,1,.36,1) forwards;letter-spacing:.5px}@keyframes lfXpPop{0%{opacity:0;transform:translateY(12px) scale(.5)}12%{opacity:1;transform:translateY(-4px) scale(1.25)}22%{transform:translateY(0) scale(1)}75%{opacity:1;transform:translateY(-24px)}to{opacity:0;transform:translateY(-48px) scale(.7)}}.lf-mid-bruno{position:fixed;top:64px;left:50%;transform:translate(-50%);max-width:360px;width:calc(100% - 40px);background:var(--bg-card);border-radius:20px;padding:14px 18px;box-shadow:0 12px 40px #00000024;display:flex;align-items:center;gap:12px;z-index:250;animation:lfToastIn .45s cubic-bezier(.34,1.56,.64,1) both,lfToastOut .35s ease 2.7s forwards}.lf-mid-bruno-avatar{font-size:28px;flex-shrink:0}.lf-mid-bruno-text{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.4}@keyframes lfToastIn{0%{opacity:0;transform:translate(-50%) translateY(-24px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes lfToastOut{to{opacity:0;transform:translate(-50%) translateY(-20px) scale(.92)}}.lf-streak-toast{position:fixed;top:64px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:16px;font-weight:900;padding:10px 24px;border-radius:100px;box-shadow:0 6px 24px #ef444473;z-index:260;pointer-events:none;animation:lfStreakPop 2.2s cubic-bezier(.22,1,.36,1) forwards;letter-spacing:.3px}@keyframes lfStreakPop{0%{opacity:0;transform:translate(-50%) scale(.4)}12%{opacity:1;transform:translate(-50%) scale(1.2)}22%{transform:translate(-50%) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-18px)}}.lf-top{display:flex;align-items:center;gap:12px;padding:max(env(safe-area-inset-top,14px),14px) 16px 10px;flex-shrink:0}.lf-close{background:none;border:none;cursor:pointer;padding:6px;color:var(--gray-400);border-radius:10px;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.lf-close:active{background:var(--gray-100);color:var(--gray-600);transform:scale(.88)}.lf-progress-track{flex:1;height:10px;background:var(--gray-200);border-radius:100px;overflow:visible;position:relative}.lf-progress-fill{height:100%;background:linear-gradient(90deg,#FDBA74,var(--orange-500),#EA580C);background-size:200% 100%;border-radius:100px;transition:width .7s cubic-bezier(.22,1,.36,1);position:relative;z-index:1;animation:lfProgressShimmer 3s ease-in-out infinite}@keyframes lfProgressShimmer{0%,to{background-position:0% center}50%{background-position:100% center}}.lf-progress-glow{position:absolute;top:50%;width:16px;height:16px;background:#fff;border:3px solid var(--orange-500);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #f9731680,0 0 4px #f97316cc;transition:left .7s cubic-bezier(.22,1,.36,1);z-index:2;animation:lfGlowPulse 2s ease-in-out infinite}@keyframes lfGlowPulse{0%,to{box-shadow:0 0 10px #f9731666,0 0 3px #f97316b3}50%{box-shadow:0 0 18px #f9731699,0 0 6px #f97316e6}}.lf-top-xp{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:100px;padding:5px 12px 5px 8px;flex-shrink:0;animation:lfXpBump .3s ease}.lf-top-xp-icon{font-size:14px}.lf-top-xp-num{font-size:14px;font-weight:900;color:#92400e;min-width:18px;text-align:center}@keyframes lfXpBump{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.lf-body{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.lf-step{flex:1;display:flex;flex-direction:column;justify-content:center;padding:16px 20px 8px;min-height:0}.lf-enter-forward{animation:lfSlideForward .38s cubic-bezier(.22,1,.36,1) both}.lf-enter-back{animation:lfSlideBack .38s cubic-bezier(.22,1,.36,1) both}@keyframes lfSlideForward{0%{opacity:0;transform:translate(50px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes lfSlideBack{0%{opacity:0;transform:translate(-50px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}.lf-bottom{flex-shrink:0;padding:12px 20px calc(14px + var(--safe-bottom));background:var(--bg-primary)}.lf-bottom-inner{display:flex;align-items:center;gap:10px}.lf-btn-back{width:52px;height:52px;border-radius:var(--radius-md);border:2px solid var(--gray-200);background:var(--bg-card);color:var(--gray-500);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.lf-btn-back:active{transform:scale(.85);background:var(--gray-100)}.lf-btn-next{flex:1;min-height:54px;border:none;border-radius:var(--radius-md);background:var(--gray-300);color:#fff9;font-family:inherit;font-size:15px;font-weight:700;cursor:default;box-shadow:none;transition:all .4s cubic-bezier(.22,1,.36,1);letter-spacing:.1px}.lf-btn-next.lf-btn-next-ready{background:linear-gradient(135deg,var(--orange-400),var(--orange-500));color:#fff;font-size:17px;font-weight:800;box-shadow:0 6px 20px #f9731666;cursor:pointer;animation:lfBtnReady .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes lfBtnReady{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}.lf-btn-next.lf-btn-next-ready:active{transform:scale(.95);box-shadow:0 2px 10px #f973164d}.lf-btn-next.disabled{opacity:1;cursor:default;transform:none;box-shadow:none}.lf-bruno{display:flex;gap:12px;align-items:flex-start;margin-bottom:24px}.lf-bruno-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--orange-400),var(--orange-500));display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 4px 12px #f973164d;animation:lfAvatarPulse 2.5s ease-in-out infinite}@keyframes lfAvatarPulse{0%,to{box-shadow:0 4px 12px #f973164d;transform:scale(1)}50%{box-shadow:0 6px 20px #f9731680;transform:scale(1.04)}}.lf-bruno-bubble{background:var(--bg-card);border-radius:20px 20px 20px 4px;padding:16px 18px;box-shadow:var(--shadow-card);font-size:17px;font-weight:700;line-height:1.45;color:var(--text-primary);animation:lfBubblePop .45s cubic-bezier(.34,1.56,.64,1) both .1s}@keyframes lfBubblePop{0%{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.lf-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:24px 20px;box-shadow:var(--shadow-card);animation:lfCardUp .4s ease both}@keyframes lfCardUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes lfFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lf-highlight{display:inline-block;background:linear-gradient(135deg,var(--orange-50),var(--orange-100));border:2px solid var(--orange-200);border-radius:14px;padding:14px 20px;font-size:19px;font-weight:800;color:var(--orange-600);margin:16px 0;text-align:center;width:100%;animation:lfHighlightPop .4s cubic-bezier(.34,1.56,.64,1) both .2s}@keyframes lfHighlightPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lf-tag{display:inline-flex;align-items:center;padding:5px 12px;border-radius:100px;font-size:12px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}.lf-tag-orange{background:var(--orange-100);color:var(--orange-600)}.lf-tag-blue{background:#dbeafe;color:#2563eb}.lf-tag-green{background:#dcfce7;color:#16a34a}.lf-tag-purple{background:#f3e5f5;color:#9333ea}.lf-tag-pink{background:#fce7f3;color:#db2777}.lf-feedback{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:var(--radius-md);font-size:15px;font-weight:700;margin-top:16px;line-height:1.4}.lf-feedback-correct{background:#ecfdf5;color:#059669;border:2px solid #A7F3D0;animation:lfFeedbackCorrect .45s cubic-bezier(.34,1.56,.64,1) both}.lf-feedback-wrong{background:#fef2f2;color:#dc2626;border:2px solid #FECACA;animation:lfFeedbackWrong .4s ease both}@keyframes lfFeedbackCorrect{0%{opacity:0;transform:translateY(8px) scale(.95)}50%{transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lfFeedbackWrong{0%{opacity:0;transform:translate(0)}15%{opacity:1;transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.lf-feedback-icon{font-size:20px;flex-shrink:0;line-height:1}.lf-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;padding:40px 10px}.lf-intro-emoji{font-size:76px;animation:lfBounce .7s cubic-bezier(.34,1.56,.64,1) both}@keyframes lfBounce{0%{transform:scale(0) rotate(-10deg)}55%{transform:scale(1.18) rotate(3deg)}to{transform:scale(1) rotate(0)}}.lf-intro-text{font-size:22px;font-weight:800;line-height:1.4;color:var(--text-primary);max-width:300px;animation:lfFadeUp .5s ease both .2s}.lf-intro-sub{font-size:15px;color:var(--text-secondary);max-width:270px;line-height:1.5;animation:lfFadeUp .5s ease both .35s}.lf-intro-wave{font-size:36px;animation:lfWaveHand 1.3s ease-in-out both .5s;transform-origin:70% 70%}@keyframes lfWaveHand{0%{transform:rotate(0) scale(0);opacity:0}15%{transform:rotate(0) scale(1);opacity:1}25%{transform:rotate(16deg)}35%{transform:rotate(-8deg)}45%{transform:rotate(16deg)}55%{transform:rotate(-4deg)}65%{transform:rotate(12deg)}80%{transform:rotate(0)}to{transform:rotate(0);opacity:1}}.lf-explanation{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.lf-explanation-emoji{font-size:52px;margin-bottom:8px;animation:lfBounce .6s cubic-bezier(.34,1.56,.64,1) both}.lf-explanation-title{font-size:26px;font-weight:800;color:var(--text-primary);animation:lfFadeUp .4s ease both .1s}.lf-explanation-text{font-size:15px;color:var(--text-secondary);line-height:1.5;max-width:300px;animation:lfFadeUp .4s ease both .15s}.lf-example{display:flex;flex-direction:column;align-items:center;gap:16px}.lf-example-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:28px 24px;box-shadow:var(--shadow-card);width:100%;text-align:center;border-left:5px solid var(--orange-400);animation:lfCardUp .4s ease both .1s}.lf-example-es{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.4;margin-bottom:12px}.lf-example-ru{font-size:15px;color:var(--text-secondary);line-height:1.4}.lf-example-note{font-size:13px;color:var(--gray-400);font-style:italic;margin-top:12px}.lf-choice-question{font-size:20px;font-weight:800;color:var(--text-primary);text-align:center;margin-bottom:24px;line-height:1.35}.lf-choice-options{display:flex;flex-direction:column;gap:10px}.lf-choice-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:2.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--bg-card);font-family:inherit;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);text-align:left;-webkit-user-select:none;user-select:none}.lf-choice-btn:active:not(.lf-answered){transform:scale(.97)}.lf-choice-btn.lf-correct{border-color:#10b981;background:#ecfdf5;animation:lfCorrectPop .5s cubic-bezier(.34,1.56,.64,1)}.lf-choice-btn.lf-wrong{border-color:var(--red-400);background:#fef2f2;animation:lfShake .5s ease}@keyframes lfCorrectPop{0%{transform:scale(1);box-shadow:0 0 #10b98166}40%{transform:scale(1.03);box-shadow:0 0 0 8px #10b98100}to{transform:scale(1)}}@keyframes lfShake{0%,to{transform:translate(0)}12%{transform:translate(-8px)}25%{transform:translate(7px)}37%{transform:translate(-6px)}50%{transform:translate(5px)}62%{transform:translate(-3px)}75%{transform:translate(2px)}}.lf-choice-letter{width:34px;height:34px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--gray-600);flex-shrink:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.lf-choice-btn.lf-correct .lf-choice-letter{background:#10b981;color:#fff;transform:scale(1.15)}.lf-choice-btn.lf-wrong .lf-choice-letter{background:var(--red-400);color:#fff}.lf-choice-text{font-size:16px;font-weight:600;color:var(--text-primary)}.lf-input-question{font-size:20px;font-weight:800;color:var(--text-primary);text-align:center;margin-bottom:24px;line-height:1.35}.lf-input-wrapper{position:relative}.lf-input-field{width:100%;padding:16px 56px 16px 18px;border:2.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:inherit;font-size:18px;font-weight:600;color:var(--text-primary);background:var(--bg-card);outline:none;transition:all .25s;text-align:center}.lf-input-field:focus{border-color:var(--orange-400);box-shadow:0 0 0 4px #f973161a}.lf-input-field.lf-input-correct{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 4px #10b9811a}.lf-input-field.lf-input-wrong{border-color:var(--red-400);background:#fef2f2;animation:lfShake .5s ease}.lf-input-submit{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--orange-400),var(--orange-500));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.lf-input-submit:active{transform:translateY(-50%) scale(.85)}.lf-input-submit:disabled{opacity:.2;cursor:default}.lf-match-instruction{font-size:18px;font-weight:800;color:var(--text-primary);text-align:center;margin-bottom:20px}.lf-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lf-match-chip{padding:14px 12px;border:2.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--bg-card);font-family:inherit;font-size:15px;font-weight:700;text-align:center;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none;min-height:50px;display:flex;align-items:center;justify-content:center}.lf-match-chip:active:not(.lf-match-done){transform:scale(.93)}.lf-match-chip.lf-match-active{border-color:var(--orange-400);background:var(--orange-50);box-shadow:0 0 0 4px #f973161f;transform:scale(1.04)}.lf-match-chip.lf-match-done{border-color:#10b981;background:#ecfdf5;cursor:default;animation:lfMatchDone .4s cubic-bezier(.34,1.56,.64,1)}@keyframes lfMatchDone{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}.lf-match-chip.lf-match-wrong-flash{border-color:var(--red-400);background:#fef2f2;animation:lfShake .4s ease}.lf-match-chip.lf-match-es{color:var(--text-primary)}.lf-match-chip.lf-match-ru{color:var(--text-secondary)}.lf-dialog-title{font-size:18px;font-weight:800;text-align:center;margin-bottom:20px;color:var(--text-primary)}.lf-dialog-lines{display:flex;flex-direction:column;gap:12px}.lf-dialog-line{display:flex;align-items:flex-end;gap:10px;opacity:0;animation:lfDialogAppear .4s ease forwards}.lf-dialog-line.lf-right{flex-direction:row-reverse}.lf-dialog-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}.lf-dialog-avatar-a{background:linear-gradient(135deg,var(--orange-400),var(--orange-500))}.lf-dialog-avatar-b{background:linear-gradient(135deg,var(--blue-400),var(--blue-500))}.lf-dialog-bubble{flex:1;border-radius:18px;padding:12px 16px;min-width:0;max-width:85%}.lf-dialog-line:not(.lf-right) .lf-dialog-bubble{background:var(--orange-50);border-bottom-left-radius:4px}.lf-dialog-line.lf-right .lf-dialog-bubble{background:#eff6ff;border-bottom-right-radius:4px}.lf-dialog-name{font-size:11px;font-weight:800;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.lf-dialog-text{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.4}.lf-dialog-translate{background:none;border:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--orange-500);cursor:pointer;padding:4px 0 0;text-decoration:underline;text-underline-offset:2px}.lf-dialog-translation{font-size:13px;color:var(--text-secondary);margin-top:4px;animation:lfFadeUp .25s ease both}.lf-typing-dots{display:flex;gap:5px;padding:10px 16px}.lf-typing-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-300);animation:lfTypingDot 1.4s ease-in-out infinite}.lf-typing-dot:nth-child(2){animation-delay:.2s}.lf-typing-dot:nth-child(3){animation-delay:.4s}@keyframes lfTypingDot{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-7px);opacity:1}}@keyframes lfDialogAppear{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.lf-review-items{display:flex;flex-direction:column;gap:10px;margin-top:8px}.lf-review-item{display:flex;align-items:center;gap:14px;background:var(--bg-card);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-card);animation:lfCardUp .3s ease both}.lf-review-item:nth-child(1){animation-delay:.05s}.lf-review-item:nth-child(2){animation-delay:.12s}.lf-review-item:nth-child(3){animation-delay:.19s}.lf-review-item:nth-child(4){animation-delay:.26s}.lf-review-emoji{font-size:24px;flex-shrink:0}.lf-review-words{flex:1;min-width:0}.lf-review-es{font-size:16px;font-weight:800;color:var(--text-primary)}.lf-review-ru{font-size:13px;color:var(--text-secondary);margin-top:2px}.lf-result{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:20px 10px 16px}.lf-result-trophy{font-size:80px;animation:lfTrophy .8s cubic-bezier(.34,1.56,.64,1) both}@keyframes lfTrophy{0%{transform:scale(0) rotate(-20deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}75%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}.lf-result-title{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.35;animation:lfFadeUp .4s ease both .3s;max-width:300px}.lf-result-sub{font-size:14px;color:var(--text-secondary);animation:lfFadeUp .4s ease both .4s}.lf-result-xp-section{width:100%;max-width:300px;animation:lfFadeUp .5s ease both .5s}.lf-result-xp-earned{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.lf-result-xp-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:22px;font-weight:900;padding:8px 22px;border-radius:100px;box-shadow:0 6px 20px #f59e0b66;animation:lfXpBadgePop .6s cubic-bezier(.34,1.56,.64,1) both .65s;letter-spacing:.5px}@keyframes lfXpBadgePop{0%{transform:scale(0) rotate(-5deg)}60%{transform:scale(1.15) rotate(2deg)}to{transform:scale(1) rotate(0)}}.lf-result-level{display:flex;align-items:center;gap:12px;background:var(--bg-card);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-card);margin-top:4px}.lf-result-level-emoji{font-size:30px}.lf-result-level-info{flex:1;text-align:left}.lf-result-level-name{font-size:15px;font-weight:800;color:var(--text-primary)}.lf-result-level-xp-text{font-size:11px;color:var(--text-secondary);margin-top:2px}.lf-result-level-bar{height:7px;background:var(--gray-200);border-radius:100px;overflow:hidden;margin-top:6px}.lf-result-level-fill{height:100%;background:linear-gradient(90deg,var(--orange-400),var(--orange-500));border-radius:100px;transition:width 1.2s cubic-bezier(.4,0,.2,1) .9s}.lf-result-stats{display:flex;gap:12px;margin-top:4px;animation:lfFadeUp .4s ease both .75s}.lf-result-stat{display:flex;flex-direction:column;align-items:center;background:var(--bg-card);border-radius:var(--radius-lg);padding:14px 18px;box-shadow:var(--shadow-card);min-width:80px;flex:1}.lf-result-stat-num{font-size:24px;font-weight:800;color:var(--orange-500)}.lf-result-stat-label{font-size:11px;font-weight:700;color:var(--text-secondary);margin-top:2px}.lf-result-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px;margin-top:10px;animation:lfFadeUp .4s ease both .9s}.lf-result-btn{width:100%;min-height:52px;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;gap:8px}.lf-result-btn:active{transform:scale(.95)}.lf-result-btn-primary{background:linear-gradient(135deg,var(--orange-400),var(--orange-500));color:#fff;box-shadow:0 6px 20px #f9731666}.lf-result-btn-secondary{background:var(--orange-100);color:var(--orange-600)}.lf-result-confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;overflow:hidden}.lf-confetti-piece{position:absolute;border-radius:2px;animation:lfConfettiFall linear forwards}@keyframes lfConfettiFall{0%{transform:translateY(-20px) rotate(0) scale(1);opacity:1}70%{opacity:1}to{transform:translateY(100vh) rotate(720deg) scale(.4);opacity:0}}.lf-result-perfect{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #FCD34D;border-radius:100px;padding:8px 20px;font-size:14px;font-weight:800;color:#92400e;animation:lfXpBadgePop .5s cubic-bezier(.34,1.56,.64,1) both .5s}.practice-modes-section{margin-top:24px}.practice-modes-title{font-size:18px;font-weight:800;margin-bottom:12px}.practice-modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-mode-card{display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:inherit;text-align:left;transition:transform .15s;width:100%}.practice-mode-card:active{transform:scale(.97)}.practice-mode-card--wide{grid-column:1 / -1}.practice-mode-card--disabled{opacity:.6;cursor:default}.practice-mode-card--disabled:active{transform:none}.practice-mode-card__emoji{font-size:26px;flex-shrink:0}.practice-mode-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.practice-mode-card__title{font-size:14px;font-weight:700;color:var(--text-primary)}.practice-mode-card__subtitle{font-size:11px;font-weight:600;color:var(--text-secondary)}.practice-mode-card__arrow{font-size:20px;color:var(--text-muted);font-weight:700;flex-shrink:0}.practice-session{display:flex;flex-direction:column;min-height:100dvh;background:var(--bg-primary)}.practice-session__header{position:sticky;top:0;z-index:10;background:var(--bg-nav);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:0 16px;padding-top:max(env(safe-area-inset-top,12px),12px);border-bottom:1px solid var(--border-light)}.practice-session__header-inner{display:flex;align-items:center;gap:12px;height:52px}.practice-session__back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--gray-100);border-radius:50%;cursor:pointer;flex-shrink:0;color:var(--text-primary);transition:background .15s}.practice-session__back:active{background:var(--gray-200)}.practice-session__title{font-size:17px;font-weight:800;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-session__badge{font-size:11px;font-weight:700;color:var(--orange-600);background:var(--orange-100);padding:3px 10px;border-radius:100px;flex-shrink:0}.practice-session__body{flex:1;display:flex;flex-direction:column;overflow:hidden}.practice-messages__welcome{display:flex;align-items:center;gap:10px;padding:14px 4px;opacity:.6;animation:fadeIn .4s ease both}.practice-messages__welcome-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.practice-messages__welcome-text{font-size:13px;font-weight:600;color:var(--text-muted)}.practice-messages{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px}.practice-msg{display:flex;align-items:flex-end;gap:8px;max-width:88%;animation:fadeIn .25s ease both}.practice-msg--user{align-self:flex-end;flex-direction:row-reverse}.practice-msg--bruno{align-self:flex-start}.practice-msg__avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.practice-msg__avatar img{width:100%;height:100%;object-fit:cover}.practice-msg__bubble{padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.6;word-break:break-word}.practice-msg--bruno .practice-msg__bubble{background:var(--bg-card);color:var(--text-primary);border-bottom-left-radius:6px;box-shadow:0 1px 6px #0000000f}.practice-msg--user .practice-msg__bubble{background:linear-gradient(135deg,var(--orange-400),var(--orange-500));color:#fff;border-bottom-right-radius:6px;box-shadow:0 2px 8px #f9731633}.practice-msg__text strong{font-weight:800}.practice-hint{margin-left:40px;margin-top:4px;margin-bottom:2px;font-size:12px;font-weight:700;color:var(--orange-500);animation:fadeIn .4s ease both;animation-delay:.3s;opacity:0}.practice-msg__bubble--typing{display:flex;align-items:center;gap:4px;padding:14px 18px}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--gray-400);animation:typingBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.practice-composer-wrap{background:var(--bg-nav);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-light)}.quick-replies{display:flex;gap:8px;padding:10px 16px 0;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.quick-replies::-webkit-scrollbar{display:none}.quick-reply-btn{flex-shrink:0;padding:7px 14px;border:1.5px solid var(--orange-200);border-radius:100px;background:var(--orange-50);color:var(--orange-600);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .12s,background .15s}.quick-reply-btn:active{transform:scale(.95);background:var(--orange-100)}.quick-reply-btn:disabled{opacity:.4;cursor:default}.quick-reply-btn--primary{background:var(--orange-100);border-color:var(--orange-400);color:var(--orange-600);font-weight:800}.practice-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 16px;padding-bottom:max(env(safe-area-inset-bottom,10px),10px)}.practice-composer__input{flex:1;border:2px solid var(--border-light);border-radius:22px;padding:10px 16px;font-family:inherit;font-size:15px;font-weight:500;color:var(--text-primary);background:var(--bg-card);outline:none;resize:none;max-height:100px;line-height:1.4;transition:border-color .2s}.practice-composer__input:focus{border-color:var(--orange-400)}.practice-composer__input::placeholder{color:var(--text-muted)}.practice-composer__input:disabled{opacity:.5}.practice-composer__send{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--orange-400),var(--orange-500));color:#fff;cursor:pointer;flex-shrink:0;transition:transform .15s,opacity .15s;box-shadow:0 2px 8px #f973164d}.practice-composer__send:active{transform:scale(.93)}.practice-composer__send:disabled{opacity:.4;cursor:default;box-shadow:none}.practice-error{margin:8px 16px;padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);font-size:13px;color:#dc2626;display:flex;align-items:center;gap:8px}.practice-error__dismiss{margin-left:auto;background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer;padding:0 4px}.practice-page{padding-top:max(env(safe-area-inset-top,16px),16px)}.practice-hero{margin-top:12px;padding:20px;background:linear-gradient(145deg,#fff8f0,#ffedd5);border:1.5px solid var(--orange-200);position:relative;overflow:hidden}.practice-hero-bg{position:absolute;top:-20px;right:-20px;width:180px;height:180px;background:radial-gradient(circle,rgba(249,115,22,.1) 0%,transparent 70%);pointer-events:none}.practice-intro{font-size:14px;color:var(--gray-600);line-height:1.5;margin-bottom:16px;position:relative}.practice-hero-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:18px}.practice-tip{flex:1;font-size:14px;color:var(--gray-600);line-height:1.5}.practice-bruno{width:100px;height:100px;border-radius:16px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.practice-start-btn{position:relative}.practice-meta{text-align:center;font-size:12px;color:var(--text-muted);margin-top:10px;font-weight:600}.practice-section-title{font-size:18px;font-weight:800;margin-top:24px;margin-bottom:12px}.situations-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.situation-card{display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:inherit;text-align:left;transition:transform .15s;width:100%}.situation-card:active{transform:scale(.97)}.situation-card.wide{margin-top:10px;grid-column:1 / -1}.situation-emoji{font-size:28px;flex-shrink:0}.situation-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.situation-title{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.situation-levels{font-size:11px;font-weight:600;color:var(--text-secondary)}.situation-arrow{font-size:20px;color:var(--text-muted);font-weight:700;flex-shrink:0}.words-page{padding-top:max(env(safe-area-inset-top,16px),16px)}.words-review-card{display:flex;align-items:center;justify-content:space-between;margin-top:12px;border:none;cursor:pointer;font-family:inherit;text-align:left;width:100%;background:linear-gradient(135deg,#fff8f0,#ffedd5);border:1.5px solid var(--orange-200);transition:transform .15s}.words-review-card:active{transform:scale(.98)}.review-left{display:flex;align-items:center;gap:12px}.review-emoji{font-size:28px}.review-title{font-size:15px;font-weight:700;color:var(--text-primary)}.review-desc{font-size:12px;color:var(--text-secondary);margin-top:1px}.review-arrow{font-size:18px;color:var(--orange-500);font-weight:700}.word-sets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.word-set-card{border:none;border-radius:var(--radius-lg);padding:16px;cursor:pointer;font-family:inherit;text-align:left;transition:transform .15s;display:flex;flex-direction:column;gap:6px}.word-set-card:active{transform:scale(.97)}.wset-top{display:flex;align-items:center;justify-content:space-between}.wset-emoji{font-size:28px}.wset-count{font-size:11px;font-weight:700;color:var(--text-muted)}.wset-title{font-size:15px;font-weight:800;color:var(--text-primary);margin-top:2px}.wset-bar{height:6px}.wset-progress-label{font-size:11px;font-weight:700;color:var(--text-muted)}.wordset-page{padding-top:max(env(safe-area-inset-top,12px),12px)}.wordset-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.wordset-header-info{display:flex;align-items:center;gap:8px}.wordset-header-emoji{font-size:24px}.wordset-title{font-size:22px;font-weight:800}.mode-toggle{display:flex;background:var(--gray-100);border-radius:12px;padding:3px;margin-bottom:16px}.mode-btn{flex:1;padding:10px;border:none;border-radius:10px;background:transparent;font-family:inherit;font-size:14px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .2s}.mode-btn.active{background:#fff;color:var(--orange-500);box-shadow:0 1px 4px #00000014}.word-list{display:flex;flex-direction:column;gap:8px}.word-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 16px;background:var(--bg-card);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-family:inherit;text-align:left;cursor:pointer;transition:all .15s}.word-item:active{transform:scale(.98);border-color:var(--orange-300)}.word-main{display:flex;align-items:center;justify-content:space-between}.word-es{font-size:17px;font-weight:700;color:var(--text-primary)}.word-ru{font-size:13px;color:var(--text-muted);font-weight:500;transition:color .2s}.word-ru.visible{color:var(--orange-600);font-weight:600}.card-mode{display:flex;flex-direction:column;align-items:center;gap:20px}.flashcard{width:100%;height:260px;perspective:800px;cursor:pointer}.flashcard-inner{position:relative;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;backface-visibility:hidden;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-card)}.flashcard-front{background:linear-gradient(135deg,#fff8f0,#ffedd5);border:2px solid var(--orange-200)}.flashcard-back{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93C5FD;transform:rotateY(180deg)}.flashcard-text{font-size:28px;font-weight:800;color:var(--text-primary)}.flashcard-hint{font-size:13px;color:var(--text-muted);font-weight:600}.flashcard-original{font-size:16px;color:var(--blue-500);font-weight:600}.card-nav{display:flex;align-items:center;gap:12px;width:100%}.card-nav .btn{flex:1;min-height:46px;padding:10px 16px;font-size:14px}.card-nav .btn:disabled{opacity:.4}.card-counter{font-size:14px;font-weight:700;color:var(--text-muted);white-space:nowrap}.topic-progress-label{margin-left:auto;font-size:13px;font-weight:700;color:var(--orange-500);white-space:nowrap}.sync-indicator{font-size:11px;color:var(--text-muted);text-align:center;margin-bottom:8px;opacity:.6}.word-item--learned{border-color:var(--orange-300)!important;background:#fffbf5!important}.word-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.learn-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--gray-300);background:transparent;color:var(--gray-400);cursor:pointer;transition:all .15s;flex-shrink:0;position:relative;z-index:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.learn-btn:active{transform:scale(.88)}.learn-btn--learned{border-color:var(--orange-400);background:var(--orange-500);color:#fff}.learn-btn-card{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--gray-200);background:transparent;font-family:inherit;font-size:14px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.learn-btn-card:active{transform:scale(.98)}.learn-btn-card--learned{border-color:var(--orange-400);background:var(--orange-500);color:#fff}.qr-page{padding-top:max(env(safe-area-inset-top,12px),12px)}.qr-topic-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--gray-100);border-radius:20px;font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:16px}.qr-unlearn-btn{width:100%;padding:10px 16px;border-radius:var(--radius-md);border:2px solid var(--gray-200);background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s}.qr-unlearn-btn:active{transform:scale(.98);border-color:var(--orange-300);color:var(--orange-500)}.qr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;gap:16px;flex:1}.qr-empty-emoji{font-size:64px;line-height:1}.qr-empty-title{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.qr-empty-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:280px;margin:0}.profile-page{padding-top:max(env(safe-area-inset-top,16px),16px)}.profile-card{margin-top:12px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;margin-bottom:12px;border:3px solid var(--orange-200);box-shadow:0 4px 12px #f9731626}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-size:20px;font-weight:800;margin-bottom:2px}.profile-nickname{font-size:14px;color:var(--orange-500);font-weight:600;margin-bottom:2px}.profile-email{font-size:13px;color:var(--text-muted);margin-bottom:10px}.profile-level{font-size:13px}.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.profile-stat{background:var(--bg-card);border-radius:var(--radius-md);padding:14px;text-align:center;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:2px}.pstat-emoji{font-size:20px}.pstat-value{font-size:20px;font-weight:800;color:var(--text-primary)}.pstat-label{font-size:11px;font-weight:600;color:var(--text-muted)}.profile-section-title{font-size:18px;font-weight:800;margin-top:24px;margin-bottom:10px}.profile-settings{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.setting-row{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--gray-100)}.setting-row:last-child{border-bottom:none}.setting-emoji{font-size:20px;flex-shrink:0}.setting-label{flex:1;font-size:15px;font-weight:600;color:var(--text-primary)}.setting-value{font-size:13px;color:var(--text-muted);font-weight:600}.setting-arrow{font-size:20px;color:var(--text-muted);font-weight:700}.toggle-track{width:44px;height:26px;border-radius:100px;background:var(--gray-300);position:relative;transition:background .2s}.toggle-track.active{background:var(--orange-400)}.toggle-thumb{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:left .2s;box-shadow:0 1px 3px #00000026}.toggle-track.active .toggle-thumb{left:21px}.logout-btn{margin-top:24px;color:var(--red-400);background:#fef2f2}.profile-version{text-align:center;font-size:12px;color:var(--text-muted);margin-top:16px;font-weight:600}.profile-page{padding-bottom:140px}:root{--orange-50: #FFF8F0;--orange-100: #FFEDD5;--orange-200: #FED7AA;--orange-300: #FDBA74;--orange-400: #FF8C42;--orange-500: #F97316;--orange-600: #EA580C;--gray-50: #FAFAF9;--gray-100: #F5F5F4;--gray-200: #E7E5E4;--gray-300: #D6D3D1;--gray-400: #A8A29E;--gray-500: #78716C;--gray-600: #57534E;--gray-700: #44403C;--gray-800: #292524;--gray-900: #1C1917;--green-400: #4ADE80;--green-500: #22C55E;--blue-400: #60A5FA;--blue-500: #3B82F6;--red-400: #F87171;--purple-400: #C084FC;--bg-primary: #FFF8F0;--bg-card: #FFFFFF;--bg-nav: rgba(255, 255, 255, .92);--text-primary: var(--gray-900);--text-secondary: var(--gray-500);--text-muted: var(--gray-400);--border-light: var(--gray-200);--shadow-card: 0 2px 12px rgba(0,0,0,.06);--shadow-nav: 0 -2px 20px rgba(0,0,0,.06);--shadow-button: 0 4px 14px rgba(249, 115, 22, .35);--nav-height: 72px;--safe-bottom: env(safe-area-inset-bottom, 0px);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{min-height:100dvh}#root{display:flex;justify-content:center;min-height:100dvh;background:#e8dfd5}@media (max-width: 480px){#root{background:var(--bg-primary)}}.app-shell{width:100%;max-width:430px;min-height:100dvh;background:var(--bg-primary);position:relative;overflow-x:hidden}@media (min-width: 481px){.app-shell{box-shadow:0 0 40px #0000001f}}.page{padding:0 20px;padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 20px);min-height:100dvh;animation:fadeIn .25s ease}.page-header{padding-top:max(env(safe-area-inset-top,16px),16px);padding-bottom:8px}.page-title{font-size:28px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px}.page-subtitle{font-size:15px;color:var(--text-secondary);margin-top:4px;line-height:1.4}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-md);font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;-webkit-user-select:none;user-select:none;min-height:52px;padding:14px 24px}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--orange-400),var(--orange-500));color:#fff;box-shadow:var(--shadow-button)}.btn-primary:active{box-shadow:0 2px 8px #f9731640}.btn-secondary{background:var(--orange-100);color:var(--orange-600)}.btn-ghost{background:transparent;color:var(--orange-500)}.btn-full{width:100%}.btn-lg{min-height:56px;font-size:17px;border-radius:var(--radius-lg)}.input-group{margin-bottom:16px}.input-label{display:block;font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.input-field{width:100%;padding:14px 16px;border:2px solid var(--border-light);border-radius:var(--radius-md);font-family:inherit;font-size:16px;font-weight:500;color:var(--text-primary);background:var(--bg-card);transition:border-color .2s;outline:none}.input-field:focus{border-color:var(--orange-400)}.input-field::placeholder{color:var(--text-muted)}.progress-bar{height:8px;background:var(--gray-200);border-radius:100px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--orange-400),var(--orange-500));border-radius:100px;transition:width .5s cubic-bezier(.4,0,.2,1)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:700}.badge-orange{background:var(--orange-100);color:var(--orange-600)}.badge-green{background:#dcfce7;color:#16a34a}.badge-blue{background:#dbeafe;color:#2563eb}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-fade{animation:fadeIn .3s ease both}.animate-slide{animation:slideUp .4s ease both}.animate-pop{animation:pop .4s ease both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}body{padding-bottom:90px}
