.workspace-practice:has(.goethe-listening){overflow-y:auto;overscroll-behavior:contain}.goethe-listening{width:min(100%,760px);margin:0 auto;padding:2rem 0 5rem}.goethe-listening-utilities{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin:.5rem 0 1rem;white-space:nowrap;color:var(--muted);font-size:.9rem}.goethe-listening-utilities .text-action{display:flex;gap:.4rem;align-items:center;margin:0}.goethe-listening-format{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.75rem 0;display:flex;gap:.55rem;color:var(--muted);font-size:.92rem}.goethe-listening-messages{margin-top:2rem;display:grid;gap:1.25rem}.goethe-listening-card{border:1px solid var(--line);padding:1.4rem;background:var(--surface)}.goethe-listening-card-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.85rem}.goethe-listening-card-meta .goethe-listening-part{color:var(--accent);font-weight:700}.goethe-listening-card h2{font-size:1.25rem;margin:1rem 0;max-width:36rem}.goethe-listening-situation{color:var(--muted);margin:1rem 0 -.55rem}.goethe-play{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem}.goethe-listening-choices{display:grid;gap:.55rem}.goethe-listening-choices button{width:100%;text-align:left;display:flex;gap:.6rem;align-items:baseline;background:transparent;border:1px solid var(--line);color:inherit;padding:.75rem .85rem}.goethe-listening-choices button:not(:disabled):hover{border-color:var(--accent)}.goethe-listening-choices button>span:first-child{color:var(--muted);min-width:1.25rem}.goethe-listening-choice-label{color:var(--ink)}.goethe-listening-choices button svg{margin-left:auto;flex:none}.goethe-listening-choices button.is-correct,.goethe-listening-review .is-correct{border-color:var(--accent-positive);background:color-mix(in srgb,var(--accent-positive) 16%,var(--control-surface));color:var(--accent-positive)}.goethe-listening-choices button.is-incorrect,.goethe-listening-review .is-incorrect{border-color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 16%,var(--control-surface));color:var(--accent-error)}.goethe-listening-choices button.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.goethe-listening-review{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem}.goethe-listening-review h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1rem 0 .3rem}.goethe-listening-review p{margin:.2rem 0}.goethe-listening-next{display:flex;justify-content:space-between;margin-top:1.25rem}.goethe-listening-next.is-drill{justify-content:flex-end}.goethe-listening-result{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border:1px solid var(--line);margin-top:1.25rem;padding:.8rem 1rem}.goethe-listening-result span{color:var(--muted);font-size:.9rem}.goethe-listening-error{color:var(--danger);margin-top:1rem}.goethe-listening-loading{color:var(--muted);margin-top:2rem}@media(max-width:640px){.goethe-listening{padding:1.3rem 1rem 4rem;box-sizing:border-box}.goethe-listening-utilities{margin-top:.75rem}.goethe-listening-card{padding:1rem}.goethe-listening-card-meta{display:block}.goethe-listening-card-meta span{display:block;margin-bottom:.25rem}}.workspace-practice:has(.goethe-reading){overflow-y:auto;overscroll-behavior:contain}.goethe-reading{width:min(100%,760px);margin:0 auto;padding:2rem 0 5rem}.goethe-reading-utilities{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin:.5rem 0 1rem;color:var(--muted);font-size:.9rem}.goethe-reading-utilities .text-action{display:flex;align-items:center;gap:.4rem;margin:0}.goethe-reading-format{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.75rem 0;color:var(--muted);font-size:.92rem}.goethe-reading-set{border:1px solid var(--line);background:var(--surface);margin-top:2rem;padding:1.4rem}.goethe-reading-set-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.85rem}.goethe-reading-set-meta span:first-child{color:var(--accent);font-weight:700}.goethe-reading-question-nav{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid var(--line);margin:1rem 0;padding-bottom:1rem}.goethe-reading-question-nav button{width:2rem;height:2rem;border:1px solid var(--line);background:transparent;color:var(--muted)}.goethe-reading-question-nav button.active{border-color:var(--accent);color:var(--ink)}.goethe-reading-question-nav button.answered{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--ink)}.goethe-reading-source{border:1px solid var(--line);padding:1rem;margin:1rem 0 1.4rem;max-width:43rem}.goethe-reading-source h2{color:var(--muted);font-size:.83rem;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.04em}.goethe-reading-source p{margin:0;white-space:pre-line;line-height:1.55}.goethe-reading-message-groups{display:grid;gap:1.8rem;margin-top:1rem}.goethe-reading-message-group+.goethe-reading-message-group{border-top:1px solid var(--line);padding-top:1.8rem}.goethe-reading-message-group .goethe-reading-question{margin-top:1rem}.goethe-reading-message-group .goethe-reading-question+.goethe-reading-question{border-top:1px solid var(--line);padding-top:1rem}.goethe-reading-question>h2{font-size:1.2rem;margin:0 0 1rem;max-width:43rem}.goethe-reading-choices{display:grid;gap:.55rem}.goethe-reading-choices button{width:100%;text-align:left;display:flex;align-items:flex-start;gap:.6rem;background:transparent;border:1px solid var(--line);color:inherit;padding:.75rem .85rem}.goethe-reading-choices button:not(:disabled):hover{border-color:var(--accent)}.goethe-reading-choices button>span:first-child{color:var(--muted);min-width:1.2rem}.goethe-reading-choices button svg{margin-left:auto;flex:none}.goethe-reading-question.is-information-match .goethe-reading-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.goethe-reading-question.is-information-match .goethe-reading-choices button{align-content:start;min-height:8.5rem;padding:1rem}.goethe-reading-question.is-information-match .goethe-reading-choices button>span:last-of-type{white-space:pre-line;line-height:1.45}.goethe-reading-choices button.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.goethe-reading-choices button.is-correct{border-color:var(--accent-positive);background:color-mix(in srgb,var(--accent-positive) 16%,var(--control-surface));color:var(--accent-positive)}.goethe-reading-choices button.is-incorrect{border-color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 16%,var(--control-surface));color:var(--accent-error)}.goethe-reading-next{display:flex;justify-content:space-between;margin-top:1.25rem}.goethe-reading-next.is-drill{justify-content:flex-end}.goethe-reading-result{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border:1px solid var(--line);margin-top:1.25rem;padding:.8rem 1rem}.goethe-reading-result span,.goethe-reading-loading{color:var(--muted);font-size:.9rem}.goethe-reading-error{color:var(--danger);margin-top:1rem}@media(max-width:640px){.goethe-reading{padding:1.3rem 1rem 4rem;box-sizing:border-box}.goethe-reading-set{padding:1rem}.goethe-reading-set-meta{display:block}.goethe-reading-set-meta span{display:block;margin-bottom:.25rem}.goethe-reading-question.is-information-match .goethe-reading-choices{grid-template-columns:1fr}.goethe-reading-question.is-information-match .goethe-reading-choices button{min-height:0}}.workspace-practice:has(.composition-practice){overflow-y:auto;overscroll-behavior:contain}.composition-practice{width:min(100%,760px);margin:0 auto;padding:2rem 0 5rem}.composition-card{border:1px solid var(--line);background:var(--surface);padding:1.5rem}.composition-card h1{margin:0 0 1.4rem;font-size:1.25rem}.composition-prompt{margin:0;font-family:var(--font-learner);font-size:1.55rem;line-height:1.45}.composition-feedback{margin:1.5rem 0 -.4rem;font-weight:700}.composition-feedback.is-correct{color:var(--accent-positive)}.composition-feedback.is-incorrect,.composition-error{color:var(--accent-error)}@media(max-width:640px){.composition-practice{padding:1.3rem 1rem 4rem;box-sizing:border-box}.composition-card{padding:1rem}.composition-prompt{font-size:1.35rem}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#20231f;background:#f5f2e9;font-synthesis:none;--ink: #20231f;--muted: #6d7068;--line: #d4cfc2;--paper: #faf8f1;--surface: #f5f2e9;--header: #20231f;--header-text: #faf8f1;--accent-positive: #4d7b61;--accent-attention: #9b7213;--accent-error: #9f2d18;--meter-learning: #b59658;--meter-new: #d8d4ca;--control-surface: #ffffff;--control-border: #aaa69b;--focus-ring: #777;--disabled: #b8b4aa;--code-surface: #ebe7dc;--page-gutter: clamp(28px, 5vw, 88px);--page-gutter-reading: clamp(24px, 5vw, 58px);--header-gutter: max(24px, 5vw);--content-width: 1160px;--reading-width: 960px;--overlay-shadow: 0 10px 22px rgba(0, 0, 0, .18);--dialog-shadow: 0 18px 50px rgba(32, 35, 31, .16)}.theme-dark{--ink: #ece9df;--muted: #aaa89f;--line: #474942;--paper: #252722;--surface: #1d1f1b;--header: #171914;--header-text: #f2eee4;--control-surface: #1b1d19;--control-border: var(--line);--code-surface: #30322d;--meter-new: #64665f;color:var(--ink);background:var(--surface)}.theme-dark button.primary{background:#dedad0;color:#1d1f1b}.theme-dark input,.theme-dark textarea,.theme-dark .field-control,.theme-dark .choice-control,.theme-dark .learner-list button,.theme-dark .chat-history select{border-color:var(--line);background:var(--control-surface);color:var(--ink)}.theme-dark .progress-meter-row.is-summary,.theme-dark .leaderboard-row.is-current{background:var(--paper)}.theme-dark .exercise-meter{background:color-mix(in srgb,var(--paper) 74%,var(--surface))}.theme-dark .meter-new{background:var(--meter-new)}.theme-dark .speakable-sentence{background:var(--paper)}.theme-dark .profile-popover button:hover{background:color-mix(in srgb,var(--paper) 74%,var(--surface))}.learner-display{font-family:ui-serif,Georgia,serif;font-weight:500;letter-spacing:-.04em}.interface-label{color:var(--muted);font-size:12px;font-weight:650}.overlay-surface{border:1px solid var(--line);border-radius:6px;background:var(--paper);box-shadow:var(--overlay-shadow)}.dialog-surface{border-radius:8px;box-shadow:var(--dialog-shadow)}.field-control{border:1px solid var(--line);border-radius:5px;background:var(--control-surface);color:var(--ink);font:inherit}.field-control-inline{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.choice-control{border:1px solid var(--line);border-radius:5px;background:var(--control-surface);color:var(--ink)}.data-row{min-width:0;border-bottom:1px solid var(--line)}.data-row-heading{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.flow{--flow-space: .85em}.flow>*{margin-block:0}.flow>*+*{margin-block-start:var(--flow-space)}.flow>:is(h1,h2,h3){--flow-space: 1.5em}*{box-sizing:border-box}html,body,#root{min-width:0}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--surface)}#root{min-height:100vh;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent}button:disabled{cursor:default;opacity:.45}h1,p{margin-top:0}h1{font-size:30px;font-weight:600;letter-spacing:-.025em}.loading{min-height:100vh;display:grid;place-items:center}.sign-in-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.sign-in-card{width:min(420px,100%)}.sign-in-card h1{margin-bottom:32px}.learner-list{display:grid;gap:8px}.learner-list button{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:14px 16px;text-align:left}.learner-list button:hover{border-color:var(--ink)}.add-learner{margin-top:20px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.sign-in-card form{display:grid;gap:10px}form label{font-size:13px;font-weight:600}.inline-link{color:var(--muted);font:inherit;font-weight:400;text-decoration:underline;text-underline-offset:3px}.inline-link:hover{color:var(--ink)}input{width:100%;border:1px solid var(--control-border);background:var(--control-surface);padding:12px;border-radius:5px}input:focus,textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.login-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:4px}button.primary{background:var(--ink);color:#fff;padding:11px 15px;border-radius:5px}.error{color:var(--accent-error);font-size:13px}.sentence-loading-card{min-height:220px;display:grid;place-items:center}.sentence-loading-spinner{width:24px;height:24px;border:2px solid color-mix(in srgb,var(--muted) 35%,transparent);border-top-color:var(--ink);border-radius:50%;animation:sentence-spin .8s linear infinite}@keyframes sentence-spin{to{transform:rotate(360deg)}}.banner{border:1px solid #d7a093;padding:10px 12px}.app-shell{height:100vh;height:100dvh;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-shell>header{height:64px;flex:0 0 64px;min-width:0;overflow:visible;background:var(--header);color:var(--header-text);display:flex;justify-content:space-between;align-items:center;padding:0 var(--header-gutter)}.app-navigation{display:flex;flex:1 1 auto;align-items:center;min-width:0;gap:24px}.wordmark{color:var(--header-text);font-size:18px}.app-navigation nav{display:flex;flex:0 1 auto;align-items:center;min-width:0;gap:16px;overflow:hidden}.app-navigation nav button{flex:0 0 auto;white-space:nowrap}.app-navigation nav button,.tutor-toggle{color:var(--header-text);font-size:13px}.app-navigation nav button:hover,.app-navigation nav button.active,.tutor-toggle:hover{color:var(--header-text);text-decoration:underline;text-underline-offset:3px}.app-actions{margin-left:auto;display:flex;flex:0 1 auto;align-items:center;min-width:0;max-width:52%;gap:22px;overflow:visible}.selected-study-set{min-width:0;max-width:190px;overflow:hidden;color:var(--header-text);font-size:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.selected-study-set:hover{text-decoration:underline;text-underline-offset:3px}.speech-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--header-text)}.speech-toggle.is-on,.speech-toggle:hover{color:var(--header-text)}.speech-toggle svg{width:18px;height:18px;stroke-width:1.9}.profile-menu{position:relative}.profile{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:min(180px,16vw);overflow:hidden;color:var(--header-text);text-overflow:ellipsis;white-space:nowrap}.profile svg{width:14px;height:14px}.profile:hover{color:var(--header-text);text-decoration:underline;text-underline-offset:3px}.profile-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:10;min-width:130px;padding:6px}.profile-popover button{display:flex;width:100%;align-items:center;gap:7px;padding:7px 8px;color:var(--muted);text-align:left;font-size:13px}.profile-popover button:hover{color:var(--ink);background:#f4f0e6}.profile-popover svg{width:15px;height:15px}.settings-modal{display:flex;flex-direction:column;width:min(460px,calc(100vw - 24px));padding:20px}.settings-modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.settings-modal h2{margin:0}.admin-links{display:grid;gap:6px;margin-bottom:18px}.admin-links button{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-align:left}.admin-links button:hover{background:var(--paper)}.admin-links button small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:400}.admin-settings{order:2}.sentence-pool-admin{order:3}.settings-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;font-size:14px}.settings-toggle input{width:auto;padding:0}.settings-toggle span{min-width:0}.settings-modal .quiet{margin:10px 0 0}.admin-settings{display:grid;gap:13px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.admin-settings label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650}.admin-settings select{width:100%;padding:8px}.admin-settings>button{justify-self:start;color:var(--muted);font-size:13px}.admin-settings>button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.app-shell>main{display:flex;min-width:0;min-height:0;flex:1;overflow:hidden}.practice-menu-backdrop{position:fixed;z-index:25;inset:64px 0 0;background:transparent}.practice-menu{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);gap:44px;box-sizing:border-box;width:100%;margin:0;padding:24px max(48px,calc((100% - 1200px)/2)) 28px;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 14px 24px #0000002e}.practice-menu-drills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.practice-menu-composition-list{display:grid;align-content:start;gap:8px;border-left:1px solid var(--line);padding-left:44px}.practice-menu-composition .practice-menu-composition-list{grid-column:1 / -1;width:min(280px,100%);margin:0 auto;border-left:0;padding-left:0}.practice-menu-test-prep{grid-template-columns:minmax(0,1fr)}.test-prep-menu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:44px}.test-prep-menu-area{display:grid;align-content:start;justify-items:start;gap:8px}.test-prep-menu-section{display:grid;gap:7px}.test-prep-menu-subsections{display:grid;gap:7px;padding-left:14px;border-left:1px solid var(--line)}.test-prep-menu-area+.test-prep-menu-area{border-left:1px solid var(--line);padding-left:44px}.practice-menu h2,.practice-menu h3{margin:0 0 10px;font-size:15px}.practice-menu h3{font-size:13px}.practice-menu-group{display:grid;align-content:start;gap:7px}.practice-menu button{padding:0;color:var(--muted);font-size:13px;text-align:left}.practice-menu button:hover,.practice-menu button.active{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.workspace{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}.workspace-practice{flex:1;min-width:0;min-height:0}.workspace-practice>.practice{width:100%;margin:0}.workspace-practice>.practice.study-sets-view,.workspace-practice>.practice.progress-view{width:100%;margin:0;padding:0;overflow:hidden}.learn-sheet-card button{display:block;width:100%;padding:0;text-align:left}.learn-sheet-card button:hover h2,.learn-sheet-card button:focus-visible h2{text-decoration:underline;text-underline-offset:4px}.learn-sheet-card button:hover span,.learn-sheet-card button:focus-visible span{color:var(--ink)}.learn-reader{width:min(100%,1220px);height:100%;margin:0 auto;padding:28px var(--page-gutter-reading) 42px;overflow-y:auto}.learn-reader-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:16px;margin:0 auto 20px}.learn-reader-heading h1{margin:0;font-size:clamp(22px,3vw,32px);letter-spacing:-.035em;text-align:center}.learn-reader-heading a{justify-self:end}.learn-sheet-frame{overflow:auto;border:1px solid var(--line);border-radius:5px;background:#d9d9d9}.learn-sheet-frame iframe{display:block;width:1123px;height:794px;border:0;background:#fdfdfd}.tutor-panel{flex:0 1 clamp(420px,40vw,600px);width:clamp(420px,40vw,600px);min-width:0;min-height:0;border-left:1px solid var(--line);background:var(--paper)}.tutor-chat{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:24px 28px 20px}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px}.chat-heading h1{margin:0}.chat-heading button{color:var(--muted);font-size:13px}.chat-heading button:not(:disabled):hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.chat-heading-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:14px}.tutor-panel .chat-heading,.tutor-panel .chat-heading-actions{gap:12px}.chat-history{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.chat-history label{color:var(--muted);font-size:12px;font-weight:650}.chat-history select{min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:7px 28px 7px 9px;color:var(--muted);font:inherit;font-size:13px}.transcript{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 0 28px}.message{display:grid;gap:12px;padding:16px 0 18px;border-bottom:1px solid #dfdbd0}.message-role{color:var(--muted);font-size:11px;font-weight:650;margin:0}.message-text{min-width:0;font-size:15px;line-height:1.52;overflow-wrap:anywhere}.message-text ul,.message-text ol{padding-left:2em}.message-text li+li{margin-top:.25em}.message-text blockquote{padding-left:12px;border-left:2px solid var(--line);color:var(--muted)}.message-text code{padding:.08em .28em;border-radius:3px;background:var(--code-surface);font:.9em/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.message-text pre{overflow-x:auto;padding:12px;border-radius:5px;background:var(--code-surface)}.message-text pre code{padding:0;background:transparent}.message-text table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.message-text th,.message-text td{padding:6px 9px;border:1px solid var(--line);text-align:left}.message-text a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}.message.pending .message-text{color:var(--muted)}.speakable-sentence{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:9px 10px 9px 12px;border-left:2px solid #a87713;background:#f4efe3;color:var(--ink);font-size:15px;line-height:1.45}.speakable-sentence button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:30px;height:30px;padding:0;color:#806014}.speakable-sentence button:hover{color:var(--ink)}.speech-playback.is-preparing{color:#a87713;animation:speech-pulse 1s ease-in-out infinite}.speech-playback.is-playing{color:#3f8060}.speech-playback.is-playing svg{filter:drop-shadow(0 0 3px color-mix(in srgb,currentColor 45%,transparent))}.speakable-sentence svg{width:17px;height:17px;stroke-width:1.9}@keyframes speech-pulse{50%{opacity:.35;transform:scale(.9)}}.practice-credit-earned{margin:0;color:var(--accent-positive);font-size:12px;font-weight:650}.practice-feedback{margin:0 0 8px;font-size:13px;font-weight:650}.practice-feedback.is-correct{color:var(--accent-positive)}.practice-feedback.is-incorrect{color:var(--accent-negative)}.composer{min-height:0;border-top:1px solid var(--line);padding-top:16px}.composer textarea{display:block;width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;resize:vertical;min-height:64px;max-height:240px;border:1px solid var(--control-border);background:var(--paper);border-radius:6px;padding:13px 14px;line-height:1.45}.composer-actions{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:16px}.composer-actions span{color:var(--muted);font-size:11px}.chat-error{margin:0 0 12px}.guided-tutor-chat{width:min(820px,calc(100% - 48px));margin:0 auto;padding-inline:0}.guided-tutor-chat .chat-heading{padding-bottom:15px}.guided-tutor-chat .chat-heading h1{margin:2px 0 0}.guided-tutor-chat .chat-heading .quiet{margin:0;font-size:12px}.guided-credit{margin:7px 0 0;color:var(--muted);font-size:13px}.composition-modes{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.composition-modes button{color:var(--muted);font-size:13px}.composition-modes button.active,.composition-modes button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.guided-credit strong{color:var(--accent-positive)}.guided-finish-note{margin:0 0 12px;color:var(--muted);font-size:13px}.quiet{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.practice{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:34px var(--page-gutter) 48px}.practice-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;width:min(560px,calc(100% - 48px));margin:0 auto;padding:38px 0}.practice-index-area+.practice-index-area{border-left:1px solid var(--line);padding-left:40px}.practice-index h1{margin:0 0 16px;font-size:18px}.practice-index nav,.practice-picker nav{display:grid;gap:9px}.practice-index button,.practice-picker button{padding:0;color:var(--muted);font-size:13px;text-align:left}.practice-index button:hover,.practice-picker button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.practice-index button.is-default,.practice-picker button.is-default{color:var(--ink);font-weight:650}.drill-context{color:var(--muted);font-size:13px;margin:0}.drill-navigation{width:min(560px,100%);margin:0 auto}.drill-location{position:relative;min-height:18px}.practice-breadcrumb{display:flex;min-width:0;align-items:center;gap:7px;color:var(--muted);font-size:13px;white-space:nowrap}.practice-breadcrumb button{padding:0;color:var(--ink)}.practice-breadcrumb button:hover{text-decoration:underline;text-underline-offset:3px}.breadcrumb-menu-trigger{position:relative}.breadcrumb-menu{position:absolute;z-index:5;top:calc(100% + 9px);left:-10px;display:grid;gap:6px;min-width:150px;padding:10px}.breadcrumb-menu button{color:var(--muted);text-align:left}.breadcrumb-menu button:hover,.breadcrumb-menu button.active{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.practice-picker{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.practice-picker h2{margin:0 0 16px;font-size:18px}.practice-picker-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.practice-picker-overview>div+div{border-left:1px solid var(--line);padding-left:40px}.exercise-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 18px;max-width:620px;margin:18px auto -4px;color:var(--muted)}.exercise-progress-heading{display:contents;font-size:12px}.exercise-progress-heading strong{color:var(--muted);font-weight:500;text-align:right}.exercise-meter{grid-column:1 / -1;display:flex;height:6px;overflow:hidden;border-radius:99px;background:#e3dfd4}.exercise-meter span{min-width:0;transition:width .2s ease}.meter-solid{background:var(--accent-positive)}.meter-learning{background:var(--meter-learning)}.meter-new{background:var(--meter-new)}.exercise-progress p{grid-column:1 / -1;margin:0;font-size:12px}.exercise-progress.is-compact{width:100%;max-width:none;margin:8px 0 0}.progress-meter-trigger{position:relative;display:block;width:100%;padding:8px 0}.progress-meter-trigger .exercise-meter{width:100%;height:4px}.progress-meter-tooltip{position:absolute;z-index:4;top:calc(100% + 4px);right:0;display:none;padding:7px 9px;border:1px solid var(--line);border-radius:5px;background:var(--paper);box-shadow:0 8px 18px #0000002e;color:var(--ink);font-size:12px;line-height:1.2;white-space:nowrap}.progress-meter-trigger:hover .progress-meter-tooltip,.progress-meter-trigger:focus-visible .progress-meter-tooltip,.progress-meter-trigger.is-open .progress-meter-tooltip{display:block}.empty-practice-state{max-width:620px;margin:26px auto 46px;padding:28px 34px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.empty-practice-state p{margin:0 0 16px;color:var(--muted);line-height:1.45}.empty-practice-state strong{color:var(--ink)}.drill-card{position:relative;width:min(560px,100%);margin:25px auto 32px;padding:0;border:0;background:transparent}.drill-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;padding:0}.drill-instruction{min-width:0;margin:0;color:var(--muted);font-size:12px}.drill-title-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.drill-prompt-row{display:flex;align-items:center;gap:10px;min-width:0}.translation-arrow{flex:0 0 auto;color:var(--muted);font-size:clamp(22px,3.4vw,34px)}.drill-card h2{padding-right:0;font-size:clamp(30px,5.1vw,44px);margin:0}.icon-control{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;padding:0;color:var(--muted)}.icon-control svg{stroke-width:1.9}.prompt-speech{width:30px;height:30px}.prompt-speech:hover,.prompt-speech.is-playing{color:var(--accent-positive)}.prompt-speech.is-preparing{color:var(--accent-attention)}.prompt-speech svg{width:18px;height:18px}.drill-title-row .drill-context{margin:0;color:var(--muted);font-size:17px;line-height:1.35}.answer-form{display:block;margin-top:22px}.answer-form input{width:100%}.gender-buttons{display:flex;align-items:center;gap:10px;margin-top:22px}.gender-buttons .choice-control{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.gender-buttons button:not(.text-action){padding:12px 18px}.choice-feedback .choice-control{display:inline-flex;align-items:center;gap:8px;opacity:1;cursor:default}.choice-feedback .choice-control.is-correct{border-color:var(--accent-positive);color:var(--accent-positive)}.choice-feedback .choice-control.is-incorrect{border-color:var(--accent-negative);color:var(--accent-negative)}.link-control{color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.link-control:hover,.link-control:focus-visible{color:var(--ink);text-decoration-color:currentColor}.text-action{font-size:13px;padding:7px 0;white-space:nowrap}.text-action:disabled{cursor:wait;opacity:.6;text-decoration:none}.practice-hint{margin:18px 0 -8px;padding-left:12px;border-left:2px solid var(--line);color:var(--muted);font-size:16px}.hint-error{margin:14px 0 -8px;color:var(--accent-error);font-size:13px}.text-action kbd,.primary kbd{margin-left:5px;font:inherit;font-size:10px;opacity:.72}.drill-card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 0;padding:0}.drill-card-actions:has(.secondary-actions){align-items:flex-start}.drill-card-actions .secondary-actions{align-items:flex-start}.drill-card-actions .primary{margin-left:auto}.secondary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0}.table-form{margin-top:20px;display:grid;grid-template-columns:1fr;gap:10px}.present-form-row{display:flex;align-items:baseline;gap:10px;min-height:24px}.present-form-person{flex:0 0 104px;color:var(--muted);font-size:14px}.table-form strong{min-height:0;padding:0;color:var(--ink);font-size:16px;font-weight:600}.table-form input{width:min(15ch,100%);min-height:24px;padding:1px 0;font-size:16px;font-weight:600;line-height:20px}.table-form input:focus{outline:0;border-bottom-color:var(--muted)}.response-feedback{display:grid;gap:8px;margin:14px 0 -2px}.response-feedback.is-correct,.response-feedback.is-incorrect{padding-left:12px;border-left:2px solid var(--line)}.response-feedback.is-correct{border-left-color:var(--accent-positive)}.response-feedback.is-incorrect{border-left-color:var(--accent-error)}.response-state,.response-label{margin:0;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.01em}.response-feedback.is-correct .response-state{color:var(--accent-positive)}.response-feedback.is-incorrect .response-state{color:var(--accent-error)}.response-answer-row{display:flex;align-items:center;gap:8px;min-width:0}.response-answer-row h2{margin:-2px 0 0!important;color:var(--ink);font-size:clamp(25px,3.85vw,41px)!important}.response-speech{width:30px;height:30px}.response-speech:hover,.response-speech.is-playing{color:var(--accent-positive)}.response-speech.is-preparing{color:var(--accent-attention)}.response-speech svg{width:18px;height:18px}.response-note{margin:0;color:var(--muted);font-size:15px}.learner-response{display:inline-flex;align-items:baseline;gap:8px;margin:4px 0 0;padding:0;border:0;color:var(--muted)}.learner-response span{color:var(--muted);font-size:16px}.learner-response strong{color:var(--ink);font-weight:650}.learner-response.is-incorrect strong{color:var(--accent-error)}.response-feedback .learner-response strong{font-size:clamp(22px,3.4vw,34px)}.learner-response.is-incorrect:not(.is-stacked) strong:last-of-type{color:var(--ink)}.learner-response.is-stacked{display:grid;align-items:start;gap:12px}.learner-response.is-stacked>div{display:flex;align-items:center;gap:8px}.learner-response.is-stacked .learner-response-attempt{color:var(--accent-error)}.learner-response.is-stacked .learner-response-target{color:var(--ink)}.response-feedback.is-correct .learner-response{display:none}.drill-card-status-actions{display:inline-flex;align-items:center;gap:5px}.drill-card-status-actions .progress-status-toggle,.drill-card-status-actions .focus-toggle{width:28px;min-height:28px;padding:4px}.drill-card-status-actions .progress-status-toggle svg,.focus-toggle svg,.focus-row-toggle svg,.set-item-list .progress-status-toggle svg{width:20px;height:20px}.focus-toggle:hover,.focus-toggle.is-focused{color:var(--accent-attention)}.table-reveal{margin-top:20px;display:grid;grid-template-columns:1fr;gap:10px}.table-reveal .present-form-row{align-items:baseline}.form-result{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0}.table-reveal strong{font-size:19px;line-height:1.2}.table-reveal .table-miss{display:inline-flex;align-items:baseline;gap:4px;margin:0;color:var(--accent-error);font-size:14px;font-style:normal;font-weight:650}.table-miss small{color:var(--muted);font-size:10px;font-style:normal;font-weight:650;letter-spacing:.03em;text-transform:uppercase}.gender-buttons button small{margin-right:8px;color:var(--muted);font-size:10px;font-weight:650}.success-burst{--burst-a: #ffca3a;--burst-b: #ff6b6b;--burst-c: #6a5cff;position:fixed;inset:64px 0 0;z-index:20;display:grid;place-items:center;overflow:hidden;background:transparent;pointer-events:none;animation:burst-fade 2.5s ease-out both}@keyframes burst-fade{0%,70%{opacity:1}to{opacity:0}}.success-burst.confetti{--burst-a: #ff4f9a;--burst-b: #31c7a3;--burst-c: #725cff}.success-burst.electric{--burst-a: #ffe14d;--burst-b: #42b8ff;--burst-c: #ff5e7d}.success-burst.candy{--burst-a: #bd67ff;--burst-b: #ff7a45;--burst-c: #38d5cf}.success-burst svg,.burst-message{grid-area:1 / 1}.success-burst svg{width:min(560px,92vw);overflow:visible;animation:burst-shape .85s ease-out both}.success-burst.streak-2 svg{width:min(660px,98vw);filter:saturate(1.15)}.success-burst.streak-3 svg{width:min(780px,105vw);filter:saturate(1.3)}.success-burst.streak-2 .burst-rays{stroke-width:10}.success-burst.streak-3 .burst-rays{stroke-width:13}.burst-message{position:relative;display:grid;justify-items:center;gap:2px;animation:burst-label .85s ease-out both}.burst-message strong{color:#fffdf7;font-size:clamp(28px,6vw,48px);letter-spacing:-.045em;text-shadow:0 2px 16px color-mix(in srgb,var(--burst-c) 70%,transparent)}.success-burst.streak-2 .burst-message strong{font-size:clamp(34px,7vw,58px)}.success-burst.streak-3 .burst-message strong{font-size:clamp(40px,8vw,68px)}.burst-message span{color:#fffdf7;font-size:13px;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 8px var(--burst-c)}.burst-blobs path{fill:var(--burst-a);opacity:.88}.burst-blobs circle:nth-of-type(odd){fill:var(--burst-b)}.burst-blobs circle:nth-of-type(2n){fill:var(--burst-c)}.burst-rays{fill:none;stroke:var(--burst-c);stroke-width:8;stroke-linecap:round}.burst-emoji{font-size:28px;text-anchor:middle;animation:emoji-fly .85s cubic-bezier(.2,.8,.2,1) both}.burst-emoji.emoji-2{animation-delay:40ms}.burst-emoji.emoji-3{animation-delay:80ms}@keyframes burst-shape{0%{opacity:0;transform:scale(.3) rotate(-7deg)}18%{opacity:1;transform:scale(1.02) rotate(2deg)}72%{opacity:1;transform:scale(1.08) rotate(0)}to{opacity:1;transform:scale(1.14)}}@keyframes burst-label{0%,8%{opacity:0;transform:scale(.65) rotate(-3deg)}23%{opacity:1;transform:scale(1.08) rotate(1deg)}72%{opacity:1;transform:scale(1)}to{opacity:1;transform:translateY(-5px) scale(1.03)}}@keyframes emoji-fly{0%{opacity:0;transform:translateY(35px) scale(.4) rotate(-18deg)}22%{opacity:1;transform:translateY(0) scale(1.1) rotate(5deg)}to{opacity:1;transform:translateY(-35px) scale(.95) rotate(14deg)}}.set-item-list span,.set-item-list small{color:var(--muted);font-size:12px}.progress-dashboard{height:100%;min-height:0}.progress-tabs{display:flex;gap:18px;margin:0;padding:20px var(--page-gutter) 0;border-bottom:1px solid var(--line)}.progress-tabs button{padding:0 0 10px;color:var(--muted);font-size:13px}.progress-tabs button.active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.progress-dashboard:has(.progress-scopes){display:grid;grid-template-rows:auto minmax(0,1fr)}.progress-content{width:100%;max-width:var(--content-width);margin:0 auto}.progress-overview{padding-bottom:22px;border-bottom:1px solid var(--line)}.progress-exercise-groups{display:grid;gap:30px;margin-top:30px}.progress-exercise-group{display:grid;gap:12px}.progress-exercise-list{border-top:1px solid var(--line)}.progress-grammar-bank{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}.progress-grammar-bank>.quiet{margin:0;font-size:13px;font-weight:650}.progress-meter-row{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:center;gap:26px;padding:12px 18px}.progress-meter-row.is-summary{border:0;border-radius:0;background:var(--code-surface)}.progress-metric-copy{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:0 7px;min-width:0}.progress-metric-copy>strong{font-size:14px}.progress-metric-copy>span{color:var(--muted);font-size:12px;white-space:nowrap}.progress-meter-row .exercise-meter{grid-column:auto;height:12px}.progress-meter-row.is-summary .exercise-meter{height:12px}.modal-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:24px;background:#20231f3d}.modal-close{width:30px;height:30px;color:var(--muted);font-size:28px;line-height:1}.modal-close:hover{color:var(--ink)}.leaderboard-panel{width:min(760px,calc(100% - 56px));margin:0 auto;padding:38px 0 48px}.leaderboard-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:13px 0}.leaderboard-row:first-of-type{border-top:1px solid var(--line)}.leaderboard-row>strong,.leaderboard-row small{color:var(--muted);font-size:12px}.leaderboard-row.is-current{margin:0 -12px;padding:13px 12px;background:var(--code-surface);border-radius:5px}.leaderboard-row.is-current>span{font-weight:650}.scoped-layout{display:grid;grid-template-columns:clamp(190px,21vw,270px) minmax(0,1fr);width:100%;max-width:100%;height:100%;min-height:0;overflow:hidden}.scoped-layout.is-single-scope{grid-template-columns:minmax(0,1fr)}.set-nav{display:grid;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--line);padding:32px 24px}.set-nav button{display:flex;justify-content:space-between;gap:12px;padding:10px 0;color:var(--muted);text-align:left}.set-nav button.active{color:var(--ink);font-weight:650}.set-nav small{color:inherit}.set-nav em{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-style:normal;font-weight:500}.set-detail{min-width:0;max-width:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:38px var(--page-gutter) 48px}.set-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;max-width:var(--content-width);margin:0 auto 28px}.set-detail-heading>div{min-width:0}.set-detail-heading h1{margin:2px 0;font-size:30px;letter-spacing:-.035em;overflow-wrap:anywhere}.set-detail-heading .quiet{margin:0}.study-sets .set-detail-heading{margin-bottom:0}.set-list-toolbar{display:flex;align-items:center;gap:14px;width:100%;max-width:var(--content-width);margin:34px auto 6px;min-width:0}.set-list-filters{display:flex;align-items:center;flex-wrap:wrap;gap:0;min-width:0}.set-list-filters button{color:var(--muted);font-size:13px;padding:0 10px;border-left:1px solid var(--line)}.set-list-filters button:first-child{padding-left:0;border-left:0}.set-list-filters button.active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.set-list-filters button:disabled{color:var(--disabled);cursor:default;text-decoration:none}.set-list-count{color:var(--muted);font-size:13px;white-space:nowrap}.set-list-search{width:min(220px,28vw);min-width:140px;margin-left:auto;padding:7px 9px;font-size:13px}.set-item-list{width:100%;max-width:var(--content-width);margin:0 auto;border-top:1px solid var(--line)}.set-item-list>.set-item-row{display:grid;grid-template-columns:minmax(130px,1.15fr) 92px minmax(130px,1fr) 42px 82px 42px;align-items:baseline;gap:16px;padding:10px 0}.set-item-list .set-item-heading{padding:8px 0 7px}.set-item-list strong,.set-item-list span{min-width:0;overflow-wrap:anywhere}.set-item-list .item-kind{color:var(--muted);font-size:12px}.set-list-empty{margin:0;padding:18px 0;color:var(--muted);font-size:14px}.focus-row-toggle,.focus-row-spacer{width:28px}.focus-row-toggle{color:var(--muted);font-size:20px;line-height:1;padding:2px;text-align:left}.focus-row-toggle:hover,.focus-row-toggle.is-focused{color:var(--accent-attention)}.set-item-list .practised-indicator{width:28px;color:transparent;font-size:18px;line-height:1;text-align:center}.set-item-list .practised-indicator.is-practised{color:var(--accent-positive)}@media(max-width:760px){.tutor-panel{position:fixed;z-index:10;inset:64px 0 0 auto;width:min(500px,100vw);min-width:0;box-shadow:-12px 0 28px #20231f1c}.workspace-practice>.practice.study-sets-view,.workspace-practice>.practice.progress-view{overflow-y:auto}.scoped-layout{grid-template-columns:1fr;height:auto;overflow:visible}.set-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;border-right:0;border-bottom:1px solid var(--line);padding:20px}.set-detail{padding:28px 20px 40px}.set-nav,.set-detail{overflow:visible}.progress-tabs{padding-inline:20px}.progress-meter-row{grid-template-columns:1fr;gap:10px}.tutor-chat{padding:24px 20px 20px}.chat-heading-actions{gap:9px}.message-text{font-size:16px}.composer-actions span{display:none}.composer-actions{justify-content:flex-end}}@media(max-width:560px){.practice-menu-backdrop{top:64px;overflow-y:auto}.practice-menu{grid-template-columns:1fr;gap:24px;width:100%;padding:22px 20px 28px}.practice-menu-drills{grid-template-columns:1fr;gap:20px}.practice-menu-composition-list{border-top:1px solid var(--line);border-left:0;padding:22px 0 0}.app-shell>header{padding:0 16px}.app-navigation{gap:14px}.app-navigation nav{flex:1;justify-content:space-between;gap:10px}.app-actions{margin-left:12px;max-width:none;gap:0}.tutor-toggle{display:none}.workspace-practice>.practice{width:calc(100vw - 24px)}.practice{padding-top:20px}.practice.study-sets-view,.practice.progress-view{padding-top:0}.mode-primary,.mode-groups,.mode-options,.mode-secondary{flex-wrap:wrap;gap:12px}.mode-secondary{align-items:flex-start}.mode-primary .current-set-link{flex-basis:100%;max-width:100%;text-align:left}.answer-form{grid-template-columns:minmax(0,1fr) auto}.scoped-layout{gap:0}.set-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 14px;margin-top:28px}.set-list-count{padding-top:1px}.set-list-search{grid-column:1 / -1;width:100%;margin-left:0}.set-item-list .set-item-heading{display:none}.set-item-list>div{grid-template-columns:28px minmax(0,1fr) 28px;gap:3px 12px}.focus-row-toggle,.focus-row-spacer{grid-column:1;grid-row:1 / span 3}.focus-row-toggle{align-self:center}.set-item-list strong{grid-column:2;grid-row:1}.set-item-list .item-kind{grid-column:2;grid-row:2}.set-item-list span:not(.item-kind):not(.focus-row-spacer):not(.practised-indicator){grid-column:2;grid-row:3}.practised-indicator{grid-column:3;grid-row:1 / span 3;align-self:center}}.current-set-status{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:6px 0;color:var(--muted);font-size:13px;text-align:right;white-space:nowrap}.current-set-status i,.current-set-icon{color:var(--accent-positive);font-size:10px;font-style:normal}.current-set-icon{display:inline-block;margin-left:7px;vertical-align:1px}.set-item-list .set-item-heading span{white-space:nowrap}.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer,.set-item-list .practised-indicator{justify-self:start}.progress-state-link,.progress-exercise-link{padding:0;font:inherit;text-align:left}.progress-exercise-link{color:inherit}.progress-items-modal{width:min(760px,100%);max-height:min(720px,calc(100dvh - 48px));overflow:auto;padding:28px}.progress-items-modal header{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.progress-items-modal .quiet{margin:0 0 3px;color:var(--muted);font-size:12px}.progress-items-modal h2{margin:0;font-size:24px;letter-spacing:-.025em}.modal-list-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:6px}.modal-list-filters{display:flex;align-items:center;flex-wrap:wrap;gap:0}.modal-list-filters button{padding:0 10px;color:var(--muted);font-size:13px;border-left:1px solid var(--line)}.modal-list-filters button:first-child{padding-left:0;border-left:0}.modal-list-filters button.active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.modal-list-count{color:var(--muted);font-size:13px;white-space:nowrap}.modal-list-toolbar input{width:min(220px,35vw);min-width:140px;margin-left:auto;padding:7px 9px;font-size:13px}.progress-item-table{border-top:1px solid var(--line)}.progress-item-table>.progress-item-row,.progress-item-table>.progress-item-heading{display:grid;grid-template-columns:minmax(150px,1.2fr) 70px minmax(90px,.8fr) 32px;align-items:start;gap:16px;padding:9px 0}.progress-item-table>div>div{display:grid;gap:3px;min-width:0}.progress-item-label{display:grid;gap:3px;min-width:0}.progress-item-table strong{overflow-wrap:anywhere;color:var(--ink)}.progress-item-table span,.progress-item-table small{color:var(--muted);font-size:12px}.progress-item-table small{white-space:nowrap}.modal-empty{padding:18px 0}@media(max-width:560px){.set-item-list>div{grid-template-columns:minmax(0,1fr) 70px 46px}.set-item-list strong{grid-column:1;grid-row:1}.set-item-list .item-kind{grid-column:1;grid-row:2}.set-item-list span:not(.item-kind):not(.focus-row-spacer):not(.practised-indicator){grid-column:1;grid-row:3}.set-item-list .practised-indicator{grid-column:2;grid-row:1 / span 3;align-self:center}.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer{grid-column:3;grid-row:1 / span 3;align-self:center}.progress-items-modal{padding:22px}.modal-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 14px}.modal-list-toolbar input{grid-column:1 / -1;width:100%;margin-left:0}.progress-item-table>div{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.progress-item-table>div .text-action{grid-column:1 / -1;justify-self:start}}.drill-card h2{padding-right:0}.correct-feedback{display:inline-grid;grid-template-columns:auto auto;align-items:baseline;gap:0 8px;margin:-2px 0 18px;color:var(--accent-positive);animation:correct-feedback-in .24s ease-out both}.correct-feedback>span{grid-row:1 / span 2;font-size:12px;letter-spacing:1px}.correct-feedback strong{font-size:13px}.correct-feedback small{color:var(--muted);font-size:12px}.correct-feedback.streak-2 strong{font-size:15px}.correct-feedback.streak-3 strong{font-size:17px}.correct-feedback.streak-3>span{font-size:14px}.drill-card-status-actions .correct-feedback{grid-template-columns:auto auto auto;gap:0 5px;margin:0;align-items:center}.drill-card-status-actions .correct-feedback>span{grid-row:auto}.drill-card-status-actions .correct-feedback strong,.drill-card-status-actions .correct-feedback small{font-size:11px;white-space:nowrap}@keyframes correct-feedback-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.set-item-list .set-item-heading span:nth-child(4),.set-item-list .set-item-heading span:nth-child(5),.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer,.set-item-list .practised-indicator{justify-self:end;text-align:right}.progress-items-modal{height:min(720px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden}.progress-items-modal header,.modal-list-toolbar{flex:0 0 auto}.progress-item-list-scroll{min-height:0;overflow-y:auto}.progress-item-list-scroll .modal-empty{margin:0}@media(max-width:560px){.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer{grid-column:2}.set-item-list .practised-indicator{grid-column:3}}.set-item-list .practised-indicator.is-practised{color:var(--muted)}.practised-indicator svg,.progress-status-icon svg{width:18px;height:18px;stroke-width:1.8}.progress-item-table .progress-item-heading{padding:8px 0 7px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.progress-item-heading span:nth-child(4),.progress-item-heading span:nth-child(5),.progress-status-icon,.progress-status-action{justify-self:end;text-align:right}.progress-item-table .item-kind,.progress-item-table>div>span:not(.progress-status-icon){color:var(--muted);font-size:12px;min-width:0;overflow-wrap:anywhere}.progress-status-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;min-height:28px;color:var(--muted)}.progress-status-icon.is-solid{color:var(--accent-positive)}.progress-status-action{min-height:28px;padding:3px 0}@media(max-width:560px){.progress-item-table .progress-item-heading{display:none}.progress-item-table>div{grid-template-columns:minmax(0,1fr) 40px 96px;gap:3px 12px}.progress-item-table strong{grid-column:1;grid-row:1}.progress-item-table .item-kind{grid-column:1;grid-row:2}.progress-item-table>div>span:not(.item-kind):not(.progress-status-icon){grid-column:1;grid-row:3}.progress-item-table .progress-status-icon{grid-column:2;grid-row:1 / span 3;align-self:center}.progress-item-table .progress-status-action{grid-column:3;grid-row:1 / span 3;align-self:center}}.focus-toggle svg,.focus-row-toggle svg,.current-set-icon svg,.current-set-status svg,.set-list-filters svg{display:block;width:18px;height:18px;stroke-width:1.8}.focus-toggle svg,.focus-row-toggle svg{width:19px;height:19px}.current-set-icon svg,.current-set-status svg{width:14px;height:14px;fill:currentColor}.set-list-filters svg{width:15px;height:15px}.modal-close svg{display:block;width:20px;height:20px;stroke-width:2}.correct-feedback>span{display:flex;gap:2px}.correct-feedback>span svg{width:14px;height:14px;stroke-width:2.2}.progress-item-table.has-focus-column>div{grid-template-columns:minmax(112px,1.1fr) 64px minmax(112px,1fr) 64px 56px 96px}.progress-item-table.has-focus-column .progress-item-heading span:nth-child(4),.progress-item-table.has-focus-column .progress-item-heading span:nth-child(5),.progress-item-table.has-focus-column .progress-item-heading span:nth-child(6){justify-self:end;text-align:right}@media(max-width:560px){.progress-item-table.has-focus-column>div{grid-template-columns:minmax(0,1fr) 30px 40px 96px}.progress-item-table.has-focus-column .progress-focus-toggle{grid-column:2;grid-row:1 / span 3;align-self:center}.progress-item-table.has-focus-column .progress-status-icon{grid-column:3;grid-row:1 / span 3}.progress-item-table.has-focus-column .progress-status-action{grid-column:4;grid-row:1 / span 3}}.progress-item-table.has-focus-column>div{grid-template-columns:minmax(130px,1.15fr) 64px minmax(88px,.85fr) 32px 42px}.progress-item-heading span:nth-child(4),.progress-item-heading span:nth-child(5),.progress-status-toggle,.progress-focus-toggle{justify-self:end;text-align:right}.correct-count{color:var(--muted);font-size:12px;white-space:nowrap}.progress-status-toggle{width:28px;min-height:28px;padding:3px}.progress-status-toggle svg{width:18px;height:18px;stroke-width:1.8}.progress-status-toggle.is-solid{color:var(--accent-positive)}.progress-status-toggle:hover{color:var(--ink)}.progress-status-toggle.is-new:hover:after{content:"";width:14px;height:14px;border:1.8px solid currentColor;border-radius:50%}@media(max-width:560px){.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer{grid-column:3}.set-item-list .practised-indicator{grid-column:2}.progress-item-table>div{grid-template-columns:minmax(0,1fr) 64px 36px}.progress-item-table .correct-count{grid-column:1;grid-row:3}.progress-item-table .progress-status-toggle{grid-column:3;grid-row:1 / span 3;align-self:center}.progress-item-table.has-focus-column>div{grid-template-columns:minmax(0,1fr) 36px 42px}.progress-item-table.has-focus-column .progress-status-toggle{grid-column:2;grid-row:1 / span 3}.progress-item-table.has-focus-column .progress-focus-toggle{grid-column:3;grid-row:1 / span 3}}.progress-item-table{border-top:0}.progress-item-heading{position:sticky;top:0;z-index:1;border-top:1px solid var(--line);background:var(--paper)}.study-sets .set-detail{padding-top:0}.study-set-sticky{position:sticky;top:0;z-index:2;padding-top:14px;background:var(--surface)}.study-set-sticky .set-detail-heading{margin-bottom:0}.study-set-sticky .set-list-toolbar{margin-top:34px}.study-set-sticky .set-item-heading{display:grid;grid-template-columns:minmax(140px,1.1fr) 92px minmax(140px,1fr) 96px 82px;align-items:baseline;gap:16px;padding:8px 0 7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.study-set-sticky .set-item-heading span{white-space:nowrap}.study-set-sticky .set-item-heading span:nth-child(4),.study-set-sticky .set-item-heading span:nth-child(5){justify-self:end;text-align:right}.study-sets .set-item-list{border-top:0}@media(max-width:560px){.practice{padding:20px 20px 40px}.practice-index{grid-template-columns:1fr;gap:25px;width:calc(100% - 40px);padding:28px 0 40px}.practice-index-area+.practice-index-area{border-top:1px solid var(--line);border-left:0;padding:25px 0 0}.exercise-progress.is-compact{width:100%;margin-top:8px}.practice-breadcrumb{overflow:hidden;text-overflow:ellipsis}.practice-picker-overview{grid-template-columns:1fr;gap:25px}.practice-picker-overview>div+div{border-top:1px solid var(--line);border-left:0;padding:25px 0 0}.drill-card{margin:25px auto 24px}.drill-title-row{grid-template-columns:1fr;gap:3px}.drill-title-row .drill-context{margin:0;text-align:left}.drill-card-actions{margin-top:22px;gap:8px}.secondary-actions{flex-wrap:nowrap;gap:8px}.secondary-actions .text-action,.drill-card-actions .primary{white-space:nowrap}.text-action kbd,.primary kbd{display:none}.modal-backdrop{padding:12px}.progress-items-modal{height:min(720px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:18px}.progress-items-modal header{margin-bottom:18px}.progress-items-modal h2{font-size:21px}.gender-buttons{flex-wrap:wrap}.primary,.gender-buttons button:not(.text-action){min-height:44px}}@media(max-width:560px){.app-navigation nav{overflow-x:auto;scrollbar-width:none}.app-navigation nav::-webkit-scrollbar{display:none}.guided-tutor-chat{width:min(100% - 28px,820px);padding:18px 0 14px}.guided-tutor-chat .chat-heading{align-items:flex-start}.guided-tutor-chat .chat-heading-actions{gap:10px}.guided-tutor-chat .chat-heading-actions button{font-size:12px}}@media(max-width:420px){.app-shell>header{padding-inline:14px}.wordmark,.tutor-toggle,.profile{display:none}.app-actions{display:flex;margin-left:8px;max-width:none;gap:0}.app-navigation{width:100%;gap:0}.app-navigation nav{width:100%}.app-navigation nav button{font-size:13px}}@media(max-width:560px){.study-set-sticky .set-list-toolbar{margin-top:28px}.study-set-sticky .set-item-heading{display:none}}.set-item-list>.set-item-row,.study-set-sticky .set-item-heading{grid-template-columns:minmax(130px,1.15fr) 92px minmax(130px,1fr) 42px 82px 42px}.study-set-sticky .set-item-heading span:nth-child(4),.study-set-sticky .set-item-heading span:nth-child(5),.study-set-sticky .set-item-heading span:nth-child(6),.set-item-list .core-indicator,.set-item-list .core-spacer,.set-item-list .practised-indicator,.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer{justify-self:end;text-align:right}.core-indicator,.core-spacer{display:inline-flex;align-items:center;justify-content:center;width:24px;min-height:28px}.core-indicator{color:var(--accent-attention)}.core-indicator svg{width:14px;height:14px;stroke-width:1.8}@media(max-width:560px){.set-item-list>div{grid-template-columns:minmax(0,1fr) 28px 64px 36px}.set-item-list .core-indicator,.set-item-list .core-spacer{grid-column:2;grid-row:1 / span 3;align-self:center}.set-item-list .practised-indicator{grid-column:3;grid-row:1 / span 3;align-self:center}.set-item-list .focus-row-toggle,.set-item-list .focus-row-spacer{grid-column:4;grid-row:1 / span 3;align-self:center}.set-item-list span:not(.item-kind):not(.core-indicator):not(.core-spacer):not(.focus-row-spacer):not(.practised-indicator){grid-column:1;grid-row:3}}@media(prefers-reduced-motion:reduce){.success-burst svg,.burst-message,.burst-emoji,.correct-feedback{animation-duration:1ms}}.learn-library{width:min(100%,var(--reading-width));margin:0 auto;padding:clamp(34px,6vw,76px) var(--page-gutter-reading)}.learn-library h1{margin:2px 0 10px;font-size:clamp(32px,4vw,48px);letter-spacing:-.045em}.learn-library .eyebrow{margin:0;color:var(--muted);font-size:14px}.learn-intro{max-width:470px;margin:0 0 34px;color:var(--muted);font-size:17px;line-height:1.45}.learn-sheet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.learn-sheet-card{min-height:164px;padding:22px 24px 24px 0;border-bottom:1px solid var(--line)}.learn-sheet-card:nth-child(odd){padding-right:32px}.learn-sheet-card:nth-child(2n){padding-left:32px;border-left:1px solid var(--line)}.learn-sheet-card h2{margin:0 0 8px;font-size:19px;letter-spacing:-.02em}.learn-sheet-card p{margin:0;color:var(--muted);line-height:1.45}.learn-sheet-card span{display:block;margin-top:18px;color:var(--muted);font-size:12px}@media(max-width:560px){.learn-library{padding-top:32px}.learn-sheet-list{grid-template-columns:1fr}.learn-sheet-card,.learn-sheet-card:nth-child(odd),.learn-sheet-card:nth-child(2n){min-height:0;padding:20px 0;border-left:0}}@media(max-width:760px){.learn-reader{padding-top:22px}.learn-reader-heading{grid-template-columns:1fr auto}.learn-reader-heading h1{grid-column:1 / -1;grid-row:1;text-align:left}.learn-reader-heading>button{grid-column:1;grid-row:2}.learn-reader-heading>a{grid-column:2;grid-row:2}}.set-item-list .focus-row-indicator{display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:28px;justify-self:end;color:var(--muted)}.set-item-list .focus-row-indicator.is-focused{color:var(--accent-attention)}.focus-row-indicator svg{width:19px;height:19px;stroke-width:1.8}@media(max-width:560px){.set-item-list .focus-row-indicator{grid-column:4;grid-row:1 / span 3;align-self:center}}.workspace-practice:has(.lid-practice){overflow-y:auto;overscroll-behavior:contain}.lid-practice{width:min(760px,calc(100% - 32px));margin:48px auto}.lid-breadcrumb{margin:0 0 20px}.lid-header{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:18px}.lid-header h1,.lid-practice>.drill-card h1{margin:8px 0 0;font-size:clamp(28px,5vw,44px)}.lid-practice>.drill-card{padding:28px}.lid-progress{margin:0 0 18px}.lid-progress-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px;color:var(--muted);font-size:12px}.lid-progress-heading span:first-child{color:var(--ink);font-weight:650}.lid-test-progress-status{display:flex;align-items:baseline;gap:10px}.lid-test-progress-status .link-control{font-size:inherit}.lid-test-question-grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:5px}.lid-test-question{min-height:30px;padding:4px;border:1px solid var(--line);border-radius:4px;background:var(--control-surface);color:var(--muted);font:inherit;font-size:12px}.lid-test-question.is-answered{border-color:var(--meter-learning);background:var(--meter-learning);color:var(--ink)}.lid-test-question.is-current{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.lid-test-question.is-correct{border-color:var(--accent-positive);background:var(--accent-positive);color:var(--paper)}.lid-test-question.is-incorrect{border-color:var(--accent-error);background:var(--accent-error);color:var(--paper)}.lid-question{margin:0;font-size:22px;line-height:1.4}.lid-choices{display:grid;gap:10px;margin-top:28px}.lid-choice{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:5px;background:var(--control-surface);color:var(--ink);font:inherit}.lid-choice>.lid-choice-key,.lid-language-help li>span{display:none}.lid-choice-copy{display:grid;gap:3px}.lid-choice-german{display:block}.lid-choice-english{display:block;color:var(--muted);font-size:13px;font-weight:400}.lid-question-english{margin:7px 0 0;color:var(--muted);font-size:16px;line-height:1.45}.lid-progress-button{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.lid-progress-button:hover .exercise-meter{filter:brightness(1.12)}.lid-vocabulary-word{margin:10px 0 24px}.lid-vocabulary-practice>.drill-card{max-width:720px}.lid-vocabulary-practice .drill-card-heading{margin-bottom:0}.lid-vocabulary-practice .drill-title-row{margin-top:18px}.lid-vocabulary-practice .gender-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.lid-vocabulary-practice .choice-control{width:100%;min-height:64px}.lid-vocabulary-practice .choice-control>small{margin:0;color:var(--muted);font-size:18px;font-weight:500}.lid-vocabulary-practice .choice-feedback{align-items:stretch}.lid-vocabulary-practice .choice-feedback .choice-control{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:12px 18px}.lid-vocabulary-practice .choice-feedback .choice-control.is-correct{border-color:var(--accent-positive);color:var(--accent-positive)}.lid-vocabulary-practice .choice-feedback .choice-control.is-incorrect{border-color:var(--accent-negative);color:var(--accent-negative)}.lid-vocabulary-result{display:grid;gap:6px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.lid-vocabulary-result p{display:flex;align-items:center;gap:7px;margin:0;font-weight:650}.lid-vocabulary-result p svg{width:18px;height:18px}.lid-vocabulary-result.is-correct{color:var(--accent-positive)}.lid-vocabulary-result.is-incorrect{color:var(--accent-negative)}.lid-vocabulary-result.is-shown{color:var(--muted)}.lid-vocabulary-result strong{color:var(--ink);font-size:20px}.lid-choice.is-correct{border-color:var(--accent-positive);background:color-mix(in srgb,var(--accent-positive) 16%,var(--control-surface));color:var(--accent-positive)}.lid-choice.is-incorrect{border-color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 16%,var(--control-surface));color:var(--accent-error)}.lid-choice.is-selected{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,var(--control-surface))}.lid-choice:disabled{opacity:1;cursor:default}.lid-image{display:block;max-width:100%;max-height:280px;margin:20px auto 0;border:1px solid var(--line)}.lid-score{font-size:28px;margin:24px 0 8px}.lid-test-navigation{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.lid-test-navigation-actions{display:flex;gap:10px}.lid-explanation{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.lid-explanation .interface-label{margin:0 0 6px}.lid-explanation p:last-child{margin:0;line-height:1.5}.lid-practice-actions{margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}.lid-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lid-reference-sections{display:grid;gap:18px}.lid-reference-sections>.drill-card{padding:22px}.lid-government-map{display:grid;justify-items:center;gap:8px;text-align:center}.lid-government-node{width:min(100%,520px);padding:10px 14px;border:1px solid var(--line);background:var(--control-surface);color:var(--ink);font-weight:650}.lid-government-arrow{color:var(--muted);font-size:13px}.lid-government-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px;margin-top:6px}.lid-government-branches>div{display:grid;gap:3px;padding:10px;border-top:1px solid var(--line);text-align:left}.lid-government-branches span{color:var(--muted);font-size:13px}.lid-reference-grid .drill-card{padding:22px}.lid-reference-grid h2{margin:0 0 16px;font-size:20px}.lid-reference-list{display:grid;gap:0}.lid-reference-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:9px 0;border-top:1px solid var(--line)}.lid-reference-list>div:first-child{border-top:0}.lid-reference-list strong{color:var(--ink)}.lid-reference-list span{color:var(--muted)}@media(max-width:760px){.lid-reference-grid,.lid-government-branches{grid-template-columns:1fr}.lid-reference-list>div{grid-template-columns:1fr;gap:2px}.lid-vocabulary-practice .gender-buttons{grid-template-columns:1fr}.lid-test-progress-status{flex-wrap:wrap;justify-content:flex-end}.lid-test-question-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
