:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#faf9f6;font-synthesis:none;--bg:#faf9f6;--surface:#fff;--text:#172033;--muted:#697386;--line:#e7e5df;--primary:#2447b2;--primaryText:#fff;--success:#16835b;--danger:#b83a42}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}.dark{--bg:#11151d;--surface:#191f2a;--text:#f1f4fa;--muted:#a8b0bf;--line:#303847;--primary:#9eb5ff;--primaryText:#11151d;--success:#65d5a7;--danger:#ff9ca4}.app-shell{min-height:100dvh;max-width:540px;margin:0 auto;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.content{padding:max(24px,env(safe-area-inset-top)) 20px 32px}.page-header{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--primary);color:var(--primaryText);font-weight:800}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:800;color:var(--muted)}.hero{padding:52px 0 28px}.greeting{margin:0 0 8px;color:var(--primary);font-weight:700}.hero h1,.title-header h1,.center-screen h1{font-size:32px;line-height:1.08;letter-spacing:-.04em;margin:0 0 14px}.muted{color:var(--muted);line-height:1.55}.goal-card,.panel,.settings-group,.install-note{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px}.goal-card{margin-bottom:16px}.goal-top{display:flex;justify-content:space-between;align-items:start}.goal-top strong{display:block;font-size:20px;margin-top:8px}.streak{display:flex;align-items:center;gap:5px;color:#ef7d35;font-weight:800}.progress-track{height:8px;background:var(--line);border-radius:99px;margin:20px 0 10px;overflow:hidden}.progress-track span,.session-progress span{display:block;height:100%;background:var(--primary);border-radius:99px}.goal-card p{font-size:13px;color:var(--muted);margin:0}.primary,.secondary{border:0;border-radius:14px;min-height:52px;font-weight:800}.primary{background:var(--primary);color:var(--primaryText)}.primary.big{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.secondary{padding:0 22px;background:var(--surface);color:var(--primary);border:1px solid var(--line)}.secondary:disabled{opacity:.4}.quick-row{display:flex;align-items:center;justify-content:space-between;padding:28px 4px 16px}.quick-row>div{display:flex;flex-direction:column}.stat-number{font-size:28px;font-weight:800}.stat-label,.level-note{font-size:13px;color:var(--muted)}.level-note{text-align:center}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translate(-50%);width:min(100%,540px);display:grid;grid-template-columns:repeat(3,1fr);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-button{border:0;background:none;color:var(--muted);min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px}.nav-button svg{width:21px}.nav-button.active{color:var(--primary);font-weight:800}.exercise-shell{min-height:100dvh;max-width:540px;margin:0 auto;display:flex;flex-direction:column}.exercise-header{padding:max(12px,env(safe-area-inset-top)) 16px 12px;display:flex;align-items:center;gap:12px}.icon-button{width:44px;height:44px;border:0;background:transparent;color:var(--text);display:grid;place-items:center}.session-progress{flex:1;height:6px;background:var(--line);border-radius:99px;overflow:hidden}.exercise-header>span{font-size:13px;color:var(--muted)}.exercise-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(18px,6vh,60px) 20px max(20px,env(safe-area-inset-bottom))}.level-pill{font-size:12px;font-weight:800;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:6px 10px;border-radius:99px}.sense{font-size:18px;margin:18px 0 0;color:var(--muted)}.sentence{font-size:clamp(26px,7.2vw,34px);line-height:1.3;letter-spacing:-.025em;margin:auto 0}.exercise-content form{display:flex;flex-direction:column;gap:12px}.exercise-content label{font-size:13px;font-weight:800}.exercise-content input{width:100%;min-height:56px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font-size:16px;padding:0 16px;outline:none}.exercise-content input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.text-actions{display:flex;justify-content:space-between;margin-bottom:5px}.text-actions button{border:0;background:transparent;color:var(--primary);min-height:44px;padding:0;font-weight:700}.text-actions button:disabled{opacity:.45}.feedback{border-top:1px solid var(--line);padding-top:20px}.feedback-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800}.feedback.correct .feedback-title{color:var(--success)}.feedback.incorrect .feedback-title{color:var(--danger)}.feedback p{color:var(--muted);line-height:1.5}.feedback .primary{margin-top:10px}.center-screen{min-height:100dvh;max-width:480px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.success-orb{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);margin-bottom:28px}.center-screen .eyebrow{margin-bottom:14px}.center-screen .primary{margin-top:24px;max-width:320px}.title-header{padding:20px 0 28px}.title-header h1{margin-top:8px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column}.metric strong{font-size:28px}.metric span{color:var(--muted);font-size:13px;margin-top:4px}.panel{margin-top:16px}.panel h2,.settings-group h2{font-size:16px;margin:0 0 18px}.chart{height:150px;display:flex;align-items:end;gap:10px}.bar-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.bar{width:100%;max-width:28px;border-radius:8px 8px 3px 3px;background:var(--primary);min-height:5px}.bar-column small{color:var(--muted)}.progress-copy{display:flex;align-items:center;gap:14px}.progress-copy svg{color:var(--primary)}.progress-copy p{margin:5px 0 0;color:var(--muted);font-size:13px}.settings-group{margin-bottom:16px}.setting-row,.setting-button{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:54px;border-top:1px solid var(--line)}.settings-group h2+.setting-row,.settings-group h2+.setting-button{border-top:0}.setting-row select{max-width:55%;border:0;background:transparent;color:var(--primary);text-align:right}.setting-button{border-left:0;border-right:0;border-bottom:0;background:transparent;color:var(--text);justify-content:flex-start;gap:12px;text-align:left}.setting-button svg{width:20px;color:var(--primary)}.install-note p,.credits{font-size:13px;line-height:1.5;color:var(--muted)}.credits{text-align:center;padding:10px 0 20px}@media(max-height:700px){.hero{padding:28px 0 18px}.exercise-content{padding-top:12px;gap:12px}.sentence{font-size:25px}.sense{margin-top:10px}.text-actions{margin:0}}.new-session{display:block;margin:10px auto 2px;min-height:44px;border:0;background:transparent;color:var(--primary);font-weight:750}.error-message{margin:8px 0;color:var(--danger);font-size:13px;line-height:1.45}.summary-stats{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.accuracy-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.accuracy-panel>div{display:flex;flex-direction:column;gap:8px}.accuracy-panel strong{font-size:30px}.accuracy-panel p{max-width:55%;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;background:#0c1220a8;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.restore-dialog{width:min(100%,500px);background:var(--surface);border-radius:22px;padding:22px;color:var(--text);box-shadow:0 20px 60px #0005}.restore-dialog h2{margin:0 0 12px;font-size:22px}.restore-dialog p{line-height:1.5}.secondary.wide{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;margin:16px 0}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.dialog-actions button{min-height:48px;border:0;border-radius:13px;font-weight:800}.ghost{background:var(--bg);color:var(--text)}.danger{background:var(--danger);color:#fff}.dialog-actions button:disabled{opacity:.55}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}html,body,#root,.exercise-content{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}.exercise-shell{height:var(--app-height, 100dvh);min-height:0;overflow:hidden;background:var(--bg)}.exercise-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sentence{overflow-wrap:anywhere}.inline-answer{display:inline-block!important;min-width:5ch!important;max-width:18ch!important;min-height:0!important;height:1.3em!important;margin:0 .12em!important;padding:0 .22em!important;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line))!important;border-radius:.22em!important;background:color-mix(in srgb,var(--primary) 10%,var(--surface))!important;color:var(--text)!important;-webkit-text-fill-color:var(--text);font:inherit!important;font-weight:inherit!important;line-height:1!important;text-align:left;vertical-align:-.12em;outline:none!important;box-shadow:none!important;caret-color:var(--primary)}.inline-answer.prefix-correct{color:var(--success)!important;-webkit-text-fill-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--surface))!important;border-color:color-mix(in srgb,var(--success) 38%,var(--line))!important}.inline-answer:focus{box-shadow:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-height:700px){.exercise-content{justify-content:flex-start}.sentence{margin:clamp(12px,5vh,30px) 0 auto}.exercise-content form{padding-bottom:2px}}.pwa-toast{position:fixed;z-index:30;right:max(16px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));width:min(calc(100% - 32px),500px);margin:0 auto;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 16px 40px #08102030}.pwa-toast>div:first-child{display:flex;flex-direction:column;gap:4px}.pwa-toast span{color:var(--muted);font-size:13px;line-height:1.35}.pwa-toast.error strong{color:var(--danger)}.pwa-actions{display:flex;align-items:center;gap:8px}.pwa-actions button,.toast-close{min-width:44px;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--text);font-weight:750}.pwa-actions .primary{padding:0 14px;background:var(--primary);color:var(--primaryText)}.toast-close{font-size:24px}@media(max-width:390px){.pwa-toast{align-items:stretch;flex-direction:column}.pwa-actions{justify-content:flex-end}}
