:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172736;background:#f3f7fa;font-synthesis:none;--muted:#596e7d;--line:#e6edf2;--blue:#e4f2ff;--ink:#172736}
*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #338acb;outline-offset:3px}button{border:0;background:none;color:inherit}input,select,textarea{max-width:100%;border:1px solid #dbe5ed;border-radius:14px;padding:12px 14px;background:#fff;color:var(--ink)}textarea{width:100%;min-height:110px;resize:vertical;line-height:1.5}input[type=checkbox]{width:18px;height:18px;accent-color:#4385b8;flex-shrink:0}label{display:block;font-size:14px;line-height:1.5}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,5vw,43px);letter-spacing:-1.5px;line-height:1.12;font-weight:650;margin-bottom:14px}h2{font-size:23px;letter-spacing:-.5px;font-weight:620}h3{font-size:18px;font-weight:600}p{line-height:1.6}small,.small{font-size:13px;line-height:1.55}a{color:#246694;text-underline-offset:3px}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.sky{position:absolute;inset:0 0 auto;height:520px;z-index:-1;background:radial-gradient(ellipse at 20% 10%,#c3e6ff 0,transparent 55%),radial-gradient(ellipse at 86% 16%,#d0eaff 0,transparent 53%),linear-gradient(#edf7ff,#f3f7fa);filter:blur(3px)}.shell{max-width:960px;margin:0 auto;padding:28px 28px 120px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:44px}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.brand img{width:33px;height:33px}.profile-button{border:1px solid #ffffffb3;background:#ffffffa8;padding:8px 13px;border-radius:30px;font-size:13px;display:flex;align-items:center;gap:8px}.avatar{height:28px;width:28px;background:#d9edfd;border-radius:50%;display:inline-grid;place-items:center;font-weight:600;color:#3b6687}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#49738e;font-weight:700;margin-bottom:16px}.muted{color:var(--muted)}.intro{margin-bottom:28px;max-width:650px}.intro p{color:var(--muted);font-size:16px;margin-bottom:0}.card{background:#fff;border:1px solid #fff;border-radius:28px;padding:28px;box-shadow:0 10px 40px #23486008;margin-bottom:18px;min-width:0;overflow-wrap:anywhere}.card.soft{background:#fafdffb8;border-color:#fff}.primary{background:#172736;color:white;padding:15px 22px;border-radius:16px;font-weight:550;min-height:49px}.secondary{background:#edf4f9;padding:13px 18px;border-radius:15px;font-weight:500;min-height:45px}.text-button{color:#286694;padding:9px 0;font-size:14px;font-weight:550}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.actions>*{min-width:0}.badge{display:inline-block;border-radius:20px;background:#eaf4fc;color:#426781;padding:6px 11px;font-size:12px;line-height:1.4}.badge.neutral{background:#f1f3f5;color:#65717b}.badge.good{background:#eaf5ef;color:#326147}.meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.spaced{justify-content:space-between}.dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px;align-items:start}.metrics{display:flex;gap:24px;padding:3px 0 24px;border-bottom:1px solid var(--line);margin-bottom:26px}.metric strong{font-size:25px;display:block;font-weight:580}.metric span{color:var(--muted);font-size:12px}.phrase{font-size:clamp(24px,4vw,33px);letter-spacing:-.6px;line-height:1.25;margin:22px 0 16px}.translation{background:#f1f8ff;border:1px solid #e6f2fc;border-radius:20px;padding:20px;margin:15px 0 18px;font-size:22px;line-height:1.4}.translation.hidden-answer{font-size:14px;color:#567185;min-height:85px;display:grid;place-items:center;border-style:dashed}.check-label{display:flex;align-items:flex-start;gap:9px;margin:13px 0}.recall-label{margin-top:20px;margin-bottom:7px;color:var(--muted)}.practice-input{min-height:82px}.progress-row{display:flex;justify-content:space-between;font-size:13px;margin:10px 0}.progress-track{height:7px;background:#edf2f6;border-radius:20px;overflow:hidden}.progress-track progress{width:100%;height:8px;display:block;accent-color:#7ab6df}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:22px 0}.day-dot{background:#f1f5f8;border-radius:12px;text-align:center;padding:11px 2px;font-size:12px;color:#667a89}.day-dot.active{background:#dcefff;color:#234f6f;outline:1px solid #b9dcf6}.day-dot small{display:block;font-size:10px;margin-top:5px}.nav{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:6px;background:#ffffffed;border:1px solid #fff;box-shadow:0 10px 45px #23496124;backdrop-filter:blur(20px);border-radius:24px;padding:7px;width:min(440px,calc(100% - 28px));z-index:5}.nav button{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;border-radius:18px;min-height:49px;padding:9px 4px}.nav button.active{background:#e4f1fb;color:#25577c}.nav-icon{font-size:20px}.welcome{max-width:730px;margin:36px auto 0;text-align:center}.welcome .mark{width:66px;height:66px;border-radius:23px;margin-bottom:28px;box-shadow:0 12px 30px #6b9fbc20}.welcome h1{font-size:clamp(36px,6vw,53px);margin-bottom:18px;letter-spacing:-2px}.welcome .subtitle{font-size:18px;max-width:450px;margin:0 auto;color:var(--muted);line-height:1.6}.profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px}.profile-card{background:white;border:1px solid #ffffff;border-radius:30px;padding:30px 20px;text-align:left;box-shadow:0 14px 45px #294d6210;transition:transform .15s}.profile-card:hover{transform:translateY(-3px)}.profile-card .avatar{height:55px;width:55px;border-radius:20px;font-size:22px;margin-bottom:28px}.profile-card:nth-child(2) .avatar{background:#e8e9fb;color:#6a6893}.profile-card h2{margin-bottom:8px}.profile-card p{font-size:13px;color:var(--muted)}.local-note{margin:28px auto;font-size:12px;color:#6d8292;max-width:420px;line-height:1.7}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filters input{flex:1 1 220px}.filters select{flex:1 1 150px}.corpus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.corpus-grid .card{margin:0}.corpus-card h2{font-size:22px;margin:16px 0 12px;line-height:1.3}.corpus-card .foreign{color:#326c93;font-size:18px;margin-bottom:18px}.corpus-card .meta{font-size:12px;color:var(--muted)}.frequency{font-size:13px;color:#657c8c;margin:16px 0 10px}.empty{text-align:center;padding:40px 24px}.empty-symbol{font-size:32px;color:#73a5c8;margin-bottom:18px}.notice{border-radius:18px;padding:17px 19px;background:#eaf4fc;font-size:13px;line-height:1.65;color:#44647a;margin:16px 0}.notice.warn{background:#fff6e8;color:#80663d}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-stack{display:grid;gap:16px}.form-stack label input,.form-stack label select{display:block;width:100%;margin-top:7px}.list-row{padding:16px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row p{margin:6px 0}.review-card .source-text{white-space:pre-wrap;background:#f4f7fa;padding:16px;border-radius:16px;max-height:330px;overflow:auto;line-height:1.6;font-size:14px}.source-neighbor{color:#71808b}.source-current{color:#172736;background:#e5f1fc;border-radius:8px;padding:8px;margin:5px 0}.candidate{padding:15px 0;border-bottom:1px solid var(--line)}.candidate small{display:block;margin-left:28px;color:var(--muted)}details{margin-top:12px}summary{cursor:pointer;color:#426a86;font-size:13px;padding:8px 0}details p{font-size:13px;color:var(--muted);margin-top:8px}.rubric{display:grid;gap:12px}.rubric label{display:flex;align-items:center;justify-content:space-between;gap:12px}.rubric select{flex:0 0 120px}.exam-answer{white-space:pre-wrap;background:#f5f8fa;padding:18px;border-radius:18px;font-size:14px;line-height:1.6;max-height:400px;overflow:auto}dialog{border:0;border-radius:28px;padding:28px;max-width:620px;width:calc(100% - 28px);max-height:85dvh;box-shadow:0 20px 80px #10263830;color:var(--ink)}dialog::backdrop{background:#1e36445c;backdrop-filter:blur(5px)}.close-dialog{margin-top:18px;width:100%}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 22px;border-radius:17px;background:#172736;color:#fff;z-index:20;font-size:14px;box-shadow:0 10px 25px #17273625}.loading{padding:60px 24px;color:#526f82;text-align:center}.saving{pointer-events:none;opacity:.7}.inline-list{padding-left:20px;line-height:1.8;font-size:14px}.divider-label{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#7a8d9b;margin:24px 0 12px}.exam-tasks{display:grid;gap:12px}.task{padding:18px;background:#f4f8fb;border-radius:19px}.task p{font-size:14px;margin:8px 0 0}.feedback{white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:680px){.shell{padding:22px 19px 115px}.topbar{margin-bottom:34px}.brand span{font-size:12px}.dashboard,.settings-grid{grid-template-columns:1fr;gap:0}.dashboard aside{order:2}.card{padding:23px;border-radius:27px}.corpus-grid{grid-template-columns:1fr;gap:14px}.intro{margin-bottom:25px}h1{font-size:34px}.welcome{margin-top:32px}.welcome h1{font-size:38px}.welcome .subtitle{font-size:16px}.profiles{gap:13px;margin-top:32px}.profile-card{padding:23px 17px;border-radius:26px}.profile-card h2{font-size:22px}.profile-card p{font-size:12px}.profile-card .avatar{margin-bottom:23px}.welcome .local-note{font-size:11px}.metrics{gap:24px}.nav button{font-size:12px;gap:7px}.filters{gap:8px}.filters input{flex-basis:100%}.filters select{flex-basis:calc(50% - 8px);width:0}.rubric label{font-size:13px}.rubric select{flex-basis:105px;padding:10px}.phrase{font-size:28px}.actions .primary,.actions .secondary{flex-grow:1}.profile-button{max-width:160px;overflow-wrap:anywhere}.profile-button .avatar{flex-shrink:0}dialog{padding:23px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.segments{display:flex;gap:4px;background:#e4edf4;border-radius:17px;padding:5px;margin:22px 0}.segments button{flex:1;min-width:0;min-height:44px;border-radius:13px;padding:10px 7px;font-size:14px;color:#516a7d}.segments button.selected{background:white;color:#173c57;box-shadow:0 2px 8px #274b6410}.pattern-ru{background:#f5f9fc;padding:16px;border-radius:17px;font-size:17px;line-height:1.55}.thought-steps{padding-left:22px;font-size:14px;line-height:1.8;color:#3c657e}.source-example{margin:15px 0;border-left:3px solid #afd7f4;padding:8px 0 8px 15px;font-size:14px;line-height:1.6;color:#435b6b}.source-example footer{font-size:12px;color:#708795;margin-top:6px}.practice-title{margin-top:18px;margin-bottom:10px}.practice-prompt{margin-top:20px;font-size:15px;line-height:1.6}#practice-mode{width:100%}.slot-fields{display:grid;gap:13px}.slot-fields input{display:block;width:100%;margin-top:6px}.slot-fields span{display:block}.corpus-card .foreign{overflow-wrap:anywhere}@media(max-width:420px){.segments button{font-size:12px;padding:9px 4px}.corpus-card .foreign{font-size:16px}.pattern-ru{font-size:16px}.practice-title{font-size:22px}}

.source-path{overflow-wrap:anywhere}

[hidden]{display:none!important}
.dashboard>*{min-width:0}.card{min-width:0}#function-choice{width:100%;min-width:0}.phrase,.translation{overflow-wrap:anywhere}
@media(max-width:420px){.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric span{font-size:11px}}
.simple-wrap{max-width:660px;margin:0 auto}.simple-wrap .intro{margin-bottom:26px}.simple-wrap .intro h1{font-size:clamp(28px,4vw,37px);line-height:1.2;letter-spacing:-1px}.simple-lesson{padding:32px}.lesson-ru{font-size:20px;line-height:1.45;margin-bottom:18px}.lesson-en{font-size:27px;line-height:1.4;font-weight:550;color:#235a80;margin-bottom:15px;overflow-wrap:anywhere}.lesson-example{background:#edf6fd;border-radius:22px;padding:22px;margin-bottom:26px}.listen-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.listen-button{background:#fff;border:1px solid #c8deee;border-radius:14px;padding:12px 17px;color:#205e8b;font-weight:600}.example-caption{margin:12px 0 0!important;font-size:11px;opacity:.8}#simple-audio-status:empty{display:none}#simple-audio-status{margin:12px 0 0}.lesson-task{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px}.step-dot{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#eaf2f7;color:#55778e;flex-shrink:0;font-size:13px}.lesson-task h2{font-size:18px;margin:2px 0 5px}.lesson-task p{font-size:14px;color:var(--muted);margin:0}.own-label{font-size:18px;font-weight:600}.own-prompt{margin:8px 0 12px}.simple-lesson textarea{min-height:94px}.finish-lesson{display:block;width:100%;margin-top:18px;min-height:51px}.lesson-more{margin-top:20px}.simple-footer{text-align:center;max-width:420px;margin:22px auto;font-size:12px;color:var(--muted)}.simple-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lesson-choice{text-align:left;display:flex;flex-direction:column;gap:14px;margin:0!important}.lesson-choice strong{font-size:19px;line-height:1.5;font-weight:550}.choice-link{font-size:13px;color:#367eae;margin-top:auto}.library-details{margin:25px 0;max-width:620px}.library-details p{line-height:1.6}.lesson-done{text-align:center;padding:40px 28px}.done-icon{display:grid;place-items:center;margin:0 auto 24px;width:58px;height:58px;border-radius:50%;background:#ddf1ec;color:#397d6d;font-size:25px}.lesson-done h1{font-size:32px}.takeaway{padding:22px;border-radius:18px;background:#edf6fd;color:#235a80;font-size:22px;line-height:1.5;margin:24px 0}.hint-button{margin-bottom:20px}#simple-check-note{margin-top:12px}@media(max-width:680px){.simple-lesson{padding:23px}.lesson-en{font-size:23px}.lesson-ru{font-size:18px}.lesson-example{padding:18px}.simple-library{grid-template-columns:1fr}.simple-wrap .intro h1{font-size:30px}.lesson-done h1{font-size:28px}.simple-footer{font-size:11px}}@media(max-width:360px){.lesson-en{font-size:21px}.lesson-example{padding:15px}.listen-row{gap:4px}.listen-button{padding:11px 13px}}

.episode-title{margin-top:20px}.episode-opening{font-size:22px;background:#edf6fd;padding:20px;border-radius:18px}.episode-reference{font-size:21px;line-height:1.65;color:#235a80}.episode-steps{padding-left:22px;color:#456679;line-height:1.7}.episode-actions{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.episode-actions button{flex:1}.episode-checks{display:grid;gap:16px;margin-top:22px}.episode-checks label{display:flex;gap:12px;align-items:flex-start}.episode-results{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#edf6fd;border-radius:18px;padding:18px;margin-bottom:20px;text-align:left}.episode-results p{font-size:14px;margin:0}.episode-source{margin-top:22px}.personal-episodes{margin-bottom:24px}#episode-audio-status:empty{display:none}@media(max-width:480px){.episode-results{grid-template-columns:1fr}.episode-reference{font-size:18px}.episode-opening{font-size:20px}.episode-actions{flex-direction:column}.episode-checks label{font-size:13px}}

.fixed-expression{font-weight:750;color:#183d56;border-bottom:2px solid #a4ccdf}.lesson-variants h2{font-size:18px}.lesson-variant{border-left:3px solid #c7deeb;padding:4px 0 4px 16px;margin:18px 0}.variant-en{font-size:18px;line-height:1.6;margin-bottom:6px}.oral-instruction{font-size:15px;color:#456679}.oral-recorder{margin-top:22px}.oral-recorder audio{display:block;width:100%;margin:14px 0}.personal-teaser{width:100%;text-align:left;line-height:1.5}.thought-step{margin:22px 0}.thought-step h2{font-size:16px;color:#55778e}.thought-frame{font-size:23px;font-weight:550;color:#235a80;line-height:1.45}.thought-step p{margin-bottom:10px}@media(max-width:480px){.thought-frame{font-size:20px}.variant-en{font-size:17px}}
/* Mobile personal practice: controls, provenance and optional tools have distinct roles. */
.mobile-top{position:sticky;top:0;z-index:15;background:rgba(247,251,255,.96);padding:12px 0;gap:12px;backdrop-filter:blur(12px)}
.menu-toggle{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #c9dbe7;border-radius:14px;background:white;font-size:24px;color:#24445e;cursor:pointer}.mobile-top .brand{flex:1;font-size:15px}.profile-label{font-weight:700;color:#285376;font-size:14px}
.side-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(330px,88vw);height:100dvh;max-height:100dvh;max-width:88vw;border:0;border-radius:0 24px 24px 0;padding:24px;background:#f7fbff;box-shadow:8px 0 60px #19344f33;overflow:auto}.side-drawer::backdrop{background:#17334966}.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.drawer-profile{display:flex;gap:12px;align-items:center;margin-bottom:24px}.drawer-profile p{font-size:12px;color:#597287;margin:5px 0}.side-drawer>button{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px 8px;min-height:48px;border:0;border-bottom:1px solid #e0eaf1;background:transparent;text-align:left;font-size:15px;color:#24445e;cursor:pointer}.side-drawer hr{border:0;border-top:1px solid #cddce7;margin:22px 0}
.listen-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px!important;border-radius:14px!important;background:#245f94!important;color:white!important;border:1px solid #245f94!important;font-size:14px!important;font-weight:700;cursor:pointer}.slow-button{min-height:46px;border:1px solid #a8bfd2;border-radius:14px;background:white;padding:10px 14px;color:#24445e;font-size:14px;cursor:pointer}.listen-row{display:flex;flex-wrap:wrap;gap:8px}.source-link{display:block;border:0;background:transparent;color:#587187;font-size:13px;text-align:left;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.oral-recorder{border:1px solid #a9c5dc!important;border-radius:18px!important;padding:20px!important;background:#f0f7fd!important;margin-top:24px!important}.oral-recorder h2{font-size:19px;margin-top:0}.oral-recorder audio{max-width:100%}.oral-recorder .secondary{background:white;border-color:#6c9dbc;font-weight:700;min-height:46px}.learn-more-panel{display:flex;width:100%;align-items:center;gap:14px;text-align:left;background:#fff8e9;color:#554830;border:1px solid #e1d3ae;border-radius:18px;padding:18px;margin-top:18px;cursor:pointer}.learn-more-panel>span{font-size:24px}.learn-more-panel div{flex:1}.learn-more-panel small{display:block;line-height:1.5;margin-top:6px;color:#736449}.wide{width:100%;min-height:46px}.connection-panel{padding:20px;margin:24px 0;background:#eff7f2;border:1px solid #c2d9c9;border-radius:18px}.connection-panel h2{font-size:21px}.connection-line{padding:14px 0;border-bottom:1px solid #d2e4d8}.connection-line:last-of-type{margin-bottom:16px}.connection-line p{font-size:18px;line-height:1.6;margin:9px 0}.connection-line p.small{font-size:13px}.library-sections{display:flex;gap:10px;margin:20px 0;position:sticky;top:70px;z-index:10;background:#f5faff;padding:8px 0}.library-sections a{flex:1;border:1px solid #c0d4e3;border-radius:12px;padding:12px;text-align:center;color:#24445e;text-decoration:none;background:white}.simple-wrap .lesson-choice{width:100%;text-align:left;margin-bottom:12px}.simple-wrap section[id],#own-thoughts{scroll-margin-top:140px}.lesson-variant [data-action^="listen"]{display:inline-flex;background:#245f94;color:white;border-radius:12px;min-height:44px;padding:10px 16px}.lesson-variant summary{color:#607589;font-size:12px;text-decoration:underline}.thought-step [data-action="episode-step"]{background:#245f94;color:white;border-radius:12px;min-height:44px;padding:10px 14px;margin:6px 6px 6px 0}.thought-step details{background:#f3f7fa;border-radius:12px;padding:12px}.thought-step summary{font-size:13px;color:#536e84}.source-path{overflow-wrap:anywhere}.finish-lesson{min-height:52px}.simple-lesson{overflow-wrap:anywhere}
@media(max-width:480px){.mobile-top{padding-top:max(10px,env(safe-area-inset-top));gap:10px}.mobile-top .brand{font-size:14px}.simple-lesson{padding:20px 16px}.lesson-en{font-size:23px}.lesson-example{padding:18px 14px}.connection-panel{padding:16px}.oral-recorder{padding:16px!important}.nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.simple-wrap{padding-bottom:36px}.side-drawer{padding:20px}.intro h1{font-size:29px}.listen-button,.slow-button{font-size:13px!important;padding:10px 12px!important}}
.variant-disclosure{background:#f5f9fd;border:1px solid #d6e3ed;border-radius:16px;padding:16px;margin-top:18px}.variant-disclosure>summary{font-weight:700;color:#285376;min-height:30px;cursor:pointer}.variant-disclosure[open]>summary{margin-bottom:16px}.menu-toggle:focus-visible,.listen-button:focus-visible,.slow-button:focus-visible,.source-link:focus-visible,.learn-more-panel:focus-visible{outline:3px solid #df9b38;outline-offset:3px}
