:root{color-scheme:light;--canvas:#f7f5ef;--surface:#fff;--ink:#17211d;--muted:#59655f;--action:#0b6b60;--action-dark:#064e46;--focus:#1d4ed8;--highlight:#fff3c4;--success:#166534;--error:#b42318;--line:#d9ded9;--shadow:0 1px 2px rgb(23 33 29/.08),0 12px 32px rgb(23 33 29/.06);--radius:20px;--reader-size:1.14rem;--support-stack-gap:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:var(--action-dark);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}button{color:inherit}.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}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px}.skip-link:focus{top:16px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;max-width:1280px;margin:auto;padding:14px 24px;background:color-mix(in srgb,var(--canvas) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid rgb(23 33 29/.08)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--action);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.72rem;margin-top:2px}.site-header nav{display:flex;justify-content:center;gap:22px}.site-header nav a{min-height:44px;display:grid;place-items:center;color:var(--muted);text-decoration:none;font-size:.92rem}.site-header nav a:hover{color:var(--ink)}.learning-stage,.practice-section,.vocab-section,.teacher-section{scroll-margin-top:88px}
main{max-width:1280px;margin:auto;padding:0 24px 72px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center;min-height:620px;padding:64px 5vw}.eyebrow{margin:0 0 10px;color:var(--action);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;max-width:760px;font-family:"Times New Roman",Times,serif;font-size:clamp(3rem,6vw,6.4rem);font-weight:500;line-height:1.02;letter-spacing:-.026em;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;text-wrap:balance;overflow-wrap:normal;word-break:normal}.dek{max-width:620px;margin:24px 0;color:var(--muted);font-family:"Times New Roman",Times,serif;font-size:clamp(1.2rem,2vw,1.55rem);font-kerning:normal;font-synthesis:none;line-height:1.45;text-rendering:optimizeLegibility;text-wrap:pretty}.hero-actions,.dialog-actions{display:flex;flex-wrap:wrap;gap:10px}.button,.icon-button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 120ms ease}.button{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;font-weight:750;text-decoration:none}.button:active,.icon-button:active,.export-option:active{transform:scale(.96)}.button-primary{border-color:var(--action);background:var(--action);color:#fff}.button-primary:hover{background:var(--action-dark)}.button-quiet:hover{border-color:#9aa59f;background:#fff}.icon-button{min-width:44px;padding:0 10px;font-weight:800}
.signal-map{position:relative;min-height:430px;margin:0;overflow:hidden;border:1px solid rgb(23 33 29/.12);border-radius:32px;background:radial-gradient(circle at 72% 18%,#fff 0 4%,transparent 4.5%),linear-gradient(145deg,#dcefe8,#eef4ea 58%,#d5e4dd);box-shadow:var(--shadow)}.signal-map figcaption{position:absolute;top:24px;left:24px;font-weight:800}.signal-map>p{position:absolute;left:24px;right:24px;bottom:20px;margin:0;color:var(--muted);font-size:.85rem}.orbit{position:absolute;right:40px;top:70px;width:120px;height:80px;border:2px solid var(--ink);border-radius:50%;transform:rotate(-12deg)}.orbit span{position:absolute;right:18px;top:24px;transform:rotate(12deg);font-size:.75rem;font-weight:800}.orbit i{position:absolute;left:6px;top:16px;width:18px;height:18px;border-radius:50%;background:var(--highlight);border:4px solid var(--ink)}.signal-line{position:absolute;right:126px;top:147px;width:170px;border-top:3px dashed var(--action);transform:rotate(34deg);transform-origin:right}.phone{position:absolute;left:22%;bottom:88px;width:92px;height:154px;border:7px solid var(--ink);border-radius:22px;background:#fff}.phone b{position:absolute;left:50%;top:55%;width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--focus);transform:translate(-50%,-50%) rotate(-45deg)}.phone span{position:absolute;top:164px;left:10px;font-size:.75rem;font-weight:800}.map-pin{position:absolute;right:18%;bottom:120px;width:38px;height:38px;border:7px solid var(--ink);border-radius:50% 50% 50% 0;background:var(--highlight);transform:rotate(-45deg)}
.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.reading-layout>*{min-width:0}.reading-card,.glossary-card,.vocab-section,.task-card,.teacher-section{background:var(--surface);border:1px solid rgb(23 33 29/.1);box-shadow:var(--shadow)}.reading-card{padding:clamp(24px,5vw,64px);border-radius:28px}.glossary-card{position:sticky;top:94px;padding:24px;border-radius:24px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:28px}.section-heading h2,.teacher-copy h2{margin:0;font-family:"Times New Roman",Times,serif;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;letter-spacing:-.018em;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;text-wrap:balance}.reading-tools{display:flex;gap:6px}.reader{font-family:"Times New Roman",Times,serif;font-size:var(--reader-size);font-kerning:normal;font-synthesis:none;line-height:1.78;letter-spacing:.004em;text-rendering:optimizeLegibility}.reader p{max-width:74ch;margin:0 0 1.4em;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty}.support-panel{margin-top:34px;border:1px solid var(--line);border-radius:16px;background:#fafbf9}.support-panel summary{min-height:48px;padding:14px 16px;cursor:pointer;font-weight:800}.support-panel>p,.support-panel>small{display:block;margin:14px 16px;line-height:1.55;text-wrap:pretty}.support-panel>small{color:var(--muted)}.plan-tabs{display:flex;gap:6px;margin:6px 16px}.plan-tabs button{min-height:44px;padding:0 14px;border:0;border-radius:10px;background:transparent;cursor:pointer}.plan-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.source-list{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.source-list h3{font-size:.9rem}.source-list li{margin:.7em 0;color:var(--muted);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.glossary-row{padding:15px 0;border-bottom:1px solid var(--line)}.glossary-row:last-child{border:0}.glossary-row header{display:flex;align-items:center;justify-content:space-between;gap:10px}.glossary-row strong{font-family:"Times New Roman",Times,serif;font-size:1.15rem;font-synthesis:none}.glossary-row p{margin:5px 0;color:var(--muted);font-size:.9rem}.save-word{min-width:44px;min-height:44px;border:0;border-radius:50%;background:var(--highlight);cursor:pointer}.save-word[aria-pressed=true]{background:var(--action);color:#fff}.privacy-note{margin:18px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}
.learning-stage[data-mode=read]>.workspace-divider,.learning-stage[data-mode=read]>.practice-section{display:none}.practice-section{padding:96px 0 24px}.wide-heading{align-items:end}.progress-wrap{display:grid;gap:7px;min-width:180px;text-align:right;font-variant-numeric:tabular-nums}.progress-wrap span{font-weight:800}.progress-wrap progress{width:100%;accent-color:var(--action)}.task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.task-card{padding:24px;border-radius:22px}.task-card header{display:flex;gap:14px}.task-number{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:var(--highlight);font-weight:900;font-variant-numeric:tabular-nums}.task-card h3{margin:2px 0 6px;font-size:1.16rem}.task-card header p{margin:0;color:var(--muted);line-height:1.45}.task-body{display:grid;gap:10px;margin:24px 0}.choice,.match-row,.sequence-row,.diagram-row{display:grid;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.choice{grid-template-columns:auto 1fr}.choice:has(input:checked){border-color:var(--action);background:#f1f8f5}.sequence-row{grid-template-columns:minmax(0,1fr) auto}.sequence-row>span{min-width:0;overflow-wrap:anywhere}.sequence-buttons{display:flex;gap:4px}.sequence-buttons button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.match-row,.diagram-row{grid-template-columns:minmax(0,1fr) minmax(150px,.8fr)}select,input{width:100%;min-height:44px;border:1px solid #aeb8b2;border-radius:10px;background:#fff;padding:9px 11px}.task-actions{display:grid;justify-items:start;gap:10px}.task-actions output{font-size:.88rem;line-height:1.55}.practice-submit{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.practice-submit output{line-height:1.5}.task-card.is-correct{border-color:#6da37d}.task-card.is-wrong{border-color:#d99a91}.task-card.is-incomplete{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 22%,transparent),var(--shadow)}.is-correct output{color:var(--success)}.is-wrong output{color:var(--error)}
.vocab-section{margin-top:72px;padding:clamp(24px,5vw,52px);border-radius:28px}.word-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.word-form label{display:grid;gap:7px;font-size:.82rem;font-weight:750}.word-form .wide{grid-column:1/3}.saved-words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.word-card{padding:16px;border:1px solid var(--line);border-radius:14px}.word-card header{display:flex;justify-content:space-between;gap:10px}.word-card p{margin:.5em 0;color:var(--muted)}.word-card small{display:block;line-height:1.4}.word-card button{min-width:44px;min-height:44px;border:0;background:transparent;cursor:pointer}.empty{color:var(--muted)}
.teacher-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;margin-top:72px;padding:clamp(28px,6vw,72px);border-radius:28px;background:var(--ink);color:#fff}.teacher-section>*{min-width:0}.teacher-copy p:last-child{color:#cbd4cf;line-height:1.6}.teacher-section .eyebrow{color:#86d5c7}.teacher-plans{padding:20px;border-radius:20px;background:#fff;color:var(--ink)}.teacher-flow-title{margin:0 0 14px;font-size:1rem}.teacher-plans ol{min-height:0;padding-left:26px}.teacher-plans li{margin:12px 0;line-height:1.45}.teacher-flow li::marker{color:var(--action);font-weight:900}
dialog{width:min(720px,calc(100% - 24px));max-height:90vh;border:0;border-radius:24px;padding:26px;color:var(--ink);box-shadow:0 30px 100px rgb(0 0 0/.3)}dialog::backdrop{background:rgb(11 25 21/.58);backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:0;font-family:"Times New Roman",Times,serif;font-size:2rem;font-kerning:normal;font-synthesis:none;text-wrap:balance}.export-dialog fieldset{display:grid;gap:10px;margin:24px 0;padding:0;border:0}.pack-picker{grid-template-columns:1fr 1fr}.pack-picker legend{margin-bottom:10px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.export-dialog .pack-card{position:relative;min-height:126px;align-items:flex-start;padding:18px;border-radius:16px;background:var(--surface);box-shadow:0 0 0 1px rgb(23 33 29/.12);cursor:pointer;transition-property:background-color,box-shadow,transform;transition-duration:160ms}.export-dialog .pack-card:has(input:checked){background:#eef8f4;box-shadow:0 0 0 2px var(--action)}.export-dialog .pack-card:active{transform:scale(.96)}.pack-card input{flex:0 0 auto;margin-top:4px;accent-color:var(--action)}.pack-card span,.pack-card strong,.pack-card small{display:block}.pack-card strong{font-size:1rem}.pack-card small{margin-top:7px;color:var(--muted);font-size:.8rem;font-weight:500;line-height:1.5;text-wrap:pretty}.format-label{margin:0 0 9px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-option{min-height:82px;padding:14px;text-align:left;border:0;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgb(23 33 29/.12);cursor:pointer;transition-property:box-shadow,background-color,transform;transition-duration:160ms}.export-option:hover,.export-option.is-selected{background:#f1f8f5;box-shadow:0 0 0 2px var(--action)}.export-option strong,.export-option span{display:block}.export-option span,.share-note,.status{margin-top:5px;color:var(--muted);font-size:.8rem;line-height:1.45}.dialog-actions{margin-top:18px}.review-dialog{max-width:600px}.review-card{text-align:center;padding:22px}.review-card strong{display:block;font-family:"Times New Roman",Times,serif;font-size:2.6rem;font-weight:700;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility}.review-card p{color:var(--muted)}.review-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}
[hidden]{display:none!important}@media (max-width:900px){.site-header{grid-template-columns:auto 1fr}.site-header nav{display:none}.site-header>[data-open-export]{justify-self:end}.hero{grid-template-columns:1fr;gap:32px;min-height:0;padding:60px 0}.signal-map{min-height:360px}.reading-layout{grid-template-columns:1fr}.glossary-card{position:static}.task-list{grid-template-columns:1fr}.teacher-section{grid-template-columns:1fr;gap:24px}.word-form{grid-template-columns:1fr}.word-form .wide{grid-column:auto}.saved-words{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.site-header{gap:8px;padding:10px 14px}.brand small{display:none}.site-header .button{padding:0 12px}main{padding:0 14px 48px}.hero h1{font-size:clamp(2.9rem,14vw,4.25rem);line-height:1.04;letter-spacing:-.025em;text-wrap:wrap}.signal-map{min-height:310px}.reading-card{padding:24px 18px}.section-heading,.wide-heading{align-items:flex-start;flex-direction:column}.reading-card>.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.reading-card>.section-heading h2{font-size:clamp(1.5rem,7.4vw,2rem)}.reading-tools{align-self:auto;margin:0}.glossary-card,.task-card{padding:18px}.match-row,.diagram-row{grid-template-columns:1fr}.task-actions{align-items:start}.practice-submit{grid-template-columns:1fr}.practice-submit .button{width:100%}.progress-wrap{width:100%;text-align:left}.saved-words{grid-template-columns:1fr}.teacher-section{padding:26px 18px}.pack-picker,.export-grid{grid-template-columns:1fr}.export-dialog{padding:20px}.export-dialog .pack-card{min-height:104px}}
@media (max-width:360px){.reading-tools{align-self:flex-start;margin-top:0}}
@media (max-width:360px){.header-tools [data-open-export]{display:none}.glossary-row header{flex-wrap:wrap}.glossary-row header strong{flex:1 0 100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.icon-button,.export-option,.voice-choice button,.segment-play{transition:none}.voice-choice button:active,.segment-play:active{scale:1}}
@media (forced-colors:active){.button-primary,.brand-mark,.task-number,.voice-choice button,.segment-play{border:2px solid ButtonText}.signal-map{border:2px solid CanvasText}.task-card.is-incomplete{outline:2px solid Highlight}}
.dialog-intro{max-width:58ch;margin:10px 0 22px;color:var(--muted);font-size:.9rem;line-height:1.5;text-wrap:pretty}.export-dialog{overflow-x:hidden}.export-dialog .dialog-head>div{min-width:0}.export-dialog .dialog-head h2{font-size:clamp(1.55rem,7vw,2rem);overflow-wrap:anywhere}.export-grid>*{min-width:0}
.import-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.source-list a{display:inline-flex;align-items:center;min-height:44px}
@media print{body{background:#fff}.site-header,.hero-actions,.reading-tools,.audio-reader,.segment-play,.support-panel,.support-reveal,.glossary-card,.practice-section,.vocab-section .section-heading button,.word-form,.teacher-section,.export-dialog,.review-dialog{display:none!important}main{max-width:none;padding:0}.hero{display:block;min-height:0;padding:0 0 24px}.signal-map{display:none}.reading-layout{display:block}.reading-card,.vocab-section{border:0;box-shadow:none;padding:0}.reader{font-size:12pt;line-height:1.55}.reader p,.dialogue-turn{display:block;padding:0}.source-list{break-inside:avoid}.saved-words{grid-template-columns:1fr 1fr}.word-card{break-inside:avoid}}

.text-close{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 22px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink);font:inherit;font-size:.88rem;font-weight:800;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,transform 120ms ease}.text-close:hover{border-color:var(--action);background:var(--surface)}.text-close:active{transform:scale(.98)}.text-close--compact{margin:0}.reading-heading-actions{display:flex;align-items:center;gap:10px}.deck-browser-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--canvas)}.deck-browser-heading h3{margin:3px 0 4px;font-family:"Times New Roman",Times,serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;font-kerning:normal;font-synthesis:none}.deck-browser-heading p{margin:0;color:var(--muted)}.saved-words.deck-browser{display:block}.deck-browser-intro{max-width:68ch;margin:10px 0 28px;color:var(--muted);line-height:1.55}.deck-theme-group{margin-top:32px}.deck-theme-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}.deck-theme-heading h3{margin:0;font-family:"Times New Roman",Times,serif;font-size:clamp(1.45rem,2.6vw,2rem);font-weight:500;font-kerning:normal;font-synthesis:none}.deck-theme-heading span{color:var(--muted);font-size:.82rem}.deck-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.deck-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:border-color 160ms ease,transform 160ms ease,box-shadow 160ms ease}.deck-card:hover{border-color:color-mix(in srgb,var(--action) 58%,var(--line));transform:translateY(-1px);box-shadow:0 10px 30px rgb(10 34 28/.08)}.deck-card h4{margin:0 0 8px;font-family:"Times New Roman",Times,serif;font-size:1.25rem;font-kerning:normal;font-synthesis:none}.deck-card p{margin:0 0 12px;color:var(--muted)}.deck-due{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.76rem;font-weight:800}.deck-due.is-due{background:color-mix(in srgb,var(--action) 14%,var(--surface));color:var(--action)}.deck-card-actions{display:grid;gap:8px;min-width:138px}.deck-card-actions .button{width:100%;white-space:nowrap}

@media(max-width:760px){.reading-heading-actions{align-items:flex-end;flex-direction:column}.deck-browser-heading{grid-template-columns:1fr}.deck-browser-heading .text-close{justify-self:start}.deck-browser-heading .button{width:100%}.deck-card-grid{grid-template-columns:1fr}.deck-card{grid-template-columns:1fr}.deck-card-actions{grid-template-columns:1fr 1fr}.deck-theme-heading{align-items:flex-start;flex-direction:column;gap:4px}}

@media(max-width:420px){.deck-card-actions{grid-template-columns:1fr}.text-close--compact span:last-child{max-width:12ch;text-align:left}}

@media(max-width:560px){.site-header .header-tools [data-open-export]{display:none}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-chip{min-width:0;white-space:normal;line-height:1.2;overflow-wrap:anywhere}.level-filter{grid-template-columns:auto minmax(0,1fr)}.level-filter select{min-width:0}}

/* Oqýlym learning workspace */
:root{--mobile-text-size:44%}.header-tools{display:flex;align-items:center;gap:8px;justify-self:end}.language-control{display:block}.language-control select{width:auto;min-width:66px;min-height:44px;padding:0 28px 0 10px;border-color:var(--line);font-size:.76rem;font-weight:850;letter-spacing:.025em}.info-link{display:grid;place-items:center;width:44px;min-width:44px;padding:0;color:var(--ink);text-decoration:none}.info-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.info-link[aria-current="page"]{border-color:var(--action);background:var(--action);color:#fff}.language-boundary{max-width:58ch;margin:14px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5;text-wrap:pretty}.reader-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}.reader-actions .button{min-width:0;white-space:normal;text-align:center}.reader-actions small{max-width:36ch;color:var(--muted);line-height:1.45}.practice-heading-tools{display:flex;align-items:end;gap:12px}.workspace-exit{display:none}.workspace-divider{align-items:center;gap:8px}.split-preset{min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.split-handle{display:grid;place-items:center;min-width:44px;min-height:44px;cursor:row-resize}.split-handle span{width:44px;height:5px;border-radius:99px;background:var(--line)}.reader p.is-evidence{margin-inline:-10px;padding:8px 10px;border-left:4px solid var(--action);border-radius:0 10px 10px 0;background:var(--highlight)}
.task-ui-help{display:block;margin-top:8px;color:var(--action-dark);font-size:.76rem;font-weight:750;line-height:1.45;text-wrap:pretty}
.definition-kk{color:var(--ink)!important;line-height:1.5}.glossary-row .definition-kk{font-weight:650}.dictionary-summary{margin:8px 0 0;color:var(--muted);font-size:.86rem;font-variant-numeric:tabular-nums}.image-field small{color:var(--muted);font-weight:500}.speech-status{min-height:1.3em;color:var(--muted);font-size:.82rem}.word-card{overflow:hidden;background:var(--surface)}.word-image,.review-image{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--line)}.word-card>.word-image{width:calc(100% + 32px);max-width:none;margin:-16px -16px 14px}.word-card header{align-items:center}.word-card header strong{margin-right:auto}.sound-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line)!important;border-radius:50%;background:var(--surface)!important;color:var(--action);cursor:pointer}.word-card .translation{font-size:.86rem}.word-origin{display:block;margin-top:10px;color:var(--muted);font-size:.72rem;line-height:1.35}.teacher-explainer{margin:18px 0;border-top:1px solid var(--line);padding-top:14px}.teacher-explainer summary{min-height:44px;display:flex;align-items:center;font-weight:850;cursor:pointer}.teacher-explainer>p{line-height:1.55}.teacher-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teacher-guidance-grid section{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--canvas)}.teacher-guidance-grid h3{margin:0;font-size:.9rem}.teacher-guidance-grid ul{min-height:0;margin:10px 0 0;padding-left:19px}.teacher-guidance-grid li{font-size:.78rem}.restore-help{margin-top:16px;padding:10px 14px;border:1px solid var(--line);border-radius:12px}.restore-help summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer}.restore-help li,.restore-help p{color:var(--muted);font-size:.82rem;line-height:1.5}
.review-modes,.review-activities{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.review-modes button,.review-activities button{min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.review-modes button[aria-selected=true],.review-activities button[aria-selected=true]{border-color:var(--ink);background:var(--ink);color:var(--surface)}.review-progress{display:block;margin-bottom:12px;color:var(--muted);font-variant-numeric:tabular-nums}.review-image{max-height:220px;margin:0 auto 18px;border-radius:16px}.review-term{display:flex;align-items:center;justify-content:center;gap:10px}.review-term strong{font-size:2.6rem}.reveal-answer{margin-top:28px}.review-empty{padding:28px;color:var(--muted);text-align:center;line-height:1.55}.review-type{display:grid;gap:14px}.review-type>.definition-kk{font-family:"Times New Roman",Times,serif;font-size:1.3rem;font-kerning:normal;font-synthesis:none}.type-answer{display:grid;gap:7px;text-align:left;font-size:.82rem;font-weight:800}.review-match{display:grid;gap:10px;padding:16px 4px}.review-match>p{margin:0 0 8px}.review-match output,.review-type output{min-height:1.4em;font-weight:750}.answer-correct{color:var(--success)}.answer-wrong{color:var(--error)}

@media (min-width:901px){.learning-stage[data-mode=practice]{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px;align-items:start}.learning-stage[data-mode=practice] .workspace-divider{display:none}.learning-stage[data-mode=practice] .text-pane{position:sticky;top:84px;min-width:0;height:calc(100vh - 104px)}.learning-stage[data-mode=practice] .reading-layout{grid-template-columns:minmax(0,1fr)}.learning-stage[data-mode=practice] .reading-layout,.learning-stage[data-mode=practice] .reading-card{height:100%}.learning-stage[data-mode=practice] .reading-card{overflow:auto;padding:34px}.learning-stage[data-mode=practice] .glossary-card,.learning-stage[data-mode=practice] .reader-actions{display:none}.learning-stage[data-mode=practice] .practice-section{min-width:0;padding:20px 0}.learning-stage[data-mode=practice] .task-list{grid-template-columns:1fr}.learning-stage[data-mode=practice] .workspace-exit{display:inline-flex}.learning-stage[data-mode=practice] .wide-heading{align-items:flex-start}.learning-stage[data-mode=practice] .practice-heading-tools{align-items:stretch;flex-direction:column}.learning-stage[data-mode=practice] .progress-wrap{width:100%}}

html[data-theme=dark]{color-scheme:dark;--canvas:#111713;--surface:#18201c;--ink:#f2f4ef;--muted:#aab5ae;--action:#58b9a9;--action-dark:#83d3c5;--focus:#79a7ff;--highlight:#4b4226;--success:#7fd399;--error:#ff9b90;--line:#39443e;--shadow:0 1px 2px rgb(0 0 0/.28),0 14px 36px rgb(0 0 0/.22)}html[data-theme=dark] .site-header{border-bottom-color:#39443e}html[data-theme=dark] .button-quiet:hover,html[data-theme=dark] .choice,html[data-theme=dark] .sequence-row,html[data-theme=dark] .match-row,html[data-theme=dark] .diagram-row,html[data-theme=dark] .sequence-buttons button,html[data-theme=dark] select,html[data-theme=dark] input,html[data-theme=dark] dialog,html[data-theme=dark] .export-option,html[data-theme=dark] .pack-card{background:var(--surface);color:var(--ink)}html[data-theme=dark] .choice:has(input:checked),html[data-theme=dark] .export-option:hover,html[data-theme=dark] .export-option.is-selected,html[data-theme=dark] .pack-card:has(input:checked){background:#213a33}html[data-theme=dark] .export-option,html[data-theme=dark] .pack-card{box-shadow:0 0 0 1px rgb(255 255 255/.1)}html[data-theme=dark] .support-panel{background:#151d19}html[data-theme=dark] .teacher-section{background:#0c2b25;color:#f5f7f3}html[data-theme=dark] .teacher-plans{background:var(--surface);color:var(--ink)}html[data-theme=dark] .review-modes button[aria-selected=true],html[data-theme=dark] .review-activities button[aria-selected=true]{background:#f2f4ef;color:#17211d}html[data-theme=dark] .signal-map{background:radial-gradient(circle at 72% 18%,#668b7d 0 4%,transparent 4.5%),linear-gradient(145deg,#1b332c,#202a24 58%,#263b33)}html[data-theme=dark] .phone{background:#dfe8e2}

@media (max-width:900px){body.practice-active{overflow:hidden}.teacher-guidance-grid{grid-template-columns:1fr}.learning-stage[data-mode=practice]{position:fixed;inset:65px 0 0;z-index:19;display:grid;grid-template-rows:minmax(0,var(--mobile-text-size)) 44px minmax(0,1fr);padding:0 14px 12px;background:var(--canvas)}.learning-stage[data-mode=practice] .text-pane{min-height:0;overflow:hidden}.learning-stage[data-mode=practice] .reading-layout,.learning-stage[data-mode=practice] .reading-card{height:100%}.learning-stage[data-mode=practice] .reading-card{overflow:auto;padding:22px 18px;border-radius:18px}.learning-stage[data-mode=practice] .reading-card>.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.learning-stage[data-mode=practice] .reading-card>.section-heading>div:first-child{min-width:0}.learning-stage[data-mode=practice] .reading-card>.section-heading h2{font-size:1.35rem}.learning-stage[data-mode=practice] .reading-tools{grid-column:2;grid-row:1;margin:0}.learning-stage[data-mode=practice] .glossary-card,.learning-stage[data-mode=practice] .reader-actions,.learning-stage[data-mode=practice] .source-list{display:none}.learning-stage[data-mode=practice] .workspace-divider{display:grid;grid-template-columns:auto 1fr auto}.learning-stage[data-mode=practice] .practice-section{min-width:0;min-height:0;overflow:auto;padding:12px 0 24px}.learning-stage[data-mode=practice] .task-list,.learning-stage[data-mode=practice] .task-card{min-width:0}.learning-stage[data-mode=practice] .task-list{grid-template-columns:1fr}.learning-stage[data-mode=practice] .workspace-exit{display:inline-flex}.learning-stage[data-mode=practice] .practice-heading-tools{width:100%;align-items:stretch;flex-direction:column}.learning-stage[data-mode=practice] .practice-section>.section-heading{margin-bottom:16px}.learning-stage[data-mode=practice] #practice-title{font-size:1.55rem}.header-tools .theme-toggle{min-width:44px;padding:0 12px}.header-tools [data-theme-label]{display:none}}
@media (max-width:560px){.header-tools{gap:4px}.header-tools .button{padding:0 10px}.word-form{grid-template-columns:1fr}.teacher-guidance-grid{grid-template-columns:1fr}.review-actions{display:grid;grid-template-columns:1fr}.review-activities button{flex:1 1 calc(50% - 6px)}}
@media (max-width:300px){.site-header{gap:18px;padding-inline:8px}.brand strong{display:none}.header-tools [data-open-export]{display:none}}
@media (max-width:900px) and (orientation:landscape){.learning-stage[data-mode=practice]{inset:65px 0 0;grid-template-columns:48% 52%;grid-template-rows:1fr;gap:12px}.learning-stage[data-mode=practice] .workspace-divider{display:none}.learning-stage[data-mode=practice] .practice-section{padding-top:0}.learning-stage[data-mode=practice] .wide-heading{flex-direction:row}.learning-stage[data-mode=practice] .workspace-exit{display:inline-flex}}
.glossary-row{overflow:hidden}.glossary-image{display:block;width:100%;height:auto;aspect-ratio:8/5;margin-bottom:12px;border-radius:12px;object-fit:cover;background:var(--line)}

/* Four-satellite visual and editable dictionary */
.signal-map{display:grid;grid-template-rows:auto minmax(250px,1fr) auto auto;gap:10px;min-height:540px;padding:24px}.signal-map figcaption,.signal-map>p{position:static;margin:0}.signal-map>p{font-size:.78rem}.trilateration-visual{display:block;width:100%;height:100%;min-height:250px}.earth-arc{fill:none;stroke:var(--ink);stroke-width:14;stroke-linecap:round}.satellite rect{fill:var(--highlight);stroke:var(--ink);stroke-width:10}.satellite path{fill:var(--focus);stroke:var(--ink);stroke-width:10}.satellite circle{fill:var(--action)}.signal-path{fill:none;stroke:var(--action);stroke-width:7;stroke-dasharray:14 13;stroke-linecap:round}.range-ring{fill:none;stroke:var(--action);stroke-width:5;stroke-dasharray:10 14;opacity:.2}.receiver rect{fill:var(--surface);stroke:var(--ink);stroke-width:12}.receiver circle{fill:var(--focus);stroke:var(--ink);stroke-width:8}.receiver path{stroke:var(--ink);stroke-width:10;stroke-linecap:round}.position-pulse{fill:none;stroke:var(--focus);stroke-width:10;opacity:.7}.diagram-equivalent{border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);padding-top:6px}.diagram-equivalent summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:.82rem;font-weight:850}.diagram-equivalent ol{margin:8px 0;padding-left:22px}.diagram-equivalent li,.diagram-equivalent p{margin:.5em 0;color:var(--muted);font-size:.76rem;line-height:1.45;text-wrap:pretty}
.word-form-state{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;padding-bottom:4px}.word-form-state span{color:var(--muted);font-size:.78rem}.word-form-actions{display:flex;align-items:center;gap:8px}.image-edit-preview{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:10px;border-radius:16px;background:var(--canvas)}.image-edit-preview img{width:120px;height:75px;border-radius:10px;object-fit:cover}.image-edit-preview label{display:flex;grid-auto-flow:column;align-items:center;gap:8px}.image-edit-preview input{width:auto}.glossary-image,.word-image,.review-image,.image-edit-preview img{outline:1px solid rgb(0 0 0/.1);outline-offset:-1px}.word-card .word-action{color:var(--action)}
html[data-theme=dark] .glossary-image,html[data-theme=dark] .word-image,html[data-theme=dark] .review-image,html[data-theme=dark] .image-edit-preview img{outline-color:rgb(255 255 255/.1)}

html{-webkit-font-smoothing:antialiased}
body[data-page=library] #vocabulary,body[data-page=library] #profile,body[data-page=library] #about,body[data-page=library] #placement{display:none!important}
body[data-page=vocabulary] #library,body[data-page=vocabulary] [data-text-view],body[data-page=vocabulary] #profile,body[data-page=vocabulary] #about,body[data-page=vocabulary] #placement{display:none!important}
body[data-page=profile] #library,body[data-page=profile] [data-text-view],body[data-page=profile] #vocabulary,body[data-page=profile] #about,body[data-page=profile] #placement{display:none!important}
body[data-page=about] #library,body[data-page=about] [data-text-view],body[data-page=about] #vocabulary,body[data-page=about] #profile,body[data-page=about] #placement{display:none!important}
body[data-page=placement] #library,body[data-page=placement] [data-text-view],body[data-page=placement] #vocabulary,body[data-page=placement] #profile,body[data-page=placement] #about{display:none!important}
body[data-page=vocabulary] #vocabulary,body[data-page=profile] #profile,body[data-page=about] #about,body[data-page=placement] #placement{min-height:calc(100svh - 82px);scroll-margin-top:82px}
.site-header nav a[aria-current=page]{color:var(--ink)}
.site-header nav a[aria-current=page]::after{transform:scaleX(1)}
.cards-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0 22px;padding:6px;border-radius:20px;background:var(--canvas);box-shadow:inset 0 0 0 1px rgb(23 33 29/.08)}
.cards-tabs button{min-height:48px;padding:0 16px;border:0;border-radius:14px;background:transparent;color:var(--muted);font:inherit;font-weight:850;cursor:pointer;transition-property:background-color,color,scale;transition-duration:150ms;transition-timing-function:ease-out}
.cards-tabs button:hover{color:var(--ink)}
.cards-tabs button[aria-selected=true]{background:var(--action);color:#fff;box-shadow:0 8px 22px rgb(11 107 96/.18)}
.cards-tabs button:active,.deck-card .button:active{scale:.96}
.card-status-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.card-status-overview button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 14px 10px 38px;border:0;border-radius:16px;background:var(--canvas);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent),0 5px 16px rgb(11 44 36/.05);transition-property:background-color,box-shadow,scale;transition-duration:150ms;transition-timing-function:ease-out}
.card-status-overview button::before{content:"";position:absolute;left:15px;width:11px;height:11px;border-radius:50%;background:var(--highlight);box-shadow:0 0 0 5px color-mix(in srgb,var(--highlight) 20%,transparent)}
.card-status-overview button:nth-child(2)::before{background:var(--action);box-shadow:0 0 0 5px color-mix(in srgb,var(--action) 18%,transparent)}
.card-status-overview button:nth-child(3)::before{background:#d6784f;box-shadow:0 0 0 5px color-mix(in srgb,#d6784f 18%,transparent)}
.card-status-overview button:hover,.card-status-overview button[aria-expanded=true]{background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 42%,transparent),0 9px 24px rgb(11 44 36/.08)}
.card-status-overview button:active{scale:.96}
.card-status-overview span{font-size:.78rem;font-weight:850;line-height:1.2;text-wrap:balance}
.card-status-overview strong{font-size:1rem;font-variant-numeric:tabular-nums}
.card-status-explainer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border-radius:20px;background:var(--canvas);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent),0 12px 30px rgb(11 44 36/.06)}
.card-status-explainer[hidden]{display:none}
.card-status-explainer>div{display:flex;align-items:flex-start;gap:14px;min-width:0}
.card-status-explainer h3{margin:1px 0 5px;font-size:1rem;text-wrap:balance}
.card-status-explainer p{max-width:72ch;margin:0;color:var(--muted);font-size:.86rem;line-height:1.5;text-wrap:pretty}
.card-status-mark{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--highlight);box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--surface) 72%,transparent)}
.card-status-explainer[data-status=consolidated] .card-status-mark{background:var(--action)}
.card-status-explainer[data-status=due] .card-status-mark{background:#d6784f}
.card-manager-view{display:block;margin-top:24px}
.card-manager-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;margin-bottom:18px;padding:18px;border-radius:22px;background:var(--canvas);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent)}
.card-manager-heading h3{margin:0 0 5px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:850;letter-spacing:-.02em;text-wrap:balance}
.card-manager-heading p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5;text-wrap:pretty}
.card-manager-controls{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(240px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px}
.card-manager-controls label{display:grid;gap:7px;color:var(--muted);font-size:.76rem;font-weight:850}
.card-manager-controls input,.card-manager-controls select{min-width:0;background:var(--surface);color:var(--ink)}
.card-manager-result-count{align-self:center;color:var(--muted);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.card-manager-list{display:grid;gap:8px;overflow-anchor:none}
.managed-card-row{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) auto 44px;align-items:center;gap:14px;min-height:92px;padding:10px 12px;border-radius:18px;background:var(--canvas);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);transition-property:background-color,box-shadow;transition-duration:150ms;transition-timing-function:ease-out}
.managed-card-row:hover{background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 28%,transparent),0 8px 22px rgb(11 44 36/.05)}
.managed-card-row.is-editing{border-radius:22px;background:var(--canvas);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--action) 30%,transparent),0 10px 28px rgb(11 44 36/.07)}
.managed-card-visual{display:grid;width:88px;height:66px;overflow:hidden;border-radius:12px;place-items:center;background:color-mix(in srgb,var(--action) 10%,var(--surface));color:var(--action);font-size:1.45rem;font-weight:900;outline:1px solid rgb(0 0 0/.1);outline-offset:-1px}
.managed-card-visual img{width:100%;height:100%;object-fit:cover}
.managed-card-body{min-width:0}
.managed-card-term{display:flex;align-items:center;gap:10px;min-width:0}
.managed-card-term .sound-button{flex-basis:40px;width:40px;height:40px;min-width:40px;min-height:40px;border-color:transparent!important;background:transparent!important}
.managed-card-term strong{min-width:0;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:1.08rem;font-weight:850;line-height:1.25;overflow-wrap:anywhere}
.managed-card-body p{margin:3px 0;color:var(--muted);font-size:.9rem;line-height:1.35;text-wrap:pretty}
.managed-card-body small{display:block;overflow:hidden;color:var(--muted);font-size:.7rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.managed-card-status{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--highlight) 45%,var(--surface));font-size:.7rem;font-weight:900;white-space:nowrap}
.managed-card-status--consolidated{background:color-mix(in srgb,var(--action) 15%,var(--surface));color:var(--action)}
.managed-card-status--due{background:color-mix(in srgb,#d6784f 16%,var(--surface));color:#a84e2d}
.managed-card-menu{display:grid;width:44px;height:44px;border:0;border-radius:12px;place-items:center;background:transparent;color:var(--muted);font-size:1.55rem;line-height:1;cursor:pointer;transition-property:background-color,color,scale;transition-duration:150ms;transition-timing-function:ease-out}
.managed-card-menu:hover{background:var(--surface);color:var(--ink)}
.managed-card-menu:active{scale:.96}
.managed-card-actions-menu{position:absolute;z-index:4;right:10px;top:60px;display:grid;min-width:190px;padding:6px;border-radius:15px;background:var(--surface);box-shadow:0 16px 42px rgb(6 24 19/.2),inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}
.managed-card-actions-menu button{min-height:42px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:.82rem;font-weight:800;text-align:left;cursor:pointer;transition-property:background-color,color,scale;transition-duration:140ms;transition-timing-function:ease-out}
.managed-card-actions-menu button:hover{background:var(--canvas)}
.managed-card-actions-menu button:active{scale:.96}
.managed-card-actions-menu .managed-card-delete{color:var(--error)}
.managed-card-actions-menu .managed-card-delete.is-armed{background:color-mix(in srgb,var(--error) 12%,var(--surface))}
.managed-card-row>.word-form--inline{grid-column:1/-1;width:100%;margin:4px 0 2px;padding:16px;border-radius:14px;background:var(--surface);box-shadow:0 8px 24px rgb(6 24 19/.07),inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent)}
.managed-card-row>.word-form--inline .word-form-state{padding-bottom:2px}
.card-manager-empty{padding:26px;border-radius:18px;background:var(--canvas);text-align:center}
.cards-filters{display:flex;align-items:end;gap:12px;margin:0 0 22px}
.cards-filters label{display:grid;min-width:min(240px,100%);gap:7px;color:var(--muted);font-size:.78rem;font-weight:800}
.cards-filters select{min-height:44px;padding:0 38px 0 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-weight:750}
.deck-browser-intro-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 28px}
.deck-browser-intro-row .deck-browser-intro{margin:0}
.deck-browser-intro-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.deck-empty-state{padding:30px;border-radius:18px;background:var(--canvas);text-align:center;text-wrap:pretty}
.deck-slider{position:relative;min-width:0}
.deck-slider-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 10px;padding-left:120px}
.deck-slider-controls[hidden]{display:none}
.deck-slider-arrow{display:inline-grid;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;place-items:center;background:var(--surface);color:var(--ink);font:800 1.15rem/1 system-ui,sans-serif;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,scale 120ms ease}
.deck-slider-arrow:hover:not(:disabled){border-color:var(--action);background:color-mix(in srgb,var(--action) 8%,var(--surface))}
.deck-slider-arrow:active:not(:disabled){scale:.94}
.deck-slider-arrow:disabled{cursor:default;opacity:.34}
.deck-slider-arrow--previous{padding-right:2px}.deck-slider-arrow--next{padding-left:2px}
.deck-card-track{display:grid;grid-auto-columns:minmax(260px,310px);grid-auto-flow:column;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 10px;scroll-padding-inline:2px;scroll-snap-type:inline mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.deck-card-track::-webkit-scrollbar{display:none}
.deck-card-track>.deck-card{height:100%;min-height:0;scroll-snap-align:start}
.deck-level-shelf{margin-top:34px}
.deck-level-shelf+.deck-level-shelf{padding-top:4px}
.deck-level-shelf .deck-slider-controls{margin:-54px 0 10px}
.deck-card-track .deck-card{display:flex;align-items:stretch;flex-direction:column;gap:12px;padding:14px;border-radius:20px}
.deck-card-track .deck-card-copy{display:flex;min-width:0;flex:1;flex-direction:column;padding-right:40px}
.deck-card-track .deck-card h4{margin:0 0 7px;font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.08}
.deck-card-track .deck-card p{display:-webkit-box;overflow:hidden;margin:0 0 10px;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.84rem;line-height:1.45}
.deck-card-track .deck-due{align-self:flex-start;margin-top:auto}
.deck-card-track .deck-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.deck-card-track .deck-card-actions:has(>:only-child){grid-template-columns:1fr}
.deck-card-track .deck-card-actions .button{min-height:44px;padding:0 11px;font-size:.8rem}
.deck-card--illustrated{padding:10px!important;border-radius:22px!important}
.deck-cover{display:block;width:100%;height:auto;max-height:190px;aspect-ratio:8/5;flex:0 0 auto;border-radius:12px;object-fit:contain;object-position:center;background:#dcefe8;outline:1px solid rgb(0 0 0/.1);outline-offset:-1px}
.deck-card--illustrated .deck-card-copy{padding:3px 4px 0}
.deck-card--illustrated .deck-card-actions{padding:0 4px 4px}
.bookmark-button{display:inline-grid;width:44px;height:44px;flex:0 0 auto;padding:0;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:50%;place-items:center;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);cursor:pointer;box-shadow:0 4px 14px rgb(10 34 28/.1);transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,scale 120ms ease}
.bookmark-button svg{width:21px;height:21px}.bookmark-button path{fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;transition:fill 150ms ease}
.bookmark-button:hover{border-color:var(--action);color:var(--action)}.bookmark-button:active{scale:.94}
.bookmark-button[aria-pressed=true]{border-color:var(--action);background:var(--action);color:#fff}.bookmark-button[aria-pressed=true] path{fill:currentColor}
.deck-card{position:relative}.deck-bookmark{position:absolute;z-index:2;right:18px;top:18px}.deck-card--illustrated .deck-bookmark{right:18px;top:18px;background:color-mix(in srgb,#f7f5ef 92%,transparent);color:#17211d}
.catalogue-bookmark{position:absolute;z-index:2;right:18px;top:18px}
.catalogue-card-actions{display:flex;align-items:center;gap:8px}
.catalogue-card.is-completed{border-color:color-mix(in srgb,var(--action) 42%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 14%,transparent),var(--shadow)}
.catalogue-status,.deck-status{display:inline-flex;min-height:30px;align-items:center;align-self:flex-start;padding:0 10px;border-radius:999px;font-size:.7rem;font-weight:850;line-height:1.15}
.catalogue-status,.deck-status.is-mastered{background:color-mix(in srgb,var(--action) 16%,var(--surface));color:var(--action-dark)}
.deck-status.is-learning{background:color-mix(in srgb,var(--focus) 10%,var(--surface));color:color-mix(in srgb,var(--focus) 78%,var(--ink))}
.deck-status{margin:0 0 8px}
.deck-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.deck-card-meta span{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.7rem;font-weight:850;font-variant-numeric:tabular-nums}
.deck-card h4{text-wrap:balance}
.deck-card p{text-wrap:pretty}
.deck-card-delete.is-armed{border-color:#b94d3d;color:#b94d3d}
html[data-theme=dark] .cards-tabs{box-shadow:inset 0 0 0 1px rgb(255 255 255/.1)}
html[data-theme=dark] .managed-card-visual{outline-color:rgb(255 255 255/.1)}
html[data-theme=dark] .deck-cover{outline-color:rgb(255 255 255/.1)}

@media(max-width:760px){.cards-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.cards-tabs button{min-width:0;min-height:56px;padding:4px 6px;font-size:.74rem;line-height:1.12;text-wrap:balance}.cards-filters{align-items:stretch;flex-direction:column}.cards-filters label,.cards-filters select{width:100%}.deck-browser-intro-row{align-items:stretch;flex-direction:column}.deck-browser-intro-actions{display:grid;grid-template-columns:1fr 1fr}.deck-browser-intro-row .button{width:100%}.deck-slider-controls{margin:0 0 8px}.deck-level-shelf .deck-slider-controls{margin:-50px 0 8px}.deck-card-track{grid-auto-columns:min(82vw,300px);gap:10px}.deck-card--illustrated .deck-card-actions{grid-template-columns:1fr 1fr;padding:0 4px 4px}.deck-card--illustrated .deck-card-copy{padding-bottom:0}.deck-level-shelf{margin-top:30px}}
@media(max-width:430px){.deck-browser-intro-actions{grid-template-columns:1fr}}
@media(max-width:760px){.card-manager-controls{grid-template-columns:1fr 1fr}.card-manager-result-count{grid-column:1/-1}.managed-card-row{grid-template-columns:76px minmax(0,1fr) 44px}.managed-card-visual{width:76px;height:58px}.managed-card-status{grid-column:2}.managed-card-menu{grid-column:3;grid-row:1/3}.card-status-explainer{align-items:stretch;flex-direction:column}.card-status-explainer .button{align-self:flex-start}}
@media(max-width:560px){.card-status-overview{gap:6px}.card-status-overview button{grid-template-columns:1fr;gap:3px;min-height:72px;padding:10px 8px 9px 27px}.card-status-overview button::before{left:10px;width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--highlight) 20%,transparent)}.card-status-overview button:nth-child(2)::before{box-shadow:0 0 0 4px color-mix(in srgb,var(--action) 18%,transparent)}.card-status-overview button:nth-child(3)::before{box-shadow:0 0 0 4px color-mix(in srgb,#d6784f 18%,transparent)}.card-status-overview span{font-size:.68rem}.card-manager-heading{grid-template-columns:1fr}.card-manager-heading .text-close{justify-self:start}.card-manager-controls{grid-template-columns:1fr}.card-manager-result-count{grid-column:auto}.managed-card-row{grid-template-columns:62px minmax(0,1fr) 44px;gap:10px;padding:9px}.managed-card-visual{width:62px;height:52px}.managed-card-term{gap:5px}.managed-card-term .sound-button{flex-basis:40px}.managed-card-term strong{font-size:1rem}.managed-card-status{justify-self:start}.managed-card-body small{max-width:100%}}
@media(max-width:420px){.deck-card-track{grid-auto-columns:min(84vw,286px)}.deck-card--illustrated .deck-card-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.cards-tabs button,.deck-card .button,.deck-slider-arrow,.bookmark-button,.bookmark-button path,.card-status-overview button,.managed-card-row,.managed-card-menu,.managed-card-actions-menu button{transition:none}.cards-tabs button:active,.deck-card .button:active,.deck-slider-arrow:active,.bookmark-button:active,.card-status-overview button:active,.managed-card-menu:active,.managed-card-actions-menu button:active{scale:1}.deck-card-track{scroll-behavior:auto}}
@media (max-width:900px){.signal-map{min-height:520px}.word-form-state{align-items:flex-start;flex-direction:column;gap:4px}.image-edit-preview,.word-form-actions{grid-column:auto}.word-form-actions{flex-wrap:wrap}}
@media (max-width:560px){.signal-map{min-height:480px;padding:18px}.trilateration-visual{min-height:220px}.image-edit-preview{align-items:flex-start;flex-direction:column}}
@media print{.signal-map{display:block!important;min-height:0;padding:0;border:0;box-shadow:none}.signal-map figcaption{font-size:16pt}.trilateration-visual,.signal-map>p,.diagram-equivalent summary{display:none!important}.diagram-equivalent{border:0}.diagram-equivalent>ol,.diagram-equivalent>p{display:block!important}}

/* Standalone library and multi-text scenes */
.catalogue{scroll-margin-top:88px;padding:56px 0 32px}.catalogue-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:56px;align-items:end;padding:30px 0}.catalogue-intro h1{max-width:820px;margin:0;font-family:"Times New Roman",Times,serif;font-size:clamp(2.6rem,5vw,5.4rem);font-weight:500;line-height:1.03;letter-spacing:-.03em;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;text-wrap:balance}.catalogue-intro>p{max-width:52ch;margin:0 0 8px;color:var(--muted);font-size:1.05rem;line-height:1.6;text-wrap:pretty}.catalogue-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:22px 0}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-weight:750;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 120ms ease}.filter-chip:active{transform:scale(.96)}.filter-chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--surface)}.level-filter{display:grid;grid-template-columns:auto minmax(132px,auto);align-items:center;gap:9px;color:var(--muted);font-size:.78rem;font-weight:800}.level-filter select{width:auto}.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalogue-card{position:relative;display:flex;min-width:0;min-height:328px;overflow:hidden;flex-direction:column;padding:24px;border:1px solid rgb(23 33 29/.1);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);isolation:isolate}.catalogue-card::before,.catalogue-card::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.catalogue-card::before{right:-52px;top:-58px;width:190px;height:190px;background:var(--card-accent,#dcefe8);opacity:.8}.catalogue-card::after{right:25px;top:38px;width:68px;height:68px;border:13px solid color-mix(in srgb,var(--ink) 72%,transparent);opacity:.84}.catalogue-card--sky{--card-accent:#d9ebfa}.catalogue-card--sky::after{border-color:#1d4ed8;box-shadow:38px 38px 0 -20px #58b9a9,-46px 42px 0 -22px #1d4ed8}.catalogue-card--gps{--card-accent:#dcefe8}.catalogue-card--gps::after{border-radius:16px;border-color:#0b6b60;transform:rotate(12deg)}.catalogue-card--heat{--card-accent:#f5dfd0}.catalogue-card--heat::after{border:0;border-radius:8px;background:linear-gradient(90deg,#17211d 0 26%,transparent 26% 36%,#17211d 36% 62%,transparent 62% 72%,#17211d 72%);transform:translateY(24px)}.catalogue-card.is-current{border-color:var(--action);box-shadow:0 0 0 2px color-mix(in srgb,var(--action) 18%,transparent),var(--shadow)}.catalogue-card-top{display:flex;min-height:54px;align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:38px;padding-right:118px}.level-badge,.category-label{display:inline-flex;align-items:center;border-radius:999px;font-size:.72rem;font-weight:850}.level-badge{min-height:30px;flex:none;padding:0 10px;background:var(--ink);color:var(--surface);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.category-label{min-height:18px;max-width:100%;overflow:hidden;color:var(--muted);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.catalogue-card h2{max-width:14ch;margin:0;font-family:"Times New Roman",Times,serif;font-size:clamp(1.75rem,2.5vw,2.45rem);font-weight:500;line-height:1.05;letter-spacing:-.02em;font-synthesis:none;text-wrap:balance}.catalogue-card>p{margin:12px 0 0;color:var(--muted);line-height:1.48;text-wrap:pretty}.catalogue-card .catalogue-stats{margin-top:auto;padding:22px 0 14px;font-size:.76rem;font-weight:800;font-variant-numeric:tabular-nums}.catalogue-card .button{align-self:flex-start}.catalogue-card .button:disabled{cursor:default;opacity:.75}.catalogue-empty{padding:32px;border-radius:20px;background:var(--surface);color:var(--muted);text-align:center}.hero{border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.level-guide{margin:-4px 0 24px;border-radius:18px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 1px 2px rgb(23 33 29/.06),0 10px 26px rgb(23 33 29/.06)}.level-guide summary{min-height:48px;padding:14px 18px;cursor:pointer;color:var(--muted);font-size:.86rem;font-weight:750;line-height:1.45}.level-guide-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0 14px 14px;list-style:none}.level-guide-item{display:grid;gap:5px;padding:14px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.level-guide-item strong{font-size:.88rem;font-variant-numeric:tabular-nums}.level-guide-item span,.level-guide-item small{color:var(--muted);line-height:1.4}.level-guide-item span{font-size:.74rem;font-weight:750;font-variant-numeric:tabular-nums}.level-guide-item small{font-size:.72rem}.catalogue-card .catalogue-skill{font-size:.78rem;font-weight:700}.catalogue-card--flow{--card-accent:#e9e1f6}.catalogue-card--bars{--card-accent:#f1e7bd}.catalogue-card--compare{--card-accent:#e8dce4}.catalogue-card--flow::after{border-radius:50%;border-color:#7656a8;box-shadow:34px 0 0 -18px #7656a8,-34px 0 0 -18px #7656a8}.catalogue-card--bars::after{border:0;border-radius:8px;background:linear-gradient(90deg,#d6784f 0 24%,transparent 24% 34%,#0b6b60 34% 62%,transparent 62% 72%,#1d4ed8 72%);transform:translateY(16px)}.catalogue-card--compare::after{border-color:#8d5a74;box-shadow:30px 0 0 -10px color-mix(in srgb,#8d5a74 50%,transparent)}
[data-visual-scene][hidden]{display:none}.sky-sun{fill:#fff3c4;stroke:var(--ink);stroke-width:14}.sky-ray{fill:none;stroke-width:12;stroke-linecap:round}.sky-ray.warm{stroke:#d6784f}.sky-ray.blue{stroke:#1d4ed8;stroke-dasharray:16 12}.air-dots{fill:#58b9a9;stroke:var(--ink);stroke-width:7}.sky-horizon{fill:none;stroke:var(--ink);stroke-width:14;stroke-linecap:round}.viewer{fill:var(--surface);stroke:var(--ink);stroke-width:10}.viewer-line{stroke:var(--ink);stroke-width:12;stroke-linecap:round}.heat-ground{fill:none;stroke:var(--ink);stroke-width:16;stroke-linecap:round}.heat-city{fill:color-mix(in srgb,var(--muted) 28%,var(--surface));stroke:var(--ink);stroke-width:12;stroke-linejoin:round}.heat-city path+path{fill:none;stroke:var(--surface);stroke-width:14}.heat-curve{fill:none;stroke:#d85e48;stroke-width:20;stroke-linecap:round}.heat-tree path{stroke:var(--ink);stroke-width:14;stroke-linecap:round}.heat-tree circle{fill:#58b9a9;stroke:var(--ink);stroke-width:12}.heat-arrows{fill:none;stroke:#d85e48;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.signal-map[data-visual-kind=sky]{background:linear-gradient(145deg,#d9ebfa,#eef5f8 60%,#f5dfd0)}.signal-map[data-visual-kind=heat]{background:linear-gradient(145deg,#f6e8dc,#f3efe8 54%,#e0eee5)}html[data-theme=dark] .signal-map[data-visual-kind=sky]{background:linear-gradient(145deg,#192b39,#1e2a30 60%,#3a2923)}html[data-theme=dark] .signal-map[data-visual-kind=heat]{background:linear-gradient(145deg,#382820,#282722 54%,#1d3028)}html[data-theme=dark] .filter-chip[aria-pressed=true],html[data-theme=dark] .level-badge{background:#f2f4ef;color:#17211d}html[data-theme=dark] .catalogue-card{border-color:#39443e}html[data-theme=dark] .catalogue-card--sky{--card-accent:#203d52}html[data-theme=dark] .catalogue-card--gps{--card-accent:#20443a}html[data-theme=dark] .catalogue-card--heat{--card-accent:#513329}
.flow-scene path,.compare-scene path{fill:none;stroke:var(--ink);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.flow-scene circle{fill:var(--surface);stroke:#7656a8;stroke-width:14}.bars-scene>path:first-child{fill:none;stroke:var(--ink);stroke-width:12;stroke-linecap:round}.bars-scene rect{fill:#58b9a9;stroke:var(--ink);stroke-width:8}.bars-scene>path:last-child{fill:none;stroke:#d6784f;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}.compare-scene circle{fill:color-mix(in srgb,#8d5a74 18%,var(--surface));stroke:#8d5a74;stroke-width:12}.compare-scene circle:last-child{fill:var(--surface)}.signal-map[data-visual-kind=flow]{background:linear-gradient(145deg,#eee7f7,#f7f4ef 55%,#e0eee5)}.signal-map[data-visual-kind=bars]{background:linear-gradient(145deg,#f4edcf,#f7f4ef 55%,#dfeef5)}.signal-map[data-visual-kind=compare]{background:linear-gradient(145deg,#efe4ea,#f7f4ef 55%,#e3edf5)}html[data-theme=dark] .signal-map[data-visual-kind=flow],html[data-theme=dark] .signal-map[data-visual-kind=bars],html[data-theme=dark] .signal-map[data-visual-kind=compare]{background:linear-gradient(145deg,#282633,#202824 58%,#2d2823)}html[data-theme=dark] .catalogue-card--flow{--card-accent:#362e49}html[data-theme=dark] .catalogue-card--bars{--card-accent:#4a4225}html[data-theme=dark] .catalogue-card--compare{--card-accent:#46303b}
.catalogue-card::after{display:none}.catalogue-art{position:absolute;z-index:0;right:10px;top:18px;width:132px;height:100px;color:var(--ink);pointer-events:none}.catalogue-art svg{display:block;width:100%;height:100%;overflow:visible}.catalogue-art path,.catalogue-art circle,.catalogue-art rect{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.catalogue-art .art-accent{stroke:var(--action);fill:color-mix(in srgb,var(--action) 8%,transparent)}.catalogue-art .art-warm{stroke:#d6784f;fill:color-mix(in srgb,#d6784f 12%,transparent)}
.table-row,.source-compare-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.8fr);align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.mini-chart{display:grid;gap:8px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--highlight) 36%,var(--surface))}.mini-chart-row{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(100px,2fr) 38px;align-items:center;gap:8px;font-size:.78rem}.mini-chart-track{display:block;height:12px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent)}.mini-chart-bar{display:block;width:var(--bar-size);height:100%;border-radius:inherit;background:var(--action)}.mini-chart-row strong{text-align:right;font-variant-numeric:tabular-nums}
html[data-theme=dark] .table-row,html[data-theme=dark] .source-compare-row{background:var(--surface);color:var(--ink)}
.level-guide-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.reader p{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;column-gap:12px}.reader-copy,.reader-paragraph-text{min-width:0}.reader-copy{display:grid;gap:10px}.reader p.dialogue-turn{grid-template-columns:minmax(76px,auto) 44px minmax(0,1fr);gap:10px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--highlight) 28%,var(--surface));line-height:1.55}.dialogue-turn strong{padding-top:9px;color:var(--action);font-family:system-ui,sans-serif;font-size:.78em;letter-spacing:.02em}.dialogue-turn:nth-child(even){background:color-mix(in srgb,var(--focus) 7%,var(--surface))}.segment-play{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--action);font:700 .78rem/1 system-ui,sans-serif;cursor:pointer;transition:background-color 150ms ease,color 150ms ease,scale 120ms ease}.segment-play:hover{background:var(--highlight)}.segment-play[aria-pressed=true]{background:var(--action);color:#fff}.segment-play:active{scale:.96}.segment-play:disabled{cursor:not-allowed;opacity:.42}
.audio-reader{margin:0 0 28px;padding:14px;border-radius:20px;background:color-mix(in srgb,var(--action) 7%,var(--surface));box-shadow:0 0 0 1px rgb(23 33 29/.08),0 1px 2px rgb(23 33 29/.05)}.audio-reader-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.audio-reader-head>div:first-child{display:grid;gap:3px}.audio-reader-label{font-weight:850;text-wrap:balance}.audio-reader small,.audio-status{color:var(--muted);font-size:.76rem;line-height:1.4;text-wrap:pretty}.audio-reader audio{display:block;width:100%;min-height:44px;accent-color:var(--action)}.audio-status{min-height:0;margin:8px 0 0}.audio-status:empty{display:none}.voice-choice{display:flex;flex:none;gap:4px;padding:4px;border-radius:16px;background:var(--surface);box-shadow:0 0 0 1px rgb(23 33 29/.09)}.voice-choice button{min-height:44px;padding:0 13px;border:0;border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;transition-property:background-color,color,box-shadow,scale;transition-duration:150ms;transition-timing-function:ease-out}.voice-choice button[aria-pressed=true]{background:var(--ink);color:var(--surface);box-shadow:0 1px 2px rgb(0 0 0/.12)}.voice-choice button:active{scale:.96}.voice-choice[hidden]{display:none}.learning-stage[data-mode=practice] .audio-reader{margin-bottom:18px;padding:10px;border-radius:16px}.learning-stage[data-mode=practice] .audio-reader-head{align-items:flex-start;flex-direction:column}.learning-stage[data-mode=practice] .voice-choice{width:100%}.learning-stage[data-mode=practice] .voice-choice button{flex:1}@media (max-width:560px){.audio-reader-head{align-items:flex-start;flex-direction:column}.voice-choice{width:100%}.voice-choice button{flex:1;padding-inline:8px}.reader p.dialogue-turn{grid-template-columns:minmax(0,1fr) 44px;column-gap:10px;row-gap:8px}.dialogue-turn strong{grid-column:1;grid-row:1;padding-top:9px}.dialogue-turn .segment-play{grid-column:2;grid-row:1}.dialogue-turn .reader-copy{grid-column:1/-1;grid-row:2}}
@media (max-width:900px){.catalogue{padding-top:34px}.catalogue-intro{grid-template-columns:1fr;gap:18px}.catalogue-toolbar{align-items:stretch;flex-direction:column}.level-filter{align-self:flex-start}.level-guide-list{grid-template-columns:1fr 1fr}.catalogue-grid{grid-template-columns:1fr 1fr}.catalogue-card{min-height:300px}}
@media (max-width:560px){.catalogue{padding-top:22px}.catalogue-intro{padding:20px 0}.catalogue-intro h1{font-size:clamp(2.45rem,13vw,4rem)}.catalogue-grid{grid-template-columns:1fr}.catalogue-card{min-height:286px}.filter-row{display:grid;grid-template-columns:1fr 1fr}.filter-chip{padding-inline:10px}.level-filter{width:100%;grid-template-columns:auto 1fr}.level-filter select{width:100%}.level-guide-list{grid-template-columns:1fr}.catalogue-card-top{margin-bottom:42px}.table-row,.source-compare-row{grid-template-columns:1fr}.mini-chart-row{grid-template-columns:68px minmax(80px,1fr) 34px}}
@media (max-width:360px){.catalogue-art{width:112px}.catalogue-card-top{padding-right:96px}}
@media print{.catalogue{display:none!important}}
html[data-theme=dark] .audio-reader,html[data-theme=dark] .voice-choice{box-shadow:0 0 0 1px rgb(255 255 255/.1)}
@media print{.reader p,.dialogue-turn{display:block;padding:0}.segment-play{display:none!important}}
.lesson-photo {
  margin: 1.5rem 0 0;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  background: var(--canvas);
}

.lesson-photo picture {
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--action) 9%, var(--surface));
}

.lesson-photo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(34rem, 72vh);
  object-fit: contain;
  outline: 1px solid rgb(0 0 0 / .1);
  outline-offset: -1px;
}

html[data-theme=dark] .lesson-photo img { outline-color: rgb(255 255 255 / .1); }

.lesson-photo figcaption {
  padding: .85rem 1rem 1rem;
  font-size: .88rem;
  line-height: 1.5;
}

.reader p.is-audio-active {
  background: #d8eee9;
  box-shadow: inset 4px 0 0 var(--action), 0 0 0 1px rgba(11, 107, 96, .3);
  background: color-mix(in srgb, var(--action) 23%, var(--surface));
  box-shadow: inset 4px 0 0 var(--action), 0 0 0 1px color-mix(in srgb, var(--action) 30%, transparent);
  border-radius: 10px;
}

html[data-theme=dark] .reader p.is-audio-active {
  background: #263d36;
}

.reader p[aria-current="true"] .reader-paragraph-text { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--action) 42%, transparent); text-decoration-thickness: 2px; text-underline-offset: .18em; }

.support-reveal{display:grid;justify-items:start;gap:8px;font-family:system-ui,sans-serif}.support-reveal-button{min-height:44px;padding:0 14px;font-size:clamp(.8rem,.77rem + .12vw,.88rem);line-height:1.35;text-wrap:pretty}.support-reveal-panel{max-width:64ch;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--action) 8%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 24%,transparent);color:var(--muted);font-size:clamp(16px,.91rem + .12vw,1rem);line-height:1.62;text-wrap:pretty}.support-reveal-panel[hidden]{display:none}.paragraph-support,.task-support,.photo-support{margin-top:var(--support-stack-gap)}.paragraph-support .support-reveal-panel{font-size:clamp(16px,.93rem + .12vw,1.02rem)}.task-localized-prompt{margin:0!important;color:var(--muted);font-size:.92rem;line-height:1.55;text-wrap:pretty}.task-option-copy{display:grid;min-width:0;gap:5px;text-wrap:pretty}.task-option-support{display:none;color:var(--muted);font-size:.84rem;font-weight:500;line-height:1.48;text-wrap:pretty}.task-card.is-support-visible .task-option-support{display:block}.choice .task-option-copy>span:first-child,.sequence-row .task-option-copy>span:first-child{font-weight:650}.task-select-copy{display:grid;min-width:0;gap:5px}.task-select-support:empty{display:none!important}
.support-linked-copy{display:inline;min-width:0}.support-word-link{position:relative;display:inline;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-weight:650;text-align:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:var(--action);text-decoration-thickness:2px;text-underline-offset:.2em;cursor:pointer;transition-property:color,text-decoration-color,scale;transition-duration:150ms;transition-timing-function:ease-out}.support-word-link::after{content:"";position:absolute;inset:-10px -4px}.support-word-link:hover,.support-word-link[aria-pressed=true]{color:var(--ink);text-decoration-style:solid;text-decoration-color:var(--action)}.support-word-link:active{scale:.96}.support-word-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:11px;padding-top:11px;border-top:1px solid color-mix(in srgb,var(--action) 20%,var(--line));color:var(--ink)}.support-word-detail[hidden]{display:none}.support-word-detail-copy{display:grid;min-width:0;gap:7px}.support-word-detail-label{color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.support-word-detail-term{font-size:1.2rem;line-height:1.22;text-wrap:pretty}.support-word-detail-meta{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:9px;row-gap:4px}.support-word-detail-lemma-term{font-size:.95rem;line-height:1.3}.support-word-detail-meaning{color:var(--muted);font-size:.9rem;line-height:1.42;text-wrap:pretty}.support-word-detail .sound-button{flex:0 0 auto;width:44px;height:44px}.paragraph-support .support-reveal-panel:has(.support-word-detail:not([hidden])){color:var(--ink)}
.support-source-fragment{border-radius:4px;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--action) 45%,transparent);text-decoration-thickness:2px;text-underline-offset:.18em;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition-property:background-color,color,text-decoration-color;transition-duration:150ms;transition-timing-function:ease-out}.support-source-fragment.is-support-active{background:color-mix(in srgb,var(--action) 18%,var(--surface));color:var(--ink);text-decoration-style:solid;text-decoration-color:var(--action);text-decoration-thickness:3px}

.oq0-match-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.oq0-match-column{display:grid;align-content:start;gap:8px;min-width:0}.oq0-match-column h4{margin:0 0 2px;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;text-wrap:balance}.oq0-match-option{position:relative;display:grid;align-items:center;width:100%;min-height:58px;padding:10px 38px 10px 12px;border:0;border-radius:14px;background:var(--canvas);box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgb(0 0 0/.04);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition-property:background-color,box-shadow,scale;transition-duration:150ms;transition-timing-function:ease-out}.oq0-match-option:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 65%,var(--line)),0 2px 5px rgb(0 0 0/.07)}.oq0-match-option:active{scale:.96}.oq0-match-option.is-selected{background:color-mix(in srgb,var(--action) 10%,var(--surface));box-shadow:inset 0 0 0 2px var(--action)}.oq0-match-option[data-pair-number]::after{content:attr(data-pair-number);position:absolute;right:10px;top:50%;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--action);color:#fff;font-size:.7rem;font-weight:900;font-variant-numeric:tabular-nums;transform:translateY(-50%)}.oq0-match-status{min-height:1.4em;color:var(--muted);font-size:.78rem;line-height:1.4;font-variant-numeric:tabular-nums}.oq0-match-status:empty{display:none}

html[data-theme=dark] .support-reveal-panel{background:color-mix(in srgb,var(--action) 9%,var(--surface));box-shadow:inset 0 0 0 1px rgb(255 255 255/.1)}html[data-theme=dark] .oq0-match-option{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgb(0 0 0/.2)}

@media(max-width:560px){.support-reveal-button{width:100%;white-space:normal}.support-reveal-panel{width:100%;padding:12px}.task-support{width:100%}.oq0-match-board{gap:8px}.oq0-match-column{gap:7px}.oq0-match-option{min-height:62px;padding:10px 32px 10px 10px;font-size:.9rem;line-height:1.38}.oq0-match-option[data-pair-number]::after{right:7px;width:22px;height:22px}.task-option-support{font-size:.82rem}.support-word-detail{align-items:flex-start}.photo-support{width:100%}}

@media(prefers-reduced-motion:reduce){.oq0-match-option,.support-word-link,.support-source-fragment{transition:none}.oq0-match-option:active,.support-word-link:active{scale:1}}

@media(forced-colors:active){.support-reveal-panel,.oq0-match-option.is-selected,.oq0-match-option[data-pair-number]{border:2px solid Highlight}.oq0-match-option[data-pair-number]::after{background:Highlight;color:HighlightText}.support-word-link{outline:1px solid LinkText;text-decoration-style:solid}.support-word-link[aria-pressed=true],.support-source-fragment.is-support-active{outline:2px solid Highlight}.support-source-fragment{forced-color-adjust:auto}}

.profile-section {
  width: min(1180px, calc(100% - 32px));
  margin: 3rem auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 1.25rem;
}

.profile-card,
.profile-progress {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(1rem, 2vw, 1.5rem);
  box-shadow: var(--shadow);
}

.profile-identity {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.avatar-picker {
  position: relative;
  display: grid;
  padding: 0;
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
  border-radius: 24px;
  border: 1px solid var(--line);
  overflow: hidden;
  background: var(--highlight);
  color: var(--action-dark);
  font-weight: 800;
  cursor: pointer;
}

.avatar-picker::after { content: "+"; position: absolute; right: 5px; bottom: 5px; z-index: 2; display: grid; width: 26px; height: 26px; border: 2px solid var(--surface); border-radius: 50%; place-items: center; background: var(--action); color: #fff; font: 900 18px/1 system-ui,sans-serif; box-shadow: 0 2px 7px rgb(0 0 0/.24); }
.avatar-picker img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.profile-form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.profile-form label { display: grid; gap: .4rem; }
.profile-form fieldset { border: 1px solid var(--line); border-radius: 16px; padding: .85rem; }
.profile-form fieldset p { margin: .2rem 0 .75rem; color: var(--muted); font-size: .88rem; }
.profile-voice { display: flex; gap: .5rem; }
.profile-voice button[aria-pressed="true"] { background: var(--action); color: #fff; border-color: var(--action); }
.profile-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.profile-data-tools { display: grid; gap: .8rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.profile-data-tools h3 { margin: 3px 0 7px; font-size: 1.08rem; text-wrap: balance; }
.profile-data-tools p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5; text-wrap: pretty; }
.profile-data-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.profile-data-status { min-height: 1.35em; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.progress-levels { display: grid; gap: .75rem; }
.level-progress-card { display: grid; gap: .45rem; padding: .85rem; border: 1px solid var(--line); border-radius: 16px; }
.level-progress-heading { display: flex; justify-content: space-between; gap: 1rem; }
.level-progress-card progress { width: 100%; }

.dictionary-actions,
.review-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: .75rem;
}
.dictionary-actions [data-card-manager-trigger][aria-pressed=true]{border-color:var(--action);background:color-mix(in srgb,var(--action) 12%,var(--surface));color:var(--action)}
.review-dialog .review-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: .6rem; }
.review-dialog .review-modes { margin: 0; }
.review-dialog .review-filters { display: contents; }
.review-settings-toggle { display: none; }
.review-dialog .review-toolbar label { min-width: 0; }
.review-dialog .review-toolbar select { width: 100%; min-width: 0; }
.review-dialog .review-image { width: auto; max-width: 100%; max-height: 180px; }

.dictionary-actions label,
.review-toolbar label { display: grid; gap: .3rem; }
.deck-tags { margin-top: .55rem; color: var(--muted); font-size: .78rem; }
.translation-pair { display: flex; flex-wrap: wrap; gap: .5rem; margin: .65rem 0; }
.translation-pair:empty { display: none; }
.translation-pair span { display: inline-flex; align-items: baseline; gap: .4rem; padding: .35rem .55rem; background: var(--canvas); border: 1px solid var(--line); border-radius: 9px; }
.translation-pair b { font-size: .68rem; letter-spacing: .08em; color: var(--action); }
.review-auto-note { color: var(--muted); font-size: .88rem; }
.swipe-hint { display: none; color: var(--muted); text-align: center; }
.discussion-angle { margin-top: 1.25rem; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--canvas); }
.discussion-question { font-weight: 700; font-size: 1.05rem; }
.lemma-line,
.encountered-form { margin: .35rem 0; color: var(--action-dark); font-size: .8rem; font-weight: 750; }
.dialogue-turn .reader-copy,
.dialogue-turn .reader-paragraph-text { display: block; width: 100%; min-width: 0; overflow-wrap: normal; word-break: normal; }

@media (min-width: 561px) {
  .reader p.dialogue-turn { grid-template-columns: minmax(76px, max-content) 44px minmax(0, 1fr); width: 100%; }
  .dialogue-turn .reader-copy { grid-column: 3; }
}

@media (max-width: 760px) {
  .profile-section { grid-template-columns: 1fr; }
  .profile-card > .profile-progress { margin: 1.25rem 0 0; padding: 1rem; border: 0; border-radius: 18px; background: var(--canvas); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent); }
  .profile-card > .profile-progress .section-heading { margin-bottom: 1rem; }
  .profile-card > .profile-progress .section-heading h2 { font-size: clamp(1.55rem, 7vw, 2rem); }
  .profile-card > .profile-vocabulary-overview { margin-top: 1rem; }
  .swipe-hint { display: block; }
  .review-card { touch-action: pan-y; }
  .profile-identity { align-items: flex-start; }
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.glossary-row header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.glossary-row header strong {
  min-width: 0;
  color: var(--ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.65rem, 3.5vw, 2.05rem);
  font-weight: 850;
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: pretty;
}

.glossary-row {
  display: grid;
  align-content: start;
  gap: 12px;
  container-type: inline-size;
}

.glossary-actions,
.word-card-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.word-card {
  container-type: inline-size;
}

.word-card header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.word-card header strong {
  min-width: 0;
  margin-right: 0;
}

@container (max-width: 380px) {
  .glossary-row header,
  .word-card header {
    grid-template-columns: minmax(0, 1fr);
  }

  .glossary-row header strong,
  .word-card header strong {
    font-size: clamp(1.35rem, 8cqi, 1.8rem);
  }

  .glossary-actions,
  .word-card-actions {
    justify-self: end;
  }
}

.catalogue-card .category-label {
  min-height: 22px;
  padding-block: 2px;
  line-height: 1.4;
}

.glossary-row > .glossary-image {
  margin-bottom: 2px;
}

.glossary-row .lemma-line {
  margin: 0;
}

.glossary-row > .translation-pair,
.glossary-row > .glossary-language-grid {
  margin: 0;
}

.teacher-section--inline {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin: 48px 0 0;
  padding: 32px 0 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}

.teacher-section--inline .teacher-copy p:last-child { color: var(--muted); }
.teacher-section--inline .teacher-plans { padding: 18px; background: var(--canvas); }
.learning-stage[data-mode=practice] .teacher-section--inline { display: none; }

.profile-vocabulary-overview {
  margin-top: 1.25rem;
  padding: 1rem;
  border-radius: 18px;
  background: var(--canvas);
}

.profile-vocabulary-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}

.profile-vocabulary-heading h3 { margin: 0; font-size: 1rem; }
.profile-vocabulary-heading a { min-height: 44px; display: inline-flex; align-items: center; color: var(--action-dark); font-weight: 800; }
.profile-word-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.profile-word-stat { display: grid; gap: .2rem; min-width: 0; padding: .75rem; border-radius: 12px; background: var(--surface); box-shadow: 0 0 0 1px rgb(0 0 0/.06); }
.profile-word-stat strong { font-size: 1.55rem; font-variant-numeric: tabular-nums; line-height: 1; }
.profile-word-stat span { color: var(--muted); font-size: .76rem; line-height: 1.25; text-wrap: pretty; }
.profile-vocabulary-overview > p { margin: .75rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; text-wrap: pretty; }

.dictionary-actions label,
.review-toolbar label { color: var(--muted); font-size: .72rem; font-weight: 750; }
.dictionary-actions select,
.review-toolbar select,
.word-deck-field select { min-width: 170px; font-variant-numeric: tabular-nums; }

.word-deck-field { grid-template-columns: minmax(0, 1fr) auto auto; }
.deck-delete { color: #9f3d2f; border-color: color-mix(in srgb, #9f3d2f 38%, var(--line)); }
.deck-delete.is-armed { background: #9f3d2f; border-color: #9f3d2f; color: #fff; }

.kazakh-keyboard {
  display: grid;
  min-width: 0;
  gap: .55rem;
  margin-top: .55rem;
  padding: .65rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--canvas);
  box-shadow: 0 8px 24px rgb(23 33 29 / .08);
}
.kazakh-keyboard--word-form { grid-column: 1 / -1; width: 100%; margin-top: 0; }
.kazakh-keyboard[hidden] { display: none; }
.kazakh-keyboard-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem .75rem; }
.kazakh-keyboard-heading strong { font-size: .78rem; }
.kazakh-keyboard-heading span { color: var(--muted); font-size: .68rem; font-weight: 600; }
.kazakh-keyboard-controls { display: grid; min-width: 0; grid-template-columns: 44px minmax(0, 1fr); gap: .4rem; }
.kazakh-keyboard-keys { display: grid; min-width: 0; grid-template-columns: repeat(9, minmax(34px, 1fr)); gap: .35rem; }
.kazakh-keyboard button { min-width: 0; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: 800 1.05rem/1 system-ui, sans-serif; cursor: pointer; box-shadow: 0 1px 2px rgb(23 33 29 / .06); transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, scale 100ms ease; }
.kazakh-keyboard button:hover { border-color: var(--action); background: var(--highlight); }
.kazakh-keyboard button:active { scale: .94; }
.kazakh-keyboard .kazakh-shift[aria-pressed="true"] { background: var(--ink); color: var(--surface); }

.word-card header strong { color: var(--ink); font-family: "Times New Roman", Times, serif; font-size: 1.75rem; line-height: 1.08; text-wrap: balance; }
.word-card .definition-kk { text-wrap: pretty; }
.word-card .deck-tags { text-wrap: pretty; }

.review-card {
  display: grid;
  justify-items: center;
  gap: .85rem;
  min-height: 320px;
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 0 0 1px rgb(0 0 0/.07), 0 12px 30px rgb(0 0 0/.08);
}
.review-flip { width: 100%; perspective: 1400px; }
.review-flip-inner { display: grid; width: 100%; transform-style: preserve-3d; transition-property: transform; transition-duration: 360ms; transition-timing-function: cubic-bezier(.2, 0, 0, 1); }
.review-flip.is-revealed .review-flip-inner { transform: rotateY(180deg); }
.review-face { grid-area: 1 / 1; display: grid; width: 100%; min-width: 0; min-height: 270px; align-content: center; justify-items: center; gap: .85rem; backface-visibility: hidden; }
.review-face-back { align-content: start; padding: 2px; transform: rotateY(180deg); }
.review-instruction { max-width: 34ch; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; text-wrap: pretty; }
.review-answer-label { color: var(--action); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.review-answer { display: grid; width: min(100%, 38rem); justify-items: center; gap: .25rem; }
.review-answer-source { color: var(--muted); font-size: 1.02rem; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; text-wrap: balance; }
.review-answer-language { margin-top: .15rem; color: var(--action); font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.review-answer-word { max-width: 100%; color: var(--ink); font-size: clamp(2.05rem, 7vw, 3.15rem); font-weight: 800; line-height: 1.02; overflow-wrap: anywhere; text-align: center; text-wrap: balance; }
.study-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; width: 100%; }
.study-language-grid--single { grid-template-columns: minmax(0, 1fr); }
.review-language-grid { width: min(100%, 38rem); }
.review-language-grid.study-language-grid--single { max-width: 30rem; }
.study-language-card { display: grid; min-width: 0; align-content: start; gap: .6rem; padding: 13px 14px; border-radius: 15px; background: var(--canvas); text-align: left; box-shadow: 0 0 0 1px rgb(0 0 0/.06); }
.study-language-label { color: var(--action); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.study-language-definition { margin: 0; color: var(--ink); font-size: .95rem; line-height: 1.45; text-wrap: pretty; }
.study-language-example { padding-top: .55rem; box-shadow: inset 0 1px color-mix(in srgb, var(--ink) 10%, transparent); }
.study-language-example b { color: var(--muted); font-size: .65rem; letter-spacing: .07em; text-transform: uppercase; }
.study-language-example p { margin: .3rem 0 0; color: var(--ink); font-size: .86rem; line-height: 1.45; text-wrap: pretty; }
.glossary-language-grid,
.dictionary-language-grid { grid-template-columns: 1fr; }
.review-support-hint { display: grid; justify-items: center; gap: .45rem; }
.review-support-definition { max-width: 36ch; margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.45; text-align: center; text-wrap: pretty; }
.review-feedback-languages { width: min(100%, 38rem); }
.review-example { width: min(100%, 36ch); padding: 12px 14px; border-radius: 14px; background: var(--canvas); text-align: left; box-shadow: 0 0 0 1px rgb(0 0 0/.06); }
.review-example b { color: var(--action); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.review-example p { margin: 5px 0 0; color: var(--ink); line-height: 1.5; text-wrap: pretty; }
.review-support-button { justify-self: center; }
.review-support-hint[hidden] { display: none; }
.review-type-feedback { display: grid; justify-items: center; gap: .7rem; width: 100%; }
.review-card .review-term { width: min(100%, 390px); display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 10px; }
.review-card .review-term::before { content: ''; width: 44px; height: 44px; }
.review-card .review-term strong { min-width: 0; margin: 0; overflow-wrap: anywhere; font-kerning: normal; font-synthesis: none; line-height: 1.05; text-wrap: balance; }
.review-card .review-progress { margin: 0; line-height: 1; }
.review-card .word-origin { max-width: 42ch; margin: 0; line-height: 1.4; text-wrap: pretty; }
.review-card .review-image { width: min(100%, 360px); margin: 0 auto .65rem; }
.review-card .translation-pair { justify-content: center; }
.review-card .definition-kk { max-width: 36ch; margin: 0; color: var(--ink); font-size: 1.05rem; text-wrap: pretty; }
.review-card .swipe-hint { margin-top: auto; }
.review-actions { flex-wrap: wrap; }
.review-match { display: grid; gap: 14px; padding: 8px 2px 2px; }
.review-match-instruction { margin: 0; color: var(--muted); line-height: 1.5; text-wrap: pretty; }
.match-board { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 10px; align-items: start; }
.match-column { display: grid; gap: 8px; min-width: 0; }
.match-column h3 { margin: 0 0 2px; color: var(--muted); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.match-option-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; min-width: 0; }
.match-option { width: 100%; min-width: 0; min-height: 54px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--ink); padding: 10px 12px; cursor: pointer; text-align: left; line-height: 1.35; transition-property: border-color, background-color, color, scale, opacity; transition-duration: 140ms; transition-timing-function: ease-out; }
.match-option-term { font-family: "Times New Roman", Times, serif; font-size: 1.08rem; font-weight: 800; overflow-wrap: anywhere; }
.match-option-definition { font-size: .85rem; text-wrap: pretty; }
.match-option:hover { border-color: color-mix(in srgb, var(--action) 70%, var(--line)); }
.match-option:active { scale: .985; }
.match-option.is-selected { border-color: var(--action); background: color-mix(in srgb, var(--action) 12%, var(--surface)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--action) 18%, transparent); }
.match-option.is-matched { border-color: var(--success); background: color-mix(in srgb, var(--success) 13%, var(--surface)); opacity: .72; }
.match-option.is-wrong { border-color: var(--error); background: color-mix(in srgb, var(--error) 11%, var(--surface)); }
.match-hint { align-self: stretch; min-width: 42px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); color: var(--action-dark); font-size: .68rem; font-weight: 900; cursor: pointer; }
.match-definition-hint { grid-column: 1 / -1; padding: 3px 5px 6px; color: var(--muted); font-size: .74rem; line-height: 1.35; text-wrap: pretty; }
.match-definition-hint[hidden] { display: none; }
.match-status { min-height: 1.5em; color: var(--muted); font-size: .82rem; font-weight: 750; line-height: 1.4; }
.match-next { justify-self: stretch; }

html[data-theme=dark] .teacher-section--inline { background: transparent; color: var(--ink); }
html[data-theme=dark] .teacher-section--inline .teacher-plans { background: var(--canvas); color: var(--ink); }
html[data-theme=dark] .profile-word-stat { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }
html[data-theme=dark] .review-card { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }
html[data-theme=dark] .review-example { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }
html[data-theme=dark] .study-language-card { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }
html[data-theme=dark] .glossary-image,
html[data-theme=dark] .word-image,
html[data-theme=dark] .review-image,
html[data-theme=dark] .image-edit-preview img { outline-color: rgb(255 255 255/.1); }

.practice-glossary {
  margin-top: 32px;
  padding: 24px;
  border-radius: 26px;
  background: color-mix(in srgb, var(--surface) 92%, var(--canvas));
  box-shadow: 0 0 0 1px rgb(0 0 0/.06), 0 1px 2px -1px rgb(0 0 0/.06), 0 10px 28px rgb(0 0 0/.05);
}
.practice-glossary-heading { display: grid; gap: 8px; margin-bottom: 18px; }
.practice-glossary-heading h3 { margin: 0; font-family: "Times New Roman", Times, serif; font-size: clamp(1.55rem, 3vw, 2.1rem); font-weight: 500; line-height: 1.1; text-wrap: balance; }
.practice-glossary-heading > p { max-width: 48ch; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; text-wrap: pretty; }
.practice-glossary-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px; }
.practice-glossary-list .glossary-row { padding: 16px; border: 0; border-radius: 18px; background: var(--surface); box-shadow: 0 0 0 1px rgb(0 0 0/.06), 0 1px 2px -1px rgb(0 0 0/.06), 0 4px 14px rgb(0 0 0/.04); }
.practice-glossary-list .glossary-row header strong { font-size: clamp(1.45rem, 2.7vw, 1.8rem); }
.practice-glossary-list .glossary-image { border-radius: 12px; }
html[data-theme=dark] .practice-glossary { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }
html[data-theme=dark] .practice-glossary-list .glossary-row { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }
@media (max-width:560px) { .practice-glossary { margin-top: 24px; padding: 18px; border-radius: 22px; } }

@media (max-width: 560px) {
  .review-dialog { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; padding: 16px; border-radius: 0; }
  .review-dialog .dialog-head h2 { font-size: 1.7rem; }
  .review-dialog .review-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .review-dialog .review-modes { grid-column: 1 / -1; margin: 4px 0; }
  .review-dialog .review-toolbar label { width: auto; min-width: 0; }
  .review-dialog .review-toolbar select { width: 100%; min-width: 0; }
  .review-dialog .review-auto-note { margin: 10px 0; font-size: .76rem; line-height: 1.4; }
  .review-dialog .review-card { min-height: 280px; padding: 16px; }
  .review-dialog .review-face { min-height: 246px; }
  .review-dialog .study-language-grid { grid-template-columns: 1fr; }
  .review-dialog .study-language-card { padding: 11px 12px; }
  .review-dialog .review-answer-word { font-size: clamp(1.9rem, 10vw, 2.6rem); }
  .review-dialog .review-image { width: auto; max-width: 100%; max-height: 140px; }
  .review-dialog .review-match { gap: 10px; }
  .review-dialog .match-board { gap: 7px; }
  .review-dialog .match-column { gap: 6px; }
  .review-dialog .match-option { min-height: 50px; padding: 8px 9px; }
  .review-dialog .match-option-definition { font-size: .78rem; }
  .review-dialog .match-hint { min-width: 38px; }
  .profile-data-actions { display: grid; grid-template-columns: 1fr; }
  .profile-data-actions .button { width: 100%; }
  .profile-word-stats { grid-template-columns: 1fr; }
  .profile-word-stat { grid-template-columns: 44px minmax(0, 1fr); align-items: center; }
  .dictionary-actions { width: 100%; align-items: stretch; }
  .dictionary-actions label { flex: 1 1 100%; }
  .dictionary-actions select { width: 100%; }
  .dictionary-actions .button { width: 100%; }
  .teacher-section--inline { margin-top: 36px; padding-top: 28px; }
  .teacher-section--inline .teacher-plans { padding: 14px; }
  .word-deck-field { grid-template-columns: 1fr; }
  .word-deck-field .button { width: 100%; }
  .kazakh-keyboard-keys { grid-template-columns: repeat(5, minmax(40px, 1fr)); }
}

.mobile-nav { display: none; }

@media (max-width: 900px) {
  body { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .mobile-nav {
    position: fixed;
    z-index: 40;
    left: 50%;
    translate: -50% 0;
    bottom: max(8px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(560px, calc(100% - 16px));
    padding: 6px;
    border-radius: 22px;
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow: 0 0 0 1px rgb(0 0 0/.08), 0 12px 34px rgb(0 0 0/.2);
    backdrop-filter: blur(16px);
  }
  .mobile-nav a {
    min-width: 0;
    min-height: 56px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 3px;
    padding: 5px 2px;
    border-radius: 16px;
    color: var(--muted);
    text-decoration: none;
    transition-property: color, background-color, scale;
    transition-duration: 150ms;
    transition-timing-function: ease-out;
  }
  .mobile-nav a[aria-current="page"] { background: var(--action); color: #fff; }
  .mobile-nav a:active { scale: .96; }
  .mobile-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-nav span { max-width: 100%; overflow: hidden; font-size: .65rem; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
  .learning-stage[data-mode=practice] { inset: 65px 0 calc(76px + env(safe-area-inset-bottom)); }
}

html[data-theme=dark] .mobile-nav { box-shadow: 0 0 0 1px rgb(255 255 255/.1), 0 12px 34px rgb(0 0 0/.35); }

@media (prefers-reduced-motion: reduce) {
  .mobile-nav a { transition: none; }
  .mobile-nav a:active { scale: 1; }
  .review-flip-inner { transform: none!important; transition: none; }
  .review-face { transform: none; }
  .review-face[aria-hidden="true"] { visibility: hidden; }
  .match-option { transition: none; }
  .match-option:active { scale: 1; }
}

@media (forced-colors: active) {
  .mobile-nav { border: 2px solid CanvasText; }
  .mobile-nav a[aria-current="page"] { border: 2px solid Highlight; }
  .review-example { border: 1px solid CanvasText; }
  .match-option,
  .match-hint { border: 1px solid CanvasText; }
}

@media print { .mobile-nav { display: none!important; } }

.word-form {
  margin-top: 18px;
  padding: 18px;
  border-radius: 20px;
  background: var(--canvas);
  box-shadow: 0 0 0 1px rgb(0 0 0/.07);
}
.word-form > * { min-width: 0; }
.word-form[hidden] { display: none!important; }
html[data-theme=dark] .word-form { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }

.word-deck-field { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: 8px; }
.word-deck-field label { min-width: 0; }
.word-deck-field .button { white-space: nowrap; }
.deck-creator { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: end; gap: 8px; padding: 12px; border-radius: 14px; background: var(--surface); box-shadow: 0 0 0 1px rgb(0 0 0/.07); }
html[data-theme=dark] .deck-creator { box-shadow: 0 0 0 1px rgb(255 255 255/.08); }

@media (max-width: 560px) {
  .word-deck-field,
  .deck-creator { grid-template-columns: 1fr; }
  .word-deck-field .button,
  .deck-creator .button { width: 100%; }
}

.audio-reader audio { display: none; }
.audio-controls { display: grid; grid-template-columns: 44px auto minmax(100px, 1fr) auto 44px; align-items: center; gap: 10px; min-height: 58px; padding: 7px 10px; border-radius: 18px; background: color-mix(in srgb, var(--ink) 86%, var(--surface)); color: #fff; }
.audio-control-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font: 800 1rem/1 system-ui, sans-serif; cursor: pointer; transition: background-color 140ms ease, scale 100ms ease; }
.audio-control-button:hover { background: rgb(255 255 255 / .12); }
.audio-control-button:active { scale: .94; }
.audio-time { min-width: 3.5ch; color: inherit; font-size: .78rem; font-variant-numeric: tabular-nums; }
.audio-time-total { text-align: right; }
.audio-seek { --audio-progress: 0%; width: 100%; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; accent-color: #fff; }
.audio-seek::-webkit-slider-runnable-track { height: 6px; border-radius: 999px; background: linear-gradient(90deg, #fff var(--audio-progress), rgb(255 255 255 / .28) var(--audio-progress)); }
.text-completion-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,240px);align-items:center;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:14px }
.text-completion-row input { min-height:46px;font:inherit;font-weight:800;color:var(--ink);background:var(--surface) }
@media (max-width:560px){.text-completion-row{grid-template-columns:1fr}.text-completion-row input{width:100%}}
.audio-seek::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -6px; border: 2px solid #fff; border-radius: 50%; background: var(--action); box-shadow: 0 1px 4px rgb(0 0 0 / .28); -webkit-appearance: none; }
.audio-seek::-moz-range-track { height: 6px; border-radius: 999px; background: rgb(255 255 255 / .28); }
.audio-seek::-moz-range-progress { height: 6px; border-radius: 999px; background: #fff; }
.audio-seek::-moz-range-thumb { width: 18px; height: 18px; border: 2px solid #fff; border-radius: 50%; background: var(--action); box-shadow: 0 1px 4px rgb(0 0 0 / .28); }
.audio-speed { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 9px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.audio-speed label { display: flex; align-items: center; gap: 8px; }
.audio-speed select { min-width: 92px; font-variant-numeric: tabular-nums; }
.audio-speed > span { font-variant-numeric: tabular-nums; }

@media (max-width: 560px) {
  .audio-controls { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 6px; }
  .audio-controls .audio-time { grid-row: 2; }
  .audio-controls .audio-time-total { grid-column: 3; }
  .audio-seek { grid-column: 2; grid-row: 1; }
  .audio-controls [data-audio-toggle] { grid-column: 1; grid-row: 1 / 3; }
  .audio-controls [data-audio-mute] { grid-column: 3; grid-row: 1 / 2; }
  .audio-speed { align-items: stretch; flex-direction: column; }
  .audio-speed label { justify-content: space-between; }
}

/* About and first-run journey */
.about-section{width:min(1180px,calc(100% - 32px));margin:32px auto 72px}
.about-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(28px,5vw,72px);overflow:hidden;align-items:center;min-height:560px;padding:clamp(28px,5vw,68px);border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,color-mix(in srgb,var(--highlight) 62%,var(--surface)),var(--surface) 56%,color-mix(in srgb,#dfeef5 62%,var(--surface)));box-shadow:var(--shadow)}
.about-hero::after{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border:58px solid color-mix(in srgb,var(--action) 10%,transparent);border-radius:50%;pointer-events:none}
.about-hero-copy{position:relative;z-index:1}.about-hero h1{max-width:14ch;margin:14px 0 20px;font-family:"Times New Roman",Times,serif;font-size:clamp(2.65rem,5.8vw,5.7rem);font-weight:500;line-height:.98;letter-spacing:-.035em;text-wrap:balance}.about-hero-copy>p:not(.eyebrow){max-width:60ch;color:var(--muted);font-size:1.04rem;line-height:1.65;text-wrap:pretty}
.about-free{display:inline-flex;min-height:32px;align-items:center;padding:0 12px;border-radius:999px;background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:850;line-height:1;letter-spacing:.04em;text-transform:uppercase}.about-hero-copy>.eyebrow{margin-top:10px}.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.about-journey-visual{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:12px}.journey-node{display:grid;grid-template-columns:42px 82px minmax(0,1fr);align-items:center;gap:14px;min-height:112px;padding:14px 18px;border:1px solid rgb(23 33 29/.12);border-radius:22px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 14px 34px rgb(10 34 28/.09)}.journey-node>span{font-size:.72rem;font-weight:900;font-variant-numeric:tabular-nums}.journey-node svg{width:74px;height:74px}.journey-node svg *{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.journey-node--read{transform:translateX(-20px)}.journey-node--card{transform:translateX(28px)}.journey-node--grow{transform:translateX(-2px)}.journey-node--read::after,.journey-node--card::after,.journey-node--grow::after{font-family:"Times New Roman",Times,serif;font-size:1.35rem;font-weight:700}.journey-node--read::after{content:"Оқы"}.journey-node--card::after{content:"Еске түсір"}.journey-node--grow::after{content:"Қолдан"}.journey-line{width:2px;height:18px;margin:-4px 0 -4px 80px;background:var(--action)}
.about-block,.about-data,.about-license{margin-top:18px;padding:clamp(26px,4vw,52px);border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.about-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:24px;align-items:end;margin-bottom:28px}.about-section-heading h2,.about-data h2,.about-license h2{max-width:17ch;margin:7px 0 0;font-family:"Times New Roman",Times,serif;font-size:clamp(2rem,4vw,3.7rem);font-weight:500;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}.about-section-heading>p:last-child{margin:0;color:var(--muted);line-height:1.55}
.about-path-grid,.method-grid,.install-grid{display:grid;gap:12px}.about-path-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.about-path-grid article,.method-grid article,.install-grid article{min-width:0;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--canvas)}.about-path-grid article>span{display:inline-grid;width:36px;height:36px;border-radius:50%;place-items:center;background:var(--action);color:#fff;font-size:.72rem;font-weight:900}.about-path-grid h3,.method-grid h3,.install-grid h3{margin:18px 0 10px;font-size:1rem;line-height:1.22;text-wrap:balance}.about-path-grid p,.method-grid p,.install-grid li{color:var(--muted);font-size:.86rem;line-height:1.55;text-wrap:pretty}
.about-data{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,70px);align-items:center;background:linear-gradient(145deg,color-mix(in srgb,#dfeef5 58%,var(--surface)),var(--surface))}.about-data>div:last-child>p{color:var(--muted);line-height:1.65}.about-data-visual{display:grid;min-height:380px;place-items:center}.device-shape{position:relative;width:min(280px,78%);aspect-ratio:3/4;border:14px solid var(--ink);border-radius:42px;background:var(--surface);box-shadow:22px 24px 0 color-mix(in srgb,var(--action) 28%,transparent)}.device-dot{position:absolute;left:50%;top:12px;width:54px;height:8px;translate:-50% 0;border-radius:999px;background:var(--ink)}.device-card{position:absolute;left:28px;right:28px;height:74px;border:7px solid var(--ink);border-radius:18px}.device-card--one{top:70px;background:var(--highlight)}.device-card--two{top:166px;background:#dfeef5}.device-lock{position:absolute;right:-34px;bottom:32px;display:grid;width:100px;height:100px;border:9px solid var(--ink);border-radius:28px;place-items:center;background:#fff3c4}.device-lock::before{content:"";position:absolute;top:-46px;width:54px;height:54px;border:9px solid var(--ink);border-bottom:0;border-radius:28px 28px 0 0}.device-lock span{width:15px;height:34px;border-radius:999px;background:var(--ink)}.about-backup-steps{display:grid;gap:8px;margin:24px 0 0;padding-left:22px;color:var(--muted);font-size:.86rem;line-height:1.5}
.install-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-mark{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;border-radius:999px;background:var(--ink);color:var(--surface);font-size:.68rem;font-weight:900}.install-grid ol{margin:14px 0 0;padding-left:20px}.about-source-note{margin:18px 2px 0;color:var(--muted);font-size:.78rem}.about-source-note a,.method-grid a,.license-links a{color:var(--action);font-weight:800;text-underline-offset:.2em}
.method-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.method-icon{display:grid;width:64px;height:64px;border:7px solid #17211d;border-radius:20px;place-items:center;background:#dcefe8;color:#17211d;font-family:"Times New Roman",Times,serif;font-size:1.55rem;font-weight:800;text-shadow:none}.method-grid article:nth-child(2) .method-icon{border-radius:50%;background:#fff3c4}.method-grid article:nth-child(3) .method-icon{background:#dfeef5}.method-grid article:nth-child(4) .method-icon{border-radius:50%;background:#dcefe8}.method-grid .method-subtitle{margin-top:22px}.method-grid a{display:inline-block;margin-top:10px;font-size:.8rem}.method-boundary{max-width:84ch;margin:22px 0 0;padding:14px 16px;border-left:4px solid var(--action);background:var(--canvas);color:var(--muted);font-size:.82rem;line-height:1.55}

.active-deck-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.deck-create-dialog{width:min(760px,calc(100% - 24px));max-height:min(860px,calc(100dvh - 24px));padding:0;border:0;border-radius:28px;background:var(--surface);color:var(--ink);box-shadow:0 28px 80px rgb(0 0 0/.3)}.deck-create-dialog::backdrop{background:rgb(7 18 14/.72);backdrop-filter:blur(5px)}.deck-create-form{display:grid;gap:22px;padding:28px}.deck-create-form .dialog-head{margin:0}.deck-create-form h2{margin:4px 0 0;font-family:"Times New Roman",Times,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:500;line-height:1}.deck-name-field{display:grid;gap:8px}.deck-name-field span,.deck-cover-upload>span,.deck-cover-fieldset legend{font-size:.83rem;font-weight:850}.deck-name-field input{min-height:52px;font-size:1.05rem}.deck-cover-fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.deck-cover-fieldset>p{margin:0;color:var(--muted);font-size:.84rem}.deck-cover-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.deck-cover-options label{position:relative;display:grid;min-width:0;cursor:pointer}.deck-cover-options input{position:absolute;left:10px;top:10px;width:22px;height:22px;margin:0;accent-color:var(--action)}.deck-cover-options img{display:block;width:100%;height:auto;aspect-ratio:8/5;border:2px solid transparent;border-radius:14px;object-fit:contain;background:#dcefe8;outline:1px solid rgb(23 33 29/.14);outline-offset:-1px;transition:border-color 150ms ease,box-shadow 150ms ease,scale 120ms ease}.deck-cover-options label:hover img{scale:1.02}.deck-cover-options input:checked+img{border-color:var(--action);box-shadow:0 0 0 3px color-mix(in srgb,var(--action) 22%,transparent)}.deck-cover-options span{position:absolute;right:7px;bottom:7px;padding:3px 6px;border-radius:999px;background:#17211d;color:#fff;font-size:.62rem;font-weight:900}.deck-cover-upload{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:16px}.deck-cover-upload input{min-height:44px}.deck-cover-upload small{color:var(--muted)}.deck-create-status{min-height:1.4em;color:var(--error);font-size:.82rem}.deck-create-actions{display:flex;justify-content:flex-end;gap:9px}
@media(max-width:620px){.active-deck-actions{width:100%;align-items:stretch;flex-direction:column}.active-deck-actions .button{width:100%}.deck-create-dialog{width:100%;max-height:100dvh;border-radius:0}.deck-create-form{padding:20px 16px}.deck-cover-options{grid-template-columns:repeat(3,minmax(0,1fr))}.deck-create-actions{display:grid;grid-template-columns:1fr 1fr}.deck-create-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.deck-cover-options img{transition:none}.deck-cover-options label:hover img{scale:1}}
.about-license{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);gap:24px;margin-top:12px;padding:22px 24px;border-color:#31433d;border-radius:20px;background:#17211d;color:#f2f4ef;box-shadow:0 8px 22px rgb(0 0 0/.12)}.about-license .eyebrow{color:#72d7c9;font-size:.68rem}.about-license h2{max-width:22ch;margin-top:4px;color:#f2f4ef;font-family:system-ui,sans-serif;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:800;line-height:1.15;letter-spacing:-.01em}.about-license p{margin:0;color:#c5cec9;font-size:.82rem;line-height:1.55}.license-summary{max-width:72ch}.license-details{margin-top:8px}.license-details summary{display:flex;min-height:44px;align-items:center;cursor:pointer;color:#72d7c9;font-size:.76rem;font-weight:850}.license-details[open] summary{margin-bottom:10px}.license-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.license-links a{display:inline-flex;min-height:44px;align-items:center;padding:0 10px;border:1px solid #51615b;border-radius:999px;color:#e7ece9;font-size:.72rem;text-decoration:none}.license-links a:hover{border-color:#72d7c9;color:#72d7c9}

.onboarding-dialog{width:min(980px,calc(100% - 24px));max-height:min(820px,calc(100dvh - 24px));padding:0;border:0;border-radius:30px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px rgb(0 0 0/.34)}.onboarding-dialog::backdrop{background:rgb(5 15 12/.72);backdrop-filter:blur(10px)}.onboarding-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:min(760px,calc(100dvh - 24px));padding:22px}.onboarding-top{display:flex;align-items:center;justify-content:space-between}.onboarding-skip{min-height:44px;padding:0 14px;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:800;cursor:pointer}.onboarding-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0;padding:6px;border-radius:20px;background:var(--canvas)}.onboarding-map>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;min-height:52px;padding:0 10px;border-radius:14px;color:var(--muted)}.onboarding-map svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.onboarding-map b{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.onboarding-map>span.is-current{background:var(--action);color:#fff}.onboarding-panels{display:grid;min-height:0}.onboarding-panels>section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);grid-template-rows:auto auto 1fr;column-gap:clamp(24px,5vw,70px);align-items:center;padding:clamp(16px,3vw,34px)}.onboarding-panels>section[hidden]{display:none}.onboarding-panels .eyebrow{grid-column:1}.onboarding-panels h2{grid-column:1;align-self:end;max-width:14ch;margin:10px 0 15px;font-family:"Times New Roman",Times,serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:1;letter-spacing:-.03em;text-wrap:balance}.onboarding-panels section>p:not(.eyebrow){grid-column:1;align-self:start;margin:0;color:var(--muted);font-size:1rem;line-height:1.6;text-wrap:pretty}.onboarding-languages,.onboarding-scene{grid-column:2;grid-row:1/4}.onboarding-languages{display:grid;gap:10px;align-self:center}.onboarding-languages button{min-height:64px;padding:0 20px;border:1px solid var(--line);border-radius:18px;background:var(--canvas);color:var(--ink);font:inherit;font-size:1rem;font-weight:850;text-align:left;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,transform 120ms ease}.onboarding-languages button:hover{border-color:var(--action);background:color-mix(in srgb,var(--action) 9%,var(--surface));transform:translateX(3px)}.onboarding-scene{position:relative;align-self:stretch;min-height:330px;overflow:hidden;border-radius:26px;background:linear-gradient(145deg,var(--highlight),#dfeef5)}
.onboarding-scene--library{display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:34px}.onboarding-scene--library>span{display:grid;width:86px;height:116px;border:8px solid var(--ink);border-radius:18px;place-items:center;background:var(--surface);font-size:.72rem;font-weight:900}.onboarding-scene--library>span:nth-child(2){height:168px;background:#fff3c4}.onboarding-scene--library>span:nth-child(3){height:220px;background:#dfeef5}.onboarding-scene--library>div{position:absolute;left:34px;right:34px;bottom:30px;height:9px;border-radius:999px;background:var(--ink)}
.onboarding-scene--cards{display:grid;place-items:center}.mini-card{position:absolute;width:230px;height:150px;border:9px solid var(--ink);border-radius:24px}.mini-card--back{translate:32px -20px;rotate:8deg;background:#1d4ed8}.mini-card--front{display:grid;align-content:center;gap:13px;padding:28px;background:var(--surface)}.mini-card--front b{font-family:"Times New Roman",Times,serif;font-size:2rem}.mini-card--front span{display:block;height:9px;border-radius:999px;background:var(--action)}.mini-card--front span:last-child{width:64%;background:color-mix(in srgb,var(--ink) 24%,transparent)}

/* Card surfaces use one Kazakh-complete interface face without serif fallback. */
.review-dialog .dialog-head h2,
.review-card strong,
.review-type>.definition-kk,
.deck-browser-heading h3,
.deck-theme-heading h3,
.deck-card h4,
.word-card header strong,
.match-option-term {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-kerning: normal;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
.deck-browser-heading h3,
.deck-theme-heading h3 { font-weight: 750; }
.onboarding-scene--profile{display:grid;place-content:center;gap:16px}.profile-ring{display:grid;width:150px;height:150px;border:20px solid color-mix(in srgb,var(--action) 24%,transparent);border-top-color:var(--action);border-right-color:var(--action);border-radius:50%;place-items:center;background:var(--surface);font-weight:900;font-variant-numeric:tabular-nums}.onboarding-scene--profile>span{display:block;width:220px;height:12px;border-radius:999px;background:color-mix(in srgb,var(--ink) 16%,transparent)}.onboarding-scene--profile>span:nth-of-type(2){width:176px;background:var(--action)}.onboarding-scene--profile>span:nth-of-type(3){width:124px;background:#1d4ed8}
.onboarding-scene--ready{display:grid;place-content:center;place-items:center}.onboarding-scene--ready .brand-mark{width:116px;height:116px;border-radius:32px;font-size:2.2rem;box-shadow:0 18px 40px rgb(11 107 96/.28)}.onboarding-scene--ready i{position:absolute;width:18px;height:18px;border-radius:50%;background:#1d4ed8}.onboarding-scene--ready i:nth-of-type(1){translate:-120px -90px;background:#fff3c4;border:6px solid var(--ink)}.onboarding-scene--ready i:nth-of-type(2){translate:135px -44px;background:#d6784f}.onboarding-scene--ready i:nth-of-type(3){translate:90px 118px;background:var(--action)}
.onboarding-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding-top:18px;border-top:1px solid var(--line)}.onboarding-footer[hidden]{display:none}.onboarding-dots{display:flex;justify-content:center;gap:7px}.onboarding-dots i{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--ink) 16%,transparent)}.onboarding-dots i.is-current{width:24px;border-radius:999px;background:var(--action)}

@media(max-width:900px){.mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.about-hero{grid-template-columns:1fr}.about-journey-visual{max-width:620px}.about-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-data{grid-template-columns:1fr}.about-data-visual{min-height:330px}.about-section-heading{grid-template-columns:1fr}.install-grid,.method-grid{grid-template-columns:1fr}.about-license{grid-template-columns:1fr}.onboarding-panels>section{grid-template-columns:1fr;grid-template-rows:auto}.onboarding-panels .eyebrow,.onboarding-panels h2,.onboarding-panels section>p:not(.eyebrow),.onboarding-languages,.onboarding-scene{grid-column:1;grid-row:auto}.onboarding-scene{min-height:270px;margin-top:24px}}
@media(max-width:560px){.about-section{width:min(100% - 16px,1180px);margin-top:8px}.about-hero,.about-block,.about-data{padding:22px;border-radius:24px}.about-license{padding:18px;border-radius:18px}.about-hero{min-height:0}.about-hero h1{font-size:clamp(2.45rem,13vw,4rem)}.journey-node{grid-template-columns:34px 60px minmax(0,1fr);min-height:88px;padding:10px}.journey-node svg{width:56px;height:56px}.journey-node--read,.journey-node--card,.journey-node--grow{transform:none}.journey-node--read::after,.journey-node--card::after,.journey-node--grow::after{font-size:1.05rem}.about-path-grid{grid-template-columns:1fr}.about-data-visual{min-height:280px}.device-shape{width:190px}.device-lock{right:-25px;width:76px;height:76px}.onboarding-dialog{width:100%;max-height:100dvh;border-radius:0}.onboarding-shell{min-height:100dvh;padding:14px}.onboarding-map{gap:4px;margin:14px 0}.onboarding-map>span{grid-template-columns:1fr;place-items:center;gap:2px;padding:5px 2px}.onboarding-map b{max-width:100%;font-size:.6rem}.onboarding-panels>section{align-content:start;padding:18px 8px}.onboarding-panels h2{font-size:clamp(2.15rem,11vw,3.4rem)}.onboarding-scene{min-height:230px}.onboarding-footer{position:sticky;bottom:0;background:var(--surface)}.onboarding-footer .button{padding-inline:12px}.onboarding-dots{gap:5px}}
@media(prefers-reduced-motion:reduce){.onboarding-languages button{transition:none}.onboarding-languages button:hover{transform:none}}

.review-complete{display:grid;min-height:320px;align-content:center;justify-items:center;gap:12px;padding:32px 22px;text-align:center}.review-complete-mark{display:grid;width:58px;height:58px;margin-bottom:4px;border-radius:50%;place-items:center;background:color-mix(in srgb,var(--success) 16%,var(--surface));color:var(--success);font-size:1.65rem;font-weight:900}.review-complete h3{margin:0;font:800 clamp(1.45rem,5vw,2rem)/1.1 Inter,"Segoe UI",Arial,sans-serif;text-wrap:balance}.review-complete p{max-width:42ch;margin:0 0 8px;color:var(--muted);line-height:1.55;text-wrap:pretty}

/* Reading placement */
.placement-link span{font-size:1rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.placement-section{width:min(100%,1180px);margin:0 auto;padding:34px 0 72px}.placement-shell{padding:clamp(24px,4.5vw,58px);border:1px solid var(--line);border-radius:32px;background:var(--surface);box-shadow:var(--shadow)}.placement-topline,.placement-progress-wrap>div:first-child,.placement-runner-actions,.placement-result-actions,.profile-placement-heading,.profile-placement-actions{display:flex;align-items:center}.placement-topline{justify-content:space-between;gap:16px;margin-bottom:36px}.placement-experimental{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid color-mix(in srgb,var(--action) 38%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--action) 8%,var(--surface));color:var(--action);font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.placement-heading{max-width:850px}.placement-heading h1{max-width:13ch;margin:0;font-family:"Times New Roman",Times,serif;font-size:clamp(2.7rem,6vw,5.8rem);font-weight:500;line-height:1.01;letter-spacing:-.032em;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;text-wrap:balance}.placement-heading>p:last-child{max-width:65ch;margin:22px 0 0;color:var(--muted);font-size:1.08rem;line-height:1.62;text-wrap:pretty}.placement-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:42px 0 22px}.placement-facts article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px 12px;min-height:148px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--canvas)}.placement-facts article>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:900;font-variant-numeric:tabular-nums}.placement-facts strong{align-self:end;text-wrap:balance}.placement-facts p{margin:3px 0 0;color:var(--muted);font-size:.88rem;line-height:1.48;text-wrap:pretty}.placement-intro-actions,.placement-result-actions,.profile-placement-actions{display:flex;flex-wrap:wrap;gap:10px}.placement-storage-note,.placement-boundary-note{max-width:68ch;margin:16px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5;text-wrap:pretty}.placement-runner{max-width:980px;margin:0 auto}.placement-progress-wrap{margin-bottom:22px}.placement-progress-wrap>div:first-child{justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--muted);font-size:.8rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.placement-counter{font-variant-numeric:tabular-nums}.placement-progress-track{height:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 74%,transparent)}.placement-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--action);transition:width 180ms ease-out}.placement-item:focus{outline:none}.placement-question{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px}.placement-passage,.placement-fieldset{margin:0;border:1px solid var(--line);border-radius:22px;background:var(--canvas)}.placement-passage{min-height:310px;padding:clamp(22px,3.2vw,36px)}.placement-passage .eyebrow{margin-bottom:18px}.placement-passage p:not(.eyebrow){margin:0 0 16px;font-family:"Times New Roman",Times,serif;font-size:clamp(1.18rem,2vw,1.42rem);font-kerning:normal;font-synthesis:none;line-height:1.68;text-rendering:optimizeLegibility;text-wrap:pretty}.placement-fieldset{min-width:0;padding:clamp(20px,3vw,30px)}.placement-fieldset legend{float:left;width:100%;margin:0 0 18px;padding:0;font-size:clamp(1.18rem,2.1vw,1.52rem);font-weight:850;line-height:1.35;text-wrap:balance}.placement-fieldset legend+*{clear:both}.placement-choices{display:grid;gap:9px}.placement-choice{display:grid;grid-template-columns:24px 32px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:9px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,transform 120ms ease}.placement-choice:hover{border-color:color-mix(in srgb,var(--action) 60%,var(--line))}.placement-choice:active{transform:scale(.99)}.placement-choice:has(input:checked){border-color:var(--action);background:color-mix(in srgb,var(--action) 10%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--action) 28%,transparent)}.placement-choice:focus-within{outline:3px solid var(--focus);outline-offset:2px}.placement-choice input{width:20px;height:20px;margin:0;accent-color:var(--action)}.placement-choice-marker{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--canvas);color:var(--muted);font-size:.72rem;font-weight:900}.placement-choice-text{line-height:1.38;text-wrap:pretty}.placement-runner-actions{justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}.placement-runner-actions [data-placement-previous]{margin-right:auto}.placement-status{min-height:1.5em;margin:14px 0 0;color:var(--muted);font-weight:700;text-wrap:pretty}.placement-result{max-width:820px;padding:clamp(24px,5vw,54px);border:1px solid var(--line);border-radius:28px;background:var(--canvas)}.placement-result-summary{display:grid;gap:12px}.placement-result-summary .eyebrow{margin:0}.placement-result-summary h2{margin:0;font-family:"Times New Roman",Times,serif;font-size:clamp(2.7rem,7vw,5rem);font-weight:500;line-height:1;text-wrap:balance}.placement-result-summary p{max-width:62ch;margin:0;color:var(--muted);font-size:1.04rem;line-height:1.58;text-wrap:pretty}.placement-result-summary small{color:var(--muted);font-variant-numeric:tabular-nums}.placement-result-actions{margin-top:26px}.profile-placement{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--canvas)}.profile-placement-heading{justify-content:space-between;gap:18px}.profile-placement-heading h3{margin:0;font-size:1.08rem;text-wrap:balance}.profile-placement-heading .eyebrow{margin-bottom:5px}.profile-placement-heading a{color:var(--action);font-size:.84rem;font-weight:850;text-underline-offset:3px}.profile-placement-empty{max-width:56ch;margin:14px 0 0;color:var(--muted);line-height:1.5;text-wrap:pretty}.placement-profile-result{display:grid;gap:6px;margin-top:16px}.placement-profile-result strong{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.05;text-wrap:balance}.placement-profile-result p,.placement-profile-result small{margin:0;color:var(--muted);line-height:1.45;text-wrap:pretty}.placement-profile-result small{font-size:.75rem;font-variant-numeric:tabular-nums}.profile-placement-actions{margin-top:16px}.profile-placement-actions .button{min-height:44px}.placement-delete{color:var(--error)}.profile-placement-status{min-height:1.3em;margin:10px 0 0;color:var(--muted);font-size:.78rem}.profile-placement-status:empty{display:none}

@media(max-width:900px){.placement-section{padding-top:18px}.placement-question{grid-template-columns:1fr}.placement-passage{min-height:0}.placement-facts{grid-template-columns:1fr}.placement-facts article{min-height:0}body[data-page=placement] .mobile-nav{display:none!important}}
@media(max-width:560px){.placement-section{width:calc(100% + 12px);margin-inline:-6px;padding:8px 0 34px}.placement-shell{padding:20px 16px;border-radius:24px}.placement-topline{align-items:flex-start;flex-direction:column-reverse;margin-bottom:28px}.placement-heading h1{font-size:clamp(2.45rem,13vw,4rem)}.placement-heading>p:last-child{font-size:1rem}.placement-facts{margin-top:30px}.placement-facts article{grid-template-columns:38px minmax(0,1fr);padding:16px}.placement-facts article>span{width:38px;height:38px}.placement-question{gap:10px}.placement-passage,.placement-fieldset{border-radius:18px}.placement-passage,.placement-fieldset{padding:20px 16px}.placement-passage p:not(.eyebrow){font-size:1.15rem;line-height:1.62}.placement-fieldset legend{font-size:1.18rem}.placement-choice{grid-template-columns:22px 28px minmax(0,1fr);min-height:60px;padding-inline:11px}.placement-choice-marker{width:28px;height:28px}.placement-runner-actions{display:grid;grid-template-columns:1fr 1fr}.placement-runner-actions .button{width:100%}.placement-runner-actions [data-placement-exit]{grid-column:1/-1}.placement-result{padding:24px 18px;border-radius:22px}.placement-result-actions,.profile-placement-actions{display:grid;grid-template-columns:1fr}.placement-result-actions .button,.profile-placement-actions .button{width:100%}.profile-placement-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.placement-progress-track span,.placement-choice{transition:none}.placement-choice:active{transform:none}}
@media(forced-colors:active){.placement-choice:has(input:checked),.placement-experimental,.placement-progress-track{border:2px solid Highlight}.placement-progress-track span{background:Highlight}.placement-choice-marker{border:1px solid CanvasText}}
.placement-heading h1:focus{outline:none}

/* Localized first-run, community sharing, and author routes */
.about-journey-visual{margin:0}.about-journey-visual img{display:block;width:100%;height:auto;border-radius:26px;object-fit:cover;outline:1px solid color-mix(in srgb,var(--ink) 14%,transparent);outline-offset:-1px;box-shadow:0 18px 42px rgb(10 34 28/.12)}
.about-community{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(220px,.48fr);gap:18px;margin-top:18px;padding:clamp(26px,4vw,52px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--highlight) 48%,var(--surface)),var(--surface));box-shadow:var(--shadow)}.community-copy{align-self:center}.community-copy h2{max-width:17ch;margin:8px 0 18px;font-family:"Times New Roman",Times,serif;font-size:clamp(2.2rem,4.4vw,4.2rem);font-weight:500;line-height:1;letter-spacing:-.028em;text-wrap:balance}.community-copy>p:not(.eyebrow){max-width:58ch;margin:0;color:var(--muted);line-height:1.62;text-wrap:pretty}.community-story{display:grid;justify-items:center;gap:10px;margin:0}.community-story img{display:block;width:min(230px,100%);aspect-ratio:9/16;border-radius:22px;object-fit:cover;outline:1px solid color-mix(in srgb,var(--ink) 16%,transparent);outline-offset:-1px;box-shadow:0 18px 36px rgb(9 25 20/.18)}.community-story figcaption{max-width:30ch;color:var(--muted);font-size:.76rem;line-height:1.45;text-align:center;text-wrap:pretty}.author-projects{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;align-items:end;margin-top:4px;padding:22px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 90%,transparent)}.author-projects h3{margin:5px 0 8px;font-size:1.25rem;text-wrap:balance}.author-projects p:not(.eyebrow){max-width:64ch;margin:0;color:var(--muted);font-size:.86rem;line-height:1.55;text-wrap:pretty}.author-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.author-links a{display:inline-flex;min-height:44px;align-items:center;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.78rem;font-weight:800;text-decoration:none;transition-property:border-color,color,background-color,transform;transition-duration:150ms}.author-links a:hover{border-color:var(--action);color:var(--action);background:color-mix(in srgb,var(--action) 7%,var(--surface))}.author-links a:active{transform:scale(.96)}

.onboarding-panels .onboarding-panel-copy{grid-column:1;align-self:start;display:grid;justify-items:start;gap:18px}.onboarding-panel-copy p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6;text-wrap:pretty}.onboarding-scene--localized{display:grid;margin:0;place-items:center;background:var(--canvas)}.onboarding-scene--localized img{display:block;width:100%;height:100%;object-fit:cover}.onboarding-scene--placement{display:flex;align-items:center;justify-content:center;gap:8px;padding:26px}.onboarding-scene--placement span,.onboarding-scene--placement strong{display:grid;min-width:64px;min-height:64px;border:7px solid var(--ink);border-radius:20px;place-items:center;background:var(--surface);font-size:.76rem;font-weight:900}.onboarding-scene--placement strong{min-width:92px;min-height:92px;border-radius:50%;background:#fff3c4;color:#17211d;font-size:2.3rem}.onboarding-local-badge{position:absolute;right:18px;bottom:18px;display:grid;min-width:90px;min-height:64px;padding:8px 12px;border-radius:18px;background:#17211d;color:#fff;font-size:1.05rem;font-weight:900;text-align:center}.onboarding-local-badge span{color:#72d7c9;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.onboarding-scene--story{display:grid;margin:0;place-items:center;background:#0f1b17}.onboarding-scene--story img{display:block;width:auto;height:min(300px,88%);aspect-ratio:9/16;border-radius:16px;object-fit:cover;outline:1px solid rgb(255 255 255/.14);outline-offset:-1px}.onboarding-footer-middle{display:grid;justify-items:center;gap:6px}.onboarding-step-skip{min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.onboarding-step-skip[hidden]{display:none}

.share-dialog{width:min(760px,calc(100% - 24px));padding:26px;border:0;border-radius:28px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px rgb(0 0 0/.34)}.share-dialog::backdrop{background:rgb(5 15 12/.72);backdrop-filter:blur(8px)}.share-dialog .dialog-intro{max-width:58ch;margin:9px 0 0;color:var(--muted);line-height:1.55;text-wrap:pretty}.share-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:24px 0}.share-option{display:grid;min-width:0;min-height:96px;align-content:center;justify-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:18px;background:var(--canvas);color:var(--ink);font:inherit;text-align:center;text-decoration:none;cursor:pointer;transition-property:border-color,background-color,color,transform;transition-duration:150ms}.share-option span{display:grid;width:38px;height:38px;border-radius:13px;place-items:center;background:color-mix(in srgb,var(--action) 13%,var(--surface));color:var(--action);font-size:.72rem;font-weight:900}.share-option strong{overflow:hidden;max-width:100%;font-size:.76rem;text-overflow:ellipsis}.share-option:hover{border-color:var(--action);background:color-mix(in srgb,var(--action) 7%,var(--surface))}.share-option:active{transform:scale(.96)}.share-story-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--canvas)}.share-story-row img{display:block;width:118px;aspect-ratio:9/16;border-radius:15px;object-fit:cover;outline:1px solid color-mix(in srgb,var(--ink) 14%,transparent);outline-offset:-1px}.share-story-row h3{margin:0 0 7px;font-size:1.08rem;text-wrap:balance}.share-story-row p{margin:0 0 13px;color:var(--muted);font-size:.83rem;line-height:1.48;text-wrap:pretty}.share-status{min-height:1.4em;margin:13px 0 0;color:var(--muted);font-size:.8rem;font-weight:700}

@media(max-width:900px){.about-community{grid-template-columns:minmax(0,1fr) minmax(190px,.42fr)}.author-projects{grid-template-columns:1fr}.author-links{justify-content:flex-start}.onboarding-panels .onboarding-panel-copy{grid-column:1;grid-row:auto}.share-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.about-community{grid-template-columns:1fr;padding:22px;border-radius:24px}.community-copy h2{font-size:clamp(2.2rem,11.6vw,3.3rem)}.community-story{grid-row:2}.community-story img{width:min(190px,64vw)}.author-projects{grid-column:1;padding:18px}.author-links{display:grid;grid-template-columns:1fr 1fr}.author-links a{justify-content:center}.onboarding-dialog{overflow:hidden}.onboarding-shell{height:100dvh;min-height:0;overflow:hidden}.onboarding-panels{min-height:0;overflow:auto;overscroll-behavior:contain}.onboarding-scene--placement{min-height:210px;padding:18px 8px}.onboarding-scene--placement span{min-width:49px;min-height:52px;border-width:5px;border-radius:15px;font-size:.64rem}.onboarding-scene--placement strong{min-width:66px;min-height:66px;font-size:1.6rem}.onboarding-scene--story img{height:205px}.onboarding-footer{position:static;grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.onboarding-footer-middle{gap:2px}.onboarding-step-skip{padding-inline:4px;font-size:.66rem}.share-dialog{width:100%;max-height:100dvh;padding:18px 14px;border-radius:0}.share-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.share-option{min-height:82px}.share-option--system{grid-column:1/-1;grid-template-columns:38px auto;align-content:center;justify-content:center}.share-story-row{grid-template-columns:92px minmax(0,1fr);gap:13px;padding:13px}.share-story-row img{width:92px}.share-story-row .button{width:100%}}
@media(prefers-reduced-motion:reduce){.author-links a,.share-option{transition:none}.author-links a:active,.share-option:active{transform:none}}
@media(forced-colors:active){.about-community,.author-projects,.share-option,.share-story-row{border:2px solid CanvasText}.onboarding-scene--placement strong{border-color:Highlight}}

/* The first step is intentionally trilingual because no interface language exists yet. */
.onboarding-language-step{grid-template-columns:minmax(0,1.28fr) minmax(240px,.72fr)!important;align-content:center}.onboarding-language-intro{display:grid;grid-column:1;gap:15px;align-self:center}.onboarding-language-intro>div{display:grid;gap:5px}.onboarding-language-intro h2{max-width:22ch;margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:clamp(1.18rem,2.25vw,2rem);font-weight:780;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}.onboarding-language-intro p{max-width:52ch;margin:0;color:var(--muted);font-size:clamp(.74rem,1.05vw,.88rem);line-height:1.42;text-wrap:pretty}.onboarding-language-step>.onboarding-languages{grid-column:2;grid-row:1/4}.onboarding-scene--localized img{object-fit:contain;object-position:center}
@media(max-width:900px){.onboarding-language-step{grid-template-columns:1fr!important}.onboarding-language-intro,.onboarding-language-step>.onboarding-languages{grid-column:1;grid-row:auto}.onboarding-language-step>.onboarding-languages{margin-top:20px}}
@media(max-width:560px){.onboarding-language-intro{gap:12px}.onboarding-language-intro h2{font-size:1.05rem}.onboarding-language-intro p{font-size:.72rem}.onboarding-language-step>.onboarding-languages{margin-top:12px}.onboarding-language-step>.onboarding-languages button{min-height:48px}}

/* Keep the on-screen story preview compact; the downloaded card remains 1080 by 1920. */
.community-story img,.share-story-row img{height:auto}

/* Public JAI return route and user-controlled PWA update notice. */
.update-notice{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;width:min(520px,calc(100% - 32px));align-items:center;justify-content:space-between;gap:18px;padding:16px;border-radius:22px;background:var(--surface);box-shadow:0 18px 60px rgb(0 0 0/.24),0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)}
.update-notice[hidden]{display:none}.update-notice>div:first-child{display:grid;gap:4px;min-width:0}.update-notice strong{font-size:.94rem;text-wrap:balance}.update-notice span{color:var(--muted);font-size:.78rem;line-height:1.45;text-wrap:pretty}.update-notice-actions{display:flex;flex:0 0 auto;gap:7px}.update-notice-actions .button{min-height:42px;padding-inline:14px}.update-notice-actions .button:active{transform:scale(.96)}
@media(max-width:560px){.update-notice{right:16px;bottom:86px;display:grid;gap:12px}.update-notice-actions{display:grid;grid-template-columns:1fr 1fr}.update-notice-actions .button{width:100%}}
@media(max-width:380px){.brand>span:last-child{display:none}.site-header{gap:12px}}
@media(prefers-reduced-motion:reduce){.update-notice-actions .button{transition:none}.update-notice-actions .button:active{transform:none}}
@media(forced-colors:active){.update-notice{border:2px solid CanvasText;box-shadow:none}}

/* iOS PWA compatibility and touch-target hardening. */
dialog{max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain}
dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.site-header,.mobile-nav{-webkit-backdrop-filter:blur(16px)}
.profile-placement-heading a,.method-grid article>a,.about-source-note a{display:inline-flex;min-height:44px;align-items:center}
.profile-voice button{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.review-dialog input,.review-dialog select,.review-dialog textarea{font-size:16px}
@media(max-width:560px){
  .review-dialog,.onboarding-dialog,.share-dialog{height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;overflow-x:hidden}
  .review-dialog{
    width:100vw;
    max-width:100vw;
    height:var(--app-visual-viewport-height,100dvh);
    max-height:var(--app-visual-viewport-height,100dvh);
    padding:16px max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
    scroll-padding-block:16px;
  }
  .review-dialog [data-review-card],
  .review-dialog .review-card,
  .review-dialog .review-type,
  .review-dialog .type-answer,
  .review-dialog .kazakh-keyboard,
  .review-dialog .kazakh-keyboard-controls,
  .review-dialog .kazakh-keyboard-keys{min-width:0;max-width:100%}
  .review-dialog .review-type>.definition-kk,
  .review-dialog .type-answer{overflow-wrap:anywhere}
  .review-dialog input,
  .review-dialog select,
  .review-dialog textarea{max-width:100%;font-size:16px}
  .review-dialog select{text-overflow:ellipsis}
  .onboarding-shell{height:100vh;height:100dvh}
}
@media(max-width:360px){
  .review-dialog .review-toolbar{grid-template-columns:minmax(0,1fr) 44px}
  .review-dialog .review-modes{grid-column:1}
  .review-dialog .kazakh-keyboard-heading{display:grid;justify-content:stretch}
  .review-dialog .kazakh-keyboard--word-form .kazakh-keyboard-controls{grid-template-columns:1fr}
  .review-dialog .kazakh-keyboard--word-form .kazakh-keyboard-keys{grid-template-columns:repeat(3,minmax(40px,1fr))}
  .review-dialog .kazakh-keyboard--word-form .kazakh-shift{width:100%}
}
@media(max-width:240px){
  .review-dialog .kazakh-keyboard-keys{grid-template-columns:repeat(2,minmax(40px,1fr))}
}
@media(max-height:560px){
  .review-dialog[open]{
    position:fixed;
    inset-block:var(--app-visual-viewport-top,0) auto;
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr);
    gap:8px;
    width:min(600px,var(--app-visual-viewport-width,100vw));
    max-width:var(--app-visual-viewport-width,100vw);
    height:var(--app-visual-viewport-height,100dvh);
    max-height:var(--app-visual-viewport-height,100dvh);
    margin:0 auto;
    overflow:hidden;
    padding:12px;
    border-radius:0;
    scroll-padding-block:12px;
  }
  .review-dialog [data-review-card]{
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .review-dialog.is-keyboard-open{grid-template-rows:auto minmax(0,1fr)}
  .review-dialog.is-keyboard-open .dialog-head>div,
  .review-dialog.is-keyboard-open .review-toolbar,
  .review-dialog.is-keyboard-open .review-auto-note{display:none}
  .review-dialog.is-keyboard-open .review-type{min-height:0;gap:6px;padding:8px}
  .review-dialog.is-keyboard-open .review-type .review-image{display:none}
  .review-dialog.is-keyboard-open .review-type>.definition-kk{font-size:.9rem;line-height:1.3}
  .review-dialog.is-keyboard-open .kazakh-keyboard-heading{display:none}
  .review-dialog.is-keyboard-open .kazakh-keyboard--review{gap:5px;margin:0;padding:5px;border-radius:12px}
  .review-dialog.is-keyboard-open .kazakh-keyboard--review .kazakh-keyboard-controls{grid-template-columns:40px minmax(0,1fr);gap:4px}
  .review-dialog.is-keyboard-open .kazakh-keyboard--review .kazakh-keyboard-keys{
    grid-auto-columns:40px;
    grid-auto-flow:column;
    grid-template-columns:none;
    gap:4px;
    overflow-x:auto;
    padding:1px 1px 3px;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .review-dialog.is-keyboard-open .kazakh-keyboard--review .kazakh-keyboard-keys::-webkit-scrollbar{display:none}
  .review-dialog.is-keyboard-open .kazakh-keyboard--review button{min-width:40px;min-height:40px;padding:0;font-size:.95rem}
}

/* Mobile-first review workspace and compact primary routes. */
@media(max-width:560px){
  .review-dialog[open]{
    position:fixed;
    top:var(--app-visual-viewport-top,0);
    left:var(--app-visual-viewport-left,0);
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr);
    gap:8px;
    width:var(--app-visual-viewport-width,100vw);
    max-width:var(--app-visual-viewport-width,100vw);
    height:var(--app-visual-viewport-height,100dvh);
    max-height:var(--app-visual-viewport-height,100dvh);
    margin:0;
    overflow:hidden;
    padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  }
  .review-dialog .dialog-head{min-width:0;min-height:44px;align-items:center;gap:8px}
  .review-dialog .dialog-head>div{min-width:0}
  .review-dialog .dialog-head h2{overflow:hidden;font-size:clamp(1.12rem,5.2vw,1.35rem);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
  .review-dialog .dialog-head .icon-button{flex:0 0 44px}
  .review-dialog .dialog-head .eyebrow{display:none}
  .review-dialog .review-toolbar{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:6px}
  .review-dialog .review-modes{grid-column:1;display:grid;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0}
  .review-dialog .review-modes button{overflow:hidden;width:100%;min-width:0;padding-inline:7px;font-size:clamp(.86rem,4vw,1rem);text-overflow:ellipsis;white-space:nowrap}
  .review-dialog .review-settings-toggle{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface);
    color:var(--ink);
    cursor:pointer;
    transition-property:background-color,border-color,transform;
    transition-duration:160ms;
  }
  .review-dialog .review-settings-toggle:active{transform:scale(.96)}
  .review-dialog .review-settings-toggle[aria-expanded=true]{border-color:var(--action);background:color-mix(in srgb,var(--action) 12%,var(--surface));color:var(--action)}
  .review-dialog .review-settings-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .review-dialog .review-settings-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .review-dialog .review-filters{display:none;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
  .review-dialog .review-settings-toggle[aria-expanded=true]+.review-filters{display:grid}
  .review-dialog .review-toolbar label{gap:4px}
  .review-dialog .review-toolbar label>span{font-size:.68rem}
  .review-dialog .review-toolbar select{min-height:44px;padding-block:6px}
  .review-dialog .review-auto-note{display:none}
  .review-dialog [data-review-card]{
    display:grid;
    align-items:start;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scroll-padding-block:12px;
  }
  .review-dialog .review-card{
    min-height:0;
    gap:10px;
    padding:12px;
    border-radius:18px;
  }
  .review-dialog .review-card:not(.review-type){min-height:100%}
  .review-dialog.is-type-review .review-type{
    min-height:100%;
    align-content:center;
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:max-content;
  }
  .review-dialog.is-type-review .review-type .review-image{
    width:min(58vw,240px);
    max-height:150px;
    aspect-ratio:16/10;
  }
  .review-dialog.is-type-review .review-type>.definition-kk{
    max-width:32ch;
    margin-inline:auto;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    font-size:clamp(1rem,4.4vw,1.16rem);
    line-height:1.4;
  }
  .review-dialog .review-support-slot{
    display:grid;
    min-height:76px;
    align-items:center;
    justify-items:center;
  }
  .review-dialog .review-support-slot .review-support-button{width:100%}
  .review-dialog .review-support-slot .review-support-hint{
    align-content:center;
    min-height:76px;
  }
  .review-dialog .review-support-slot .review-support-definition{
    font-size:.82rem;
    line-height:1.35;
  }
  .review-dialog .review-flip{perspective:none}
  .review-dialog .review-flip-inner{
    display:block;
    transform:none!important;
    transform-style:flat;
    transition:none;
  }
  .review-dialog .review-face{
    grid-area:auto;
    min-height:0;
    gap:10px;
    backface-visibility:visible;
    transform:none;
  }
  .review-dialog .review-face[aria-hidden=true]{display:none}
  .review-dialog .review-face-front{align-content:center;grid-auto-rows:max-content}
  .review-dialog .review-face-back{align-content:start;padding:0}
  .review-dialog .review-image{
    width:min(100%,360px);
    max-height:clamp(170px,25vh,240px);
    margin:0 auto;
    border-radius:14px;
  }
  .review-dialog .review-term{
    grid-template-columns:40px minmax(0,1fr) 40px;
    gap:6px;
  }
  .review-dialog .review-term::before{width:40px;height:40px}
  .review-dialog .review-term strong{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    font-size:clamp(2.15rem,12vw,3.15rem);
  }
  .review-dialog .sound-button{width:40px;height:40px;min-width:40px;min-height:40px}
  .review-dialog .word-origin{margin:0;font-size:clamp(.72rem,2.5vw,.86rem)}
  .review-dialog .review-instruction{max-width:34ch;margin-inline:auto;font-size:clamp(.84rem,3.3vw,.98rem);line-height:1.5;text-wrap:pretty}
  .review-dialog .reveal-answer{width:100%;margin-top:4px}
  .review-dialog .review-answer-source{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    font-size:.94rem;
  }
  .review-dialog .review-answer-word{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    font-size:clamp(1.8rem,9vw,2.35rem);
  }
  .review-dialog .study-language-card{gap:7px;padding:10px 11px;border-radius:13px}
  .review-dialog .study-language-definition,
  .review-dialog .study-language-example p{font-size:.84rem;line-height:1.4}
  .review-dialog .review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px;margin-top:4px}
  .review-dialog .review-actions .button{min-width:0;padding-inline:6px}
  .review-dialog.is-keyboard-open{grid-template-rows:auto minmax(0,1fr)}
  .review-dialog.is-keyboard-open .dialog-head{justify-content:flex-end}
  .review-dialog.is-keyboard-open .dialog-head>div,
  .review-dialog.is-keyboard-open .review-toolbar,
  .review-dialog.is-keyboard-open .review-auto-note{display:none}
  .review-dialog.is-keyboard-open .review-type{min-height:0;align-content:start;gap:6px;padding:8px}
  .review-dialog.is-keyboard-open .review-type .review-progress{margin:0}
  .review-dialog.is-keyboard-open .review-type .review-image{
    width:104px;
    max-height:65px;
    aspect-ratio:16/10;
  }
  .review-dialog.is-keyboard-open .review-type>.definition-kk{
    margin:0;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    font-size:1rem;
    line-height:1.4;
  }
  .review-dialog.is-keyboard-open .review-support-button{width:100%}
  .review-dialog.is-keyboard-open .type-answer{gap:5px}
  .review-dialog .kazakh-keyboard--review{gap:5px;margin:0;padding:5px;border-radius:12px}
  .review-dialog.is-keyboard-open .kazakh-keyboard-heading{display:none}
  .review-dialog .kazakh-keyboard--review .kazakh-keyboard-controls{grid-template-columns:40px minmax(0,1fr);gap:4px}
  .review-dialog .kazakh-keyboard--review .kazakh-keyboard-keys{
    display:grid;
    grid-auto-columns:40px;
    grid-auto-flow:column;
    grid-template-columns:none;
    gap:4px;
    overflow-x:auto;
    padding:1px 1px 3px;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .review-dialog .kazakh-keyboard--review .kazakh-keyboard-keys::-webkit-scrollbar{display:none}
  .review-dialog .kazakh-keyboard--review button{min-width:40px;min-height:40px;padding:0;font-size:.95rem;scroll-snap-align:start}
  .review-dialog .review-type.is-answered{align-content:start}
  .review-dialog .review-type.is-answered .type-answer,
  .review-dialog .review-type.is-answered .kazakh-keyboard,
  .review-dialog .review-type.is-answered .review-support-button,
  .review-dialog .review-type.is-answered .review-support-hint{display:none}
  .review-dialog .review-type.is-answered .review-support-slot,
  .review-dialog .review-type.is-answered .review-image{display:none}
  .review-dialog .review-type.is-answered>.definition-kk{font-size:.92rem;line-height:1.3}
  .review-dialog .review-type.is-answered>output{margin:0;font-size:.92rem}
  .review-dialog .review-type.is-answered .review-type-feedback{gap:5px}
  .review-dialog .review-type.is-answered .review-feedback-languages{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .review-dialog .review-type.is-answered .study-language-card{gap:5px;padding:8px 9px}
  .review-dialog .review-type.is-answered .study-language-example{padding-top:0;box-shadow:none}
  .review-dialog .review-type.is-answered .study-language-example p{font-size:.78rem;line-height:1.3}
  .review-dialog .review-next,
  .review-dialog .match-next{
    position:sticky;
    bottom:0;
    z-index:2;
    width:100%;
    margin-top:4px;
    box-shadow:0 -8px 18px color-mix(in srgb,var(--surface) 88%,transparent);
  }
  .review-dialog.is-compact-viewport .review-card{gap:7px;padding:9px}
  .review-dialog.is-compact-viewport .review-face{gap:7px}
  .review-dialog.is-compact-viewport .review-face-front{align-content:start}
  .review-dialog.is-compact-viewport .review-image{max-height:132px}
  .review-dialog.is-compact-viewport.is-type-review .review-type .review-image{display:none}
  .review-dialog.is-compact-viewport.is-type-review .kazakh-keyboard-heading{display:none}
  .review-dialog.is-compact-viewport .review-term strong{font-size:clamp(1.9rem,10vw,2.55rem)}
  .review-dialog.is-compact-viewport .review-instruction{font-size:.8rem;line-height:1.4}
  .review-dialog.is-tight-viewport .review-type .review-image{display:none}
  .review-dialog.is-tight-viewport .review-type>.definition-kk{font-size:.9rem;line-height:1.3}
  .review-dialog.is-tight-viewport .review-support-button{min-height:40px}
  .review-dialog.is-tight-viewport .review-support-slot,
  .review-dialog.is-tight-viewport .review-support-slot .review-support-hint{min-height:48px}
  .review-dialog.is-roomy-viewport .review-face-front{align-content:center}
  .review-dialog.is-roomy-viewport .review-image{max-height:250px}
  .review-dialog.is-roomy-viewport .review-type.is-answered{align-content:center}
  .review-dialog.is-roomy-viewport .review-type.is-answered>.definition-kk{font-size:1.02rem}
  .review-dialog.is-roomy-viewport .review-type.is-answered>output{font-size:1rem}
  .review-dialog.is-roomy-viewport .review-type.is-answered .study-language-example p{font-size:.86rem;line-height:1.38}

  .vocab-section{
    margin-top:12px;
    padding:18px 14px;
    border-radius:22px;
  }
  .vocab-section>.section-heading{gap:12px;margin-bottom:12px}
  .vocab-section>.section-heading h2{font-size:clamp(1.85rem,9.5vw,2.55rem);line-height:1.02}
  .vocab-section .dictionary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .vocab-section .dictionary-actions .button{min-width:0;padding-inline:8px}
  .card-status-overview button{min-height:60px}
  .cards-tabs{margin-bottom:14px}

  .catalogue{padding-top:10px}
  .catalogue-intro{gap:8px;padding:10px 0 8px}
  .catalogue-intro h1{font-size:clamp(2.2rem,11vw,3.15rem);line-height:1.02}
  .catalogue-intro>p{margin:0;font-size:.9rem;line-height:1.45}
  .catalogue-toolbar{gap:10px;margin:8px 0 12px}
  .filter-row{
    display:flex;
    overflow-x:auto;
    flex-wrap:nowrap;
    gap:6px;
    padding:2px 1px 7px;
    scroll-snap-type:inline proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .filter-row::-webkit-scrollbar{display:none}
  .filter-chip{
    flex:0 0 auto;
    min-width:max-content;
    padding-inline:13px;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .level-guide{margin:0 0 12px}
  .level-guide summary{padding:11px 14px}
  .catalogue-grid{gap:12px}
  .catalogue-card{min-height:260px;padding:18px;border-radius:20px}
  .catalogue-card-top{margin-bottom:30px}
  .catalogue-card .catalogue-stats{padding:16px 0 10px}

  .hero[data-text-view]{gap:18px;padding:18px 0 24px}
  .hero[data-text-view] .text-close{margin-bottom:14px}
  .hero[data-text-view] h1{font-size:clamp(2.25rem,11.5vw,3.35rem);line-height:1.03}
  .hero[data-text-view] .dek{margin:14px 0;font-size:1.1rem;line-height:1.38}
  .hero[data-text-view] .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .hero[data-text-view] .hero-actions .button:first-child{grid-column:1/-1}
  .hero[data-text-view] .hero-actions .button{width:100%;padding-inline:9px}
  .hero[data-text-view] .signal-map{
    height:270px;
    min-height:270px;
    grid-template-rows:auto minmax(140px,1fr) auto auto;
    padding:16px;
  }
  .hero[data-text-view] .trilateration-visual{min-height:140px}
  .hero[data-text-view] .diagram-equivalent{display:none}

  .practice-glossary{padding:14px}
  .practice-glossary-list{
    display:flex;
    overflow-x:auto;
    gap:10px;
    padding:2px 1px 8px;
    scroll-snap-type:inline mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .practice-glossary-list::-webkit-scrollbar{display:none}
  .practice-glossary-list .glossary-row{
    flex:0 0 min(78vw,280px);
    scroll-snap-align:start;
  }

  .profile-section{width:calc(100% - 16px);margin:8px auto 24px}
  .profile-card,.profile-progress{padding:14px;border-radius:20px}
  .profile-placement{margin:16px 0;padding:14px}
  .profile-card>.profile-progress{margin-top:14px;padding:12px}
  .progress-levels{gap:7px}
  .level-progress-card{gap:5px;padding:10px 11px;border-radius:13px}
  .profile-word-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .profile-word-stat{display:grid;grid-template-columns:1fr;align-items:start;padding:9px}
  .profile-word-stat strong{font-size:1.35rem}
  .profile-word-stat span{font-size:.68rem}

  .placement-shell{padding:16px 14px}
  .placement-topline{margin-bottom:18px}
  .placement-heading h1{font-size:clamp(2.2rem,11.5vw,3.25rem)}
  .placement-heading>p:last-child{margin-top:14px;font-size:.92rem;line-height:1.48}
  .placement-intro{display:grid}
  .placement-intro-actions{order:-1;margin-top:18px}
  .placement-facts{order:1;margin:16px 0 10px}
  .placement-facts article{padding:12px}
  .placement-storage-note{order:2}

  .about-section{margin-bottom:28px}
  .about-hero{gap:18px;padding:18px}
  .about-hero h1{margin:10px 0 14px;font-size:clamp(2.2rem,11vw,3.2rem)}
  .about-hero-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.5}
  .about-actions{margin-top:16px}
  .about-journey-visual{max-height:230px;overflow:hidden;border-radius:18px}
  .about-journey-visual img{max-height:230px;object-fit:contain}
  .about-block,.about-data{padding:18px}
  .about-section-heading h2,.about-data h2,.about-license h2{font-size:clamp(1.9rem,9vw,2.65rem)}
}

@media(max-width:360px){
  .review-dialog.is-keyboard-open .kazakh-keyboard-keys{
    grid-auto-columns:38px;
    grid-template-columns:none;
    grid-auto-flow:column;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
  }
  .vocab-section .dictionary-actions{grid-template-columns:1fr}
}
