:root{--ink:#173d3b;--lime:#dcf5a6;--line:#e0e7df;color:#193b39;background:#f7f8f3}body{min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#edf4e6 0,transparent 65%)}header{min-height:78px;max-width:1180px;margin:auto;padding:20px 32px;border:0;background:transparent}.brand{font-size:23px;letter-spacing:-.8px}.mark{width:38px;height:38px;border-radius:12px;font-size:25px}.brand-sub{font-size:12px;color:#81918a;border:0;margin:0;padding:0 0 0 7px;letter-spacing:0}.menu-toggle{display:flex;align-items:center;gap:14px;padding:10px 16px;color:var(--ink);background:#fff9;border:1px solid var(--line);border-radius:30px;font-weight:600;font-size:13px}.menu-toggle span{font-size:22px;line-height:12px}main{display:block;max-width:820px;margin:0 auto;padding:32px 24px 40px}.focus-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:10px 0 35px}.focus-heading .eyebrow{font-size:10px;letter-spacing:2px;color:#7b8f83}.focus-heading h1{font-size:29px;line-height:1.3;font-weight:700;letter-spacing:-1.1px;margin:12px 0 9px}.training-info{max-width:450px;margin:0;font-size:12px;line-height:1.6;color:#7b8f83;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.settings-toggle{border:0;background:transparent;color:#527560;font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap;padding:10px 0}.settings-toggle span{font-size:23px}.topline{margin:0 3px 12px}.topline .eyebrow{font-size:10px;letter-spacing:1.5px;color:#91a094}.topline .text-btn{font-size:11px;color:#8a9a8e;padding:0}.progress-track{height:3px;background:#e3ebdf;margin:0 3px 18px}#progress{background:#95b86b}.card{padding:30px 36px 32px;background:#fff;border:1px solid #e4e9df;border-radius:24px;box-shadow:0 12px 50px #274a3510}.card-head{margin-bottom:30px}.tag{border-radius:30px;background:#eef4e8;color:#5e7954;font-size:11px;padding:7px 12px;font-weight:600}.counter{font-size:12px;color:#93a18f}.prompt-label{font-size:11px;color:#899784;letter-spacing:.2px}#question{font-size:clamp(25px,4vw,34px);line-height:1.45;margin:12px 0 20px;font-weight:600;letter-spacing:-.8px}.audio-row{margin:0 0 26px;gap:16px}.play{padding:10px 15px;border:1px solid #d9e6d1;border-radius:30px;background:#f6faef;color:#426239;font-size:12px;font-weight:700}.text-btn{font-size:12px;color:#69826a;font-weight:600}.answers{gap:10px;margin-top:0}.option{padding:16px 18px;border:1px solid #e2e8df;border-radius:13px;font-size:15px;line-height:1.5;color:#344f42;background:#fff}.option:hover:not(:disabled){background:#f6faef;border-color:#b9ce9a}.letter{font-size:11px;border-radius:8px;width:29px;min-width:29px;height:29px;background:#f2f5ee;border:0;color:#8c9e83;display:grid;place-items:center}.option.correct{background:#edf6df;border-color:#a5c879}.option.wrong{background:#fff3ef;border-color:#e2b7a9}.translation{font-size:15px;line-height:1.7;color:#6b7f69}.feedback{margin-top:20px;border-radius:12px;font-size:13px;line-height:1.6}.example{margin-top:20px;padding:20px;background:#f5f8f0;border:0;border-radius:14px}.example .eyebrow{font-size:10px;color:#91a085}.example p{line-height:1.6}#answerText{font-size:20px;font-weight:600}#answerRu{font-size:14px;color:#75846d}.example .small{font-size:11px;color:#8c9786;line-height:1.6}.next{border-radius:12px;background:var(--ink);font-size:14px;padding:15px 20px}.next:hover{background:#29574c}.notice{font-size:12px}.summary{background:white;border-radius:24px;border:1px solid var(--line);padding:36px}.summary h2{font-size:27px}.speak-instruction{font-size:15px;line-height:1.7;color:#6d8068}.small{line-height:1.6}.outline{border-color:#dbe4d6;color:#43603d;border-radius:10px;font-size:13px}footer{max-width:820px;margin:auto;border:0;padding:10px 28px 28px;font-size:11px;color:#94a18c;display:flex;justify-content:space-between;gap:15px}footer span{font-size:11px}dialog{background:#fff;box-shadow:0 20px 100px #18372930;border:1px solid #dbe4d6;border-radius:22px;padding:28px;max-height:90dvh}dialog::backdrop{background:#122e2766;backdrop-filter:blur(5px)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-head h2{font-size:23px;letter-spacing:-.6px;margin:8px 0}.panel-head .eyebrow{font-size:10px;color:#8e9c84}.close-button{width:36px;height:36px;flex-shrink:0;border:0;border-radius:50%;background:#f0f4eb;color:#6e8263;font-size:24px;display:grid;place-items:center}.panel-intro{font-size:13px;color:#7e8e73;line-height:1.7;margin:10px 0 25px}.settings-dialog{width:min(820px,94vw)}.settings-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}.topics-panel{min-width:0}.preferences-panel{border-left:1px solid var(--line);padding-left:28px}.preferences-panel h3{margin:0 0 20px;font-size:16px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;margin:0}.settings select{background:#f8faf5;border-color:#dfe7d8;border-radius:10px;font-size:13px;width:100%}.settings label:not(.check){font-size:11px;color:#8a987f}.settings .check{grid-column:1/-1;font-size:12px;line-height:1.5}.block-head h2{font-size:16px}.block{margin:4px 0;padding:10px;border-color:#edf1e8;border-radius:11px;gap:10px}.block:has(input:checked){background:#eef5e2;border-color:#c3d7a4}.block strong{font-size:13px}.block small{font-size:11px;color:#85947b}.block input{width:15px;height:15px;accent-color:#4d7041}.block-number{font-size:10px;color:#99aa8c}.selected{font-size:11px;margin:16px 0}.start{font-size:13px;justify-content:center;border-radius:12px;background:var(--ink)}.menu-dialog{width:min(430px,94vw)}.menu-links{display:flex;flex-direction:column;gap:8px;margin-top:22px}.menu-item{display:flex;align-items:center;gap:15px;border:1px solid #e4eadd;border-radius:12px;background:#fafbf7;color:#567148;padding:16px;text-align:left;font-size:17px;width:100%}.menu-item span:first-of-type{flex:1;font-size:14px;font-weight:600}.menu-item small{display:block;margin-top:5px;font-size:11px;font-weight:400;line-height:1.5;color:#93a086}.menu-links #edit{width:100%;padding:16px;text-align:left;background:#fafbf7;border:1px solid #e4eadd;border-radius:12px}.menu-links #storageStatus{order:10;margin:12px 0 0;font-size:10px;color:#95a189;max-width:none;display:block}.menu-links #storageRetry{order:11}.public-library{border-top:1px solid var(--line);margin:22px 0 0;padding:18px 0 0;background:transparent;display:block;font-size:12px}.public-library>div{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.public-library p{font-size:11px;line-height:1.7;color:#91a086}.public-library button{font-size:11px;padding:9px}#helpDialog{width:min(650px,94vw)}.help{padding:10px 0;border:0}.help summary{display:none}.help p{font-size:14px;line-height:1.8}.help a{color:#517448}#oathDialog{width:min(700px,94vw)}#oathDialog .editor-top{padding-bottom:15px}#oathDialog .editor-top h2{font-size:24px}.oath-text{font-size:clamp(20px,3vw,27px)}.editor-bottom{background:#fff}.editor-grid{background:white}
@media(max-width:650px){header{padding:18px 20px;min-height:70px}.brand-sub{display:none}.brand{font-size:21px}.menu-toggle{font-size:12px;padding:9px 14px}main{padding:12px 16px 28px}.focus-heading{display:block;margin:10px 3px 24px}.focus-heading h1{font-size:27px;margin:9px 0}.settings-toggle{margin-top:10px;padding:0;font-size:12px}.training-info{max-width:100%;font-size:11px}.card{padding:22px 20px 24px;border-radius:20px}.card-head{margin-bottom:25px}.audio-row{gap:12px;margin-bottom:22px}.option{padding:14px 12px;font-size:14px}.letter{width:26px;min-width:26px;height:26px}#question{font-size:27px}.settings-grid{grid-template-columns:1fr;gap:25px}.preferences-panel{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.topics-panel{display:flex;flex-direction:column}.topics-panel #start{order:10}.settings-dialog{padding:22px}.settings-dialog #start{position:sticky;bottom:0}.panel-head h2{font-size:21px}footer{padding:0 20px 22px;flex-direction:row;font-size:10px}footer span{font-size:10px;text-align:right;max-width:200px}.summary{padding:25px}.summary h2{font-size:24px}}

@media(min-width:651px){header{min-height:68px;padding-top:14px;padding-bottom:14px}main{padding-top:14px}.focus-heading{margin-top:0;margin-bottom:22px}.card{padding:25px 30px}.card-head{margin-bottom:20px}.audio-row{margin-bottom:18px}#question{margin-bottom:15px}.option{padding:12px 16px}.answers{gap:8px}}.settings-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;bottom:-28px;background:#fff;border-top:1px solid var(--line);margin-top:25px;padding:18px 0 0}.settings-footer .selected{margin:0}.settings-footer .start{width:auto;white-space:nowrap}@media(max-width:650px){.settings-footer{bottom:-22px;flex-direction:column;align-items:stretch;gap:12px;padding:16px 0 0}.settings-footer .start{width:100%}}

/* Keep the settings header and action visible while only the content scrolls. */
#settingsDialog[open]{display:flex;flex-direction:column;position:fixed;inset:16px;margin:auto;width:min(820px,calc(100vw - 32px));height:760px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden;padding:0}
#settingsDialog>.panel-head{flex-shrink:0;padding:20px 24px 14px;margin:0;border-bottom:1px solid var(--line)}
#settingsDialog .close-button{width:44px;height:44px;font-size:28px}
.settings-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 24px 24px;scroll-padding-block:16px}
#settingsDialog .panel-intro{margin:16px 0 24px}
#settingsDialog .settings-grid{padding-bottom:8px}
#settingsDialog .settings-footer{flex-shrink:0;position:static;bottom:auto;margin:0;padding:16px 24px 20px;background:#fff;box-shadow:0 -6px 18px #173d3b08}
#settingsDialog .settings-footer .selected{line-height:1.5;font-size:11px}
#settingsDialog .settings-footer #start{position:static;min-height:48px;color:#fff;background:#173d3b}
.settings .exercise-choice{grid-column:1/-1}.settings .exercise-hint{grid-column:1/-1;margin:-8px 0 4px;font-size:12px;line-height:1.6;color:#75876a}
.settings [hidden]{display:none!important}
#next{color:#fff;background:#173d3b;border:1px solid #173d3b;min-height:52px;font-size:16px;line-height:1.4;font-weight:700;opacity:1;-webkit-text-fill-color:#fff}
#next:hover{background:#29574c;border-color:#29574c}
#selfGrade{gap:10px}#selfGrade button{min-height:48px;color:#173d3b;font-weight:700;background:#edf4e6;border-color:#bcd0a5}
@media(max-width:650px){#settingsDialog[open]{inset:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:20px}#settingsDialog>.panel-head{padding:16px 18px 12px}#settingsDialog .panel-head h2{font-size:21px;line-height:1.3}.settings-scroll{padding:0 18px 20px}#settingsDialog .settings-footer{padding:12px 18px 16px;gap:8px}#settingsDialog .settings-footer .selected{font-size:10px}#settingsDialog .settings-footer #start{padding:13px 10px;font-size:13px}.settings .check{font-size:13px;min-height:32px}.settings-grid{gap:20px}.preferences-panel{padding-top:20px}.settings select{min-height:46px}}
