:root{--bg:#eef3ef;--bg-accent:#d9e6dc;--surface:#f7faf7;--ink:#1c2b22;--muted:#5a6b60;--line:#c5d3c9;--brand:#1f5c45;--brand-dark:#164533;--accent:#c45c26;--danger:#9b2c2c;--ok:#1f6b3a;--ok-soft:#cfe9d7;--ok-ink:#124b29;--ok-glow:#1f6b3a29;--shadow:0 10px 30px #1c2b2214;--radius:18px;--font:"Segoe UI", "Helvetica Neue", Arial, sans-serif;--display:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top left, #1f5c451f, transparent 40%), linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{width:100%;min-height:100dvh}.practice-shell{flex-direction:column;width:100%;max-width:none;height:100dvh;padding:0;display:flex;overflow:hidden}.practice-shell .app-header{flex:none;width:100%;margin:0 0 18px}.practice-header{display:block}.practice-header-inner{width:min(100%,720px);padding:1.1rem max(1rem, env(safe-area-inset-right)) .85rem max(1rem, env(safe-area-inset-left));gap:.85rem;margin:0 auto;display:grid}.practice-header-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.practice-prompt{text-align:center;gap:.35rem;padding-bottom:.25rem;display:grid}.practice-prompt-word{font-family:var(--display);color:#f7faf7;overflow-wrap:anywhere;margin:0;font-size:clamp(2.1rem,9vw,3rem);line-height:1.1}.practice-prompt-transcription{font-family:var(--font);color:#f3f7f4c7;margin:0;font-size:clamp(1rem,3.5vw,1.15rem);font-weight:400}.practice-prompt-translation{color:#f3f7f4eb;margin:0;font-size:clamp(1.15rem,4vw,1.45rem)}.practice-shell .app-main{flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:flex}.practice-page{flex-direction:column;flex:1;width:100%;min-height:0;margin:0;display:flex}.practice-progress{background:#ffffff2e;flex:0 0 .35rem;width:100%;overflow:hidden}.practice-progress span{background:#f3f7f4;border-radius:0 999px 999px 0;height:100%;transition:width .25s;display:block}.practice-header>.practice-progress{z-index:1;position:relative}.practice-page>.review-summary,.practice-page>.state-block{width:min(100% - 1.5rem,720px);margin:.75rem auto 0}.app-header{z-index:10;background:var(--brand);color:#f3f7f4;width:100%;margin-bottom:4rem;padding:0;position:sticky;top:0}.app-header:after{content:"";pointer-events:none;background-color:#0000;background-image:url(/ornaments/lemekh.svg);background-position:0 0;background-repeat:repeat-x;background-size:42px 18px;height:18px;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.app-header-inner{width:min(100%,720px);padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));grid-template-columns:1fr auto;grid-template-areas:"brand auth""nav nav";align-items:center;gap:.75rem;margin:0 auto;display:grid}.app-header-inner .brand{grid-area:brand;justify-self:start}.app-header-auth{grid-area:auth;justify-self:end;min-width:0}.app-header-inner .app-nav{grid-area:nav}.app-header.practice-header{width:100%;min-height:calc(2.75rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) 0 0;background:var(--brand);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none;margin:0 0 18px}.practice-counter{color:#f3f7f4;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:0;font-size:.95rem;font-weight:700}.brand{color:#f7faf7;align-items:center;margin:0;display:inline-flex}.brand-logo{fill:currentColor;width:2.1rem;height:auto;display:block}.auth-placeholder-btn{min-height:2.35rem;padding:.45rem .95rem;font-size:.92rem}.auth-menu{min-width:0;position:relative}.auth-menu-trigger{color:#f3f7f4;cursor:pointer;max-width:min(12rem,46vw);min-height:2.35rem;font:inherit;background:0 0;border:1px solid #f3f7f459;border-radius:14px;align-items:center;gap:.4rem;margin:0;padding:.35rem .7rem;font-weight:600;display:inline-flex}.auth-menu-trigger:hover,.auth-menu.is-open .auth-menu-trigger{background:#ffffff1f}.auth-menu-trigger-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-menu-chevron{opacity:.85;border-bottom:2px solid;border-right:2px solid;flex:none;width:.45rem;height:.45rem;transform:rotate(45deg)translateY(-1px)}.auth-menu.is-open .auth-menu-chevron{transform:rotate(225deg)translateY(-1px)}.auth-menu-dropdown{z-index:20;border:1px solid var(--line);background:var(--surface);min-width:10.5rem;box-shadow:var(--shadow);border-radius:14px;padding:.35rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.auth-menu-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;margin:0;padding:.65rem .8rem;font-weight:600;display:block}.auth-menu-item:hover{background:#1f5c4514}.auth-menu-btn{flex:none;min-height:2.35rem;padding:.45rem .95rem;font-size:.92rem}.app-header .auth-menu-btn.btn-ghost{color:#f3f7f4;border-color:#f3f7f459}.app-header .auth-menu-btn.btn-ghost:hover{background:#ffffff1f}.auth-page{place-items:center;min-height:calc(100dvh - 2rem);padding:1.5rem 1rem 3rem;display:grid}.auth-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--surface);width:min(100%,26rem);box-shadow:var(--shadow);gap:.85rem;padding:1.35rem;display:grid}.auth-card-kicker{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.auth-card-kicker a{color:var(--brand)}.auth-card h1{font-family:var(--display);color:var(--brand-dark);margin:0;font-size:1.75rem}.auth-card-subtitle{color:var(--muted);margin:0;line-height:1.5}.auth-form{gap:.85rem;display:grid}.auth-field.has-error input{border-color:#e2b4b4}.auth-form-error,.auth-form-success{margin:0}.auth-hint{color:var(--muted);margin:-.35rem 0 0;font-size:.88rem}.auth-inline-link{text-align:right;margin:-.25rem 0 0}.auth-inline-link a{color:var(--brand);font-size:.92rem;font-weight:600}.auth-switch{color:var(--muted);text-align:center;margin:0}.auth-switch a{color:var(--brand);font-weight:600}.auth-card-footer{border-top:1px solid #c5d3c9a6;padding-top:.35rem}.auth-success{gap:.65rem;display:grid}.auth-success p{margin:0;line-height:1.5}.auth-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c2b226b;place-items:center;padding:1rem;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.auth-dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100%,22rem);box-shadow:var(--shadow);gap:.75rem;padding:1.35rem;display:grid}.auth-dialog-kicker{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.auth-dialog h2{font-family:var(--display);margin:0;font-size:1.55rem}.auth-dialog-text{color:var(--muted);margin:0;line-height:1.5}.landing{gap:2.5rem;padding-bottom:1rem;display:grid}.landing-hero{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);background:radial-gradient(circle at 85% 15%,#c45c2624,#0000 42%),radial-gradient(circle at 10% 90%,#1f5c4529,#0000 45%),linear-gradient(145deg,#f7faf7 0%,#e8f0ea 100%);padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow:hidden}.landing-greeting{font-family:var(--display);color:var(--brand-dark);margin:0;font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.15}.landing-kicker{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .65rem;font-size:.82rem;font-weight:700}.landing-title{max-width:16ch;font-family:var(--display);color:var(--brand-dark);margin:0 0 .85rem;font-size:clamp(2rem,6vw,3rem);line-height:1.08}.landing-lede{max-width:42rem;color:var(--muted);margin:0;font-size:clamp(1rem,2.4vw,1.12rem);line-height:1.55}.landing-hero-actions{gap:.75rem;margin-top:1.5rem;display:grid}.landing-section-title{font-family:var(--display);color:var(--brand-dark);margin:0 0 1rem;font-size:clamp(1.35rem,3vw,1.7rem)}.landing-feature-grid{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}.landing-feature-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:.85rem;padding:1rem;display:grid}.landing-feature-media{aspect-ratio:1;border-radius:calc(var(--radius) - 4px);background:var(--bg);width:100%;position:relative;overflow:hidden}.landing-feature-media img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.landing-feature-card h3{font-family:var(--display);color:var(--brand-dark);margin:0;font-size:1.25rem}.landing-feature-card p{color:var(--muted);margin:0;line-height:1.5}.landing-app-layout{gap:.85rem;display:grid}.landing-app-actions{gap:.75rem;display:grid}.landing-app-action-card{border-radius:calc(var(--radius) + 2px);background:var(--surface);box-shadow:var(--shadow);border:1px solid #1f5c452e;gap:.35rem;padding:1.15rem 1.2rem 1.2rem;display:grid}.landing-app-action-title{font-family:var(--display);color:var(--brand-dark);margin:0;font-size:1.2rem}.landing-app-action-count{font-family:var(--display);color:var(--brand-dark);font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:clamp(2.4rem,8vw,3rem);line-height:1}.landing-app-action-unit{color:var(--muted);margin:0;font-size:.92rem}.landing-app-action-hint{color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.landing-app-action-btn{justify-content:center;width:100%;margin-top:.65rem}.landing-app-action-btn.is-disabled{opacity:.55;pointer-events:none}.landing-app-stats-card{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;gap:.75rem;padding:1rem 1.1rem;display:grid}.landing-app-stats-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.landing-app-stats-title{letter-spacing:.01em;color:var(--muted);text-transform:uppercase;margin:0;font-size:.92rem;font-weight:600}.landing-app-stats-total{color:var(--brand-dark);font-variant-numeric:tabular-nums;margin:0;font-size:.88rem;font-weight:700}.landing-app-stats-footnote{border-top:1px solid var(--line);color:var(--muted);margin:.15rem 0 0;padding-top:.55rem;font-size:.85rem;line-height:1.4}.landing-app-stage-bar{background:#1f5c4514;border-radius:999px;gap:2px;height:.55rem;display:flex;overflow:hidden}.landing-app-stage-bar-seg{min-width:4px;height:100%;display:block}.landing-app-stages{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.landing-app-stage{border:1px solid #0000;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem .8rem;display:grid}.landing-app-stage .stage-dot{width:.7rem;height:.7rem}.landing-app-stage-copy{gap:.12rem;min-width:0;display:grid}.landing-app-stage-label{color:var(--brand-dark);font-family:var(--display);font-size:1.05rem;line-height:1.2}.landing-app-stage-hint{color:var(--muted);font-size:.8rem;line-height:1.3}.landing-app-stage-count{color:var(--brand-dark);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700;line-height:1}.landing-app-stage.is-empty{opacity:.55}.landing-app-stage.is-stage-1{background:#a7d3b347;border-color:#a7d3b38c}.landing-app-stage.is-stage-2{background:#74bd8c3d;border-color:#74bd8c80}.landing-app-stage.is-stage-3{background:#45a76b33;border-color:#45a76b73}.landing-app-stage.is-stage-4{background:#2b8a5229;border-color:#2b8a5266}.landing-app-stage.is-stage-5{background:#1f6b3a24;border-color:#1f6b3a61}.landing-app-cards{gap:.75rem;display:grid}.landing-app-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:.85rem;padding:1rem 1.1rem;display:grid}.landing-app-card-title{font-family:var(--display);color:var(--brand-dark);margin:0;font-size:1.15rem}.landing-app-stats{gap:.55rem;margin:0;display:grid}.landing-app-stat{gap:.15rem;display:grid}.landing-app-stat dt{color:var(--muted);margin:0;font-size:.85rem}.landing-app-stat dd{color:var(--text);margin:0;font-size:.95rem;line-height:1.35}.landing-app-card-action{justify-self:start}.landing-app-links{gap:.75rem;display:grid}.landing-app-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:.2rem;padding:1rem 1.1rem;transition:transform .15s,border-color .15s;display:grid}.landing-app-link:hover{border-color:#1f5c4559;transform:translateY(-1px)}.landing-app-link-label{font-family:var(--display);color:var(--brand-dark);font-size:1.15rem}.landing-app-link-hint{color:var(--muted);font-size:.92rem}.app-nav{gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.nav-link{color:#f3f7f4d1;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:.55rem .85rem}.nav-link:hover{background:#ffffff1a}.nav-link.active{color:var(--brand-dark);background:#f3f7f4;border-color:#0000;font-weight:600}.app-main{box-sizing:border-box;width:min(100%,720px);min-width:0;max-width:100%;margin:0 auto;padding:0 1rem 3rem;animation:.25s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page h1{font-family:var(--display);margin:0 0 .5rem;font-size:clamp(1.7rem,4vw,2.2rem);line-height:1.15}.lede{color:var(--muted);margin:0 0 1.25rem;font-size:1.05rem}.muted{color:var(--muted)}.meta{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.card,.list-card,.word-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:1.25rem}.list{gap:.75rem;min-width:0;margin:0;padding:0;list-style:none;display:grid}.list>li{min-width:0;max-width:100%}.list-card,.list-button{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);cursor:pointer;padding:1rem 1.1rem;display:block}.list-button{box-shadow:none;background:0 0;border:0;padding:0}.list-card h2,.list-button h2{margin:0 0 .35rem;font-size:1.2rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:.35rem;padding:.75rem 1.1rem;font-weight:600;transition:transform .15s,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-large{width:100%;min-height:3.1rem;font-size:1.05rem}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-secondary{border-color:var(--line);color:var(--ink);background:#fff}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-danger{color:var(--danger);background:#fff;border-color:#e2b4b4}.cta-stack{gap:.75rem;margin-top:1.25rem;display:grid}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.stat-label{color:var(--muted);margin-bottom:.35rem;font-size:.9rem;display:block}.stat-value{font-family:var(--display);color:var(--brand-dark);font-size:1.8rem}.state-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.state-title{margin:0 0 .5rem;font-size:1.2rem}.state-text{color:var(--muted);margin:0}.state-action{margin-top:1rem}.state-error{border-color:#e2b4b4}.progress-stats{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff8c;margin-bottom:1rem;padding:1rem 1.1rem}.progress-stats p{margin:.3rem 0}.hint{color:var(--muted)}.hint.success{color:var(--ok)}.word-karelian{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:1.35rem}.word-karelian .word-transcription{font-family:var(--font);color:var(--muted);margin-left:.4rem;font-size:.95rem;font-weight:400}.word-karelian.large{font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.05}.word-translation{margin:.25rem 0 0;font-size:1.1rem}.word-translation.large{font-size:1.35rem}.study-word{text-align:center;justify-items:center;gap:.2rem;width:100%;display:grid}.word-transcription{color:var(--muted);margin:0;font-size:1rem}.study-word .word-translation{margin-top:.8rem}.word-tags{flex-wrap:wrap;gap:.4rem;margin-top:.45rem;display:flex}.word-tag,.word-part-of-speech{color:var(--muted);background:#1f5c4512;border-radius:999px;margin:0;padding:.25rem .65rem;font-size:.85rem}.word-meta{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:flex}.word-meta span{background:var(--bg);border-radius:999px;padding:.2rem .65rem}.level-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.level-card-header h2{margin:0}.level-lock-badge{color:var(--muted);background:var(--bg);border-radius:999px;flex:none;padding:.2rem .65rem;font-size:.8rem;font-weight:600}.level-mastery{color:var(--ok-ink);flex:none;font-size:.85rem;font-weight:700}.stage-bar{background:#1f5c4514;border-radius:999px;gap:2px;height:.5rem;margin-top:.65rem;display:flex;overflow:hidden}.stage-bar-seg{min-width:3px;height:100%;display:block}.stage-legend{flex-wrap:wrap;gap:.35rem .75rem;margin-top:.6rem;display:flex}.stage-chip{color:var(--brand-dark);align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.stage-chip.is-muted{color:var(--muted)}.stage-dot{border-radius:50%;flex:none;width:.55rem;height:.55rem}.stage-0{background:#1f5c452e}.stage-1{background:#a7d3b3}.stage-2{background:#74bd8c}.stage-3{background:#45a76b}.stage-4{background:#2b8a52}.stage-5{background:#1f6b3a}.srs-status-badge{white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.srs-status-badge:before{content:"";opacity:.55;background:currentColor;border-radius:50%;flex:none;width:.45rem;height:.45rem}.srs-status-badge.is-new{color:var(--muted)}.srs-status-badge.is-learned{color:var(--brand-dark)}.srs-status-badge.is-stage{color:var(--ok-ink)}.word-row{box-sizing:border-box;gap:.55rem;min-width:0;max-width:100%;padding:1rem 1.1rem;display:grid}.word-row.is-expandable{width:100%;padding:0;display:block;overflow:hidden}.word-row-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:1rem;display:flex}.word-row-main{min-width:0}.word-row-main .word-karelian,.word-row-main .word-translation{margin:0}.word-row-main .word-translation{margin-top:.15rem}.word-row.is-expanded .word-row-toggle{border-bottom:1px solid #c5d3c9a6}.word-row-details{gap:.75rem;padding:.9rem 1rem 1rem;animation:.2s fadeIn;display:grid}.word-row-details .word-transcription{color:var(--muted);margin:0;font-size:.95rem}.word-row-details .mnemonic{width:fit-content;max-width:100%}.word-row .word-meta{margin-top:0}.word-row .srs-status-badge{background:0 0;border:0;flex:none;margin-left:auto;padding:0}.filters{gap:.75rem;margin-bottom:1rem;display:grid}.field{gap:.35rem;display:grid}.field span{color:var(--muted);font-size:.9rem}.field input,.field select{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;min-height:2.8rem;padding:.65rem .85rem}.field-error{color:var(--danger);margin:.35rem 0 0}.learn-card,.review-card,.detail-card,.settings-card{gap:.75rem;display:grid}.learn-card,.review-card{gap:1.25rem}.practice-page>.learn-card,.practice-page>.review-card{overscroll-behavior:contain;width:min(100% - 1.5rem,720px);min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;margin:.35rem auto 0;padding:.35rem 0 1.25rem;overflow-y:auto}.practice-page>.learn-card{flex-direction:column;display:flex}.practice-page>.learn-card>.btn{flex:none;margin-top:auto}.practice-page>.review-card{flex-direction:column;display:flex}.practice-page>.review-card>.word-tags{order:1}.practice-page>.review-card>.audio-player{order:2}.practice-page>.review-card>.review-result{flex:1 1 0;order:3;min-height:0;overflow-y:auto}.practice-page>.review-card>.review-answer-control{flex:none;order:4}.review-summary{flex-direction:column;flex:1;gap:1.25rem;min-height:0;display:flex;overflow-y:auto}.review-summary h1,.review-summary p{margin:0}.review-summary-kicker{color:var(--muted);font-size:.9rem;font-weight:600}.review-summary-score{border-radius:var(--radius);color:var(--ok-ink);background:var(--ok-soft);border:1px solid #1f6b3a2e;justify-items:center;gap:.15rem;padding:1.2rem;display:grid}.review-summary-score strong{font-family:var(--display);font-size:clamp(3rem,14vw,4.5rem);line-height:1}.review-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.review-summary-grid.is-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.review-summary-stat{border:1px solid var(--line);background:#fff;border-radius:14px;align-content:start;gap:.3rem;min-height:7rem;padding:.9rem;display:grid}.review-summary-stat strong{font-family:var(--display);font-size:2rem;line-height:1}.review-summary-stat span{color:var(--muted);font-size:.83rem}.review-summary-stat.is-danger strong{color:var(--danger)}.review-summary-stat.is-positive strong{color:var(--ok)}.review-promotions{gap:.65rem;display:grid}.review-promotions-title{color:var(--muted);font-size:.9rem;font-weight:700}.review-promotions-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.review-promotions-list li{background:var(--ok-soft);color:var(--ok-ink);border:1px solid #1f6b3a2e;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.review-promotion-stage{font-family:var(--display);align-items:center;gap:.45rem;font-size:1.2rem;display:inline-flex}.review-promotions-list strong{font-family:var(--display);font-size:1.45rem;line-height:1}.review-promotions-empty{color:var(--muted);font-size:.95rem}.review-level-unlocked{color:var(--brand-dark);background:#1f5c4517;border-radius:14px;gap:.25rem;padding:1rem;display:grid}.review-level-unlocked span{color:var(--muted);font-size:.9rem}.review-summary-actions{gap:.65rem;margin-top:auto;display:grid}.practice-empty{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100% - 1.5rem,720px);box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr);gap:1rem;margin:1rem auto 0;padding:1.4rem;display:grid}.practice-empty-icon{width:3rem;height:3rem;color:var(--ok);background:var(--ok-soft);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.practice-empty-icon svg{width:1.6rem;height:1.6rem}.practice-empty-copy{align-content:center;gap:.3rem;display:grid}.practice-empty-copy h1,.practice-empty-copy p{margin:0}.practice-empty-copy h1{font-size:clamp(1.55rem,6vw,2.1rem)}.practice-empty-copy>p:last-child{color:var(--muted);line-height:1.45}.practice-empty-kicker{color:var(--ok);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem;font-weight:700}.practice-countdown{color:var(--ok-ink);background:var(--ok-soft);border:1px solid #1f6b3a2e;border-radius:14px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.practice-countdown span{font-size:.9rem}.practice-countdown strong{font-family:var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.45rem}.practice-empty-actions{grid-column:1/-1;gap:.65rem;display:grid}.word-example{border-left:3px solid #1f5c4538;gap:.25rem;padding-left:.85rem;display:grid}.word-example p{margin:0}.word-section-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700}.mnemonic{background:var(--ok-soft);color:var(--ok-ink);border:1px solid #1f6b3a2e;border-radius:12px;margin:0;padding:.85rem 1rem}.audio-player{width:100%}.review-result{align-content:start;gap:.8rem;display:grid}.review-result.is-concealed{visibility:hidden;pointer-events:none}.review-result.has-promotion{align-content:end}.srs-promotion{color:var(--ok-ink);background:var(--ok-soft);border:1px solid #1f6b3a2e;border-radius:999px;justify-self:center;align-items:center;gap:.45rem;padding:.55rem 1rem;display:inline-flex}.srs-promotion-arrow{width:1.05rem;height:1.05rem;color:var(--ok);flex:none}.srs-stage-name{font-family:var(--display);margin:0;font-size:1.35rem;line-height:1}.review-result p{margin:0}.review-correct-translation{text-align:center;font-size:1.55rem;font-weight:600}.review-user-answer{color:var(--muted);font-size:.9rem}.review-placeholder{visibility:hidden}.review-answer-control{border:2px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;min-height:3.25rem;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid;overflow:hidden}.review-answer-control:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #1f5c451f}.review-answer-control input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:.75rem .95rem;font-size:1.05rem}.review-answer-control input::placeholder{color:var(--muted);opacity:1}.review-answer-control button{background:var(--brand);color:#fff;cursor:pointer;border:0;min-width:7.5rem;padding:.75rem 1rem;font-weight:700}.review-answer-control button:disabled{cursor:wait;opacity:.7}.review-answer-control.is-correct{border-color:var(--ok);background:var(--ok-soft);box-shadow:0 0 0 4px var(--ok-glow)}.review-answer-control.is-correct input{color:var(--ok-ink);font-weight:600}.review-answer-control.is-correct button{background:var(--ok)}.review-answer-control.is-wrong{border-color:var(--danger);background:#fbeaea}.review-answer-control.is-wrong button{background:var(--danger)}.review-answer-control.is-shaking{animation:.38s ease-in-out review-input-shake}@keyframes review-input-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.result-ok{color:var(--ok);margin:0;font-size:1.2rem;font-weight:700}.result-bad{color:var(--danger);margin:0;font-size:1.2rem;font-weight:700}.detail-close{justify-self:end}.back-link{color:var(--brand);margin-bottom:.75rem;font-weight:600;display:inline-block}@media (width>=900px){.app-header-inner{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav auth";align-items:center;gap:0 1.25rem}.app-header-inner .app-nav{justify-content:center;padding-bottom:0}}@media (width>=640px){.filters{grid-template-columns:1.4fr 1fr .7fr 1fr}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-feature-grid,.landing-app-actions,.landing-app-cards,.landing-app-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.practice-page>.learn-card,.practice-page>.review-card{width:100%;padding:.5rem max(1rem, env(safe-area-inset-right)) max(.9rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));box-shadow:none;background:0 0;border:0;border-radius:0;margin:0}.practice-page>.review-summary,.practice-page>.state-block{width:100%;padding:1.1rem max(1rem, env(safe-area-inset-right)) max(.9rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));border-bottom:0;border-left:0;border-right:0;border-radius:20px 20px 0 0;margin:0;box-shadow:0 -8px 24px #1c2b2212}.practice-page>.review-card{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}.review-summary-grid{grid-template-columns:1fr}.review-summary-stat{align-items:center;min-height:0;display:flex}.review-summary-stat strong{min-width:2.2rem}.practice-empty{grid-template-columns:1fr;justify-items:start;margin-top:.75rem;padding:1.2rem}.practice-countdown{width:100%}.review-answer-control button{min-width:6.5rem;padding-inline:.75rem}}@media (prefers-reduced-motion:reduce){.review-answer-control.is-shaking{animation:none}}
