:root{font-family:'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#182334;background:#f4f6fa;font-synthesis:none;--blue:#244ee7;--muted:#657184;--line:#e4e8f0;--navy:#172336;--green:#117650}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffa928;outline-offset:3px}a{color:inherit;text-decoration:none}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:700;letter-spacing:-1px}.brandmark{background:var(--blue);color:#fff;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:28px;letter-spacing:-3px;padding-right:3px}.edition{font-size:11px;font-weight:500;letter-spacing:1.5px;border-left:1px solid var(--line);padding-left:22px;margin-left:14px;color:var(--muted)}.icon-button{background:white;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;color:#596679;font-size:21px}.layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{background:white;border-right:1px solid var(--line);padding:38px 18px;display:flex;flex-direction:column}.nav-label{margin:0 16px 20px;font-size:11px;letter-spacing:1.4px;font-weight:600;color:#8b94a2}.nav-item{border:0;border-radius:9px;background:transparent;color:#687385;width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:15px 13px;font-size:14px;margin-bottom:7px;white-space:nowrap}.nav-item>span:first-child{font-size:22px;width:22px;text-align:center;line-height:1}.nav-item:hover{background:#f7f8fc}.nav-item.active{background:#edf1ff;color:#244ee7;font-weight:600}.nav-count{margin-left:auto;font-size:11px;background:#f1f3f7;padding:4px 5px;border-radius:5px}.sidebar-bottom{margin: auto 15px 3px;padding-top:90px;font-size:13px;line-height:1.7;color:var(--muted)}.sidebar-bottom strong{display:block;color:#303c4e;font-weight:600;font-size:14px;margin:16px 0 7px}.sidebar-bottom p{margin:0 0 26px}.small-book{font-size:22px;color:var(--blue);background:#edf1ff;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;font-weight:600}.local-label{font-size:11px;color:#8993a1}main{width:100%;max-width:1360px;margin:auto;padding:46px 48px 50px;align-self:start}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:33px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.9px;color:var(--blue);margin-bottom:13px}h1{font-size:32px;letter-spacing:-1px;font-weight:600;margin:0 0 12px;line-height:1.2}.page-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.date-tag{border:1px solid #dce1eb;border-radius:99px;padding:10px 15px;white-space:nowrap;font-size:12px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat{border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px 22px;min-width:0}.stat>span{display:block;font-size:12px;color:var(--muted);margin-bottom:11px}.stat strong{font-size:28px;letter-spacing:-.8px;font-weight:600}.stat small{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:4px}.main-grid{display:grid;grid-template-columns:minmax(350px,1.7fr) minmax(270px,1fr);gap:24px}.study-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:27px;box-shadow:0 4px 18px #24386604;min-height:420px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pill{background:#edf1ff;color:#244ee7;font-size:10px;letter-spacing:1px;font-weight:600;border-radius:5px;padding:7px 9px}.muted{color:var(--muted);font-size:12px}.word-display{text-align:center;padding:48px 10px 35px}.word-label{font-size:12px;color:#8790a0}.word-display h2{font-size:74px;font-weight:500;letter-spacing:-2.5px;line-height:1.2;margin:17px 0}.word-display p{font-size:15px;color:var(--muted);line-height:1.65;margin:8px auto 0;max-width:480px}.primary{border:0;border-radius:9px;background:var(--blue);color:#fff;padding:16px 20px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px}.primary:hover{background:#173bc6}.wide{width:100%;justify-content:space-between}.card-foot{text-align:center;font-size:11px;color:#9098a5;margin:18px 0 0;line-height:1.5}.roadmap{padding:24px 22px;border-radius:17px;background:#edf0f6}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:27px}.section-top h2{font-size:17px;font-weight:600;margin:0;letter-spacing:-.3px}.section-top>span{font-size:11px;color:#929bad}.route-step{display:flex;gap:15px;margin-bottom:25px}.route-step>b{font-size:12px;color:#7e8aa1;border:1px solid #d1d8e5;border-radius:50%;height:28px;min-width:28px;display:grid;place-items:center;font-weight:500}.route-step.current>b{background:var(--blue);border-color:var(--blue);color:#fff}.route-step h3{font-size:13px;font-weight:500;margin:3px 0 7px;line-height:1.4}.route-step p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.pace{border-top:1px solid #d8deea;padding-top:20px}.pace span{font-size:11px;color:var(--muted);display:block;margin-bottom:9px}.pace strong{font-size:14px;font-weight:500}.secondary{border:1px solid #d9dfea;border-radius:9px;padding:14px 18px;color:#39465a;background:#fff;font-size:14px;min-height:48px}.secondary:hover{background:#f1f4fb}.text-button{border:0;background:none;color:var(--blue);padding:6px 0;font-size:13px;text-align:left}.section-note{line-height:1.7;color:var(--muted);font-size:13px;margin:22px 0 0}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.button-row>*{flex:1}.study-card .button-row{margin-top:18px}.soft{color:#244ee7;background:#edf1ff}.learning{color:#a45914;background:#fff4e6}.success{color:#13764f;background:#e7f6ee}.meter{height:5px;background:#e9edf5;border-radius:5px;overflow:hidden;margin-top:20px}.meter>i{height:100%;display:block;background:var(--blue);border-radius:5px;transition:width .25s}.sound{border:1px solid #e0e6f0;background:#f8faff;border-radius:50%;height:38px;width:38px;display:inline-grid;place-items:center;vertical-align:middle;font-size:17px;color:var(--blue);margin-left:12px}.answer{padding:20px;background:#f3f6ff;border:1px solid #e1e8ff;border-radius:10px;text-align:center;line-height:1.55}.answer strong{font-size:21px;font-weight:500;display:block}.answer p{font-size:13px;color:var(--muted);margin:10px 0 0}.question-label{display:block;color:var(--muted);font-size:14px;text-align:center}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{border:1px solid #dce3ed;background:#fff;border-radius:10px;padding:18px;text-align:left;line-height:1.45;color:#344055;min-height:72px;font-size:15px;display:flex;gap:11px;align-items:center}.option:hover{border-color:var(--blue);background:#f5f7ff}.option b{font-size:11px;background:#f0f3f9;padding:4px 7px;border-radius:5px;color:#7e8799;align-self:flex-start}.option.correct{background:#eaf8f0;border-color:#57ac83;color:#11673f}.option.wrong{background:#fff0ee;border-color:#e29a91;color:#9f352c}.option:disabled{opacity:1}.feedback{margin:17px 0;padding:15px;border-radius:9px;font-size:14px;line-height:1.6}.feedback.good{background:#eaf8f0;color:#126640}.feedback.bad{background:#fff2ec;color:#a44826}.typing-input,.search-input{border:1px solid #dce3ed;border-radius:9px;padding:15px 17px;background:#fff;color:#172336;font-size:16px;width:100%;min-width:0}.typing-input{font-size:23px;text-align:center}.toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.toolbar .search-input{flex:1;min-width:200px}.filter-select{background:#fff;border:1px solid #dce3ed;border-radius:9px;padding:12px;color:#39465a;font-size:14px;max-width:100%}.word-list{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.word-row{display:grid;grid-template-columns:45px 1fr 1.6fr 100px 40px;gap:18px;align-items:center;padding:19px 22px;border-bottom:1px solid var(--line);width:100%;background:#fff;text-align:left;border-left:0;border-right:0;border-top:0;color:inherit}.word-row:last-child{border-bottom:0}.word-row:hover{background:#f9fbff}.row-id{font-size:12px;color:#97a0ae}.row-en{font-size:18px;font-weight:500;word-break:break-word}.row-ru{font-size:14px;line-height:1.6;color:var(--muted)}.badge{padding:6px 9px;border-radius:5px;font-size:11px;justify-self:start;white-space:nowrap}.new{background:#f0f2f7;color:#758096}.page-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;font-size:13px;color:var(--muted)}.page-controls>div{display:flex;gap:10px}.empty{background:#fff;border:1px solid var(--line);border-radius:15px;padding:50px 25px;text-align:center}.empty h2{font-size:23px;font-weight:600}.empty p{color:var(--muted);line-height:1.7}.progress-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px}.big-number{font-size:55px;letter-spacing:-2px;font-weight:600;color:var(--blue);line-height:1.2;margin:23px 0 10px}.progress-map{display:grid;grid-template-columns:repeat(50,1fr);gap:3px;margin:26px 0}.progress-map i{aspect-ratio:1;border-radius:2px;background:#e8ecf4;min-width:0}.progress-map .learning{background:#f4b359}.progress-map .known{background:#8b9eef}.progress-map .learned{background:#2c9a70}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:7px}.legend i{height:9px;width:9px;border-radius:2px;background:#e8ecf4}.legend .learning{background:#f4b359}.legend .known{background:#8b9eef}.legend .learned{background:#2c9a70}.history{display:flex;align-items:end;gap:16px;height:155px;padding-top:15px}.history>div{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:end;gap:8px;min-width:0}.history i{background:#c0cdfc;border-radius:5px 5px 0 0;display:block;min-height:3px}.history small{font-size:11px;color:var(--muted)}.history b{font-size:12px;font-weight:500}.session-wrap{max-width:770px;margin:auto}.session-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}.session-head h1{font-size:22px;margin:0}.session-wrap .study-card{padding:30px}.session-wrap .word-display{padding-top:34px;padding-bottom:28px}.session-wrap .word-display h2{font-size:66px;overflow-wrap:anywhere}.session-meta{font-size:13px;color:var(--muted)}.complete-icon{width:68px;height:68px;border-radius:50%;background:#e8f7ee;color:#147d50;font-size:32px;display:grid;place-items:center;margin:0 auto 20px}.results{display:flex;gap:28px;justify-content:center;margin:28px 0}.results strong{display:block;font-size:32px;color:var(--navy)}.results span{font-size:12px;color:var(--muted)}dialog{border:0;border-radius:18px;padding:30px;width:min(540px,calc(100vw - 30px));max-height:90vh;color:var(--navy);box-shadow:0 24px 80px #10214233}dialog::backdrop{background:#18253966;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.dialog-head h2{font-size:24px;margin:0}.close{border:0;background:#f1f3f8;border-radius:50%;width:30px;height:30px;font-size:20px;color:#69778c}.field{display:block;margin:18px 0;font-size:14px;font-weight:500}.field select{display:block;width:100%;margin-top:10px}.hint{font-size:13px;color:var(--muted);line-height:1.6}.divider{border-top:1px solid var(--line);margin:25px 0}.danger{color:#a74034}.modal-note{line-height:1.7;font-size:14px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#182334;color:#fff;padding:14px 22px;border-radius:10px;font-size:14px;box-shadow:0 5px 25px #1420392a;z-index:30;display:none;max-width:90vw}#toast.visible{display:block}.storage-warning{background:#fff0dd;border:1px solid #eed3ac;padding:15px;font-size:14px;border-radius:10px;margin-bottom:20px;line-height:1.5}.typing-word{font-size:32px!important;letter-spacing:-.8px!important}.deck-link{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fff;padding:20px 24px;border-radius:12px;margin-top:22px;gap:15px}.deck-link strong{font-size:14px;display:block;margin-bottom:6px}.deck-link p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){main{padding-top:65px}.main-grid{grid-template-columns:1.8fr 1fr}.word-display{padding-top:65px;padding-bottom:45px}.study-card{min-height:450px}}@media(max-width:1100px){.layout{grid-template-columns:198px minmax(0,1fr)}main{padding:32px 26px}.sidebar{padding:32px 10px}.nav-item{gap:8px;font-size:13px}.main-grid{grid-template-columns:minmax(300px,1.4fr) minmax(220px,1fr);gap:18px}.roadmap{padding:24px 18px}.stat{padding:17px 15px}.stat strong{font-size:25px}h1{font-size:28px}.date-tag{display:none}.word-row{gap:12px;grid-template-columns:30px 1fr 1.5fr 90px 20px}.sidebar-bottom{margin-left:14px}}@media(max-width:850px){.main-grid{grid-template-columns:1fr}.roadmap{display:none}.stats-grid{gap:10px}.stat{padding:16px 12px}.stat small{display:block;margin:3px 0 0}.word-row{grid-template-columns:24px 1fr 1.5fr 20px}.word-row .badge{display:none}.sidebar-bottom{font-size:12px}}@media(max-width:650px){.topbar{height:70px;padding:0 20px}.brand{font-size:23px}.brandmark{width:33px;height:33px;font-size:25px}.edition{display:none}.layout{display:block;min-height:calc(100vh - 70px)}.sidebar{padding:0;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.nav-label,.sidebar-bottom{display:none}nav{display:flex;justify-content:space-between;padding:5px 10px}.nav-item{flex-direction:column;font-size:10px;padding:10px 3px;gap:6px;margin:0;width:25%;border-radius:8px}.nav-item>span:first-child{font-size:19px}.nav-count{display:none}main{padding:28px 18px 40px}.eyebrow{font-size:10px;margin-bottom:11px}h1{font-size:27px}.page-heading{margin-bottom:24px}.page-heading p{font-size:13px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:19px}.stat{padding:16px}.stat>span{font-size:11px;margin-bottom:7px}.stat strong{font-size:26px}.stat small{display:inline;font-size:11px;margin-left:4px}.study-card{padding:21px 18px;min-height:0;border-radius:13px}.word-display{padding:34px 5px 30px}.word-display h2{font-size:65px}.card-top .muted{font-size:10px}.pill{font-size:9px;padding:7px}.card-foot{font-size:10px}.session-wrap .study-card{padding:22px 18px}.session-head h1{font-size:19px}.session-head .secondary{min-height:40px;padding:10px;font-size:12px}.session-wrap .word-display h2{font-size:53px}.options{grid-template-columns:1fr;gap:9px}.option{min-height:55px;padding:14px;font-size:14px}.word-row{padding:17px 13px;gap:10px;grid-template-columns:20px 1fr 1.3fr 14px}.row-en{font-size:16px}.row-ru{font-size:12px}.row-id{font-size:10px}.progress-panel{padding:21px 18px}.progress-map{grid-template-columns:repeat(25,1fr)}.deck-link{padding:17px}.deck-link .text-button{white-space:nowrap}.button-row{gap:8px}.button-row .secondary,.button-row .primary{font-size:13px;padding:14px 9px}dialog{padding:24px}.typing-word{font-size:28px!important}.legend{font-size:11px;gap:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Meaning-level learning */
.example{border-left:3px solid #cfdaff;padding:2px 0 2px 16px;margin:20px 0;text-align:left}.example p{font-size:17px;color:#24324a;line-height:1.7;margin:4px 0;max-width:none}.example .example-ru{font-size:14px;color:#68778d}.example .sound{height:30px;width:30px;font-size:14px;margin-left:7px}.examples{margin:20px 0}.examples .example{margin:14px 0}.context-sentence{font-size:29px;font-weight:500;line-height:1.6;text-align:left;letter-spacing:-.4px;overflow-wrap:anywhere;margin:24px 0 18px}.word-display .context-sentence+p{text-align:left;font-size:16px}.typing-cue{font-size:13px!important}.sense-detail{border-top:1px solid var(--line);padding:23px 0}.sense-detail>.card-top{margin-bottom:20px}.sense-detail>.button-row{margin-top:18px}.migration-note{border:1px solid #cddaff;background:#edf3ff;padding:15px 18px;border-radius:12px;margin-bottom:24px;font-size:14px;line-height:1.65}.page-heading p,.word-display p{font-size:16px}.route-step h3,.route-step p,.nav-item,.pace span,.section-note,.row-ru,.hint,.modal-note{font-size:14px}.pill{font-size:11px}.card-foot,.word-label{font-size:13px}.stat>span{font-size:13px}.partial{background:#f9eee0;color:#995d24}.sense-detail .answer{margin-top:16px}.word-display .example{margin-top:28px;margin-bottom:0}.word-display:has(.context-sentence){padding-top:24px}.session-wrap .word-display:has(.context-sentence){padding-top:25px;padding-bottom:15px}
@media(max-width:650px){.context-sentence{font-size:25px}.example p{font-size:17px}.nav-item{font-size:11px;white-space:normal}.page-heading p{font-size:14px}.stat>span{font-size:12px}.row-ru{font-size:12px}.card-top{align-items:flex-start}.session-meta{white-space:nowrap;font-size:12px}.pill{font-size:10px}.deck-link{flex-direction:column;align-items:flex-start}.word-display p{font-size:16px}.study-card .card-foot{font-size:12px}.session-wrap .word-display h2{font-size:48px}}
/* Interactive recall rounds */
.test-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:26px 28px;border-radius:17px;background:#eaf0ff;border:1px solid #d9e3ff}.test-entry h2{font-size:20px;margin:12px 0 8px}.test-entry p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.test-entry button{white-space:nowrap}.test-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:24px}.test-setup h2{font-size:30px;margin:24px 0 16px}.test-scopes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.scope-button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:16px;color:#46566d;font-size:14px}.scope-button b{font-size:25px;color:#263953}.scope-button.selected{border-color:var(--blue);background:#eef2ff;color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.scope-button.selected b{color:var(--blue)}
.journey-wrap{max-width:800px}.journey-score{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:13px;margin:0 0 18px}.journey-score b{color:var(--blue)}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.journey-step{background:#e9edf3;color:#768397;border-radius:12px;padding:13px;display:flex;align-items:center;gap:9px;font-size:13px}.journey-step b{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#fff}.journey-step.active{background:var(--blue);color:white;font-weight:600}.journey-step.active b{color:var(--blue)}.journey-step.passed{background:#e1f3ec;color:#117650}.round-prompt{padding:30px 0 18px}.round-prompt h2{font-size:48px;letter-spacing:-1px;margin:20px 0;color:#182b47;overflow-wrap:anywhere}.round-prompt h2.translation-prompt{font-size:29px;letter-spacing:-.4px;line-height:1.35}.round-prompt .context-sentence{border-left:3px solid #7e9bff;background:#f4f6fe;padding:15px 18px;border-radius:0 12px 12px 0;font-size:23px;margin:22px 0 12px}.context-translation{font-size:15px;color:#657184;line-height:1.65;margin:0 0 10px}.recall-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}.recall-label span{font-weight:400;color:var(--muted);font-size:12px}.letter-slots{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0 13px}.letter-slot{display:grid;place-items:center;min-width:32px;height:43px;padding:0 4px;border:1px solid #d9e1f0;background:#f4f6fa;border-radius:8px;font-size:23px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#bcc5d6}.letter-slot.filled{color:#244ee7;background:#edf2ff;border-color:#9db0ed}.letter-slot.cursor{border:2px solid var(--blue)}.recall-input{width:100%;padding:14px 16px;border:1px solid #cdd7e9;border-radius:10px;font:500 22px ui-monospace,SFMono-Regular,Consolas,monospace;background:#fff;color:#172336}.recall-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px}.letter-bank{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.letter-bank button{min-width:39px;height:43px;border-radius:9px;background:#edf2ff;color:var(--blue);border:1px solid #c6d3fc;font-size:20px;box-shadow:0 3px 0 #c6d3fc}.letter-bank button:disabled{box-shadow:none;opacity:.3}.skip-recall{margin-top:22px}.journey-card .feedback p{font-size:14px;line-height:1.6;margin-bottom:0}.journey-card .feedback{animation:answer-in .2s ease-out}.journey-finish{text-align:center}.journey-finish h1{margin:22px 0 14px}.journey-finish .results{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.journey-finish .results strong{font-size:32px}.journey-finish .results span{font-size:12px}.round-results{text-align:left;border-top:1px solid var(--line);margin:24px 0}.round-result{display:flex;gap:13px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.round-result>div{flex:1;min-width:0}.round-result strong{display:block;font-size:19px}.round-result div>span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.round-result small{text-align:right;color:var(--muted);font-size:11px;line-height:1.8;max-width:145px}.result-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.result-mark.ok{background:#e1f3ec;color:#117650}.result-mark.retry{background:#fff0d8;color:#a36615}
@keyframes answer-in{from{transform:translateY(5px);opacity:.6}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.journey-card .feedback{animation:none}}
@media(max-width:800px){.test-layout{grid-template-columns:1fr}.test-entry{align-items:flex-start;flex-direction:column}.journey-step{font-size:11px;padding:10px 7px;gap:6px}.journey-score{font-size:11px}.round-prompt h2.translation-prompt{font-size:25px}.round-prompt .context-sentence{font-size:21px}.recall-label{flex-direction:column;gap:6px}.recall-controls{align-items:stretch;flex-direction:column}.recall-controls .text-button{text-align:left;margin:4px 0 8px}.letter-slot{min-width:28px;height:38px;font-size:21px}.letter-slots{gap:4px}.journey-finish .results strong{font-size:25px}.journey-finish .results{gap:6px}.journey-finish .results span{font-size:11px}.round-result small{max-width:100px}.journey-finish h1{font-size:26px}}
/* Dashboard, illustrated examples and persistent next action */
.hot-text{color:#c43849!important}.amber-text{color:#b97912}.green-text{color:#138266}.badge.trouble{background:#fff0f1;color:#bd3145}.is-trouble{border-color:#ec9aa5!important;background-color:#fffbfc!important}.word-row.is-trouble .row-en{color:#c43849}.progress-map i.trouble{background:#de515b}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.dashboard-metrics button{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px 24px;text-align:left}.dashboard-metrics button>span{font-size:13px;color:var(--muted)}.dashboard-metrics strong{display:block;font-size:33px;margin-top:12px;line-height:1}.dashboard-metrics small{font-size:12px;font-weight:400;margin-left:8px;color:var(--muted)}.dashboard-charts{display:grid;grid-template-columns:1.08fr 1fr;gap:20px;margin-bottom:24px}.chart-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:25px}.chart-card h2{font-size:18px;margin:0}.chart-card .section-top>span{font-size:11px;color:var(--muted)}.donut-layout{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:23px}.word-donut{width:164px;height:164px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.word-donut>div{border-radius:50%;width:124px;height:124px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.word-donut strong{font-size:29px}.word-donut span{font-size:10px;color:var(--muted);margin-top:5px}.chart-legend{flex:1;display:flex;flex-direction:column;gap:13px}.chart-legend button{display:flex;gap:9px;align-items:center;border:0;background:transparent;padding:0;color:#5b6a80;text-align:left;font-size:12px}.chart-legend i,.activity-key i{display:inline-block;width:9px;height:9px;border-radius:3px;flex-shrink:0}.chart-legend b{margin-left:auto;color:#223049;font-size:13px}.chart-note{font-size:11px;line-height:1.65;color:var(--muted);margin:18px 0 0}.activity-chart{display:flex;justify-content:space-between;gap:13px;margin-top:21px;height:164px}.activity-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}.activity-day b{font-size:11px;color:#657184}.activity-day>span{font-size:11px;color:var(--muted)}.activity-track{height:110px;background:#f1f4f9;width:100%;max-width:31px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:6px;overflow:hidden}.activity-stack{display:flex;flex-direction:column;min-height:0}.activity-stack i{min-height:0;display:block}.activity-success{background:#32a884}.activity-error{background:#de515b}.activity-key{display:flex;gap:20px;color:var(--muted);font-size:11px;justify-content:center;margin-top:12px}.activity-key i{margin-right:6px}.trouble-strip{background:#fff0f2;border:1px solid #f5ccd2;border-radius:13px;padding:17px 22px;margin-bottom:24px;display:flex;gap:20px;align-items:center}.trouble-strip>strong{color:#b9364c;font-size:13px;white-space:nowrap}.trouble-strip>div{display:flex;gap:8px;flex-wrap:wrap}.trouble-strip button{color:#b9364c;border:1px solid #f2c3cc;background:#fff;border-radius:20px;padding:7px 12px;font-size:13px}.trouble-strip button span{margin-left:8px}.home-practice-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin:24px 0}.daily-mix h2{font-size:35px;line-height:1.14;letter-spacing:-1px;margin:25px 0}.daily-mix>p{color:var(--muted);font-size:14px;line-height:1.75}.daily-mix>.text-button{margin-top:20px}.free-card .button-row{margin-top:20px}.free-card>.text-button{margin-top:19px}.free-body{display:flow-root;margin:23px 0 15px}.free-sentence{font-size:25px;line-height:1.65;letter-spacing:-.3px;color:#25324b;margin:0}.context-target{color:#244ee7;background:#edf2ff;border-radius:4px;padding:1px 4px}.context-target.hot-text{background:#ffeaee}.free-translation{font-size:15px;line-height:1.7;background:#f5f7fb;padding:16px;border-radius:10px}.free-translation p{font-size:14px;color:var(--muted);margin:7px 0 0}.word-art{width:180px;height:180px;object-fit:contain;display:block;border-radius:18px;margin:18px auto;max-width:100%}.word-art.small{width:116px;height:116px;margin:0}.free-body>.word-art{float:right;margin:0 0 14px 17px}.illustration-shelf{margin:38px 0 28px}.illustration-shelf h2{font-size:23px;margin:8px 0 0}.illustration-shelf .section-top>span{font-size:12px;color:var(--muted)}.art-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:23px}.art-tile{display:flex;flex-direction:column;align-items:center;padding:12px 8px 16px;gap:10px;background:#fff;border:1px solid var(--line);border-radius:15px}.art-tile .word-art{width:100%;height:auto;aspect-ratio:1;margin:0;border-radius:10px}.art-tile strong{font-size:16px}.art-tile>span{font-size:10px}.answer-dock{position:fixed;left:var(--dock-left,50%);bottom:max(14px,env(safe-area-inset-bottom));width:var(--dock-width,calc(100% - 24px));transform:translateX(-50%);z-index:80;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 19px;background:rgba(255,255,255,.98);border:1px solid #cbd6ed;box-shadow:0 8px 34px #192a4c26;border-radius:15px;margin:0;backdrop-filter:blur(12px)}.answer-dock .primary,.answer-dock .secondary{flex-shrink:0;white-space:nowrap;min-height:48px}.answer-dock .wide{width:auto;min-width:170px}.dock-summary{display:flex;flex-direction:column;gap:5px;min-width:0}.dock-summary b{font-size:14px}.dock-summary span{font-size:13px;color:#607087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-wrap.has-feedback,.session-wrap:has(.answer-dock){padding-bottom:115px}.journey-card{scroll-margin-top:14px}.sense-detail.is-trouble{border-radius:10px;padding-left:12px;padding-right:12px}
@media(max-width:1150px){.dashboard-charts{grid-template-columns:1fr}.donut-layout{justify-content:flex-start}.chart-legend{max-width:400px}.activity-chart{height:164px}.home-practice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.dashboard-metrics{gap:8px}.dashboard-metrics button{padding:15px 11px}.dashboard-metrics button>span{font-size:10px}.dashboard-metrics strong{font-size:25px}.dashboard-metrics small{font-size:10px;margin-left:5px}.dashboard-charts{gap:14px}.chart-card{padding:21px 17px}.chart-card h2{font-size:16px}.donut-layout{gap:17px}.word-donut{width:132px;height:132px}.word-donut>div{width:99px;height:99px}.word-donut strong{font-size:25px}.word-donut span{font-size:9px}.chart-legend button{font-size:10px;gap:6px}.chart-legend b{font-size:11px}.home-practice-grid{grid-template-columns:1fr}.daily-mix h2{font-size:30px}.trouble-strip{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.free-sentence{font-size:22px}.art-grid{grid-template-columns:repeat(2,1fr);gap:12px}.illustration-shelf .section-top{align-items:flex-start;gap:15px}.illustration-shelf .section-top>span{max-width:95px;font-size:10px;text-align:right}.answer-dock{gap:10px;padding:12px;bottom:max(9px,env(safe-area-inset-bottom));border-radius:13px}.answer-dock .primary,.answer-dock .secondary{padding:13px 16px;font-size:13px;min-height:46px}.dock-summary b{font-size:12px}.dock-summary span{font-size:11px}.answer-dock .wide{min-width:0;width:100%}.journey-wrap.has-feedback{padding-bottom:108px}}
/* Context notes and visual word cards */
.visual-word{text-align:center;margin:16px 0 22px}.visual-word h2{font-size:36px;letter-spacing:-.8px;margin:8px 0 0;color:#25324b}.visual-word .word-art{margin:0 auto 8px}.visual-word.compact{margin:0 0 22px}.visual-word.compact h2{font-size:28px}.visual-word.compact .word-art{width:132px;height:132px;margin:auto}.sense-detail .visual-word h2{font-size:29px}.word-display>.word-art,.round-prompt>.word-art{width:144px;height:144px;margin:14px auto 10px}.word-display:has(>.word-art){padding-top:20px}.word-display:has(>.word-art) h2{margin-top:8px}.answer>.word-label{display:block;font-size:11px;margin-bottom:8px}.meaning-notes{text-align:left;background:#f2f6fc;border:1px solid #dde7f5;border-radius:12px;margin:20px 0 14px;padding:18px 20px;font-size:14px;line-height:1.7;color:#4f6077}.meaning-notes>strong{font-size:15px;color:#273c61}.meaning-notes>p{margin:7px 0 12px}.meaning-notes summary{cursor:pointer;font-size:13px;color:#3158ae;font-weight:600;padding:5px 0}.meaning-content{padding-top:9px}.meaning-content h3{font-size:14px;margin:21px 0 10px}.meaning-example{padding:12px 0;border-bottom:1px solid #dfe7f2}.meaning-example:last-child{border-bottom:0}.meaning-example b{color:#304867;font-weight:600}.meaning-example p{margin:4px 0;font-size:13px}.meaning-sources{font-size:11px;overflow-wrap:anywhere}.meaning-sources a{color:#42669c}.shelf-toggle{display:block;margin:20px auto 0}.free-body:has(.visual-word){display:block}.illustration-shelf>.hint{font-size:13px;margin-top:14px}
@media(max-width:750px){.illustration-shelf .section-top{flex-wrap:wrap}.illustration-shelf .section-top>.primary{font-size:12px;padding:12px 16px}.word-display>.word-art,.round-prompt>.word-art{width:118px;height:118px}.visual-word h2{font-size:30px}.visual-word>.word-art{width:140px;height:140px}.meaning-notes{padding:15px;font-size:13px}.meaning-notes>strong{font-size:14px}}

/* Primary vocabulary course and direct recall */
.learning-first{margin-top:0;margin-bottom:30px}.discovery-card .word-display{padding:16px 0}.discovery-card .word-display h2{margin:10px 0 18px;font-size:45px}.discovery-card .word-art{width:125px;height:125px}.discovery-card .button-row{margin-top:20px}.review-entry{border:1px solid var(--line);border-radius:16px;background:#fff;padding:25px;margin:26px 0}.review-entry h2{font-size:21px;margin:0 0 10px}.review-entry p{font-size:14px;color:var(--muted);line-height:1.7}.queue-notice{padding:16px;background:#eef3ff;border-radius:12px;color:#37539a;font-size:14px;line-height:1.6}.journey-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.journey-step{padding:12px 10px;font-size:12px;gap:7px}.journey-step b{flex-basis:24px;height:24px}.direct-letters{display:grid;grid-template-columns:repeat(var(--letters),minmax(0,1fr));gap:5px;width:100%;max-width:calc(var(--letters)*43px);margin:24px auto;align-items:center}.direct-letter{box-sizing:border-box;min-width:0;width:100%;height:50px;border:1.5px solid #cad5ea;border-radius:9px;background:#fff;text-align:center;font:500 26px ui-monospace,SFMono-Regular,Consolas,monospace;color:#203253;outline:none;padding:0;caret-color:#244ee7}.direct-letter.filled{border-color:#a4b5df;background:#f5f8ff}.direct-letter:focus{border:2px solid #244ee7;box-shadow:0 0 0 3px #244ee716;background:#fff}.direct-letter:disabled{color:#456185;opacity:1}.recall-controls{justify-content:center;gap:28px}.letter-bank{justify-content:center}.skip-recall{display:block;margin-left:auto;margin-right:auto}.review-feedback{background:#f1f5fb;border:1px solid #d6e1ef;color:#385371}.option.wrong{background:#f2f5fa;border-color:#bac8dc;color:#415773}.badge.trouble{display:none}.is-trouble{border-color:var(--line)!important;background-color:#fff!important}.hot-text{color:#4d668e!important}.word-row.is-trouble .row-en{color:inherit}.progress-map i.trouble{background:#6384ed}.free-card .badge.trouble{display:none}
@media(max-width:750px){.journey-step{display:flex;flex-direction:column;gap:5px;padding:9px 2px;font-size:10px;text-align:center;line-height:1.25}.journey-step b{flex-basis:auto;width:24px;height:24px}.direct-letters{gap:3px}.direct-letter{height:43px;border-radius:6px;font-size:22px}.recall-controls{gap:10px}.recall-controls .text-button{text-align:center}.daily-mix h2{font-size:29px}.review-entry{padding:20px}.review-entry .button-row{align-items:stretch;flex-direction:column}.learning-first{gap:15px}.discovery-card .word-display h2{font-size:39px}}
/* Simple three-section course */
.dictionary-link{margin-top:24px;border-top:1px solid var(--line);border-radius:0;padding-top:24px}.review-word{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:17px 3px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.review-word:last-child{border-bottom:0}.review-word strong{font-size:18px;font-weight:550}.review-word span{font-size:12px;color:var(--muted)}.upcoming{margin:24px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.upcoming summary{cursor:pointer;color:#566478;font-size:14px}.upcoming[open] summary{margin-bottom:20px}.result-choice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0}.result-word{display:flex;flex-direction:column;gap:7px}.result-word strong{font-size:21px}.result-word span{font-size:14px;color:#506074}.result-word small{font-size:12px;line-height:1.5;color:#738092}.result-actions{display:flex;gap:9px;flex-shrink:0}.result-actions button{font-size:13px;min-height:44px;padding:12px 14px}.result-actions .secondary[aria-pressed=true]{background:#e9edf2;border-color:#a8b5c6;color:#334153}.result-actions .primary[aria-pressed=true]{background:#2145bf}.context-counter{font-size:12px;color:#78879a;margin:10px 0 0}.context-translation small{font-size:12px;display:block;margin-bottom:5px}.frequency-toggle{margin:18px 0 4px}.review-list .section-top{align-items:center;gap:14px}.learning-first .daily-mix h2{font-size:32px}.discovery-card .secondary{background:#f1f3f6;border-color:#dce1e8;color:#4d5869}.nav-item .nav-number{margin-left:auto;font-size:11px;width:auto;background:#edf1f7;border-radius:9px;padding:3px 6px}
@media(max-width:750px){.result-choice{flex-wrap:wrap;gap:14px}.result-word{width:100%}.result-actions{width:100%;display:grid;grid-template-columns:1fr 1.4fr}.review-list .section-top{display:block}.review-list .primary{width:100%;margin-top:10px}.review-word{gap:10px}.review-word span{max-width:55%;text-align:right}.dictionary-link{margin-top:0;border-top:0;padding-top:15px}.sidebar nav{display:contents}.sidebar{flex-wrap:wrap}.nav-item{font-size:11px}.learning-first .daily-mix h2{font-size:27px}.upcoming{padding:15px}}
main{margin:0 auto}.result-choice>.result-actions{flex:0 0 auto}.result-word small{text-align:left;max-width:none}.journey-card{scroll-margin-top:24px}
@media(max-width:750px){.sidebar{display:flex;flex-direction:row;flex-wrap:nowrap}.sidebar>.nav-item,.sidebar nav>.nav-item{width:25%;flex:0 0 25%;min-height:62px}.round-result.result-choice{flex-direction:column;align-items:stretch}.round-result.result-choice>.result-word,.round-result.result-choice>.result-actions{flex:none;width:100%}.result-choice .result-actions{display:grid;grid-template-columns:1fr 1.4fr}.result-word small{max-width:none;text-align:left}.journey-card{scroll-margin-top:80px}}
/* Hover translations and a dedicated statistics page */
.sentence-gloss{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:#9aabc5;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-skip-ink:none}.sentence-word{cursor:help;border-radius:3px;transition:background .12s,color .12s}.sentence-word:hover,.sentence-word:focus-visible{background:#e5edff;color:#234aca;outline:2px solid #a7bfff;outline-offset:2px}.sentence-word.context-target{background:#e8efff;color:#244ee7}.word-gloss-tooltip{position:fixed;z-index:10000;max-width:min(320px,calc(100vw - 16px));padding:12px 16px;background:#1b2a42;color:#fff;border:1px solid #344661;border-radius:12px;box-shadow:0 8px 24px #1420352e;font-size:15px;line-height:1.5;text-align:left;text-decoration:none;pointer-events:auto}.word-gloss-tooltip strong{font-weight:550;display:block}.word-gloss-tooltip small{display:block;color:#c0d0e8;font-size:11px;line-height:1.5}.word-gloss-tooltip .gloss-help-note{margin-top:6px;border-top:1px solid #506079;padding-top:6px}.course-completion{margin-bottom:25px}.course-completion .meter{height:13px;margin:22px 0}.practice-totals{margin-top:26px}.practice-totals h2{margin:0 0 22px;font-size:21px}.course-stats .stat strong small{display:block;font-size:12px;margin:6px 0 0}.practice-totals .stat{background:#f8faff}.practice-totals .stat strong{font-size:28px}
@media(max-width:750px){.sidebar>.nav-item,.sidebar nav>.nav-item{width:20%;flex-basis:20%;font-size:10px;min-height:62px}.sidebar>.dictionary-link{font-size:9px}.word-gloss-tooltip{font-size:14px;max-width:min(290px,calc(100vw - 16px))}.sentence-gloss{text-underline-offset:4px}.course-stats,.practice-totals .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-totals{padding:20px}.course-completion .section-top{gap:10px}.course-completion h2{font-size:19px}}


/* Shared by the standalone app and the PocketBase website. */
.nav-short { display:none; }
.sidebar .nav-icon { display:grid; place-items:center; flex-shrink:0; }
.nav-icon svg { width:22px; height:22px; display:block; }
.topbar .ws-right { min-width:0; }
.topbar .ws-user { display:block; min-width:0; text-overflow:ellipsis; }
.ws-menu { max-width:calc(100vw - 32px); overflow-wrap:anywhere; }

@media (max-width:750px) {
  html { -webkit-text-size-adjust:100%; }
  .topbar {
    height:auto; min-height:68px; padding:10px 16px;
    gap:12px; flex-wrap:nowrap;
  }
  .topbar .brand { flex:none; font-size:20px; gap:7px; letter-spacing:-.7px; }
  .topbar .brandmark { width:32px; height:32px; font-size:25px; border-radius:10px; }
  .topbar .edition { display:none; }
  .topbar .ws-right { flex:1 1 0; justify-content:flex-end; gap:8px; }
  .topbar .ws-user {
    flex:0 1 auto; max-width:200px; min-height:44px;
    padding:8px 10px; font-size:12px; line-height:18px;
  }
  .topbar .icon-button { flex:0 0 44px; width:44px; height:44px; }
  .layout { display:block; min-height:calc(100dvh - 68px); }
  .layout > .sidebar {
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch; gap:2px; padding:5px 6px;
    position:sticky; top:0; z-index:10; background:#fff;
    border:0; border-bottom:1px solid var(--line);
  }
  .sidebar .nav-label, .sidebar .sidebar-bottom { display:none; }
  .sidebar nav { display:contents; }
  .sidebar > .nav-item, .sidebar nav > .nav-item {
    display:grid; grid-template-rows:24px 16px; justify-items:center;
    align-content:center; align-items:center; gap:5px;
    width:100%; min-width:0; min-height:64px;
    margin:0; padding:8px 1px; border:0; border-radius:10px;
    font-size:clamp(10px,2.75vw,12px); line-height:16px;
    text-align:center; white-space:nowrap; letter-spacing:0;
  }
  .sidebar .nav-item .nav-full { display:none; }
  .sidebar .nav-item .nav-short { display:block; }
  .sidebar .nav-item .nav-icon { width:24px; height:24px; font-size:22px; line-height:1; }
  .sidebar .nav-item.active { background:#edf1ff; color:#244ee7; }
  .sidebar .nav-number { display:none; }
  main { min-width:0; padding:26px 18px 40px; }
}


#ws-gate{position:fixed;inset:0;z-index:1000;background:#f4f6fa;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
#ws-gate[hidden]{display:none}
body:not(.ws-ready) .layout{visibility:hidden}
.ws-card{width:100%;max-width:400px;background:#fff;border:1px solid #e4e8f0;border-radius:22px;padding:30px 26px;box-shadow:0 18px 50px rgba(23,35,54,.08)}
.ws-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:24px;color:#172336;margin-bottom:22px}
.ws-brand span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#244ee7;color:#fff;font-size:20px}
.ws-card h1{font-size:24px;margin:0 0 6px;color:#172336}
.ws-card p.ws-sub{margin:0 0 20px;color:#657184;font-size:15px;line-height:1.45}
.ws-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f3f8;border-radius:12px;padding:4px;margin-bottom:18px}
.ws-tabs button{border:0;background:none;padding:10px;border-radius:9px;font-weight:600;color:#657184}
.ws-tabs button.on{background:#fff;color:#172336;box-shadow:0 1px 4px rgba(23,35,54,.1)}
.ws-card label{display:block;font-size:14px;font-weight:600;color:#172336;margin:12px 0 6px}
.ws-card input{width:100%;padding:13px 14px;border:1px solid #d5dbe6;border-radius:12px;font-size:16px;background:#fff;color:#172336}
.ws-card input:focus{outline:2px solid #244ee7;outline-offset:0;border-color:#244ee7}
.ws-hint{font-size:13px;color:#657184;margin-top:6px}
.ws-err{color:#ab4034;background:#fbeeec;border-radius:10px;padding:10px 12px;font-size:14px;margin-top:14px}
.ws-err:empty{display:none}
.ws-go{width:100%;margin-top:20px;border:0;border-radius:12px;background:#244ee7;color:#fff;padding:14px;font-size:16px;font-weight:700}
.ws-user{display:flex;align-items:center;gap:8px;border:1px solid #e4e8f0;background:#fff;border-radius:999px;padding:8px 14px;font-weight:600;color:#172336;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-right{display:flex;align-items:center;gap:10px}
.ws-menu{position:fixed;z-index:1001;background:#fff;border:1px solid #e4e8f0;border-radius:14px;box-shadow:0 12px 36px rgba(23,35,54,.14);padding:14px;min-width:220px}
.ws-menu p{margin:0 0 4px;font-weight:700;color:#172336}
.ws-menu small{display:block;color:#657184;margin-bottom:12px}
.ws-menu button{width:100%;border:1px solid #e4e8f0;background:#fff;border-radius:10px;padding:10px;font-weight:600;color:#ab4034}
@media (max-width:600px){.ws-user{padding:7px 11px;font-size:14px}}

/* Touch-only word assembly; answer slots are buttons, never text inputs. */
.letter-puzzle .direct-letters { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; max-width:560px; margin:20px auto; }
.letter-puzzle .direct-letter { display:grid; place-items:center; width:40px; min-width:40px; height:46px; font-size:23px; border-radius:9px; }
.letter-puzzle .direct-letter:disabled { opacity:1; color:#203253; }
.letter-puzzle .direct-letter.filled:not(:disabled):hover { background:#e5edff; border-color:#244ee7; }
.letter-puzzle .letter-bank { gap:6px; justify-content:center; margin:20px 0 14px; }
.letter-puzzle .letter-bank button { width:44px; min-width:44px; height:48px; padding:0; touch-action:manipulation; }
.letter-puzzle .recall-controls { display:grid; grid-template-columns:auto 44px minmax(0,1fr); gap:10px; align-items:center; }
.letter-puzzle .recall-controls > button { width:auto; margin:0; min-height:44px; }
.letter-puzzle .recall-controls .secondary { padding:8px; }
.tile-help { margin:12px auto; text-align:center; font-size:12px; line-height:1.5; color:#657184; max-width:340px; }
@media(max-width:380px) { .letter-puzzle .direct-letter { width:36px; min-width:36px; height:44px; font-size:22px; } }

.ws-loading { max-width:440px; margin:48px auto; padding:28px; color:#172336; background:#fff; border:1px solid #e4e8f0; border-radius:18px; line-height:1.6; }
.ws-loading[hidden] { display:none; }
.ws-loading p { margin:8px 0 0; color:#657184; font-size:14px; }
.ws-loading button { margin-top:18px; }
@media(max-width:500px) { .ws-loading { margin:28px 18px; padding:24px; } }

/* One word, one screen. Examples and meanings share a paged reading area. */
.art-frame{position:relative;width:180px;height:180px;flex-shrink:0;margin:12px auto;background-size:100% 100%;background-position:center;border-radius:16px;overflow:hidden}
.art-frame .word-art{display:block;width:100%;height:100%;margin:0;object-fit:contain;border-radius:inherit}
.art-frame.small{width:116px;height:116px}.art-tile .art-frame{width:100%;height:auto;aspect-ratio:1;margin:0}
.art-retry{position:absolute;bottom:6px;left:6px;right:6px;border:1px solid #d6deef;border-radius:8px;padding:8px;background:#fffc;font-size:12px}
.art-retry[hidden],.card-reader [hidden]{display:none!important}
main.card-screen{height:calc(100dvh - var(--card-chrome,88px));min-height:480px;padding:16px 26px;display:flex;flex-direction:column;gap:10px;max-width:1100px}
.focus-home-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex:none}
.focus-home-head h1{font-size:22px;margin:0}.focus-home-head button{min-height:40px;padding:8px 14px;font-size:13px}
.focus-card{display:flex;flex-direction:column;min-height:0;gap:8px;overflow:hidden}
.study-card.focus-card{padding:18px 22px;margin:0}
.discovery-card.focus-card{flex:1;width:100%;max-width:720px;margin:0 auto}
.focus-card .card-top{margin:0;min-height:24px;font-size:11px;flex:none}
.focus-card .pill{padding:6px 9px;font-size:10px;letter-spacing:1px}
.focus-face{display:flex;flex-direction:column;align-items:stretch;flex:1;min-height:0;gap:6px;text-align:center}
.focus-face>.art-frame{flex:1;min-height:90px;height:0;width:auto;aspect-ratio:1;max-height:360px;max-width:100%;margin:0 auto}
.focus-face.without-art{justify-content:center}.focus-face.without-art .focus-title{margin:auto 0}
.focus-title{flex:none}.focus-card .focus-title h2{display:flex;justify-content:center;align-items:center;gap:10px;font-size:38px;line-height:1.05;letter-spacing:-1.4px;margin:0;overflow-wrap:anywhere}
.focus-card .focus-title .sound{width:40px;height:40px;min-width:40px;min-height:40px;font-size:20px;margin:0}
.focus-translation{display:flex;align-items:center;justify-content:center;min-height:34px;margin:5px 0 0;line-height:1.3;font-size:17px;color:#51607b;overflow-wrap:anywhere}
.focus-translation .reveal-word{min-height:34px;padding:4px 12px;margin:0;font-size:14px;line-height:1.3}
.card-reader{display:flex;flex-direction:column;flex:0 0 140px;min-height:0;width:100%;max-width:590px;margin:0 auto;text-align:left;background:#f6f8fc;border:1px solid #e9edf5;border-radius:14px;overflow:hidden}
.reader-tabs{display:flex;gap:3px;border-bottom:1px solid #e4e9f3;padding:3px 8px;flex:none}
.reader-tabs button{min-height:32px;padding:5px 13px;border:0;border-radius:7px;background:transparent;color:#69768c;font-size:12px;font-weight:600}
.reader-tabs button[aria-selected=true]{background:#fff;color:#244ee7;box-shadow:0 1px 4px #1625460c}
.reader-deck{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;touch-action:pan-y;padding:8px 14px}
.reader-page{font-size:14px;line-height:1.45}.reader-page>p{margin:6px 0}.reader-page>strong{font-size:16px;font-weight:650;color:#253653}
.card-reader .example{padding:0;margin:0;border:0;background:none;border-radius:0}
.card-reader .example p{font-size:16px;line-height:1.45;margin:0}
.card-reader .example .example-ru,.card-reader .example-ru{font-size:13px;color:#64718a;line-height:1.4;margin:7px 0 0}
.card-reader .example .sound{width:30px;height:30px;min-width:30px;min-height:30px;font-size:17px;vertical-align:middle;margin:0 0 0 5px}
.reader-pager{display:flex;align-items:center;justify-content:center;gap:18px;flex:none;height:32px;border-top:1px solid #e9edf5;color:#74829a;font-size:11px}
.reader-pager button{height:32px;min-width:48px;line-height:1;border:0;background:transparent;color:#4565b2;font-size:24px}
.card-actions{flex:none;margin-top:auto;display:flex;flex-direction:column;gap:4px}
.focus-card .card-actions .button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.focus-card .card-actions .primary,.focus-card .card-actions .secondary{min-height:46px;padding:11px 16px;font-size:14px;border-radius:12px;white-space:normal}
.focus-card .reveal-compact{font-size:13px;padding:4px 8px;min-height:32px;align-self:center;margin:0}
.card-screen .journey-wrap{width:100%;height:100%;display:flex;flex-direction:column;gap:8px;min-height:0;padding:0;max-width:740px}
.card-screen .session-head{flex:none;margin:0;height:38px;align-items:center;gap:10px}
.card-screen .session-head span{font-size:12px;color:#758199}.card-screen .session-head button{padding:8px 0;font-size:14px;min-height:38px}
.card-screen .journey-steps{flex:none;margin:0;gap:4px}.card-screen .journey-step{padding:7px 5px;font-size:11px;gap:5px;min-width:0;border-radius:8px}
.card-screen .journey-step b{height:19px;flex-basis:19px;font-size:10px}
.card-screen .journey-card{flex:1;scroll-margin:0}.focus-card>.meter{height:3px;margin:0;flex:none}
.focus-feedback{flex:none;text-align:center;font-size:13px;padding:6px 10px;border-radius:8px;background:#edf7f2;color:#34775c}
.focus-feedback.review-feedback{background:#f0f3fa;border:0;color:#647494}
.focus-card .round-prompt{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0;padding:5px 0;margin:0;gap:8px}
.focus-card .round-prompt .art-frame{flex:1;width:auto;aspect-ratio:1;height:0;min-height:80px;max-height:240px;margin:0 auto}
.focus-card .round-prompt h2{font-size:34px;line-height:1.15;margin:0;overflow-wrap:anywhere}
.focus-card .round-prompt .word-label{font-size:12px;line-height:1.25;margin:0}
.focus-card .context-sentence{font-size:19px;line-height:1.4;margin:0;padding:0}
.focus-card .context-translation{font-size:13px;line-height:1.4;margin:0}
.focus-card .context-counter{font-size:11px;margin:0}
.focus-card .options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;flex:none}
.focus-card .option{min-height:50px;font-size:14px;padding:9px 12px;gap:8px;border-radius:12px;line-height:1.3}
.focus-card .option b{width:23px;height:23px;flex:0 0 23px;font-size:11px}
.focus-card .skip-recall{min-height:32px;padding:6px;margin:0;font-size:12px}
.focus-card .quiz-footer{display:grid;grid-template-rows:38px 46px;gap:4px}
.answer-status{height:38px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.3;overflow:auto;overscroll-behavior:contain}
.answer-correct{color:#27845e}.answer-neutral{color:#5e6d85}
.focus-card .continue-button{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;margin:0;transition:background-color .15s;color:#fff}
.focus-card .continue-button:disabled{opacity:1;background:#dce7ff;border-color:#dce7ff;color:#7b96ce;cursor:default;box-shadow:none}
.continue-button svg,.review-chevron{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.review-word>span{display:flex;align-items:center;gap:8px}
.focus-card .option:disabled{opacity:1}
.focus-card .option.correct{background:#e9f6ef;border-color:#71b998;color:#216747}
.focus-card .option.wrong{background:#eef1f5;border-color:#bec8d7;color:#526176}
.focus-card .letter-puzzle button:disabled{cursor:default}
.focus-card #recall-form{flex:none}.focus-card .direct-letters{margin:12px auto}.focus-card .letter-bank{margin:8px auto}.focus-card .recall-controls{margin:8px 0 0}
#modal:has(.modal-word-card){width:min(680px,calc(100vw - 24px));height:min(840px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:16px 20px;overflow:hidden}
#modal:has(.modal-word-card)[open]{display:flex;flex-direction:column;gap:10px}
#modal:has(.modal-word-card) .dialog-head{flex:none;margin:0}.modal-word-card{flex:1}
.modal-word-card .frequency-toggle{font-size:12px;margin:0;padding:4px;min-height:30px}
@media(max-width:750px){
 body:has(.card-screen) .topbar{min-height:54px;padding:5px 12px;height:54px}
 body:has(.card-screen) .sidebar{padding:3px 5px;position:relative}
 body:has(.card-screen) .sidebar .nav-item{min-height:51px;padding:4px 1px;gap:1px}
 body:has(.card-screen) .layout{min-height:0}
 body.focus-session .topbar,body.focus-session .layout>.sidebar{display:none}
 main.card-screen{padding:8px 10px max(8px,env(safe-area-inset-bottom));min-height:410px;gap:7px}
 body.focus-session main.card-screen{min-height:500px}
 .focus-home-head h1{font-size:17px}.focus-home-head button{min-height:34px;padding:6px 10px;font-size:12px}
 .study-card.focus-card{padding:12px;gap:6px;border-radius:18px}
 .focus-face{gap:5px}.focus-face>.art-frame{max-height:min(360px,calc(100vw - 48px))}
 .focus-card .focus-title h2{font-size:34px}.focus-translation{font-size:15px;margin-top:3px}
 .card-reader{flex-basis:122px}.reader-deck{padding:7px 10px}
 .card-reader .example p{font-size:15px}.reader-page{font-size:13px}
 .reader-tabs button{min-height:30px}.reader-pager,.reader-pager button{height:29px}
 .card-screen .journey-step{font-size:10px;padding:6px 4px;gap:3px}.card-screen .journey-step b{display:none}
 .focus-card .context-sentence{font-size:18px}.focus-card .option{font-size:13px;padding:10px;min-height:48px}
 .focus-card .direct-letter{height:42px;font-size:23px}.focus-card .direct-letters{margin:9px auto}
 .focus-card .letter-bank button{min-height:43px;height:43px}
 #modal:has(.modal-word-card){padding:12px;gap:6px}
}
@media(max-width:750px) and (max-height:720px){
 .card-reader{flex-basis:112px}.focus-card .focus-title h2{font-size:30px}
 .focus-face>.art-frame{min-height:70px;max-height:min(320px,calc(100vw - 48px))}.focus-card .focus-title .sound{width:34px;height:34px;min-width:34px;min-height:34px}
 .focus-card .card-actions .primary,.focus-card .card-actions .secondary{min-height:43px;padding:9px 13px}
 .reader-tabs button{min-height:27px}.reader-tabs{padding:2px 6px}.reader-pager,.reader-pager button{height:26px}
 .focus-card .focus-translation{font-size:14px}.focus-card .reveal-compact{min-height:27px;padding:2px}
}
@media(prefers-reduced-motion:reduce){.focus-card *{animation:none!important;scroll-behavior:auto!important}}
