:root{--bg:#fbfaf7;--surface:#fff;--text:#1f2328;--muted:#5d6670;--border:#e4e1d8;--control-border:#cfcbc0;--field-border:#8f8b84;--hover:#f3f1ec;--press:#e9e6de;--accent:#0b7a3e;--accent-hover:#096b36;--accent-press:#085e30;--accent-text:#fff;--accent-soft:#e3f2e9;--learner:#dbeafe;--danger:#b42318;--danger-text:#fff;--mark:#c8f0d6;--highlight:#fde68a;--highlight-text:#1f2328;--highlight-line:#d97706;--flame:#d9480f;--shadow-sm:0 1px 2px #1f23280f;--shadow-md:0 6px 20px #1f23281f;--shadow-lg:0 8px 24px #1f23282e;--radius:14px;--radius-sm:10px;--dur-press:.1s;--dur-state:.18s;--dur-enter:.28s;--ease-out:cubic-bezier(.2, .8, .2, 1);--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root.text-large{font-size:19px}:root.text-larger{font-size:21px}@media (prefers-color-scheme:dark){:root{--bg:#161616;--surface:#1f1f1f;--text:#e6e6e6;--muted:#a0a8b0;--border:#3a3a3a;--control-border:#4a4a4a;--field-border:#737373;--hover:#2a2a2a;--press:#333;--accent:#3fb873;--accent-hover:#4cc47f;--accent-press:#36a566;--accent-text:#0b1a12;--accent-soft:#1c3326;--learner:#1e3350;--danger:#ff7b72;--danger-text:#1f0a08;--mark:#22573a;--highlight:#4a3d10;--highlight-text:#fde68a;--highlight-line:#e0a030;--flame:#ff8a3d;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--shadow-lg:0 8px 24px #0009}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{font-size:var(--fs-xl);text-wrap:balance;margin:.2em 0;line-height:1.25}h2{font-size:var(--fs-md);text-wrap:balance;margin:0;line-height:1.3}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button,a,summary,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{border:1px solid var(--control-border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:background-color var(--dur-press) var(--ease-out), border-color var(--dur-press) var(--ease-out), color var(--dur-press) var(--ease-out), opacity var(--dur-press) var(--ease-out);padding:.55em 1em}button:disabled{opacity:.45;cursor:not-allowed}a.button{border:1px solid var(--control-border);background:var(--surface);border-radius:var(--radius-sm);min-height:44px;color:var(--text);transition:background-color var(--dur-press) var(--ease-out);justify-content:center;align-items:center;gap:.4em;padding:.55em 1em;text-decoration:none;display:flex}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.link{min-height:0;color:var(--accent);text-underline-offset:2px;background:0 0;border:none;padding:.2em .4em;text-decoration:underline;position:relative}button.danger,.danger{color:var(--danger)}summary{cursor:pointer}input,select,textarea{border:1px solid var(--field-border);background:var(--surface);border-radius:var(--radius-sm);width:100%;min-height:44px;transition:border-color var(--dur-press) var(--ease-out);margin-top:.25em;padding:.55em .7em}input[type=checkbox]{width:1.2em;height:1.2em;min-height:0;accent-color:var(--accent);margin:0}input[type=range]{height:44px;min-height:0;accent-color:var(--accent);border:none;padding:0}textarea{resize:vertical}label{display:block}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.block{display:block}.center{text-align:center}.error{color:var(--danger)}.stack{flex-direction:column;gap:.9rem;display:flex}.row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.row-between{justify-content:space-between;align-items:center;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem}.splash{height:100dvh;color:var(--accent);place-items:center;font-size:2rem;font-weight:700;display:grid}.splash.unreachable{text-align:center;place-content:center;gap:1rem;padding:0 24px}.splash.unreachable p{color:var(--text);font-size:1rem;font-weight:400}.offline{top:calc(8px + env(safe-area-inset-top));z-index:20;background:var(--text);max-width:calc(100% - 32px);color:var(--bg);font-size:var(--fs-sm);text-align:center;box-shadow:var(--shadow-md);border-radius:999px;margin:0;padding:.35em 1em;position:fixed;left:50%;transform:translate(-50%)}.app{max-width:720px;padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 32px max(16px, env(safe-area-inset-left));--tabbar-space:0px;margin:0 auto}.app-chat{padding-bottom:0}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.brand{min-height:44px;font-weight:800;font-size:var(--fs-lg);color:var(--accent);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand img{border-radius:7px}.topnav{gap:14px;display:flex}.topnav a{min-height:44px;color:var(--muted);transition:color var(--dur-state) var(--ease-out), box-shadow var(--dur-state) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex;box-shadow:inset 0 -2px #0000}.topnav a:hover{color:var(--text)}.topnav a.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.tabbar{display:none}@media (width<=720px){.app{padding-bottom:calc(80px + env(safe-area-inset-bottom));--tabbar-space:calc(64px + env(safe-area-inset-bottom))}.topbar{padding:10px 0 4px}.topnav{display:none}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:60px;font-size:var(--fs-xs);color:var(--muted);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tabbar svg{width:56px;height:30px;transition:background-color var(--dur-state) var(--ease-out);border-radius:999px;padding:3px 16px}.tabbar a.active{color:var(--accent);font-weight:600}.tabbar a.active svg{background:var(--accent-soft)}.tabbar a:active svg{background:var(--press)}.tabbar a.active:active svg{background:var(--mark)}}.app.app-chat{--tabbar-space:0px;padding-bottom:0}.app-chat .topbar,.app-chat .tabbar{display:none}:where(a,button,summary,[role=button]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}main:focus{outline:none}@media (hover:hover){button:not(:disabled):hover,a.button:hover{background-color:var(--hover)}button.primary:not(:disabled):hover,.chip.selected:not(:disabled):hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}button.link:not(:disabled):hover{background-color:#0000;text-decoration-thickness:2px}}button:not(:disabled):active,a.button:active{background-color:var(--press)}button.primary:not(:disabled):active,.chip.selected:not(:disabled):active{background-color:var(--accent-press);border-color:var(--accent-press)}button.link:not(:disabled):active,.back-link:active,.text-link:active,.lesson-nav .link:not(:disabled):active{opacity:.6;background-color:#0000}button.link:after,.speak:after,.why:after,.turn-tools button:after,.hint button:after{content:"";position:absolute;inset:-8px -2px}.icon{vertical-align:-.28em;flex:none;width:1.25em;height:1.25em}.with-icon{justify-content:center;align-items:center;gap:.4em;display:inline-flex}.icon.lead{color:var(--accent);margin-right:.15em}.login{text-align:center;max-width:380px;margin:12vh auto 0;padding:0 16px}.login form{text-align:left;margin-top:1.5rem}.banner{background:var(--accent-soft);border-color:#0000;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:999px;min-height:44px;padding:.4em .9em}.stack-tight{flex-direction:column;gap:.35rem;display:flex}.chips.levels{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.levels .chip{padding:.4em 0}.chip.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.7rem .9rem}.list li a{text-decoration:none;display:block}.chat{height:calc(100dvh - env(safe-area-inset-top));flex-direction:column;display:flex}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:6px 0;display:flex}.chat-head .back{min-height:44px;color:var(--accent);background:0 0;border:none;align-items:center;padding:0 6px 0 0;display:inline-flex}.chat-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.messages{flex-direction:column;flex:1;gap:10px;padding:8px 0 16px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;max-width:88%;padding:.6em .9em;position:relative}.bubble.learner{background:var(--learner);border-bottom-right-radius:6px;align-self:flex-end}.bubble.tutor{background:var(--surface);border:1px solid var(--border);font-size:var(--fs-md);box-shadow:var(--shadow-sm);border-bottom-left-radius:6px;align-self:flex-start}.tutor-turn{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.recast{max-width:88%;font-size:var(--fs-sm);color:var(--accent);align-self:flex-end;margin-top:-4px}.recast mark{background:var(--mark);color:inherit;border-radius:4px;padding:0 2px}.word{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:4px;padding-block:.12em}.word:focus-visible{outline:2px solid var(--accent)}.word:hover{background:var(--accent-soft)}.word.flagged{background:var(--highlight);color:var(--highlight-text)}.speak{vertical-align:-.4em;width:1.9em;height:1.6em;min-height:0;color:var(--accent);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:.1em;padding:0;display:inline-flex;position:relative}.speak svg{width:1.25em;height:1.25em}.audio{white-space:nowrap}.popover{border-radius:var(--radius-sm);background:var(--accent-soft);white-space:normal;margin-top:.5em;padding:.5em .7em}.gloss{font-size:var(--fs-sm);color:var(--muted);margin:0;padding:0 0 0 .9em;list-style:none}.turn-tools{gap:2px;margin:-2px 0 0 .4em;display:flex}.turn-tools button{min-height:36px;font-size:var(--fs-sm);color:var(--accent);background:0 0;border:none;align-items:center;gap:.3em;padding:0 .6em;display:inline-flex;position:relative}.assist{max-width:88%;font-size:var(--fs-sm);color:var(--muted);padding:0 .9em}.assist.why-text{align-self:flex-end;padding:0}.why{min-height:0;font-size:inherit;color:inherit;text-underline-offset:2px;background:0 0;border:none;margin:-.3em 0;padding:.3em .2em;font-weight:600;text-decoration:underline;position:relative}.hint{border-radius:var(--radius-sm);background:var(--accent-soft);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:8px;padding:.35em .35em .35em .8em;display:flex}.hint button{flex:none;min-height:36px;padding:.2em .9em;position:relative}.typing{gap:4px;padding:6px 2px;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.error-box{text-align:center;color:var(--danger);flex-direction:column;align-self:center;align-items:center;gap:6px;display:flex}.composer{border-top:1px solid var(--border);padding:10px 0 max(10px, env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;gap:8px;display:flex}.composer textarea{min-height:46px;max-height:30vh;margin:0}.composer-buttons{gap:8px;display:flex}.composer-buttons button{min-height:44px}.composer-buttons .end{margin-left:auto}.composer-row{align-items:flex-end;gap:8px;display:flex}.composer-row textarea{flex:1;width:auto;min-width:0}.composer-row .primary{min-height:46px}.mic{justify-content:center;align-items:center;min-width:48px;display:inline-flex}.mic svg{width:22px;height:22px}.mic.listening,.mic.listening:not(:disabled):hover,.mic.listening:not(:disabled):active{background:var(--danger);color:var(--danger-text);border-color:var(--danger);animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.65}}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats>*{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;padding:.5rem .4rem;display:flex}.stats strong{font-size:var(--fs-lg);color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2}.stats span{font-size:var(--fs-xs);color:var(--muted);line-height:1.25}.error-card{color:var(--danger);border-color:var(--danger)}.session-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.session-row a{min-width:0;color:var(--text);flex:1}.icon-button{min-width:44px;min-height:44px;color:var(--muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:10px;display:inline-flex}.icon-button svg{width:20px;height:20px}@media (hover:hover){.icon-button:not(:disabled):hover{color:var(--danger)}}.meter{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.meter>div{background:var(--accent);height:100%}.account{flex-direction:column;gap:4px;display:flex}.limit{color:var(--muted);align-items:center;gap:4px;display:flex}.limit input{width:7em;margin:0;padding:.25em .5em}.review-item{flex-direction:column;gap:6px;display:flex}.review-item.off{opacity:.55}.tag{font-size:var(--fs-xs);background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:.4em;padding:.1em .5em}.check{align-items:center;gap:.6em;display:flex}.check input{flex:none}.example b,.correct{color:var(--accent)}.correct{font-weight:600}.toolbar{align-items:center;gap:12px;display:flex}.toolbar input[type=search]{flex:1;margin:0}.toolbar .check{white-space:nowrap}.word-head{justify-content:space-between;gap:8px;display:flex}.inline-edit{gap:6px;display:flex}.inline-edit input{margin:0}@media (width<=480px){.row{grid-template-columns:1fr}.composer-buttons button{padding:.5em .7em}}.library-row strong{color:var(--text)}.done{color:var(--accent);font-weight:600}.story-paragraph{font-size:var(--fs-md);transition:background-color var(--dur-state) var(--ease-out), box-shadow var(--dur-state) var(--ease-out);border-radius:6px;margin:0;line-height:1.7}.story-paragraph.reading{background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-soft)}.read-all{align-self:flex-start}.gloss-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.gloss-line button{white-space:nowrap;min-height:44px;padding:.3em .8em}.grammar h2{margin-top:.6em}.bullets{margin:0;padding-left:1.2em}.bullets li{margin:.25em 0}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;background:var(--surface);width:100%}.table-wrap th,.table-wrap td{border:1px solid var(--border);text-align:left;padding:.4em .6em}.table-wrap th{background:var(--accent-soft)}.right-text{color:var(--accent);font-weight:600}.wrong-text{color:var(--danger)}.next-lesson{color:var(--text);justify-content:space-between;align-items:center;gap:8px;text-decoration:none;display:flex}.chevron{width:20px;height:20px;color:var(--muted);flex:none}.start .options summary{color:var(--accent);padding:.55em 0;list-style:none}.start .options summary::-webkit-details-marker{display:none}.start .options summary:before{content:"▸";width:1em;transition:transform var(--dur-state) var(--ease-out);display:inline-block}.start .options[open] summary:before{transform:rotate(90deg)}.start .options[open]>.stack{margin-top:.6rem}.anki{background:var(--accent-soft);border-color:#0000;justify-content:space-between;align-items:center;gap:12px;display:flex}.anki p{margin:0}.anki button{flex:none}.actionbar{bottom:calc(var(--tabbar-space) + 8px);z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:sticky}.actionbar button{min-width:8em}h1 .count{font-size:var(--fs-sm);vertical-align:middle;font-variant-numeric:tabular-nums;font-weight:600}.words .word-head{align-items:flex-start}.words .translation{margin:.2em 0}.row-actions{flex:none;margin:-10px -10px 0 0;display:inline-flex}.login .logo{border-radius:22px;margin:0 auto .6rem;display:block;box-shadow:0 6px 20px #0b7a3e40}.list li a.next-lesson{display:flex}@media (width<=480px){.anki{text-align:center;flex-direction:column;align-items:stretch}}@media (width<=720px){.tabbar{transition:visibility 0s linear .4s}body:has(:is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=range])):focus) .tabbar{visibility:hidden;transition:none}.actionbar{transition:bottom 0s linear .4s}body:has(:is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=range])):focus) .actionbar{transition:none;bottom:8px}}html{scroll-padding-bottom:96px}.recycle{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:6px 0;display:flex}.recycle-words{white-space:nowrap;scrollbar-width:none;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.recycle-words::-webkit-scrollbar{display:none}.recycle-words>*{flex:none}.recycle-word{font-size:var(--fs-sm);background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.15em .6em}.recycle .icon-button{flex:none;min-width:40px;min-height:40px;padding:8px}.back-link{min-height:44px;color:var(--accent);align-self:flex-start;align-items:center;margin:-6px 0 -10px;text-decoration:none;display:inline-flex}.recycle-grammar{font-size:var(--fs-sm);border:1px solid var(--accent);color:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:.15em .6em;text-decoration:none;display:inline-flex}.recycle-grammar svg{width:16px;height:16px}.bubble.veiled{background:var(--accent-soft);border-style:dashed;align-items:center;gap:8px;display:flex}.reveal{min-height:44px;color:var(--accent);text-align:left;background:0 0;border:none;align-items:center;gap:.4em;padding:0 .3em;font-weight:600;display:inline-flex}.welcome{background:var(--accent-soft);border-color:#0000}.steps{flex-direction:column;gap:.3em;margin:.4em 0 0;padding-left:1.3em;display:flex}.steps strong{color:var(--accent)}.ask-profile{flex-direction:column;gap:.6rem;display:flex}.ask-profile-actions{align-items:center;gap:12px;display:flex}.ask-profile-actions .button{flex:none;min-width:7em}.progress-card{color:var(--text);flex-direction:column;gap:8px;text-decoration:none;display:flex}.streak{font-size:var(--fs-md)}.streak strong{font-size:var(--fs-xl);color:var(--accent);font-variant-numeric:tabular-nums}.flame{color:var(--flame)}.flame.off{color:var(--muted);opacity:.6}.today-goal{color:var(--accent);font-weight:600}.week-head{color:var(--muted);justify-content:space-between;display:flex}.week-head .goal-met{color:var(--accent);align-items:center;gap:.3em;font-weight:700;display:inline-flex}.week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.week li{flex-direction:column;align-items:center;gap:2px;display:flex}.week .day{font-size:var(--fs-xs);color:var(--muted)}.week .dot{border:2px solid var(--control-border);width:30px;height:30px;font-size:var(--fs-sm);border-radius:50%;place-items:center;font-weight:700;display:grid}.week .done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.week .today .dot{border-color:var(--accent)}.week .today .day{color:var(--accent);font-weight:700}.week .later .dot{opacity:.6;border-style:dashed}.achievements{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.achievements li{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:.6rem .7rem;display:flex}.achievements .earned{background:var(--accent-soft);border-color:#0000}.achievements .badge{filter:grayscale();opacity:.4;font-size:1.6rem;line-height:1}.achievements .earned .badge{filter:none;opacity:1}.achievement-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.achievement-text strong{font-size:var(--fs-sm);line-height:1.25}.achievement-progress{align-items:center;gap:6px;display:flex}.achievement-progress .meter{flex:1;height:6px}.achievement-progress .meter>span{background:var(--accent);height:100%;display:block}.toast{top:calc(6px + env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:30;background:var(--surface);border:1px solid var(--accent);width:max-content;max-width:min(340px,100% - 130px);box-shadow:var(--shadow-lg);animation:toast-in var(--dur-enter) var(--ease-out);border-radius:14px;align-items:center;gap:8px;padding:.5em .4em .5em .9em;display:flex;position:fixed}.toast a{color:var(--text);font-size:var(--fs-sm);line-height:1.3;text-decoration:none}.toast-icon{font-size:var(--fs-xl);line-height:1}.toast .icon-button{min-width:40px;min-height:40px;padding:8px}@media (width>=721px){.toast{top:62px;right:max(16px,50% - 360px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}}.wrap-up{background:var(--accent-soft);border-color:#0000}.wrap-up-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wrap-up-list strong{color:var(--accent)}.wrap-up-list .icon,.practice-cards strong .icon{color:var(--accent);margin-right:.15em}.wrap-up-list .icon.flame{color:var(--flame)}a.update,.update.banner{text-align:center;color:var(--accent);justify-content:center}a.update{font-weight:600}p.update:not(.banner){color:var(--accent)}.transcript{flex-direction:column;gap:10px;display:flex}.conversation-words{color:var(--text);padding-left:0}.stats>a{color:inherit;text-decoration:none}.text-link{color:var(--accent);align-self:flex-start;font-weight:600;text-decoration:none}.practice{flex-direction:column;gap:10px;scroll-margin-top:8px;scroll-margin-bottom:8px;display:flex}.practice-progress{font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.practice-progress .meter{flex:1}.practice-sentence{font-size:var(--fs-lg);line-height:1.7}.gap{border-bottom:2px solid var(--accent);text-align:center;border-radius:4px 4px 0 0;min-width:2.5em;padding:0 .25em;display:inline-block}.gap.right{background:var(--accent-soft)}.gap.fixed{background:var(--highlight);color:var(--highlight-text);border-bottom-color:var(--highlight-line)}.practice input{font-size:var(--fs-md);margin:0;padding:.65em .8em}.practice input.right{border-color:var(--accent);background:var(--accent-soft)}.practice input.wrong{border-color:var(--danger)}.practice-feedback{min-height:1.6em}.practice-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.practice-actions .primary{min-width:9em}.practice-actions button{min-height:44px}.practice-score{background:var(--accent-soft);border-color:#0000;flex-direction:column;gap:10px;display:flex}.practice-again{background:var(--highlight);color:var(--highlight-text);border-radius:8px;margin:0;padding:.3em .6em}.practice-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.practice-cards a{color:var(--text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.lesson-done{background:var(--accent-soft);border-color:#0000}.lesson-nav{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin-top:.5rem;padding-top:.25rem;display:flex}.lesson-nav .next{text-align:right;margin-left:auto}.lesson-nav .link{text-align:left;min-height:44px;padding:.4em 0;font-weight:600;text-decoration:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
