:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#20252c;font-synthesis:none;--ink:#20252c;--muted:#56636f;--line:#dce2e5;--accent:#0b6c65;--accent-wash:#edf6f3;--serif:Georgia, "Times New Roman", serif;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline-offset:4px;outline:3px solid #b44b63}[hidden]{display:none!important}h1,p{margin:0}svg{flex-shrink:0}#stage{width:var(--stage-w,360px);zoom:var(--k,1);margin:0 auto;position:relative}.view{min-height:640px;padding-bottom:24px}#overview-view{flex-direction:column;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:72px;padding:16px 20px;display:flex}.wordmark{flex:1;font-size:23px;font-weight:700;line-height:30px}.wordmark span{color:var(--muted);padding-left:5px;font-size:18px;font-weight:400}.exercise-position{color:var(--muted);font-variant-numeric:tabular-nums;font-size:16px}.story-position{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink);font-variant-numeric:tabular-nums;background:#fff;border-radius:6px;padding:0 12px;font-size:16px}.story-position:active{background:#edf1f4}.story-autoplay[aria-pressed=false] .lucide-pause,.story-autoplay[aria-pressed=true] .lucide-play{display:none}.story-autoplay[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.story-line{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;grid-template-columns:32px 1fr;gap:8px;width:100%;min-height:44px;padding:8px 12px;font-size:15px;line-height:21px;display:grid}.story-line-number{color:var(--muted);font-variant-numeric:tabular-nums}.story-line[aria-current=true]{border:2px solid var(--accent);background:var(--accent-wash);padding:7px 11px}.exercise-body{flex-direction:column;flex:1;gap:28px;padding:8px 20px 0;display:flex}.language-label{color:var(--muted);font-size:14px;font-weight:400;line-height:20px;display:block}.translation{color:var(--muted);font-size:20px;line-height:30px}.translation .language-label{margin-bottom:4px}.sentence{font-family:var(--serif);font-optical-sizing:auto;overflow-wrap:anywhere;text-align:center;font-size:40px;font-weight:420;line-height:68px}.punctuation{color:var(--muted)}:lang(zh){font-family:var(--serif-zh,"Noto Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", "SimSun", serif)}.sentence:lang(zh){line-height:84px}.zh-word{display:inline-block}ruby{ruby-position:over}rt{color:var(--muted);letter-spacing:0;font-family:system-ui,sans-serif;font-size:.4em;line-height:1}.no-pinyin rt{visibility:hidden}.sentence.is-tagged .zh-word{border:1px dashed #0000;border-radius:6px;margin-block:4px}.sentence.is-tagged .word-tag,.sentence.is-tagged .punctuation{border:1px dashed #0000;border-radius:6px;margin-block:4px;line-height:60px}.gap-button{vertical-align:middle;border:0;border-bottom:2px dashed var(--accent);background:var(--accent-wash);min-width:140px;min-height:60px;color:var(--accent);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;padding:0 16px;font-family:inherit;font-size:40px;line-height:52px;display:inline-flex}.gap-button.is-filled{background:var(--accent-wash);color:var(--accent);border-bottom-style:solid}.gap-text{display:inline-block}.flyer{z-index:2;pointer-events:none;white-space:nowrap;font-family:var(--serif);color:var(--accent);will-change:transform, opacity;text-shadow:0 0 6px #14b8a6cc,0 0 20px #14b8a68c;font-size:28px;line-height:56px;position:absolute;top:0;left:0}.spark{z-index:1;pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle,#fff 0%,#5eead4 35%,#14b8a600 70%);border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 10px 2px #14b8a68c}.feedback{border-left:4px solid var(--tone);background:var(--tone-wash);border-radius:10px;gap:10px;padding:14px 16px;font-family:Inter Variable,Arial,sans-serif;font-size:20px;line-height:30px;display:grid}.feedback[data-kind=explain]{--tone:#0b6c65;--tone-wash:#edf6f3}.feedback[data-kind=error]{--tone:#b3413d;--tone-wash:#fbefee}.feedback-verdict{color:var(--tone);font-size:22px;font-weight:700;line-height:30px}.feedback-lead{color:var(--muted)}.feedback mark{color:var(--tone);background:linear-gradient(color-mix(in srgb, var(--tone) 16%, transparent), color-mix(in srgb, var(--tone) 16%, transparent)) no-repeat;background-size:100% 100%;border-radius:3px;padding:0 1px;font-weight:700}.feedback-tag{font-family:var(--serif);color:var(--ink);white-space:nowrap;background:#fff;border:1px dashed #56636fb3;border-radius:6px;margin:1px 0;padding:0 8px;font-size:20px;line-height:28px;display:inline-block}.feedback-tag mark{font-weight:400}.feedback-because mark,.feedback-because .feedback-tag mark{color:#fff;background:linear-gradient(var(--tone), var(--tone)) no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-size:100% 100%;border-radius:5px;padding:0 5px;font-weight:700}.feedback-bridge{font-size:18px;line-height:28px}.feedback-pair{border-top:1px dashed #56636f59;gap:4px;padding-top:8px;display:grid}.pair-line{display:grid}.pair-en{font-family:var(--serif);font-size:22px;line-height:30px}.pair-ru{color:var(--muted);font-size:16px;line-height:24px}.feedback-more{border:1px solid var(--tone);min-height:52px;color:var(--tone);background:#fff;border-radius:26px;justify-self:start;padding:0 18px;font-size:17px;font-weight:600}.feedback-more:active{background:var(--tone-wash)}.practice-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.practice-item{border-left:4px solid var(--mark);background:#fff;border-radius:8px;gap:2px;padding:8px 12px 8px 44px;display:grid;position:relative}.practice-item[data-ok=true]{--mark:#1f8a4c}.practice-item[data-ok=false]{--mark:#c0392b}.practice-icon{width:22px;height:22px;color:var(--mark);stroke-width:2.5px;position:absolute;top:12px;left:12px}.practice-en{font-family:var(--serif);font-size:20px;line-height:28px}.practice-en mark{color:var(--mark);background:color-mix(in srgb, var(--mark) 14%, transparent);border-radius:3px;padding:0 1px;font-weight:700}.practice-ru{color:var(--muted);font-size:16px;line-height:24px}.practice-note{color:var(--mark);font-size:16px;font-weight:600;line-height:24px}.practice-en mark,.pair-en mark{display:inline-block}.pair-line{border-radius:8px;margin:0 -8px;padding:4px 8px;transition:background-color .2s,box-shadow .2s}.practice-item{transition:background-color .2s,box-shadow .2s}.pair-line.is-speaking,.practice-item.is-speaking{background:var(--tone-wash);box-shadow:0 2px 10px #20252c14}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.story-context{color:var(--muted);opacity:.75;font-family:Inter Variable,Arial,sans-serif;font-size:16px;line-height:24px}.story-source{gap:8px;margin:16px 20px 0;display:grid}.reveal-source{border:1px dashed var(--muted);min-height:52px;color:var(--muted);background:#fff;border-radius:26px;justify-self:start;padding:0 18px;font-size:16px}.source-text{border-left:3px solid var(--line);font-family:var(--serif);color:var(--ink);margin:0;padding:10px 14px;font-size:18px;font-style:italic;line-height:28px}.choice-list{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;display:grid}.choice{border:1px solid var(--line);min-height:72px;font-family:var(--serif);overflow-wrap:anywhere;background:#fff;border-radius:8px;padding:8px 4px;font-size:28px;line-height:34px}.choice[aria-pressed=true]{color:var(--accent)}.choice{isolation:isolate;position:relative;overflow:hidden}.choice-line{background:var(--accent);pointer-events:none;border-radius:2px;height:3px;position:absolute;bottom:12px;left:22%;right:22%;transform:scaleX(0)}.choice:active{background:#edf1f4}.choice[data-verdict=right]{color:#0b6c65;border-color:#0b6c65;box-shadow:inset 0 0 0 1px #0b6c65}.choice[data-verdict=wrong]{color:#b3413d;background:#fbefee;border-color:#b3413d}.card-step{white-space:nowrap}.card-step.is-current{color:var(--accent);font-weight:700}.icon-button{border:1px solid var(--line);background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;padding:0;display:inline-flex}.icon-button svg{stroke-width:1.75px;pointer-events:none;width:23px;height:23px}.icon-button:active:not(:disabled){background:#edf1f4}.exercise-footer{border-top:1px solid var(--line);align-items:center;gap:12px;margin:20px 20px 0;padding-top:16px;display:flex}.exercise-footer:has(#story-listen:not([hidden])){gap:8px}.key-hint{color:var(--muted);margin:8px 20px 0;font-size:12px;line-height:18px}.key-hint kbd{border:1px solid var(--line);min-width:18px;font:inherit;text-align:center;border-radius:4px;margin-right:2px;padding:0 4px;display:inline-block}.key-hint-setup{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}button.criteria-link{cursor:pointer;background:#fff}.hotkeys-open{width:100%;margin-bottom:12px}.hotkeys-help{color:var(--muted);padding:0 8px 12px;font-size:14px}.hotkeys-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.hotkey-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:110px 1fr;align-items:center;gap:8px;padding:6px 8px;display:grid}.hotkey-name{font-size:16px}.hotkey-keys{flex-wrap:wrap;gap:6px;display:flex}.hotkey-chip,.hotkey-add{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:18px;padding:0 10px;font-size:14px}.hotkey-chip kbd{font:inherit;font-weight:600}.hotkey-add{color:var(--accent);border-style:dashed}.hotkey-add[aria-pressed=true]{border-style:solid;border-color:var(--accent);background:var(--accent-wash)}.selected-status{min-width:0;color:var(--muted);overflow-wrap:anywhere;flex:1;font-size:16px;line-height:24px}.view-title{flex:1;font-size:20px;font-weight:500;line-height:28px}.width-handle{z-index:3;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;width:16px;position:absolute;top:0;bottom:0;right:0}.width-handle:before{content:"";background:var(--line);border-radius:2px;width:4px;height:64px;margin-top:-32px;position:absolute;top:50%;right:5px}.width-handle:hover:before,.width-handle.is-dragging:before{background:var(--accent)}.width-handle:focus-visible{outline-offset:-3px;outline:3px solid #b44b63}.width-label{opacity:0;background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-size:14px;line-height:20px;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.ghost-button{border-color:#0000}.ghost-button:hover{border-color:var(--line)}.settings{border:1px solid var(--line);width:420px;max-width:calc(100% - 20px);color:var(--ink);background:#fff;border-radius:10px;padding:0;box-shadow:0 24px 60px #20252c38}.settings::backdrop{background:#20252c47}.settings-head{align-items:center;gap:12px;padding:12px 12px 4px 20px;display:flex}.font-options{border:0;margin:0;padding:0 12px 16px}.settings-legend{color:var(--muted);padding:0 8px 8px;font-size:14px}.font-list{gap:4px;display:grid}.font-option{border:1px solid var(--line);cursor:pointer;border-radius:8px;gap:0;min-height:44px;padding:8px 12px;display:grid}.font-option input{opacity:0;pointer-events:none;position:absolute}.font-option:has(input:checked){border:2px solid var(--accent);background:var(--accent-wash);padding:7px 11px}.font-option:has(input:focus-visible){outline-offset:2px;outline:3px solid #b44b63}.font-sample{white-space:nowrap;text-overflow:ellipsis;font-size:20px;line-height:28px;overflow:hidden}.font-name{color:var(--muted);font-size:13px;line-height:18px}.font-name small{font-size:13px}.advance-list{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.advance-list .font-option{font-variant-numeric:tabular-nums;place-items:center;font-size:16px}.criteria-link{border:1px solid var(--line);min-height:44px;color:var(--accent);border-radius:8px;align-items:center;padding:8px 12px;font-size:16px;text-decoration:none;display:flex}.criteria-link+.criteria-link{margin-top:6px}#story-next{position:relative;overflow:hidden}.advance-bar{background:var(--accent);transform-origin:0;pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.lessons-button{position:relative}.lessons-count{background:var(--accent);color:#fff;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:6px;right:4px}.save-fragment{z-index:4;background:var(--ink);color:#fff;border:0;border-radius:26px;min-height:52px;padding:0 18px;font-size:16px;font-weight:600;position:absolute;box-shadow:0 8px 20px #20252c40}.save-toast{z-index:4;background:var(--accent);color:#fff;white-space:nowrap;pointer-events:none;border-radius:20px;padding:8px 16px;font-size:15px;position:absolute;top:76px;left:50%;transform:translate(-50%)}.lessons-list{gap:6px;max-height:480px;margin:0;padding:0 12px 16px;list-style:none;display:grid;overflow:auto}.lesson-item{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:8px 4px 8px 12px;display:grid}.lesson-text{font-family:var(--serif);font-size:18px;line-height:26px}.lesson-meta,.lesson-open{color:var(--muted);grid-column:1;font-size:13px;line-height:18px}.lesson-open{color:var(--accent)}.lesson-remove{grid-area:1/2/span 3}.lesson-empty{color:var(--muted);padding:12px;font-size:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}.signals{font-family:Inter Variable,Arial,sans-serif}.signal-pair{border:1px solid var(--line);background:#fff;border-radius:26px;display:inline-flex}.signal{min-height:52px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:26px;align-items:center;gap:6px;padding:0 14px;font-size:15px;line-height:20px;display:inline-flex}.signal svg{width:22px;height:22px}.pictogram{overflow:visible}.signal[data-value=yes][aria-pressed=true]{background:var(--accent);color:#fff}.signal[data-value=no][aria-pressed=true]{color:#fff;background:#b3413d}.signals-icons{align-items:center;gap:2px;margin-left:auto;display:flex}.signal-visits{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.signal-visits-bar{padding:0 6px}.signal-toggle{position:relative}.signal-visits-badge{min-width:24px;color:var(--accent);background:#fff;border-radius:12px;padding:2px 6px;font-size:13px;line-height:16px;position:absolute;top:-4px;right:-6px;box-shadow:0 1px 4px #20252c40}.signal-cycle{color:var(--muted)}.signal-cycle[data-value=yes]{color:var(--accent);background:var(--accent-wash)}.signal-cycle[data-value=no]{color:#b3413d;background:#fbefee}.signals-fan{z-index:3;justify-items:end;gap:10px;display:grid;position:absolute;bottom:84px;right:16px}.signal-fan{justify-items:end;gap:8px;display:grid}.signal-fan .signal-pair{box-shadow:0 6px 20px #20252c1f}.signal-toggle{background:var(--accent);color:#fff;border:0;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 6px 18px #0b6c6559}.hint{z-index:6;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.hint-hand{pointer-events:none;filter:drop-shadow(0 6px 10px #20252c40);will-change:transform;width:64px;height:64px;position:absolute;top:0;left:0}.hint-ring{pointer-events:none;background:#20252c59;border:2px solid #fff9;border-radius:50%;width:44px;height:44px;position:absolute;top:0;left:0}.course-picker{background:radial-gradient(120% 80% at 50% 0%, var(--accent-wash), #fff 70%);align-content:center;justify-items:center;gap:12px;padding:72px 16px 56px;display:grid}.picker-wordmark{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:15px;font-weight:700}.picker-title{font-family:var(--serif);text-align:center;perspective:600px;margin:0;font-size:44px;font-weight:400;line-height:1.1}.picker-subtitle{color:var(--muted);margin:0 0 24px;font-size:20px}.picker-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;width:min(100%,920px);display:grid}.picker-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:16px;justify-items:start;gap:6px;padding:20px 20px 22px;transition:border-color .2s,box-shadow .2s;display:grid;box-shadow:0 1px 2px #20252c0a}.picker-card:hover{border-color:var(--accent);box-shadow:0 10px 30px #0b6c651f}.picker-glyph{color:var(--accent);font-family:var(--serif);margin-bottom:6px;font-size:44px;line-height:1;display:inline-block}.picker-pair{background:var(--accent-wash);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:14px;line-height:20px}.picker-label{font-size:21px;font-weight:700}.picker-note{color:var(--muted);font-size:15px;line-height:21px}.side-rail{width:72px;position:absolute;top:0;bottom:0}.side-rail-prev{left:-96px}.side-rail-next{right:-96px}.side-nav{top:var(--side-top,320px);border:1px solid var(--line);width:72px;height:72px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;transition:color .2s,border-color .2s,box-shadow .2s;display:grid;position:sticky;box-shadow:0 4px 14px #20252c14}.side-nav svg{stroke-width:1.75px;pointer-events:none;width:36px;height:36px}.side-nav:hover:not(:disabled){color:var(--accent);border-color:var(--accent);box-shadow:0 8px 24px #0b6c652e}.side-nav:disabled{opacity:.3;box-shadow:none}#stage[data-mode=picture] .exercise-body,#stage[data-mode=picture] #story-source,#stage[data-mode=picture] #reset-answer,#stage[data-mode=picture] #split-words,#stage[data-mode=picture] #selected-status,#stage[data-mode=picture] #story-listen{display:none!important}.picture-card{gap:14px;margin:8px 20px 0;display:grid}.picture-image{aspect-ratio:3/2;object-fit:cover;background:var(--accent-wash);border-radius:12px;width:100%;height:auto;display:block}.picture-frame{border-radius:12px;overflow:hidden}.picture-caption{gap:4px;display:grid}.picture-sentence{font-family:var(--serif);font-size:26px;line-height:36px}.picture-line{color:var(--muted);font-size:17px;line-height:25px}.auth-box{z-index:50;font:14px/1.3 Inter Variable,system-ui,sans-serif;position:fixed;bottom:12px;left:12px}.auth-button{color:#20252c;cursor:pointer;background:#fff;border:1px solid #d5dbe0;border-radius:18px;align-items:center;gap:6px;height:36px;padding:0 12px;display:inline-flex;box-shadow:0 1px 3px #00000014}.auth-button:hover{color:#0b6c65;border-color:#0b6c65}.auth-button svg{width:18px;height:18px}.auth-menu{background:#fff;border:1px solid #d5dbe0;border-radius:10px;gap:2px;min-width:220px;padding:8px;display:grid;position:absolute;bottom:44px;left:0;box-shadow:0 6px 24px #0000001f}.auth-menu[hidden]{display:none}.auth-who{color:#5b6570;overflow-wrap:anywhere;border-bottom:1px solid #eef1f3;margin-bottom:4px;padding:6px 8px 8px}.auth-menu button,.auth-menu a{all:unset;cursor:pointer;color:#20252c;border-radius:6px;padding:7px 8px}.auth-menu button:hover,.auth-menu a:hover{background:#edf6f3}.auth-menu .auth-danger{color:#a3312a}.gate{color:#20252c;border:0;border-radius:14px;max-width:420px;padding:24px;font:15px/1.5 Inter Variable,system-ui,sans-serif;box-shadow:0 12px 40px #0003}.gate::backdrop{background:#14191e59}.gate h2{margin:0 0 8px;font-size:19px}.gate p{color:#3d4650;margin:0 0 18px}.gate-actions{justify-content:flex-end;gap:8px;display:flex}.gate-actions button{cursor:pointer;height:36px;font:inherit;background:#fff;border:1px solid #d5dbe0;border-radius:8px;padding:0 14px}.gate-actions .gate-primary{color:#fff;background:#0b6c65;border-color:#0b6c65}.auth-credits{color:#0b6c65;padding:2px 8px 6px}.auth-balance{color:#0b6c65;font-variant-numeric:tabular-nums}
