:root{color:var(--fg);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f4f7ff;--surface:#fff;--surface-soft:#fff8d8;--fg:#211946;--accent:#6f57e8;--accent-soft:#6f57e81f;--yellow:#ffd21f;--yellow-dark:#f6bd00;--yellow-soft:#ffd21f33;--success:#2fba7f;--error:#e93d45;--muted:#706a8c;--border:#e5e6ef;--text-muted:var(--muted);--radius-card:18px;--radius-pill:999px;--shadow-sm:0 4px 12px -2px #21194614;--shadow-md:0 12px 24px -4px #2119461f;--ink:var(--fg);--line:var(--border);--purple:var(--accent);--yellow-strong:var(--yellow-dark);--green:var(--success);--red:var(--error);--shadow:var(--shadow-md);--radius:12px;--orange:#ff5a2e;--blue:#3d6dde;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 20% 0%, #ffd21f26, transparent 28rem), linear-gradient(180deg, #f8f5ff 0%, var(--bg) 32%);min-width:320px;min-height:100vh;color:var(--fg);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}#root{min-height:100dvh}.offline-banner{top:env(safe-area-inset-top,0px);z-index:200;background:var(--orange);color:#fff;text-align:center;letter-spacing:.01em;padding:5px 12px;font-size:.78rem;font-weight:850;position:fixed;left:0;right:0}.sync-toast{bottom:calc(64px + env(safe-area-inset-bottom,0px) + 10px);background:var(--ink);color:#fff;z-index:150;pointer-events:none;white-space:nowrap;border-radius:20px;padding:7px 18px;font-size:.82rem;font-weight:750;animation:.22s toast-in;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.app-frame{background:linear-gradient(#f8f5ff 0%,#f4f7ff 16rem);max-width:520px;min-height:100dvh;margin:0 auto;position:relative;box-shadow:0 0 0 1px #2119460a}.app-content{flex-direction:column;flex:1;min-height:0;display:flex}.app-main{min-height:100dvh;padding-bottom:calc(98px + env(safe-area-inset-bottom))}.page-content{gap:16px;padding:18px 16px 16px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:14px;padding:4px 2px;display:flex}.page-header h1,.page-header h2,.card h1,.card h2,.card h3{letter-spacing:0;margin:0}.page-header h1{letter-spacing:-.03em;font-size:2.1rem;line-height:1.06}.page-header p,.card p,.hint-text,.lesson-copy p,.field span,.auth-link{color:var(--muted)}.page-header p,.card p{margin:6px 0 0;line-height:1.45}.card{border-radius:var(--radius-card);box-shadow:var(--shadow-sm);background:#fffffff5;border:1px solid #21194612;padding:16px}.btn{cursor:pointer;letter-spacing:.01em;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 22px;font-size:.97rem;font-weight:800;line-height:1;transition:transform .12s,box-shadow .12s,background .16s;display:inline-flex}.btn:active{transform:translateY(2px)}.chip:active,.option:active,.bottom-nav-item:active{transform:scale(.97)}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg, #ffe850 0%, var(--yellow-dark) 100%);color:var(--fg);border-radius:var(--radius-pill);box-shadow:inset 0 1px #ffffff73,0 4px #c49600,0 8px 20px #c496004d}.btn-primary:active{box-shadow:inset 0 1px #ffffff73,0 1px #c49600,0 3px 8px #c496002e}.btn-secondary{color:var(--accent);background:linear-gradient(#f5f2ff 0%,#ede9ff 100%);box-shadow:inset 0 1px #fffc,0 3px #c9bffd,0 6px 14px #6f57e824}.btn-secondary:active{box-shadow:inset 0 1px #fffc,0 1px #c9bffd,0 2px 6px #6f57e81a}.btn-ghost{color:var(--fg);border:1.5px solid var(--border);box-shadow:0 2px 0 var(--border), 0 4px 10px #2119460f;background:#fff}.btn-ghost:active{box-shadow:0 0 0 var(--border), 0 1px 4px #2119460f}.btn-danger{color:#bc2330;background:linear-gradient(#ffeeec 0%,#ffe0dd 100%);box-shadow:inset 0 1px #ffffffb3,0 3px #f5c0bc,0 6px 14px #bc23301f}.btn-danger:active{box-shadow:inset 0 1px #ffffffb3,0 1px #f5c0bc,0 2px 6px #bc233014}.form-stack{gap:14px;display:grid}.field{color:var(--ink);gap:6px;font-weight:750;display:grid}.field>span{color:var(--muted);letter-spacing:.01em;font-size:.88rem;font-weight:700}.field input,.field select,textarea,.search-box input{border:1.5px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:0 14px;transition:border-color .14s,box-shadow .14s}.field input::placeholder,.search-box input::placeholder{color:#b0abc8}textarea{resize:vertical;min-height:220px;padding:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem}.field input:focus,.field select:focus,textarea:focus,.search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.error-text{color:#b42331;margin:0;font-weight:750}.auth-screen{background:radial-gradient(ellipse at 50% 0%, #ffd21f47 0%, transparent 60%), linear-gradient(180deg, #fff9e0 0%, #f5f3ff 40%, var(--bg) 100%);align-content:center;gap:20px;max-width:520px;min-height:100dvh;margin:0 auto;padding:24px 18px;display:grid}.brand-panel{border-radius:var(--radius-card);background:linear-gradient(135deg,#ffd21f 0%,#ffe55a 45%,#fff3a0 75%,#f0ecff 100%);min-height:230px;padding:26px 24px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9,0 8px #c4960038,0 14px 34px #21194624}.brand-panel:before{content:"";pointer-events:none;background:#6f57e814;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.brand-panel:after{content:"";opacity:.72;background:url(/slovak-life-preview.png) 50%/cover no-repeat;border-radius:18px;width:220px;height:360px;position:absolute;bottom:-88px;right:-42px;transform:rotate(-7deg);box-shadow:0 18px 40px #2119462e}.brand-panel>*{z-index:1;max-width:78%;position:relative}.logo-mark{width:58px;height:58px;color:var(--accent);background:#fff;border-radius:18px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffffe6,0 4px #6f57e82e,0 10px 24px #21194624}.brand-panel h1{letter-spacing:-.02em;margin:18px 0 8px;font-size:2.4rem;line-height:1}.brand-panel p{color:#3b315d;margin:0;font-weight:650;line-height:1.45}.auth-card{background:linear-gradient(#fff 0%,#fdfcff 100%);gap:18px;display:grid}.auth-card h2{letter-spacing:-.02em;font-size:1.6rem}.test-accounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.test-accounts button,.chip,.icon-button{border:1.5px solid var(--border);border-radius:var(--radius-pill);min-height:42px;color:var(--fg);cursor:pointer;box-shadow:0 2px 0 var(--border);background:linear-gradient(#fff 0%,#fafaff 100%);font-weight:750;transition:border-color .12s,background .12s,box-shadow .12s}.chip:hover,.icon-button:hover{border-color:var(--accent-soft)}.test-accounts button{color:var(--purple)}.auth-link{text-align:center;margin:0}.auth-link a{color:var(--purple);font-weight:800}.sticky-stats{z-index:10;min-height:56px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;-webkit-backdrop-filter:blur(20px);scrollbar-width:none;background:#ffffffe0;border-bottom:1px solid #2119460f;align-items:center;gap:8px;display:flex;position:sticky;top:0;overflow-x:auto}.sticky-stats::-webkit-scrollbar{display:none}.level-badge{border-radius:var(--radius-pill);background:var(--fg);color:#fff;white-space:nowrap;flex-shrink:0;align-items:center;min-height:34px;padding:0 12px;font-size:.85rem;font-weight:850;display:inline-flex}.stat-chip{border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;min-height:34px;padding:0 12px;font-size:.85rem;font-weight:850;display:inline-flex}.stat-chip.xp{background:var(--yellow-soft);color:#7a5800}.stat-chip.hearts{color:var(--error);background:#e93d451a}.stat-chip.streak{color:var(--orange);background:#ff5a2e1a}.stat-chip.level-link{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:none;text-decoration:none}.bottom-nav{z-index:20;width:min(100%,520px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border-top:1px solid #2119460f;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #21194614}.bottom-nav-item{color:#655e83;border-radius:12px;align-content:center;place-items:center;gap:3px;min-height:58px;font-size:.74rem;font-weight:850;display:grid}.bottom-nav-item.active{background:var(--yellow-soft);color:var(--fg);box-shadow:none}.level-card{background:linear-gradient(135deg,#fff 0%,#fff8d8 100%);gap:14px;display:grid}.progress-track{border-radius:var(--radius-pill);background:#e4e1f2;height:12px;overflow:hidden;box-shadow:inset 0 1px 3px #2119461a}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent) 0%, #b388ff 100%);height:100%;transition:width .34s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 8px #6f57e859}.lesson-list,.word-grid{gap:12px;display:grid}.lesson-card{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;display:grid}.lesson-card .btn,.lesson-card .status-pill{grid-column:2;width:100%}.lesson-card.current{border-color:#f6bd007a;box-shadow:0 16px 36px #f6bd0029}.lesson-card.completed .lesson-icon{color:var(--green);background:#e7fff2}.lesson-card.locked{opacity:.74}.lesson-icon{width:48px;height:48px;color:var(--purple);background:#f3f1ff;border-radius:14px;place-items:center;display:grid}.lesson-copy{min-width:0}.lesson-copy h3{font-size:1.08rem;line-height:1.2}.lesson-copy p{margin-top:4px;font-size:.92rem}.status-pill{border-radius:var(--radius-pill);width:fit-content;min-height:30px;color:var(--accent);background:#f3f1ff;justify-content:center;align-items:center;padding:0 10px;font-size:.8rem;font-weight:850;display:inline-flex}.sub-badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.sub-badge--trial{color:#7a5800;background:#fff8d8}.sub-badge--plus{background:var(--accent-soft);color:var(--accent)}.sub-badge--free{color:var(--muted);background:#f3f1ff}.sub-badge--expired{color:var(--error);background:#ffe9e7}.chip-grid,.filter-row{flex-wrap:wrap;gap:9px;display:flex}.chip{padding:0 13px}.chip.active,.chip--active,.icon-button.active{border-color:var(--yellow-dark);background:linear-gradient(180deg, var(--yellow) 0%, var(--yellow-dark) 100%);color:var(--fg);box-shadow:0 2px #b88500,0 4px 10px #b8850033}.mechanics-grid{gap:10px;display:grid}.mechanics-grid span{background:#f7f4ff;border-radius:12px;align-items:center;min-height:46px;padding:0 14px;font-weight:800;display:flex}.onboarding-screen{align-content:stretch}.onboarding-nav{align-items:center;gap:12px;min-height:44px;padding:4px 0;display:flex}.step-dots{align-items:center;gap:7px;margin:0 auto;display:flex}.step-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .22s,transform .22s}.step-dot.done{background:var(--accent);opacity:.4}.step-dot.active{background:var(--accent);transform:scale(1.3)}.onboarding-card{align-self:center;gap:16px;display:grid}.question-row,.admin-row,.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 0;font-weight:600;display:flex}.question-row:last-child,.admin-row:last-child,.toggle-row:last-child{border-bottom:0}.toggle-row input[type=checkbox]{appearance:none;cursor:pointer;background:#d4d0e8;border:0;border-radius:999px;outline:none;flex-shrink:0;order:1;width:44px;height:26px;transition:background .2s;position:relative}.toggle-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #21194638}.toggle-row input[type=checkbox]:checked{background:var(--accent)}.toggle-row input[type=checkbox]:checked:after{left:21px}.toggle-row input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.leader-row{border-bottom:1px solid var(--line);grid-template-columns:28px 36px 1fr auto auto;align-items:center;gap:8px;padding:10px 0;display:grid}.leader-row:last-child{border-bottom:0}.question-row p{margin:0}.lesson-screen{min-height:100dvh;padding:14px;padding-bottom:calc(18px + env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto auto;gap:14px;display:grid}.lesson-top{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.lesson-top button{width:42px;height:42px;color:var(--ink);box-shadow:var(--shadow);background:#fff;border:0;border-radius:50%}.lesson-top span{min-height:36px;color:var(--red);background:#ffe9e7;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-weight:900;display:inline-flex}.lesson-top-right{align-items:center;gap:7px;display:flex}.lesson-hearts-chip{min-height:34px;color:var(--red);white-space:nowrap;background:#ffe9e7;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.88rem;font-weight:900;display:inline-flex}.question-counter{color:var(--muted);white-space:nowrap;letter-spacing:.02em;font-size:.8rem;font-weight:850}.practice-timer-chip{background:var(--yellow-soft);color:#7a5800;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:36px;min-height:34px;padding:0 10px;font-size:.92rem;font-weight:900;display:inline-flex}.exercise-card{background:linear-gradient(#fff 0%,#fdfbff 100%);align-content:center;align-self:center;gap:20px;min-height:420px;display:grid}.exercise-card h1{letter-spacing:-.02em;font-size:1.75rem;line-height:1.14}.lesson-topic{color:var(--purple);margin:0;font-weight:850}.option-list{gap:10px;display:grid}.option{border:1.5px solid var(--border);min-height:56px;color:var(--fg);text-align:left;box-shadow:0 2px 0 var(--border), 0 4px 10px #2119460d;background:linear-gradient(#fff 0%,#fdfcff 100%);border-radius:16px;padding:0 18px;font-size:1rem;font-weight:750;transition:border-color .14s,box-shadow .14s,transform .12s}.option:hover{border-color:var(--accent-soft)}.option.active{border-color:var(--yellow);background:linear-gradient(#fffbe8 0%,#fff8d8 100%);box-shadow:0 2px #e8c800,0 4px 12px #f6bd002e}.answer-build{min-height:56px;color:var(--accent);background:#f3f0ff;border:1.5px dashed #6f57e840;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 16px;font-size:1rem;font-weight:800;line-height:1.4;display:flex}.lesson-feedback{border-radius:16px;min-height:58px;padding:14px 18px;font-size:.97rem;font-weight:750;line-height:1.45;transition:all .16s}.lesson-feedback.correct,.lesson-feedback.wrong{animation:.2s cubic-bezier(.34,1.3,.64,1) feedback-in}@keyframes feedback-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lesson-feedback.correct{color:#0e7048;background:linear-gradient(135deg,#d8ffee 0%,#e8fff4 100%);border:1.5px solid #b0f0d4;box-shadow:0 3px #9fe8c6,0 6px 16px #0e70481f}.lesson-feedback.wrong{color:#b42331;background:linear-gradient(135deg,#ffeceb 0%,#fff0ee 100%);border:1.5px solid #ffc8c4;box-shadow:0 3px #ffb8b2,0 6px 16px #b423311a}.lesson-bottom{display:grid}.modal-card,.result-card,.shop-card{text-align:center;justify-items:center;gap:14px;display:grid}.shop-features{text-align:left;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.shop-features li{color:var(--ink);align-items:center;gap:8px;font-size:.9rem;display:flex}.shop-features li svg{color:var(--green);flex-shrink:0}.shop-success-card{text-align:center;border:1.5px solid var(--green);background:#f0fdf6;justify-items:center;gap:8px;display:grid}.shop-success-card h3{color:var(--green);margin:0}.shop-success-card p{color:var(--muted);margin:0;font-size:.9rem}.empty{text-align:center;border:1.5px dashed var(--border);background:#faf9ff;justify-items:center;gap:10px;padding:32px 20px;display:grid}.empty strong{color:var(--fg);font-size:1.05rem}.empty p{margin:0;font-size:.9rem}.search-box{border-radius:var(--radius-card);border:1.5px solid var(--border);min-height:52px;box-shadow:0 3px 0 var(--border), 0 6px 18px #21194612;background:linear-gradient(#fff 0%,#fdfcff 100%);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:0 16px;transition:border-color .14s,box-shadow .14s;display:grid}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), 0 3px 0 var(--border)}.search-box input{min-height:48px;box-shadow:none;border:0;padding:0}.word-card{flex-direction:column;gap:0;display:flex}.word-card small{color:var(--muted);margin-top:5px;display:block}.word-card--interactive{cursor:pointer;transition:transform .12s,box-shadow .12s}.word-card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.word-card--interactive:active{transform:translateY(0)}.word-card-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.word-card-actions{flex-direction:column;gap:4px;display:flex}.word-card-footer{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.word-card-content{min-width:0}.word-uk{color:var(--ink);margin:2px 0}.word-meta{color:var(--muted);font-size:.78rem}.word-mistakes{color:var(--red);align-items:center;gap:3px;font-size:.78rem;display:flex}.chip--sm{height:34px;min-height:34px;padding:0 10px;font-size:.8rem}.vocab-controls{flex-direction:column;gap:8px;display:flex}.filter-advanced-btn{border-radius:var(--radius-pill);border:1.5px solid var(--border);height:32px;color:var(--muted);cursor:pointer;background:0 0;align-self:flex-start;align-items:center;gap:5px;padding:0 12px;font-size:.8rem;font-weight:750;transition:border-color .14s,color .14s,background .14s;display:inline-flex}.filter-advanced-btn:hover,.filter-advanced-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.filter-advanced-btn .icon-rotate{transition:transform .2s;transform:rotate(180deg)}.filter-advanced-btn svg{transition:transform .2s}.word-group-header{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;grid-column:1/-1;padding:12px 0 6px;font-size:.85rem;font-weight:750}.word-detail{text-align:left;gap:14px;justify-items:initial;flex-direction:column;display:flex}.word-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.word-detail-header h2{margin:0}.word-transcription{color:var(--muted);font-size:.9rem;font-style:italic}.word-detail-example{background:#f6f4ff;border-radius:10px;padding:10px 12px}.word-detail-example p{margin:0}.word-detail-example .muted{color:var(--muted);margin-top:4px}.word-detail-meta{flex-wrap:wrap;gap:6px;display:flex}.word-detail-stats{gap:16px;font-size:.9rem;font-weight:700;display:flex}.word-detail-stats span:first-child{color:var(--green)}.word-detail-stats span:last-child{color:var(--red)}.icon-button{width:42px;height:42px;color:var(--purple);border-radius:50%;place-items:center;display:grid}.practice-settings{flex-direction:column;gap:6px;display:flex}.practice-settings-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.practice-settings-row:last-child{border-bottom:0}.practice-settings-row>label{color:var(--fg);white-space:nowrap;font-size:.9rem;font-weight:700}.practice-timer{color:var(--orange);text-align:right;min-width:28px;font-size:1rem;font-weight:850}.practice-results-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.practice-result-word{align-items:center;gap:10px;display:flex}.practice-result-word .correct-mark{color:var(--green);font-size:1rem;font-weight:850}.practice-result-word .wrong-mark{color:var(--red);font-size:1rem;font-weight:850}.sr-next-date{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.72rem}.sr-due-banner{border-radius:var(--radius-card);color:#8a5200;background:linear-gradient(135deg,#fff8e8 0%,#fff4d6 100%);border:1.5px solid #ffe4b0;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:750;display:flex;box-shadow:0 3px #f0d080,0 6px 14px #c496001a}.sr-due-banner strong{color:#a06000;font-size:1.15rem;font-weight:900}.sr-due-icon{font-size:1.2rem}.plus-xp-banner{border-radius:var(--radius);color:var(--purple);background:#f3f1ff;border:1px solid #d8d0ff;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;font-weight:750;display:flex}.plus-xp-chip{background:var(--purple);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:750;display:inline-flex}.result-xp-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.result-xp-row h2{margin:0}.word-mini-list .sr-due-word{color:#a06000;background:#fff3dc;border:1px solid #ffe4b0}.word-mini-list{flex-wrap:wrap;gap:7px;padding:4px 0;display:flex}.word-mini-list span{color:var(--accent);background:#f3f1ff;border:1px solid #6f57e81f;border-radius:999px;padding:6px 12px;font-size:.88rem;font-weight:750;line-height:1}.league-card{flex-direction:column;gap:8px;display:flex}.league-card-top{justify-content:space-between;align-items:center;display:flex}.league-badge{border-radius:20px;padding:3px 12px;font-size:.8rem;font-weight:850}.league-badge--bronze{color:#cd7f32;background:#fff0e0}.league-badge--silver{color:gray;background:#f2f2f2}.league-badge--gold{color:#b08000;background:#fff9d8}.league-badge--platinum{color:#3050b0;background:#e8eeff}.league-badge--diamond{color:#7030c0;background:#f0e8ff}.leader-header-xp{color:var(--ink);font-size:.85rem;font-weight:850}.league-bar-wrap{border-radius:var(--radius-pill);background:#e4e1f2;height:10px;overflow:hidden;box-shadow:inset 0 1px 3px #2119461a}.league-bar{background:linear-gradient(90deg, var(--accent) 0%, #a78bfa 100%);border-radius:var(--radius-pill);min-width:6px;height:100%;transition:width .45s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 6px #6f57e84d}.league-hint{color:var(--text-muted);margin:0;font-size:.78rem}.profile-hero{z-index:10;padding:calc(14px + env(safe-area-inset-top)) 18px 16px;-webkit-backdrop-filter:blur(22px);background:#ffffffe6;border-bottom:1px solid #2119460f;justify-content:space-between;align-items:center;gap:14px;display:flex;position:sticky;top:0}.profile-hero-info{align-items:center;gap:14px;min-width:0;display:flex}.profile-hero-info>div{min-width:0}.profile-hero-info h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.2rem;overflow:hidden}.profile-hero-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;display:grid}.podium-card{text-align:center;border-radius:var(--radius-card);place-items:center;gap:4px;min-height:128px;padding:14px 8px;transition:transform .14s;display:grid}.podium-card:active{transform:scale(.97)}.podium-card.rank-1{background:linear-gradient(160deg,#fff9d0 0%,#fffef4 100%);min-height:160px;box-shadow:inset 0 1px #ffffffe6,0 5px #e8c800,0 10px 28px #e8c80038}.podium-card.rank-2{background:linear-gradient(160deg,#f0f0f4 0%,#fafafa 100%);box-shadow:inset 0 1px #ffffffe6,0 4px silver,0 8px 20px #96969629}.podium-card.rank-3{background:linear-gradient(160deg,#fff0e4 0%,#fff8f4 100%);box-shadow:inset 0 1px #ffffffe6,0 4px #c88040,0 8px 20px #c8783c29}.podium-medal{justify-content:center;margin-bottom:2px;display:flex}.medal--gold{color:#ffb800}.medal--silver{color:#a8a8a8}.medal--bronze{color:#cd7f32}.podium-avatar,.leader-avatar{width:36px;height:36px;color:var(--purple);background:#f3f1ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:850;display:flex}.podium-avatar{width:40px;height:40px}.podium-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;overflow:hidden}.podium-xp{color:var(--text-muted);font-size:.72rem}.leader-rank{color:var(--text-muted);text-align:center;font-size:.85rem;font-weight:850}.leader-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.leader-xp{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.leader-movement{font-size:.9rem;font-weight:850}.movement--up{color:var(--green)}.movement--down{color:var(--red)}.movement--same{color:var(--text-muted)}@keyframes flash-up{0%{background:#2fba7f38}to{background:0 0}}@keyframes flash-down{0%{background:#e93d452e}to{background:0 0}}.movement-flash--up{animation:1.1s forwards flash-up}.movement-flash--down{animation:1.1s forwards flash-down}.league-change{white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:.68rem;font-weight:850}.league-change--promoted{color:#1a9060;background:#d8ffee}.league-change--demoted{color:#c0302a;background:#ffe4e4}.country-flag{font-style:normal}.leader-tabs{flex-wrap:wrap;gap:6px;display:flex}.history-week{border-radius:var(--radius);overflow:hidden}.history-week-summary{cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:10px 4px;font-size:.88rem;font-weight:750;list-style:none;display:flex}.history-week-summary:before{content:"▶";color:var(--muted);font-size:.65rem;transition:transform .2s}.history-week[open] .history-week-summary:before{transform:rotate(90deg)}.history-week .card{margin-top:4px}.leader-row.me{background:#fff8d8;border-radius:12px;padding-left:10px;padding-right:10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stats-grid .card{background:linear-gradient(160deg,#fff 0%,#faf9ff 100%);align-content:center;gap:5px;min-height:108px;transition:transform .14s,box-shadow .14s;display:grid}.stats-grid .card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats-grid strong{letter-spacing:-.03em;font-size:1.65rem;line-height:1}.stats-grid span{color:var(--muted);font-size:.82rem;font-weight:700}.profile-card{justify-content:flex-start}.avatar{background:linear-gradient(135deg, var(--yellow) 0%, var(--orange) 100%);width:64px;height:64px;color:var(--fg);border-radius:20px;place-items:center;font-size:1.3rem;font-weight:900;display:grid;box-shadow:inset 0 1px #fff6,0 4px #c95000,0 8px 20px #ff5a2e40}.avatar--photo{object-fit:cover;border-radius:18px;width:64px;height:64px;display:block}.avatar-wrap{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;position:relative}.avatar-edit{background:var(--purple);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:-4px;right:-4px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.stat-card{cursor:pointer;transition:transform .15s}.stat-card:active{transform:scale(.97)}.xp-chart-card{flex-direction:column;gap:12px;display:flex}.xp-chart-header{justify-content:space-between;align-items:center;display:flex}.xp-chart-title{align-items:center;gap:6px;display:flex}.xp-chart-title strong{font-size:1.4rem}.xp-week-label{color:var(--muted);font-size:.78rem}.xp-chart{align-items:flex-end;gap:6px;height:60px;display:flex}.xp-bar-col{flex-direction:column;flex:1;align-items:center;gap:3px;height:100%;display:flex}.xp-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.xp-bar{background:linear-gradient(180deg, #9b7ff5 0%, var(--accent) 100%);border-radius:6px 6px 2px 2px;width:100%;min-height:4px;transition:height .45s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 6px #6f57e84d}.xp-bar-label{color:var(--muted);white-space:nowrap;font-size:.62rem}.sub-card{padding:14px 16px}.sub-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sub-info{min-width:0}.sub-goal{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:.9rem;overflow:hidden}.sub-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sub-date{color:var(--muted);font-size:.78rem}.profile-modal{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 20px;display:flex}.profile-modal h2{margin:0}.profile-modal p{color:var(--muted);margin:0}.modal-big-num{font-size:2.8rem;font-weight:850;line-height:1}.avatar-preview{object-fit:cover;border-radius:24px;width:120px;height:120px}.level-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.bottom-sheet{z-index:30;background:linear-gradient(#0000,#2119463d);padding:16px;position:fixed;inset:auto 0 0}.bottom-sheet .card{gap:12px;max-width:520px;margin:0 auto;display:grid}.inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-row{align-items:center}.admin-row>div{gap:2px;min-width:0;display:grid}.admin-row>div span{color:var(--muted);overflow-wrap:anywhere}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:50;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2119467a;align-items:end;animation:.18s modal-fade;display:grid;position:fixed;inset:0}.modal-dialog{width:100%;max-width:520px;margin:0 auto;animation:.26s cubic-bezier(.34,1.56,.64,1) modal-slide-up}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@media (width>=760px){.auth-screen{grid-template-columns:1fr 420px;align-items:center;max-width:980px}.brand-panel{min-height:620px}.brand-panel:after{opacity:.92;width:320px;height:560px;bottom:-54px;right:22px}.app-frame{border-radius:28px;flex-direction:row;max-width:940px;height:calc(100dvh - 36px);margin-top:18px;margin-bottom:18px;display:flex;overflow:hidden;box-shadow:0 16px 64px #2119462e,0 0 0 1px #21194614}.app-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-main{scrollbar-width:none;flex:1;min-height:0;padding-bottom:40px;overflow:hidden auto}.app-main::-webkit-scrollbar{display:none}.bottom-nav{border-top:none;border-right:1px solid var(--border);width:200px;height:100%;box-shadow:none;-webkit-backdrop-filter:none;grid-template-columns:unset;z-index:auto;background:#fff;border-radius:0;flex-direction:column;flex-shrink:0;order:-1;justify-content:flex-start;align-items:stretch;gap:2px;padding:24px 10px;display:flex;position:relative;bottom:auto;left:auto;transform:none}.bottom-nav:before{content:"Slovak Life";color:var(--fg);border-bottom:1px solid var(--border);letter-spacing:-.01em;margin-bottom:8px;padding:0 14px 18px;font-size:1rem;font-weight:850;display:block}.bottom-nav-item{min-height:unset;place-items:unset;align-content:unset;white-space:nowrap;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:11px;height:44px;padding:0 14px;font-size:.9rem;display:flex}.bottom-nav-item.active{background:var(--accent-soft);color:var(--accent);box-shadow:none}.bottom-nav-item.active svg{color:var(--accent)}}@media (width<=420px){.page-header h1{font-size:1.75rem}.lesson-card,.level-row{grid-template-columns:44px minmax(0,1fr)}.level-row .btn{grid-column:1/-1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row{grid-template-columns:1fr auto;display:grid}.admin-row .btn{width:100%}}.profile-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-actions-grid .btn{flex-direction:column;gap:5px;min-height:64px;padding:10px 12px;font-size:.82rem}.profile-actions-grid .btn svg{opacity:.8}.back-btn{border:1.5px solid var(--border);min-width:38px;min-height:38px;color:var(--fg);cursor:pointer;box-shadow:0 2px 0 var(--border);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;transition:border-color .14s;display:grid}.back-btn:hover{border-color:var(--accent)}.practice-preview-section{border-top:1px solid var(--border);padding-top:8px}.settings-page{flex-direction:column;gap:8px;display:flex}.settings-section{flex-direction:column;gap:6px;display:flex}.settings-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;padding:0 4px;font-size:.78rem;font-weight:700}.settings-section-title--danger{color:var(--red)}.lang-picker{flex-wrap:wrap;gap:8px;padding:4px 0;display:flex}.lang-btn{border:2px solid var(--border);min-width:80px;min-height:46px;color:var(--fg);cursor:pointer;text-align:center;box-shadow:0 2px 0 var(--border);background:linear-gradient(#fff 0%,#fdfcff 100%);border-radius:14px;flex:1;padding:10px 12px;font-size:.92rem;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.lang-btn:hover{border-color:var(--accent)}.lang-btn--active{border-color:var(--accent);color:var(--accent);background:linear-gradient(#f0edff 0%,#e8e3ff 100%);box-shadow:0 2px #c9bffd,0 4px 12px #6f57e824}.field-error{color:var(--red);margin:4px 0 0;font-size:.82rem}.field-success{color:#16a34a;margin:4px 0 0;font-size:.82rem}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row .btn{flex:1}.sw-update-banner{bottom:calc(env(safe-area-inset-bottom,0px) + 72px);background:var(--ink);color:#fff;z-index:9999;white-space:nowrap;border-radius:14px;align-items:center;gap:12px;padding:10px 16px;font-size:.88rem;font-weight:600;animation:.25s slide-up;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.sw-update-btn{background:var(--purple);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:5px 12px;font-size:.85rem;font-weight:700}@keyframes slide-up{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.push-toast{top:calc(env(safe-area-inset-top,0px) + 16px);background:var(--ink);color:#fff;z-index:9998;pointer-events:none;border-radius:14px;flex-direction:column;gap:2px;max-width:min(340px,90vw);padding:12px 18px;font-size:.88rem;animation:.25s slide-up;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.push-toast strong{font-size:.92rem;font-weight:700}.push-toast em{opacity:.8;font-size:.84rem;font-style:normal}.scenario-card{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.scenario-header{align-items:center;gap:8px;display:flex}.scenario-badge{background:var(--purple);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:20px;flex-shrink:0;padding:3px 9px;font-size:.72rem;font-weight:700}.scenario-title{color:var(--ink);font-size:.95rem;font-weight:700}.scenario-phrases{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.scenario-phrase{background:var(--surface);border-radius:8px;flex-direction:column;gap:1px;padding:6px 10px;display:flex}.phrase-sk{color:var(--purple);font-size:.9rem;font-weight:600}.phrase-uk{color:var(--muted);font-size:.82rem}.certificate-card{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border:1.5px solid #c4b5fd;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.certificate-info{align-items:center;gap:10px;min-width:0;display:flex}.certificate-info>div{min-width:0}.certificate-info strong{color:var(--purple);font-size:.92rem;display:block}.certificate-info p{color:var(--muted);margin:2px 0 0;font-size:.8rem}.unit-card{border-radius:var(--radius-card);background:linear-gradient(135deg, var(--accent) 0%, #8b74f0 100%);color:#fff;gap:6px;padding:22px 20px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,0 6px #4a38c0,0 12px 30px #4a38c04d}.unit-card:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:120px;height:120px;position:absolute;top:-20px;right:-20px}.unit-card h2{margin:0;font-size:1.15rem;line-height:1.25;position:relative}.unit-card p{opacity:.85;margin:0;font-size:.85rem;position:relative}.unit-card .progress-pill{border-radius:var(--radius-pill);background:#ffffff38;align-items:center;width:fit-content;padding:3px 10px;font-size:.78rem;font-weight:850;display:inline-flex;position:relative}.learning-path{flex-direction:column;align-items:center;gap:0;padding:8px 0 16px;display:flex}.lesson-node-wrap{align-items:center;gap:14px;width:100%;max-width:340px;padding:0 16px;display:flex}.lesson-node-label{flex:1;min-width:0}.lesson-node-label h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;line-height:1.25;overflow:hidden}.lesson-node-label p{color:var(--muted);margin:2px 0 0;font-size:.78rem}.lesson-node-label.locked-label{opacity:.45}.lesson-node{z-index:1;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;transition:transform .12s,box-shadow .12s;display:grid;position:relative}.lesson-node:active{transform:translateY(5px)}.lesson-node.completed{color:#fff;background:linear-gradient(155deg,#52d99a 0%,#1a9660 100%);box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000001f,0 5px #0d7040,0 8px 20px #0d704059}.lesson-node.completed:active{box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000001f,0 1px #0d7040,0 3px 8px #0d704038}.lesson-node.active{color:var(--fg);background:linear-gradient(155deg,#ffe55c 0%,#edb000 100%);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #00000014,0 5px #b88500,0 8px 24px #b885006b}.lesson-node.active:active{box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #00000014,0 1px #b88500,0 3px 10px #b8850047}.lesson-node.available{color:var(--accent);background:linear-gradient(155deg,#fff 0%,#f0edff 100%);box-shadow:inset 0 1px #fffffff2,0 5px #c9bffd,0 8px 20px #6f57e838}.lesson-node.available:active{box-shadow:inset 0 1px #fffffff2,0 1px #c9bffd,0 3px 8px #6f57e824}.lesson-node.locked{color:#c0b8d8;cursor:default;background:linear-gradient(155deg,#f5f3ff 0%,#e8e3f8 100%);box-shadow:inset 0 1px #ffffffb3,0 4px #d6d0f0,0 6px 12px #21194614}.lesson-node.locked:active{transform:none}.lesson-node.active:before{content:"";border:3px solid var(--yellow);opacity:0;border-radius:50%;animation:1.8s ease-out infinite pulse-ring;position:absolute;inset:-8px}@keyframes pulse-ring{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.connector{background:var(--border);border-radius:4px;flex-shrink:0;width:4px;height:24px;box-shadow:0 1px 3px #2119460f}.connector.done{background:linear-gradient(#1a9660 0%,#47d99a 100%);box-shadow:0 0 6px #2fba7f4d}.connector.next{background:linear-gradient(180deg, #47d99a 0%, var(--border) 100%)}.floating-lesson{bottom:calc(82px + env(safe-area-inset-bottom,0px));z-index:15;border-radius:var(--radius-card);box-shadow:inset 0 1px 0 #ffffffe6, 0 4px 0 var(--border), 0 12px 30px #21194624;background:linear-gradient(#fff 0%,#fdfbff 100%);border:1px solid #2119460f;align-items:center;gap:12px;margin:8px 0 0;padding:14px 16px;display:flex;position:sticky}.floating-lesson .icon-circle{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.floating-lesson .info{flex:1;min-width:0}.floating-lesson .info h4{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.92rem;line-height:1.2;overflow:hidden}.floating-lesson .info p{color:var(--muted);margin:2px 0 0;font-size:.78rem}.btn-go{border-radius:var(--radius-pill);background:var(--yellow);min-height:40px;color:var(--fg);cursor:pointer;white-space:nowrap;border:0;flex-shrink:0;padding:0 18px;font-size:.9rem;font-weight:850;transition:transform .14s}.btn-go:active{transform:scale(.97)}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.page-content{animation:.27s cubic-bezier(.25,1,.5,1) both page-enter}.lesson-screen{animation:.24s cubic-bezier(.25,1,.5,1) both slide-from-right}.auth-screen{animation:.3s cubic-bezier(.25,1,.5,1) both page-enter}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-block,.skeleton-line{background:linear-gradient(90deg,#eeebff 0%,#ddd8ff 50%,#eeebff 100%) 0 0/200% 100%;border-radius:12px;animation:1.6s infinite shimmer}.skeleton-line{border-radius:8px;height:16px}.skeleton-header{gap:8px;padding:4px 2px;display:grid}.error-boundary{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.error-boundary-card{text-align:center;border-radius:var(--radius-card);width:100%;max-width:400px;box-shadow:var(--shadow-md);border:1px solid var(--border);background:#fff;justify-items:center;gap:14px;padding:32px 24px;display:grid}.error-boundary-icon{font-size:2.8rem;line-height:1}.error-boundary-card h2{letter-spacing:-.02em;margin:0;font-size:1.35rem}.error-boundary-msg{color:var(--muted);word-break:break-word;margin:0;font-size:.85rem}.daily-goal{border-radius:var(--radius-card);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;gap:7px;padding:12px 14px;display:grid}.daily-goal-label{color:var(--muted);align-items:center;gap:5px;font-size:.84rem;font-weight:750;display:flex}.daily-goal-track{background:var(--border);border-radius:999px;height:7px;overflow:hidden}.daily-goal-fill{background:linear-gradient(90deg, var(--accent) 0%, #b388ff 100%);border-radius:999px;min-width:0;height:100%;transition:width .7s cubic-bezier(.34,1.3,.64,1)}.daily-goal--done .daily-goal-label{color:var(--success);font-weight:850}.daily-goal--done .daily-goal-fill{background:linear-gradient(90deg, var(--success) 0%, #52d99a 100%)}.stat-chip.streak.at-risk{color:var(--orange);background:#ff5a2e26;animation:2.4s ease-in-out infinite pulse-streak}@keyframes pulse-streak{0%,to{box-shadow:0 0 #ff5a2e00}50%{box-shadow:0 0 0 4px #ff5a2e33}}.freeze-badge{margin-left:1px;font-size:.68rem;line-height:1}.streak-risk-banner{border-radius:var(--radius-card);color:var(--orange);background:linear-gradient(135deg,#fff3ee 0%,#fff7f2 100%);border:1.5px solid #ff5a2e47;align-items:flex-start;gap:10px;padding:12px 14px;display:flex;box-shadow:0 3px #ff5a2e1f,0 6px 14px #ff5a2e12}.streak-risk-banner>svg{flex-shrink:0;margin-top:1px}.streak-risk-text{flex-direction:column;gap:3px;min-width:0;display:flex}.streak-risk-text strong{font-size:.88rem;font-weight:850;line-height:1.3}.streak-risk-text span{color:#b84000;font-size:.79rem;line-height:1.4}.heatmap-card{gap:10px;display:grid}.heatmap-header{justify-content:space-between;align-items:center;display:flex}.heatmap-header strong{font-size:.92rem;font-weight:850}.heatmap-legend{align-items:center;gap:3px;display:flex}.heatmap-legend .heatmap-cell{width:11px;height:11px}.heatmap-grid{aspect-ratio:8/7;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-flow:column;gap:3px;width:100%;display:grid}.heatmap-cell{cursor:default;background:#eeeaff;border-radius:3px;transition:opacity .12s}.heatmap-cell.level-0{background:#eeeaff}.heatmap-cell.level-1{background:#6f57e838}.heatmap-cell.level-2{background:#6f57e873}.heatmap-cell.level-3{background:#6f57e8b3}.heatmap-cell.level-4{background:var(--accent);box-shadow:0 0 4px #6f57e866}.heatmap-cell:hover{opacity:.75}.lesson-celebrate{z-index:300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#211946b8;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.celebrate-card{text-align:center;z-index:1;background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:340px;padding:36px 28px 28px;display:flex;position:relative;box-shadow:0 20px 60px #21194647}.celebrate-icon{font-size:3rem;line-height:1}.celebrate-xp{color:var(--accent);font-size:2.8rem;font-weight:850;animation:.45s cubic-bezier(.34,1.56,.64,1) both xp-pop}.celebrate-sub{color:var(--muted);margin-bottom:6px;font-size:.9rem}@keyframes xp-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.confetti-piece{pointer-events:none;width:9px;height:9px;animation:confetti-fall var(--dur,1.6s) ease-in var(--delay,0s) forwards;border-radius:50%;position:fixed;top:-14px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(105vh)rotate(600deg)}}.mistake-mode-card{border-radius:var(--radius);cursor:pointer;text-align:left;background:#e93d450a;border:2px solid #e93d4559;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:background .12s;display:flex}.mistake-mode-card:hover{background:#e93d4517}.mistake-mode-icon{width:40px;height:40px;color:var(--red);background:#e93d451f;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.mistake-mode-info{flex:1;min-width:0}.mistake-mode-info strong{font-size:.9rem;display:block}.mistake-mode-info span{color:var(--muted);font-size:.78rem}.offline-banner{animation:.3s both offline-slide-in}@keyframes offline-slide-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.icon-button.active svg{fill:var(--fg)}.reminder-row{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.reminder-label{color:var(--fg);font-size:.92rem}.reminder-control{align-items:center;gap:8px;display:flex}.reminder-time-input{border:1.5px solid var(--border);height:36px;color:var(--fg);cursor:pointer;background:#fff;border-radius:10px;outline:none;padding:0 10px;font-family:inherit;font-size:.92rem;transition:border-color .12s}.reminder-time-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.reminder-off{color:var(--muted);font-size:.78rem}.reminder-saved{color:var(--success);font-size:.78rem;font-weight:700}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin-bottom:20px;display:grid}.admin-stat-card{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex;padding:14px 8px!important}.admin-stat-card strong{color:var(--fg);font-size:1.4rem;font-weight:850}.admin-stat-card span{color:var(--muted);font-size:.72rem}.admin-stat-card svg{margin-bottom:2px}.admin-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 8px;font-size:.88rem;font-weight:850}.admin-quick-links{flex-direction:column;gap:6px;display:flex}.admin-quick-link{border-radius:var(--radius);border:1.5px solid var(--border);cursor:pointer;color:var(--fg);text-align:left;background:#fff;align-items:center;gap:12px;padding:14px 16px;font-size:.95rem;font-weight:700;transition:border-color .12s,background .12s;display:flex}.admin-quick-link:hover{border-color:var(--accent);background:var(--accent-soft)}.admin-quick-arrow{color:var(--muted);margin-left:auto}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.admin-toolbar-right{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.admin-search-box{border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;flex:1;align-items:center;gap:8px;min-width:200px;height:40px;padding:0 12px;display:flex}.admin-search-box input{color:var(--fg);background:0 0;border:none;outline:none;width:100%;font-size:.88rem}.admin-search-box svg{color:var(--muted);flex-shrink:0}.admin-filter-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.admin-lesson-list{flex-direction:column;gap:6px;display:flex}.admin-lesson-row{border-radius:var(--radius);border:1.5px solid var(--border);background:#fff;align-items:center;gap:10px;padding:12px 14px;transition:border-color .12s;display:flex}.admin-lesson-row:hover{border-color:#6f57e84d}.admin-lesson-info{flex:1;min-width:0}.admin-lesson-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.admin-lesson-info span{color:var(--muted);font-size:.75rem}.admin-lesson-actions{flex-shrink:0;gap:6px;display:flex}.admin-icon-btn{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:34px;height:34px;transition:background .12s,border-color .12s;display:grid}.admin-icon-btn.published{border-color:var(--success);color:var(--success)}.admin-icon-btn.draft{color:var(--muted)}.admin-icon-btn.danger:hover{border-color:var(--red);color:var(--red);background:#e93d4514}.level-pill{letter-spacing:.03em;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;height:22px;font-size:.72rem;font-weight:850;display:inline-flex}.level-pill--a0{color:#2e7d32;background:#e8f5e9}.level-pill--a1{color:#1565c0;background:#e3f2fd}.level-pill--a2{color:#e65100;background:#fff3e0}.level-pill--b1{color:#6a1b9a;background:#f3e5f5}.level-pill--b2{color:#880e4f;background:#fce4ec}.level-pill--c1{color:#fff;background:#211946}.import-preview-card{max-height:80vh;overflow-y:auto}.import-summary{color:var(--muted);margin:4px 0 10px;font-size:.88rem}.import-preview-list{border:1.5px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:5px;max-height:320px;margin-bottom:14px;padding:8px;display:flex;overflow-y:auto}.import-preview-row{align-items:center;gap:8px;padding:4px 2px;font-size:.85rem;display:flex}.import-preview-row span:not(.level-pill):not(.import-meta):not(.import-update-tag){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.import-meta{color:var(--muted);flex-shrink:0;font-size:.72rem}.import-update-tag{background:var(--yellow-soft);color:#7a5800;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.68rem;font-weight:700}.import-errors{color:var(--red);background:#e93d4512;border:1.5px solid #e93d454d;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:.82rem;display:flex}.import-errors svg{flex-shrink:0;margin-top:1px}.import-errors p{margin:2px 0}.admin-user-list{flex-direction:column;gap:6px;display:flex}.admin-user-row{border-radius:var(--radius);border:1.5px solid var(--border);cursor:pointer;background:#fff;align-items:center;gap:10px;padding:12px 14px;transition:border-color .12s;display:flex}.admin-user-row:hover{border-color:#6f57e84d}.admin-user-avatar{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:850;display:grid}.admin-user-info{flex:1;min-width:0}.admin-user-info strong{font-size:.9rem;display:block}.admin-user-info span{color:var(--muted);font-size:.75rem}.admin-user-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.admin-role-badge{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700}.admin-role-badge.role-teacher{color:#2e7d32;background:#e8f5e9}.admin-role-badge.role-admin{color:#fff;background:#211946}.admin-role-badge.role-student{background:var(--accent-soft);color:var(--accent)}.admin-blocked-badge{color:var(--red);background:#e93d451f;border-radius:5px;padding:2px 6px;font-size:.68rem;font-weight:700}.admin-user-stats{color:var(--muted);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;font-size:.75rem;display:flex}.admin-user-actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.admin-detail-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:.9rem;display:flex}.admin-detail-row:last-child{border-bottom:none}.admin-detail-row span{color:var(--muted)}.admin-detail-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.admin-bar-wrap{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.admin-bar{background:var(--accent);border-radius:4px;min-width:4px;height:100%;transition:width .4s}.admin-error-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;font-size:.88rem;display:flex}.admin-error-row:last-child{border-bottom:none}.admin-error-count{color:var(--red);flex-shrink:0;min-width:30px;font-weight:850}.js-error-row{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 0}.js-error-row:last-child{border-bottom:none}.js-error-main{flex-direction:column;gap:2px;display:flex}.js-error-msg{color:var(--ink);word-break:break-all;font-family:monospace;font-size:.85rem}.js-error-meta{color:var(--muted);font-size:.78rem}.js-error-stack{color:var(--muted);background:var(--surface);white-space:pre-wrap;word-break:break-all;border-radius:8px;margin:8px 0 0;padding:10px 12px;font-size:.75rem;overflow-x:auto}.user-xp-chart{align-items:flex-end;gap:6px;height:80px;padding:4px 0 0;display:flex}.user-xp-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.user-xp-val{color:var(--accent);min-height:14px;font-size:.65rem;font-weight:700}.user-xp-bar-wrap{background:var(--border);border-radius:4px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.user-xp-bar{background:var(--accent);border-radius:4px;width:100%;min-height:3px;transition:height .4s}.user-xp-day{color:var(--muted);font-size:.65rem}.notify-templates{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.notify-template-btn{border-radius:var(--radius-pill);border:1.5px solid var(--border);cursor:pointer;color:var(--fg);background:#fff;padding:7px 13px;font-size:.82rem;font-weight:700;transition:border-color .12s,background .12s}.notify-template-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.notify-textarea{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--fg);resize:vertical;box-sizing:border-box;background:#fff;outline:none;padding:10px 12px;font-family:inherit;font-size:.9rem;transition:border-color .12s}.notify-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.notify-target-row{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.notify-audience-info{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:.82rem;font-weight:700;display:flex}.notify-preview{border-radius:var(--radius);border:1.5px dashed var(--border);background:#fafafe;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notify-preview-icon{flex-shrink:0;font-size:1.6rem}.notify-preview strong{margin-bottom:3px;font-size:.92rem;display:block}.notify-preview p{color:var(--muted);margin:0;font-size:.82rem}.notify-result-banner{border-radius:var(--radius);color:var(--success);background:#2fba7f1f;border:1.5px solid #2fba7f66;margin-bottom:8px;padding:12px 16px;font-size:.88rem;font-weight:700}.referral-card{gap:12px;display:grid}.referral-card-header{align-items:flex-start;gap:12px;display:flex}.referral-card-icon{width:42px;height:42px;color:var(--purple);background:#6f57e81a;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.referral-card-title{margin-bottom:3px;font-size:.95rem;font-weight:700}.referral-card-text{color:var(--muted);font-size:.82rem}.referral-link-row{border:1.5px solid var(--line);background:#f4f5fb;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.referral-link-url{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:monospace;font-size:.75rem;overflow:hidden}.referral-copy-btn{background:var(--purple);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.referral-copied{color:var(--green);flex-shrink:0;font-size:.8rem;font-weight:700}.referral-share-btn{border:1.5px solid var(--purple);width:100%;color:var(--purple);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:.88rem;font-weight:600;transition:background .12s;display:flex}.referral-share-btn:hover{background:#6f57e80f}.share-progress-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6f57e8,#8b74f0);border:none;border-radius:12px;justify-content:center;align-items:center;gap:7px;width:100%;padding:12px;font-size:.92rem;font-weight:700;transition:opacity .12s;display:flex}.share-progress-btn:disabled{opacity:.6;cursor:default}.celebrate-share-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #fff6;border-radius:12px;justify-content:center;align-items:center;gap:7px;width:100%;margin-bottom:10px;padding:11px;font-size:.9rem;font-weight:600;display:flex}.celebrate-share-btn:disabled{opacity:.5;cursor:default}.referred-banner{color:var(--purple);text-align:center;background:#6f57e81a;border:1.5px solid #6f57e840;border-radius:10px;margin-bottom:8px;padding:10px 14px;font-size:.88rem;font-weight:600}.auth-info-text{color:var(--muted);margin-bottom:16px;font-size:.9rem;line-height:1.55}.auth-forgot-link{color:var(--muted);font-size:.82rem}.auth-forgot-link:hover{color:var(--purple)}.shop-page{gap:20px}.shop-error-banner{border-left:4px solid var(--error);color:#b42331;background:#fff0f0;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:700;animation:.2s feedback-in;display:flex}.shop-card--main{border-color:var(--yellow-dark);position:relative;overflow:hidden;box-shadow:0 12px 32px #f6bd0026}.shop-card--main:before{content:"";background:var(--yellow-soft);pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-40px}.shop-card-header{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.shop-icon-main{color:var(--yellow-dark);filter:drop-shadow(0 4px 8px #c4960040)}.shop-price-tag{background:var(--fg);color:#fff;border-radius:12px;padding:8px 16px;font-size:1.4rem;font-weight:900;box-shadow:0 4px 12px #21194626}.shop-price-tag span{opacity:.7;font-size:.8rem;font-weight:700}.shop-comparison{background:#f8f7ff;border-radius:16px;gap:12px;width:100%;margin:10px 0;padding:16px;display:grid}.shop-comp-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1.5px solid var(--border);grid-template-columns:1fr 60px 60px;padding-bottom:4px;font-size:.8rem;font-weight:900;display:grid}.shop-comp-row{text-align:left;grid-template-columns:1fr 60px 60px;align-items:center;font-size:.9rem;font-weight:700;display:grid}.shop-comp-row>span:first-child{color:var(--fg)}.shop-comp-row .comp-check{color:var(--success);align-items:center;gap:4px;display:flex}.comp-free{text-align:center}.comp-plus{text-align:center;color:var(--accent)}.shop-active-status{gap:12px;width:100%;display:grid}.status-label{color:var(--fg);background:var(--yellow-soft);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px;font-weight:850;display:flex}.shop-btn-buy{width:100%;height:56px;font-size:1.1rem}.shop-success-text{text-align:left}.shop-success-card{flex-direction:row;align-items:center;gap:18px;padding:20px}.admin-section-title{color:var(--fg);margin:12px 0 8px;font-size:1.1rem;font-weight:850}.admin-table-card{padding:0;overflow:hidden}.admin-retention-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.admin-retention-table th,.admin-retention-table td{border-bottom:1px solid var(--border);padding:12px 16px}.admin-retention-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#fafafa;font-size:.75rem;font-weight:850}.retention-high{color:#0e7048;background:#d8ffee;font-weight:850}.retention-mid{color:#7a5800;background:#fff8d8;font-weight:850}.retention-low{color:#b42331;background:#ffeceb;font-weight:850}.admin-heatmap{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.heatmap-card{flex-direction:column;gap:12px;display:flex}.heatmap-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.heatmap-header strong{font-size:.95rem;line-height:1.2}.heatmap-total{background:var(--error);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:850}.heatmap-bar-stack{background:#f8f8ff;border-radius:8px;align-items:flex-end;gap:4px;height:40px;padding:4px;display:flex}.heatmap-bar-wrap{flex:1;align-items:flex-end;height:100%;display:flex}.heatmap-bar{background:var(--accent);opacity:.8;border-radius:3px 3px 1px 1px;width:100%;min-height:2px}.heatmap-meta{color:var(--muted);font-size:.72rem;font-weight:700}.admin-stats-columns{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}@media (width<=768px){.admin-stats-columns{grid-template-columns:1fr}}.admin-bar-wrap{background:#e4e1f2;border-radius:4px;flex:1;height:8px;margin:0 12px;overflow:hidden}.admin-bar{background:var(--accent);border-radius:inherit;height:100%}.landing-wrap{background:var(--bg);min-height:100vh;color:var(--fg)}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:12px 20px;display:flex}.landing-logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.2rem;font-weight:900;display:flex}.logo-icon-sm{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-size:.8rem;display:grid}.nav-actions{align-items:center;gap:20px;display:flex}.nav-link{color:var(--muted);font-size:.9rem;font-weight:700}.btn-sm{min-height:40px;padding:0 16px;font-size:.85rem}.hero-section{grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;max-width:1100px;margin:0 auto;padding:60px 20px;display:grid}.hero-badge{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:.8rem;font-weight:850;display:inline-flex}.hero-content h1{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1}.hero-content h1 span{color:var(--accent);position:relative}.hero-content h1 span:after{content:"";background:var(--yellow-soft);z-index:-1;width:100%;height:8px;position:absolute;bottom:4px;left:0}.hero-content p{color:var(--muted);max-width:500px;margin-bottom:32px;font-size:1.2rem;line-height:1.5}.hero-cta{flex-direction:column;gap:24px;display:flex}.btn-lg{width:fit-content;min-height:60px;padding:0 32px;font-size:1.1rem}.hero-stats{color:var(--muted);align-items:center;gap:12px;font-size:.9rem;font-weight:700;display:flex}.mini-avatars{margin-right:4px;display:flex}.avatar-m{border:2px solid #fff;border-radius:50%;place-items:center;width:32px;height:32px;margin-left:-8px;font-size:.7rem;font-weight:900;display:grid}.avatar-m:first-child{margin-left:0}.hero-visual{justify-content:center;display:flex}.phone-mockup{background:#211946;border-radius:40px;width:280px;height:580px;padding:12px;position:relative;box-shadow:0 40px 80px -20px #2119464d}.phone-mockup:before{content:"";z-index:2;background:#211946;border-bottom-right-radius:15px;border-bottom-left-radius:15px;width:120px;height:25px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mockup-screen{background:#fff;border-radius:30px;width:100%;height:100%;overflow:hidden}.mockup-screen img{object-fit:cover;width:100%;height:100%}.features-section{max-width:1100px;margin:0 auto;padding:80px 20px}.section-header{text-align:center;margin-bottom:60px}.section-header h2{letter-spacing:-.03em;margin:0 0 12px;font-size:2.4rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.f-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:32px;transition:transform .2s}.f-card:hover{transform:translateY(-5px)}.f-icon{border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:20px;display:grid}.icon-p{color:var(--accent);background:var(--accent-soft)}.icon-y{color:var(--yellow-dark);background:var(--yellow-soft)}.icon-r{color:var(--error);background:#e93d451a}.icon-b{color:var(--blue);background:#3d6dde1a}.f-card h3{margin:0 0 12px;font-size:1.25rem}.f-card p{color:var(--muted);margin:0;line-height:1.5}.path-teaser{color:#fff;background:#211946;padding:80px 20px}.path-content{text-align:center;max-width:800px;margin:0 auto}.path-content .label{color:var(--yellow);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:.8rem;font-weight:900}.path-content h2{margin-bottom:50px;font-size:2.2rem}.path-steps{text-align:left;gap:20px;display:grid}.p-step{opacity:.6;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:20px;padding:20px;display:flex}.p-step.active{opacity:1;border-color:var(--accent);background:#ffffff1a}.p-num{background:#ffffff1a;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.p-step.active .p-num{background:var(--accent)}.p-info h4{margin:0;font-size:1.1rem}.p-info p{color:#fff9;margin:4px 0 0;font-size:.9rem}.pricing-section{max-width:1000px;margin:0 auto;padding:80px 20px}.pricing-header{text-align:center;margin-bottom:50px}.pricing-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;display:grid}.price-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;flex-direction:column;padding:40px;display:flex;position:relative}.price-card.plus{border-color:var(--accent);box-shadow:0 20px 40px #6f57e826}.price-card .badge{background:var(--accent);color:#fff;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:850;position:absolute;top:20px;right:20px}.price-card h3{margin-bottom:12px;font-size:1.5rem}.price-card .price{letter-spacing:-.04em;margin-bottom:30px;font-size:2.8rem;font-weight:900}.price-card .price span{color:var(--muted);font-size:1rem;font-weight:700}.price-card ul{gap:12px;margin:0 0 40px;padding:0;list-style:none;display:grid}.price-card ul li{align-items:center;gap:12px;font-size:.95rem;font-weight:700;display:flex}.price-card ul li svg{color:var(--success)}.price-card .btn{width:100%}.landing-footer{border-top:1px solid var(--border);background:#fdfcff;padding:80px 20px 40px}.footer-content{text-align:center;max-width:1100px;margin:0 auto}.footer-content h2{margin-bottom:16px;font-size:2rem}.footer-content p{color:var(--muted);margin-bottom:32px;font-size:1.1rem}.footer-links{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;margin-top:80px;padding-top:30px;font-size:.9rem;font-weight:700;display:flex}.socials{gap:20px;display:flex}.faq-section{max-width:900px;margin:0 auto;padding:80px 20px}.faq-grid{gap:30px;display:grid}.faq-item h4{color:var(--fg);margin:0 0 10px;font-size:1.15rem}.faq-item p{color:var(--muted);margin:0;line-height:1.6}@media (width<=900px){.hero-section{text-align:center;grid-template-columns:1fr;padding-top:40px}.hero-content p{margin:0 auto 32px}.btn-lg{width:100%}.hero-cta{align-items:center}.hero-visual{order:-1;margin-bottom:20px}.phone-mockup{width:220px;height:460px}}@media (width<=600px){.section-header h2{font-size:1.8rem}.path-steps,.pricing-cards{grid-template-columns:1fr}.nav-link{display:none}.footer-links{flex-direction:column;gap:20px}}@media (width<=480px){.page-content{padding-left:12px;padding-right:12px}.card,.shop-card,.onboarding-card,.f-card,.price-card{padding:16px}.page-header h1{font-size:1.6rem}}.onboarding-screen{padding:16px}.onboarding-card-anim{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards slide-up-fade;display:flex}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-icon-wrap{border:1px solid var(--border);background:#fdfcff;border-radius:20px;place-items:center;width:64px;height:64px;margin-bottom:8px;display:grid;box-shadow:0 8px 16px #2119460f}.onboarding-card-anim h1{letter-spacing:-.02em;margin:0;font-size:1.8rem}.onboarding-text{color:var(--muted);max-width:320px;margin:0;font-size:1.05rem;line-height:1.5}.onboarding-btn-primary{width:100%;margin-top:8px}.onboarding-chip-list{flex-direction:column;gap:10px;width:100%;margin-top:10px;display:flex}.onboarding-chip{border:1.5px solid var(--border);color:var(--fg);cursor:pointer;text-align:left;background:#fff;border-radius:16px;align-items:center;gap:12px;padding:16px;font-size:1rem;font-weight:750;transition:all .2s;display:flex}.onboarding-chip .check-icon{color:var(--border);transition:color .2s}.onboarding-chip:hover{border-color:var(--accent-soft);transform:translateY(-2px)}.onboarding-chip.active{border-color:var(--yellow-dark);background:linear-gradient(#fffbe8 0%,#fff8d8 100%);box-shadow:0 4px 12px #f6bd0026}.onboarding-chip.active .check-icon{color:var(--yellow-dark)}.admin-preview-banner{color:#fff;text-align:center;cursor:pointer;letter-spacing:.01em;z-index:200;background:#1a1a2e;border:none;width:100%;padding:10px 16px;font-size:.82rem;display:block;position:sticky;top:0}.admin-preview-banner strong{color:#ffd21f}.match-grid{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.match-col{flex-direction:column;gap:8px;display:flex}.match-item{border:2px solid var(--border);min-height:46px;color:var(--ink);text-align:center;cursor:pointer;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;background:#fff;border-radius:12px;padding:6px 10px;font-size:.88rem;font-weight:700;transition:border-color .12s,background .12s}.match-item:disabled{cursor:default}.match-item.active{border-color:var(--accent);background:var(--accent-soft,#ede9fe)}.match-item.matched{border-color:var(--green);color:var(--green);background:#f0fdf6}.match-item.wrong{border-color:var(--red);background:#fff0f0;animation:.4s match-shake}@keyframes match-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.lesson-intro-card{box-shadow:var(--shadow,0 2px 12px #00000014);background:#fff;border-radius:18px;align-self:stretch;padding:20px;overflow-y:auto}.lesson-intro-text{color:var(--fg);margin-bottom:16px;font-size:.97rem;line-height:1.65}.lesson-words-list{flex-direction:column;display:flex}.lesson-word-item{border-bottom:1px solid var(--border,#e8e8ef);padding:12px 0}.lesson-word-item:last-child{border-bottom:none}.lesson-word-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lesson-word-sk{color:var(--ink);font-size:1.2rem;font-weight:850}.lesson-word-uk{color:var(--accent);font-size:.95rem;font-weight:600}.lesson-word-example{color:var(--muted);margin-top:4px;font-size:.8rem;font-style:italic}@media (width<=420px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.match-item{min-height:40px;padding:5px 6px;font-size:.8rem}.lesson-word-sk{font-size:1.05rem}}
