:root{--bg:#f7f4ec;--paper:#fffefa;--ink:#293f46;--petrol:#1c4c56;--muted:#65747a;--line:#e4e2d8;--blue:#356588;--blue-bg:#dfebf4;--coral:#a9432e;--coral-bg:#fce2d8;--purple:#775183;--purple-bg:#eee1f1;--gold:#805909;--gold-bg:#fff0c7;--sage:#326d5c;--sage-bg:#ddede4;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 var(--font)}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a{color:var(--petrol)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #4086a0;outline-offset:3px}.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:-70px;background:var(--petrol);color:white;padding:12px 18px;border-radius:10px;z-index:100}.skip-link:focus{top:12px}
button{border-radius:10px;min-height:44px;padding:10px 15px;font-size:0.875rem;font-weight:550;line-height:1.4}fieldset{border:0;margin:0;padding:0}.primary-btn,.copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--petrol);color:white;border:1px solid var(--petrol);min-height:46px}.primary-btn:hover,.copy-btn:hover{background:#123c45}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--paper);border:1px solid #cad6d6;color:var(--petrol)}.secondary-btn:hover{background:#edf3f0}.quiet-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;color:var(--petrol);font-size:0.875rem}.quiet-btn:hover{background:#eaf0e9}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1200px;margin:auto;min-height:80px;padding:16px 30px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;color:var(--petrol);text-decoration:none;font-size:1.25rem;font-weight:700;letter-spacing:-.6px;line-height:1.2}.brand-icon{display:grid;place-items:center;position:relative;width:42px;height:42px;border-radius:13px;background:var(--petrol);color:#faf3e2;font:25px Georgia,serif}.brand-icon>span{display:none}.brand small{display:block;font-size:0.8125rem;letter-spacing:.2px;font-weight:400;color:var(--muted);margin-top:5px}.header-actions{display:flex;align-items:center;gap:9px}.private{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:0.8125rem;margin-right:7px}.private svg{width:13px;height:13px}#overviewBtn{border:1px solid #d5dcd6;background:#fffefa}
.app-shell{max-width:1160px;margin:auto;padding:28px 28px 40px}.hero{margin:0 0 24px}.eyebrow{font-size:0.8125rem;letter-spacing:1.5px;font-weight:600;color:#607c76;margin:0 0 7px}.hero h1{font-size:1.875rem;letter-spacing:-.8px;line-height:1.25;color:var(--petrol);margin:0 0 8px}.hero>p:last-child{font-size:0.875rem;color:var(--muted);margin:0}.mode-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}.mode-card{display:flex;align-items:center;gap:13px;position:relative;cursor:pointer;padding:16px 19px;min-height:80px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.mode-card input,.levels input,.length-options input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}.mode-card:has(input:checked){background:#eaf1ee;border-color:var(--petrol);box-shadow:inset 0 0 0 1px var(--petrol)}.mode-card:has(input:focus-visible),.levels label:has(input:focus-visible),.length-options label:has(input:focus-visible){outline:3px solid #4086a0;outline-offset:3px}.mode-symbol{display:grid;place-items:center;color:var(--petrol);width:29px;height:29px;flex-shrink:0}.mode-symbol svg{width:25px;height:25px}.mode-card strong{display:block;color:var(--petrol);font-size:1rem}.mode-card small{display:block;color:var(--muted);font-size:0.8125rem;margin-top:2px}.selection-check{display:none}
.app-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.settings-panel,.format-panel,.sheet{background:var(--paper);border:1px solid var(--line);border-radius:18px}.settings-panel{padding:22px;position:sticky;top:16px}.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px}.panel-heading h2{font-size:1rem;color:var(--petrol);font-weight:650;letter-spacing:-.2px;margin:0}.step{display:grid;place-items:center;border:1px solid #d6e1dd;color:var(--petrol);font-size:0.8125rem;border-radius:50%;height:25px;width:25px;flex-shrink:0}.field{margin-bottom:20px}.field label,.field legend{display:block;font-size:0.875rem;font-weight:600;margin-bottom:7px}.optional{font-size:0.8125rem;font-weight:400;color:var(--muted);margin-left:5px}.field select,input[type=text],input[type=search]{width:100%;min-height:46px;border:1px solid #d9dfd7;border-radius:10px;background:var(--paper);color:var(--ink);padding:10px 12px;font-size:0.875rem}.field select{padding-right:20px}.levels{display:flex;gap:3px;padding:3px;border-radius:11px;background:#f0f2ec}.levels label{position:relative;flex:1;margin:0;font-weight:400}.levels span{display:grid;place-items:center;min-height:40px;border-radius:8px;color:var(--muted);font-size:0.875rem}.levels input:checked+span{background:var(--petrol);color:white}.focus-search{display:flex;gap:9px;align-items:center;border:1px solid #d9dfd7;border-bottom:0;border-radius:10px 10px 0 0;padding:0 10px;background:#f6f8f2}.focus-search svg{width:15px;color:var(--muted)}.focus-search input{padding:10px 0;border:0;background:transparent;min-width:0;border-radius:0;font-size:0.875rem}#focus{border-radius:0 0 10px 10px}.field-note,.focus-description{font-size:0.8125rem;line-height:1.6;color:var(--muted);margin:8px 0 0}.focus-description{color:#566f72}.micro-tag{display:inline-block;margin-left:5px;font-size:0.8125rem;font-weight:450;padding:2px 7px;border:1px solid #d1ded9;border-radius:20px;color:#51726b;background:#eff5f0}.count-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 20px}.count-row>label{font-size:0.875rem;font-weight:600;max-width:130px}.count-row small{display:block;color:var(--muted);font-weight:400;font-size:0.8125rem}.stepper{display:flex;align-items:center;border:1px solid #d9dfd7;border-radius:11px;background:#fff}.stepper button{background:transparent;border:0;min-height:44px;width:32px;padding:6px;font-size:1.125rem;color:var(--petrol)}.stepper input{width:36px;min-width:0;border:0;background:transparent;text-align:center;font-size:0.875rem;padding:0;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.more-settings{border-top:1px solid var(--line);padding-top:7px}summary{font-size:0.875rem;color:var(--petrol);min-height:44px;padding:11px 0;line-height:1.8}summary:hover{color:#0b3943}.more-settings .field{margin:10px 0 17px}.check-label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:0.875rem;line-height:1.5;cursor:pointer}.check-label input{width:16px;height:16px;accent-color:var(--petrol);flex-shrink:0;margin:0}.selection-note{font-size:0.8125rem;color:#6d644a;line-height:1.7;border-top:1px solid var(--line);margin:13px 0 0;padding-top:12px}
.workspace{min-width:0}.format-panel{padding:22px;margin-bottom:18px}.format-panel .panel-heading{margin-bottom:15px}.format-panel .field{margin-bottom:8px}.format-panel .field select{font-size:0.9375rem;background:#fff}.format-hint{font-size:0.875rem;color:var(--muted);line-height:1.7;margin:9px 0 5px}.reading-options{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:15px}.reading-options legend{font-size:0.875rem;font-weight:600;margin-bottom:6px}.length-options{display:flex;gap:3px;padding:3px;background:#eef2eb;border-radius:10px}.length-options label{position:relative}.length-options span{display:grid;place-items:center;min-height:40px;padding:8px 17px;font-size:0.875rem;border-radius:7px;color:var(--muted)}.length-options input:checked+span{background:white;color:var(--petrol);box-shadow:0 1px 4px #1c4c5614}.create-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.local-note{color:var(--muted);font-size:0.8125rem;line-height:1.5;margin:0;max-width:210px}.generate-btn{min-width:185px}.workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 12px}.result-status{display:flex;align-items:center;gap:6px;font-size:0.8125rem;color:var(--muted)}.status-dot{width:5px;height:5px;background:#62947f;border-radius:50%;flex-shrink:0}.result-status.dirty{color:#8b643b}.result-status.dirty .status-dot{background:#a67c4c}.workspace-bar button{font-size:0.8125rem;padding:8px}.empty-result{border:1px dashed #cfdad4;border-radius:16px;padding:35px;text-align:center;color:var(--muted);font-size:0.9375rem;background:#f9faf4}
.sheet{overflow:hidden}.sheet-top{padding:25px 26px 22px}.sheet-eyebrow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#58716c;font-size:0.8125rem}.sheet-eyebrow>span{border-radius:5px;padding:3px 7px;background:#edf2ec}#kindBadge{background:#e6eeeb;color:var(--petrol);font-weight:600}.sheet-top h2{font-size:1.625rem;line-height:1.25;letter-spacing:-.6px;margin:11px 0 8px;color:var(--petrol)}.sheet-top h2:focus{outline:none}.sheet-meta{font-size:0.875rem;line-height:1.6;color:var(--muted);margin:0}.sheet-toolbar{padding:0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tabs{display:flex;gap:24px;overflow-x:auto}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-size:0.875rem;min-height:49px;padding:10px 0;white-space:nowrap}.tabs button[aria-selected=true]{border-bottom-color:var(--petrol);color:var(--petrol);font-weight:650}.tabs #tabCount{margin-left:7px;background:#e8eee7;padding:1px 5px;border-radius:4px;font-size:0.8125rem}.instruction{margin:21px 25px 16px;background:#edf4ee;border:1px solid #e1e9e0;border-radius:11px;padding:14px 16px}.instruction p{font-size:0.875rem;line-height:1.8;color:#3f6054;margin:0}.instruction-icon{display:none}.exercise-note{font-size:0.8125rem;line-height:1.8;color:#726548;margin:0 25px 17px}.learning-pattern{margin:0 25px 13px;border-bottom:1px solid var(--line);padding:0 0 10px}.learning-pattern h3{font-size:0.875rem;color:var(--petrol);margin:3px 0 12px}.pattern-example{font-size:1.125rem;line-height:2.2;margin:0 0 12px}.pattern-legend{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.pattern-legend span{font-size:0.8125rem;border-radius:5px;padding:4px 7px}.mark,.learning-mark{border-radius:5px;padding:2px 4px;font-weight:650;box-decoration-break:clone;-webkit-box-decoration-break:clone}.nom{color:var(--blue);background:var(--blue-bg)}.acc{color:var(--coral);background:var(--coral-bg)}.dat{color:var(--purple);background:var(--purple-bg)}.verb,.focus{color:var(--petrol);background:#e1eeec}.end{color:var(--gold);background:var(--gold-bg)}.join{color:var(--sage);background:var(--sage-bg)}
.exercise-list{list-style:none;counter-reset:task;margin:0;padding:0 25px 10px}.exercise-list>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;counter-increment:task;padding:23px 0;border-bottom:1px solid var(--line)}.exercise-list>li:last-child{border:0}.exercise-list>li:before{content:counter(task);display:grid;place-items:center;background:#ebf0eb;border-radius:50%;width:24px;height:24px;color:var(--petrol);font-size:0.8125rem;line-height:1}.task-content{min-width:0;grid-column:2}.task-prompt{font-size:1rem;line-height:1.95;white-space:pre-line;overflow-wrap:anywhere}.task-context,.task-vocabulary,.task-explanation{font-size:0.875rem;color:var(--muted);line-height:1.8;margin:0 0 9px}.task-vocabulary{margin:8px 0 0}.answer-input{display:block;margin-top:15px}.answer-input>span{display:block;font-size:0.8125rem;color:var(--muted);margin-bottom:6px}.answer-input textarea{width:100%;min-height:48px;resize:vertical;border:1px solid #d9e1d8;background:#f8faf6;border-radius:10px;padding:11px 12px;color:var(--ink);font-size:1rem;line-height:1.6}.compare-answer{margin-top:5px}.compare-answer summary{font-size:0.8125rem;color:#4d7165}.inline-answer{font-size:0.9375rem;line-height:1.8;white-space:pre-line;padding:13px 14px;background:#eef5ed;border-radius:9px;margin:2px 0 7px}.solution-note{font-size:0.875rem;line-height:1.8;color:#65566d;margin:20px 25px 0;padding:12px 15px;border-radius:10px;background:#f3edf5}.answers>li>.task-prompt,.answers>li>.task-explanation{grid-column:2}.task-explanation{padding-top:8px;margin:0}.transfer-box{margin:0 25px 18px;background:#faf2df;border:1px solid #eae0c6;border-radius:11px;padding:14px 16px}.transfer-box strong{color:#7c622a;font-size:0.875rem}.transfer-box p{font-size:0.875rem;line-height:1.8;margin:5px 0 0;color:#78663d}
.passage-title{font-size:1.25rem;line-height:1.4;color:var(--petrol);letter-spacing:-.3px;margin:0 0 5px}.word-count{font-size:0.8125rem;color:var(--muted);margin:0 0 18px}.passage{font-size:1rem;line-height:1.95}.passage p{margin:0 0 17px}.questions{border-top:1px solid var(--line);margin-top:21px;padding-top:18px}.questions h4{font-size:0.9375rem;color:var(--petrol);margin:0 0 14px}.question{margin-bottom:17px}.question>p{font-size:0.9375rem;line-height:1.8;margin:0 0 7px}.question .answer-input{margin-top:0}.question .answer-input>span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.audio-player{margin:0 25px 16px;background:#eff5f9;border:1px solid #d6e3eb;border-radius:12px;padding:17px}.audio-heading{display:flex;align-items:center;gap:10px;margin-bottom:15px}.audio-glyph{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e0ebf3;color:var(--blue)}.audio-heading strong{font-size:0.9375rem;color:#345e7b}.audio-heading p{font-size:0.8125rem;color:#57778d;margin:0}.audio-counter{font-size:0.8125rem;color:#57778d;margin-left:auto}.audio-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.audio-controls button{font-size:0.875rem;padding:9px 12px}.rate-label{display:flex;gap:6px;align-items:center;font-size:0.8125rem;color:#42677c;margin-left:auto}.rate-label select{border:1px solid #c9dce5;border-radius:9px;background:white;min-height:44px;padding:8px;font-size:0.875rem;color:#345e7b;max-width:110px}.audio-player>p:last-child{font-size:0.875rem;color:#486777;margin:12px 0 0;line-height:1.7}.audio-error #audioStatus{color:var(--coral)}.audio-unit-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.audio-unit-title strong{font-size:0.9375rem;color:var(--petrol)}.audio-unit-title .secondary-btn{font-size:0.875rem;min-height:44px;padding:8px 13px}.audio-transcript{margin-top:5px}.audio-transcript summary{font-size:0.875rem;color:#42677c}.audio-transcript p{font-size:1rem;line-height:1.9;white-space:pre-line;background:#eff5f9;border-radius:10px;padding:13px;margin:0 0 9px}.audio-unit.active:before{background:var(--blue);color:white}
.export-tools{padding:0 25px;border-top:1px solid var(--line)}.export-tools>summary{color:var(--muted);font-size:0.875rem}.sheet-footer{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:4px 0 17px}.sheet-footer>div{display:flex;gap:2px;flex-wrap:wrap}.sheet-footer button{font-size:0.8125rem;padding:8px 9px}.sheet-footer .copy-btn{white-space:nowrap}.learning-end{border-top:1px solid var(--line);padding:23px 25px;text-align:center;background:#fbfcf7}.learning-end .primary-btn{min-width:210px}.learning-end>p{font-size:0.8125rem;color:var(--muted);line-height:1.7;margin:9px 0 12px}.continue-links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.continue-links .quiet-btn{font-size:0.875rem}.learning-end>small{display:block;font-size:0.8125rem;color:var(--muted);margin-top:5px}.site-footer{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;max-width:1100px;margin:0 auto;padding:28px 24px 30px;border-top:1px solid var(--line);text-align:center}.footer-brand{display:flex;gap:9px;align-items:center;text-align:left;color:var(--petrol);text-decoration:none;font-size:1rem;font-weight:600;line-height:1.4}.footer-brand img{object-fit:contain}.footer-brand small{display:block;font-size:0.8125rem;color:var(--muted);font-weight:400}.footer-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.site-footer>p,.site-footer>small{font-size:0.8125rem;color:var(--muted);margin:0}.site-footer>small{font-size:0.8125rem}.site-footer .quiet-btn{font-size:0.8125rem;min-height:44px}
.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;padding:13px 18px;background:var(--petrol);color:white;border-radius:12px;max-width:calc(100vw - 30px);font-size:0.875rem;line-height:1.5;z-index:100;box-shadow:0 6px 20px #173d4720;transition:opacity .15s,transform .15s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{position:fixed;max-width:590px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;padding:32px;border:1px solid #d9dfd6;border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 15px 80px #173d4730}dialog::backdrop{background:#173d4750;backdrop-filter:blur(4px)}dialog .dialog-close{position:absolute;right:10px;top:8px;width:44px;padding:0;font-size:1.625rem}dialog h2{font-size:1.75rem;line-height:1.3;color:var(--petrol);letter-spacing:-.5px;margin:12px 20px 20px 0}dialog h3{font-size:1rem;color:var(--petrol);margin:23px 0 9px}dialog p{font-size:0.875rem;line-height:1.85;color:#576d71;margin:0 0 17px}.dialog-footnote{border-top:1px solid var(--line);padding-top:15px;font-size:0.875rem}.download-link{display:flex;text-decoration:none;margin:10px 0 17px;font-size:0.875rem}.overview-stats{display:flex;gap:30px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.overview-stats>div{flex:1}.overview-stats strong{display:block;font-size:1.75rem;color:var(--petrol);font-weight:600;line-height:1.2}.overview-stats span{display:block;font-size:0.875rem;color:var(--muted);margin-top:4px}.history-list{list-style:none;margin:0;padding:0}.history-entry{display:flex;gap:12px;justify-content:space-between;align-items:center;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:13px 0;color:var(--petrol)}.history-entry:hover{background:#f1f5ed}.history-entry strong{display:block;font-size:0.9375rem;font-weight:550;line-height:1.6}.history-entry small{display:block;font-size:0.8125rem;color:var(--muted);line-height:1.7}.history-action{font-size:0.8125rem;white-space:nowrap;font-weight:400}.profile-settings{margin-top:20px;border-top:1px solid var(--line)}.profile-settings>summary{font-size:0.875rem}.profile-settings label[for=profileName]{font-size:0.875rem;font-weight:550;display:block;margin:7px 0}.profile-settings small{font-size:0.8125rem;font-weight:400;color:var(--muted);margin-left:5px}.profile-settings input[type=text]{font-size:1rem}.profile-settings .check-label{margin:9px 0 3px}.profile-settings p{font-size:0.875rem}.profile-settings .primary-btn{margin:0 0 12px}.danger-link{color:#9b4e3d;font-size:0.8125rem;padding-left:0}#resetConfirm{border:1px solid #e7ccbc;background:#fff7f0;border-radius:10px;padding:12px;margin-top:8px}#copyText{width:100%;min-height:280px;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:0.9375rem;line-height:1.8;margin-bottom:12px;resize:vertical}
@media(max-width:980px){.app-shell{padding:25px 20px 35px}.app-header{padding:15px 22px}.app-layout{grid-template-columns:245px minmax(0,1fr);gap:18px}.settings-panel,.format-panel{padding:19px}.mode-card{padding:14px;gap:9px}.mode-card small{font-size:0.8125rem}.private{display:none}.rate-label{margin-left:0}.sheet-footer{align-items:flex-start;flex-direction:column}.sheet-footer .copy-btn{width:100%}.create-row{gap:10px}.local-note{max-width:150px;font-size:0.8125rem}.generate-btn{min-width:160px;padding:11px 13px}}
@media(max-width:700px){.app-header{padding:13px 17px;min-height:72px;gap:8px}.brand{font-size:1.125rem;gap:9px}.brand-icon{width:36px;height:36px;font-size:1.5rem;border-radius:11px}.brand small{font-size:0.8125rem}.header-actions{gap:0}#helpBtn{display:none}#overviewBtn{font-size:0.8125rem;padding:9px 10px}.app-shell{padding:24px 16px 29px}.hero{margin-bottom:20px}.hero h1{font-size:1.625rem;letter-spacing:-.6px}.hero>p:last-child{font-size:0.875rem;line-height:1.8}.eyebrow{font-size:0.8125rem;letter-spacing:1.3px}.mode-picker{gap:7px;margin-bottom:18px}.mode-card{flex-direction:column;text-align:center;align-items:center;justify-content:center;gap:5px;padding:13px 5px;min-height:98px;border-radius:13px}.mode-symbol{height:23px;width:23px}.mode-symbol svg{width:22px;height:22px}.mode-card strong{font-size:0.9375rem}.mode-card small{font-size:0.8125rem;max-width:104px;line-height:1.5}.app-layout{display:block}.settings-panel{position:static;padding:20px;margin-bottom:17px}.settings-panel .panel-heading{margin-bottom:17px}.field{margin-bottom:17px}.field select,.field input[type=search],input[type=text],.answer-input textarea,.rate-label select{font-size:1rem}.field label,.field legend{font-size:0.875rem}.levels span{min-height:44px}.focus-description,.field-note{font-size:0.8125rem}.count-row{margin-bottom:14px}.stepper{min-width:125px;justify-content:space-between}.count-row>label{max-width:none}.stepper input{width:40px;font-size:1rem}.format-panel{padding:20px;margin-bottom:13px}.format-panel .field select{font-size:1rem}.format-hint{font-size:0.875rem}.reading-options{gap:12px;align-items:flex-start;flex-direction:column}.length-options span{min-height:44px;padding:8px 22px}.reading-options .check-label{min-height:44px}.create-row{flex-direction:column;gap:10px;margin-top:16px;padding-top:15px}.create-row .local-note{max-width:none;font-size:0.8125rem;order:2;text-align:center}.generate-btn{width:100%;min-height:48px;order:1}.workspace-bar{gap:9px;margin-bottom:9px}.result-status{max-width:60%;font-size:0.8125rem}.workspace-bar button{font-size:0.8125rem}.sheet-top{padding:22px 20px 18px}.sheet-top h2{font-size:1.5rem;overflow-wrap:anywhere}.sheet-meta{font-size:0.8125rem}.sheet-toolbar{padding:0 20px}.tabs{gap:21px}.tabs button{font-size:0.875rem}.instruction{margin:18px 17px 13px;padding:13px 14px}.instruction p{font-size:0.875rem}.exercise-note{margin:0 17px 12px}.learning-pattern{margin:0 17px 8px}.pattern-example{font-size:1.125rem}.exercise-list{padding:0 17px 10px}.exercise-list>li{gap:10px;padding:20px 0;grid-template-columns:21px minmax(0,1fr)}.exercise-list>li:before{height:21px;width:21px;font-size:0.8125rem}.task-prompt{font-size:1rem;line-height:1.9}.task-context,.task-vocabulary{font-size:0.8125rem}.answer-input textarea{min-height:48px}.answer-input>span{font-size:0.8125rem}.passage{font-size:1rem;line-height:1.95}.passage-title{font-size:1.25rem}.question>p{font-size:0.9375rem}.audio-player{margin:0 17px 12px;padding:15px}.audio-heading{gap:8px}.audio-counter{font-size:0.8125rem}.audio-heading p{font-size:0.8125rem}.audio-heading strong{font-size:0.875rem}.audio-glyph{width:30px;height:30px}.audio-controls{gap:6px}.audio-controls button{font-size:0.8125rem;padding:9px 10px}.rate-label{width:100%;margin-top:4px}.rate-label select{max-width:none;flex:1}.audio-unit-title .secondary-btn{font-size:0.8125rem}.audio-transcript p{font-size:1rem}.transfer-box{margin:0 17px 15px}.export-tools{padding:0 18px}.export-tools>summary{font-size:0.875rem}.sheet-footer>div{gap:0 5px}.sheet-footer button{font-size:0.8125rem}.learning-end{padding:21px 17px}.learning-end .primary-btn{width:100%;min-height:48px}.learning-end>p{font-size:0.8125rem}.continue-links{gap:5px;justify-content:space-around}.continue-links .quiet-btn{font-size:0.875rem;padding:9px}.learning-end>small{font-size:0.8125rem;line-height:1.7}.site-footer{padding:25px 18px calc(25px + env(safe-area-inset-bottom));gap:9px}.site-footer>p{font-size:0.8125rem}.footer-brand{font-size:0.9375rem}.footer-brand small{font-size:0.8125rem}dialog{padding:28px 22px;max-height:calc(100dvh - 28px);width:calc(100% - 24px)}dialog h2{font-size:1.625rem}dialog p{font-size:0.875rem}.history-entry{gap:9px;align-items:flex-start}.history-action{font-size:0.8125rem;margin-top:4px}.history-entry strong{font-size:0.875rem}.history-entry small{font-size:0.8125rem}.toast{font-size:0.875rem;width:max-content}.empty-result{padding:27px 20px;font-size:0.875rem}}
@media(max-width:350px){.app-header{padding-left:12px;padding-right:12px}.brand{font-size:1rem}.brand-icon{width:32px;height:32px;font-size:1.25rem}#overviewBtn{padding:9px 8px;font-size:0.8125rem}.app-shell{padding-left:12px;padding-right:12px}.hero h1{font-size:1.5rem}.mode-card small{font-size:0.8125rem}.audio-counter{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:white;color:#222}.app-header,.hero,.mode-picker,.settings-panel,.format-panel,.workspace-bar,.empty-result,.sheet-toolbar,.export-tools,.learning-end,.footer-actions,.toast,dialog,.audio-player,.audio-unit-title button,.answer-input,.compare-answer,.audio-transcript,.skip-link,#offlineStatus{display:none!important}.app-shell{max-width:none;padding:0}.app-layout{display:block}.sheet{border:0;border-radius:0;overflow:visible}.sheet-top{padding:0 0 16px;border-bottom:1px solid #ddd}.sheet-top h2{font-size:24px}.instruction{margin:15px 0;padding:11px;background:white;border:1px solid #ddd}.instruction p{font-size:12px}.learning-pattern{margin:10px 0}.exercise-list{padding:0}.exercise-list>li{break-inside:avoid;padding:14px 0}.task-prompt{font-size:12px}.passage{font-size:12px;line-height:1.8}.questions{break-inside:avoid}.questions h4,.question>p{font-size:12px}.solution-note{margin:15px 0;background:white}.transfer-box{margin:10px 0;background:white}.site-footer{padding:15px 0;gap:3px}.footer-brand{font-size:10px}.footer-brand img{width:25px;height:25px}.footer-brand small{font-size:9px}.site-footer>p{font-size:8px}.mark,.learning-mark{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{margin:18mm}}

/* Einheitliche Berührungsflächen für kleine Bildschirme. */
.brand,.footer-brand{min-height:44px}.levels{gap:1px;padding:2px}.levels span,.length-options span{min-height:44px}.stepper{min-width:126px;flex-shrink:0}.stepper button{width:44px;min-width:44px}.stepper input{width:36px}.count-row>label{flex:1;min-width:0}@media(min-width:701px) and (max-width:980px){.app-layout{grid-template-columns:280px minmax(0,1fr)}}

/* Akora: dieselben drei Lernwege, eine ruhige farbige Orientierung. */
:root{--bg:#f6f3ed;--mode-accent:#a9432e;--mode-wash:#fff0e8}body[data-mode=read]{--mode-accent:#2d6958;--mode-wash:#e8f3ec}body[data-mode=listen]{--mode-accent:#356588;--mode-wash:#e7f1fa}
.app-header{background:#fffdf8;border-radius:0 0 20px 20px}.brand{font-size:1.625rem;letter-spacing:-.7px}.brand-icon{background:#1c4c56;color:#fff3cc;border-radius:14px;font:bold 32px Georgia,serif;box-shadow:4px 4px 0 #cfe4db;flex-shrink:0}.brand small{font-size:0.8125rem;font-weight:400;letter-spacing:0;color:#57716b;line-height:1.5;margin-top:4px}.hero .eyebrow{color:#956523}.hero h1{color:#254c55}.mode-card{border-top:3px solid transparent}.mode-card[data-mode=practice]{border-top-color:#e8ab95}.mode-card[data-mode=read]{border-top-color:#9fc7b6}.mode-card[data-mode=listen]{border-top-color:#a0c2dd}.mode-card[data-mode=practice] .mode-symbol{background:#fce2d8;color:#a9432e}.mode-card[data-mode=read] .mode-symbol{background:#dceee4;color:#2d6958}.mode-card[data-mode=listen] .mode-symbol{background:#dfebf4;color:#356588}.mode-symbol{width:38px;height:38px;border-radius:12px}.mode-card:has(input:checked){border-color:var(--mode-accent);background:var(--mode-wash);box-shadow:inset 0 0 0 1px var(--mode-accent)}.format-panel .step{background:var(--mode-wash);border-color:transparent;color:var(--mode-accent)}.settings-panel .step{background:#fff0c7;border-color:transparent;color:#805909}.generate-btn{background:var(--mode-accent);border-color:var(--mode-accent)}.generate-btn:hover{filter:brightness(.92)}.sheet[data-mode=practice] .sheet-top{background:#fff4ec}.sheet[data-mode=read] .sheet-top{background:#edf6ef}.sheet[data-mode=listen] .sheet-top{background:#edf4fb}.micro-tag{background:#eee5f3;border-color:#ded0e9;color:#73517d}.account-sync{max-width:1104px;margin:13px auto -9px;display:flex;gap:12px;align-items:center;justify-content:flex-end;font-size:0.8125rem;color:#58716b;padding:0 6px}.account-sync button{min-height:36px;font-size:0.8125rem}.account-gate{max-width:510px;margin:65px auto 90px;padding:38px 30px;text-align:center;border:1px solid #dce2d8;border-radius:23px;background:#fffdf8}.gate-symbol{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 22px;background:#1c4c56;color:#fff0c7;font:bold 48px Georgia,serif;border-radius:21px;box-shadow:7px 7px 0 #d8e8e0}.account-gate h1{font-size:1.75rem;letter-spacing:-.6px;color:var(--petrol);line-height:1.3}.account-gate p{color:var(--muted);font-size:0.9375rem;line-height:1.8}.account-gate .primary-btn{padding:11px 25px;text-decoration:none}.account-gate>small{display:block;color:#7c7666;font-size:0.875rem;margin-top:22px}.signed-in{display:flex;gap:12px;align-items:center;border:1px solid #d7e4dd;background:#edf6ef;border-radius:13px;padding:14px;margin-bottom:18px}.account-avatar{display:grid;place-items:center;width:35px;height:35px;background:#dce9f4;color:#356588;border-radius:10px;font:bold 24px Georgia,serif;flex-shrink:0}.signed-in>div{min-width:0;flex:1}.signed-in strong{display:block;font-size:0.875rem;color:#326d5c}.signed-in span:not(.account-avatar){display:block;overflow-wrap:anywhere;font-size:0.875rem}.signed-in small{display:block;font-size:0.8125rem;color:var(--muted)}.signed-in>a{font-size:0.8125rem;flex-shrink:0;text-decoration:none}#logoutWarning{color:#8b4e36;font-size:0.875rem}#forceLogoutLink{margin-bottom:15px;text-decoration:none}.checking-account{visibility:hidden}.footer-brand small{color:#57716b}
@media(max-width:700px){.brand{font-size:1.5rem;gap:9px}.brand small{max-width:162px;font-size:0.8125rem;line-height:1.4}.brand-icon{width:34px;height:39px;font-size:1.75rem}.app-header{min-height:82px;gap:8px}#overviewBtn{font-size:0.8125rem;padding:9px 10px;white-space:nowrap}.mode-symbol{width:29px;height:29px;border-radius:9px}.account-sync{margin:11px 17px -9px;font-size:0.8125rem;padding:0;justify-content:flex-start;flex-wrap:wrap}.account-gate{margin:40px 17px 65px;padding:30px 23px}.account-gate h1{font-size:1.625rem}.signed-in{gap:9px;padding:12px}.signed-in>a{padding:9px 6px;font-size:0.8125rem}}
@media print{.account-sync,.account-gate{display:none!important}.sheet .sheet-top{background:white!important}}
/* Quiet Sumi-e sign-in: supplied illustration and frosted glass, with opaque fallback. */
.auth-screen{background:#eeefec}.auth-screen .app-header{background:rgba(250,250,248,.85);border-radius:0}.account-gate{position:relative;isolation:isolate;max-width:none;min-height:calc(100svh - 100px);margin:0;padding:55px 20px;display:grid;place-items:center;border:0;border-radius:0;background:#e9eae7 url('assets/sumi-e-login.png') center / auto 112% no-repeat}.account-gate:before{content:'';position:absolute;inset:0;background:rgba(240,242,237,.12);z-index:-1}.login-card{width:min(100%,408px);padding:28px 32px 24px;border:1px solid rgba(255,255,255,.85);border-radius:24px;background:rgba(251,252,249,.80);box-shadow:0 18px 65px rgba(25,39,35,.16);text-align:left}.login-card .gate-symbol{width:45px;height:45px;margin:0 0 13px;font-size:2.125rem;border-radius:13px;box-shadow:3px 3px 0 #bdcfc1}.login-brand{font-size:0.8125rem!important;letter-spacing:3px;font-weight:700;color:#3b554b!important;margin:0 0 7px}.login-card h1{font-size:1.625rem;margin:0 0 9px;letter-spacing:-.6px;line-height:1.25}.login-card #gateMessage{font-size:0.875rem;line-height:1.6;margin:0 0 21px;color:#435952}.login-card label{display:block;color:#30463e;font-size:0.875rem;font-weight:650;margin-bottom:8px}.login-card input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #9bac9f;border-radius:12px;background:rgba(255,255,255,.65);font-size:1rem;color:#20392f;outline-offset:3px}.login-card input::placeholder{color:#51675c}.login-card .primary-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:14px;border-radius:12px;background:#254e44;color:white;border:1px solid #254e44;font-size:0.9375rem;font-weight:650}.login-card #loginCode{font-size:1.5rem;letter-spacing:8px;text-align:center}.login-card .login-hint,.login-card .login-privacy{font-size:0.8125rem;line-height:1.6;color:#41584f;margin:12px 0 0}.login-card .login-privacy{padding-top:14px;border-top:1px solid rgba(75,103,87,.2)}.login-card>small{display:block;text-align:center;color:#3b554b;font-size:0.8125rem;margin-top:19px}.login-secondary{display:flex;justify-content:space-between;gap:4px;margin-top:5px}.login-secondary .quiet-btn{font-size:0.8125rem;padding:10px 3px;min-height:44px}.login-card .login-message{font-size:0.875rem;line-height:1.6;margin:12px 0;color:#345648}.login-card .login-message:empty{display:none}.login-card .login-error{color:#883525;background:#fff0e8;border-radius:9px;padding:10px}.login-card .code-recipient{font-size:0.875rem;overflow-wrap:anywhere}.login-card .code-recipient strong{display:block}.history-note{font-size:0.875rem;line-height:1.6;color:var(--muted)}.auth-screen .site-footer{margin-top:0;padding-top:24px}.checking-identity #appShell,.checking-identity #overviewDialog,.checking-identity #accountSync{visibility:hidden}button:disabled{cursor:default}input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #579c8a;outline-offset:3px}
@supports(backdrop-filter:blur(10px)){.login-card{background:rgba(248,250,247,.70);backdrop-filter:blur(6px) saturate(.65);-webkit-backdrop-filter:blur(6px) saturate(.65)}}
@media(max-width:700px){.account-gate{margin:0;min-height:calc(100svh - 82px);padding:32px 18px;background-size:auto 100%;background-position:54% center}.login-card{padding:25px 23px 22px;border-radius:21px}.login-card h1{font-size:1.5rem}.login-secondary .quiet-btn{font-size:0.8125rem}.site-footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}input,select,textarea{font-size:1rem!important}.skip-link:focus{top:6px;left:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.account-gate{display:none!important}}

@media(max-width:700px){.account-sync button{min-height:44px}}
.login-card .password-label{margin-top:17px}.password-wrap{position:relative}.password-wrap input{padding-right:87px}.password-wrap button{position:absolute;right:3px;top:2px;min-height:44px;font-size:0.8125rem}.login-help{margin-top:14px;font-size:0.875rem;color:#30463e}.login-help summary{padding:6px 0}.login-help p{font-size:0.875rem;line-height:1.7}.profile-settings form>label:not(.check-label){display:block;margin:12px 0 5px}.profile-settings form>input{width:100%;min-height:44px;padding:10px;border:1px solid #bbc9bf;border-radius:10px}#contactSettings p{font-size:0.875rem;line-height:1.7}
.quick-start{max-width:860px;margin:18px auto 45px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.quick-start h2{margin:0 0 20px;color:var(--petrol);font-size:1.625rem}.quick-start>label{font-size:0.875rem;font-weight:650;margin-right:12px}.quick-start>select{width:100px;min-height:44px;border:1px solid #bacac1;border-radius:10px;background:#f5f8f1;padding:9px}.quick-start>p:not(.eyebrow){font-size:0.875rem;color:var(--muted)}.start-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 15px}.start-actions button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;padding:22px 16px;border:1px solid #ead8cd;border-radius:16px;background:#fff0e8;color:#7e3c2d;min-height:155px}.start-actions button:nth-child(2){background:#eaf5ed;color:#326d5c;border-color:#d6e6da}.start-actions button:nth-child(3){background:#eaf2f9;color:#356588;border-color:#d1e1ee}.start-actions button>span{font-size:1.5rem}.start-actions small{font-size:0.8125rem;font-weight:400;line-height:1.6}.open-start{margin:0 0 15px}.reading-focus{font-size:0.875rem;color:var(--petrol);margin:15px 0 0}
@media(max-width:700px){.quick-start{padding:23px 18px;margin-top:8px}.start-actions{grid-template-columns:1fr;gap:10px}.start-actions button{min-height:94px;padding:16px 18px;position:relative;padding-left:60px;gap:4px}.start-actions button>span{position:absolute;left:20px;top:19px}.quick-start h2{font-size:1.5rem}.quick-start #chooseYourselfBtn{text-align:left;justify-content:flex-start}}
.sumi-logo{object-fit:contain;background:#f6f5f2!important;box-shadow:none!important;border:1px solid #e2e4dc}.brand-icon.sumi-logo{width:44px;height:44px;border-radius:12px}.login-card .gate-symbol.sumi-logo{width:66px;height:66px;border-radius:17px;margin-bottom:15px}.account-avatar.sumi-logo{width:38px;height:38px}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(228,235,228,.8);padding:4px;border-radius:12px;margin:0 0 21px}.auth-mode-switch button{min-height:44px;border:0;border-radius:9px;background:transparent;color:#3b554b;font-size:0.875rem}.auth-mode-switch button[aria-pressed=true]{background:#fff;color:#254e44;box-shadow:0 1px 5px #254e4415}.download-link{margin:10px 0;text-decoration:none}

/* Keep small login text legible over the translucent Sumi-e card. */
.login-card #gateMessage,.login-card .login-hint,.login-card .login-privacy,.login-card>small{color:#293e35}

.login-card .quiet-btn,.login-card .login-help summary,.login-card .login-message:not(.login-error){color:#293e35}
.login-brand{color:#293e35!important}

.auth-notice{width:min(420px,calc(100% - 32px));padding:30px;border:1px solid #ffffff;border-radius:25px;background:#f8faf7;color:#293e35;box-shadow:0 24px 80px #132e3333}.auth-notice::backdrop{background:#193d3b55;backdrop-filter:blur(5px)}.auth-notice-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#e2eee6;color:#254e44;margin:0 0 21px}.auth-notice-icon svg{width:26px;height:26px}.auth-notice .eyebrow{margin:0 0 9px;color:#466154;font-size:0.8125rem;letter-spacing:2px;font-weight:650}.auth-notice h2{margin:0 15px 15px 0;color:#254e44;font-size:1.625rem;line-height:1.25;letter-spacing:-.6px}.auth-notice p{font-size:0.9375rem;line-height:1.7;color:#354f43;margin:0 0 15px}.auth-notice .auth-notice-note{font-size:0.875rem;padding:14px;background:#edf2ed;border-radius:12px;color:#43594e;margin:0 0 23px}.auth-notice .primary-btn{width:100%;min-height:48px;border-radius:12px;background:#254e44;border-color:#254e44;color:#fff;font-size:0.9375rem}.auth-notice .dialog-close{color:#43594e;top:9px;right:9px}@media(max-width:420px){.auth-notice{padding:26px 23px}.auth-notice h2{font-size:1.5rem}}

/* Lernfortschritt direkt auf der Startübersicht und beim Scrollen erreichbar. */
body:not(.auth-screen) .app-header{position:sticky;top:0;z-index:30;box-shadow:0 3px 18px #233f3509}
.progress-nav{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #254e44;background:#254e44;color:#fff;white-space:nowrap;min-height:44px}
.progress-nav:hover{background:#183e34}.progress-nav svg{width:18px;height:18px}
.learning-overview{padding:22px 24px;margin:0 0 26px;border:1px solid #c8d9cf;border-radius:20px;background:#edf4ee;color:#254e44}
.learning-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.learning-overview h2{margin:0;font-size:1.375rem;letter-spacing:-.4px;line-height:1.3}.learning-overview .secondary-btn{background:#fffdf8;border-color:#a4bcb0;white-space:nowrap}
.learning-overview-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:25px;align-items:center}.learning-overview-stats{display:flex;gap:30px;margin:0}.learning-overview-stats>div{display:flex;flex-direction:column-reverse;gap:1px}.learning-overview-stats dd{margin:0;font-size:2rem;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums}.learning-overview-stats dt{font-size:0.875rem;color:#4a6257}
.resume-learning{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:1px solid #c8d9cf;padding-left:25px;min-width:0}.resume-learning>div{min-width:0}.resume-label{margin:0 0 2px;font-size:0.8125rem;color:#4a6257}.resume-title{margin:0;font-size:0.9375rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.resume-meta{margin:4px 0 0;font-size:0.875rem;color:#4a6257}.resume-learning .primary-btn{flex-shrink:0;background:#254e44;border-color:#254e44}.learning-overview-note{margin:17px 0 0;padding-top:13px;border-top:1px solid #c8d9cf;font-size:0.8125rem;line-height:1.6;color:#4a6257}
#progressDialog h2{margin-right:24px}#progressDialog .history-entry{gap:14px}#progressDialog .history-entry>span:first-child{min-width:0;overflow-wrap:anywhere}.checking-identity #progressDialog,.checking-identity #progressBtn{visibility:hidden}#sheetTitle{scroll-margin-top:120px}
@media(max-width:700px){body:not(.auth-screen) .app-header{flex-wrap:wrap;padding:12px 16px;gap:10px}body:not(.auth-screen) .app-header .brand{flex:1;min-width:140px}body:not(.auth-screen) .brand small{display:none}.header-actions{gap:6px}.progress-nav{font-size:0.8125rem;padding:10px 11px;gap:5px}.progress-nav svg{width:16px;height:16px}body:not(.auth-screen) #overviewBtn{padding:10px 9px}.learning-overview{padding:19px 18px;margin-bottom:22px}.learning-overview h2{font-size:1.25rem}.learning-overview-heading{gap:10px;margin-bottom:17px;align-items:flex-start;flex-wrap:wrap}.learning-overview-heading .secondary-btn{font-size:0.875rem;min-height:44px;padding:10px 12px}.learning-overview-body{grid-template-columns:1fr;gap:18px}.learning-overview-stats{gap:40px}.learning-overview-stats dd{font-size:1.875rem}.resume-learning{border-left:0;border-top:1px solid #c8d9cf;padding:16px 0 0;gap:14px;flex-wrap:wrap}.resume-learning .primary-btn{width:100%;min-height:46px}.learning-overview-note{font-size:0.8125rem}.history-entry{flex-wrap:wrap}.history-action{margin-left:auto}#sheetTitle{scroll-margin-top:160px}}
@media print{.learning-overview{display:none!important}}

.history-more{width:100%;min-height:48px;margin-top:12px}.history-status{font-size:0.9375rem;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}.history-status:empty{display:none}.history-entry:disabled{opacity:.65}

/* Persistent feedback stays within reach while the worksheet scrolls. */
body.has-sync{padding-bottom:var(--sync-height,100px)}.account-sync{position:fixed;z-index:30;bottom:max(12px,env(safe-area-inset-bottom));right:max(16px,calc((100vw - 1120px)/2));left:auto;max-width:calc(100% - 32px);margin:0;padding:8px 14px;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:flex-start;background:#fffefa;border:1px solid #c5d4cc;border-radius:16px;box-shadow:0 4px 22px #233c331a;color:#304c42;font-size:0.9375rem}.account-sync #accountStatus{flex:1;min-width:120px}.account-sync button{min-height:44px;font-size:0.875rem;padding:8px 10px}.account-sync[data-state=error],.account-sync[data-state=conflict]{background:#fff4e9;border-color:#b17d54;color:#703c20}.exercise-sync{margin:16px 24px;padding:14px 16px;border:1px solid #b17d54;border-radius:12px;background:#fff4e9;color:#703c20}.exercise-sync p{margin:0 0 10px;font-size:0.9375rem;line-height:1.6}.exercise-sync .secondary-btn{min-height:44px}#syncRecoveryDialog{max-width:620px}#syncRecoveryDialog label{display:block;font-size:0.9375rem;margin:16px 0 8px}#recoveryText{display:block;width:100%;max-height:230px;min-height:130px;padding:12px;border:1px solid #a0b3a7;border-radius:10px;background:#fff;color:#293f46;font:.9375rem/1.6 var(--font)}.recovery-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}#syncRecoveryDialog .recovery-check{min-height:44px;display:flex;gap:10px;align-items:flex-start;line-height:1.5}#recoveryAcknowledged{width:20px;height:20px;flex-shrink:0}#recoveryStatus{font-size:0.9375rem;line-height:1.6}#recoveryStatus:empty{display:none}
@media(max-width:700px){.account-sync{left:12px;right:12px;max-width:none;padding:8px 12px;font-size:0.875rem}.exercise-sync{margin:12px 17px}.recovery-actions>*{flex:1}#saveCopiesBtn,#loadLatestBtn{width:100%}}
@media print{.account-sync,.exercise-sync,#syncRecoveryDialog{display:none!important}body.has-sync{padding-bottom:0}}

.auth-field-error{font-size:0.875rem;line-height:1.5;color:#883525;margin:7px 0 0}.login-card [aria-invalid=true]{border-color:#a9432e}.login-help .quiet-btn,#authBackBtn,#resendConfirmationBtn{min-height:44px}#authSupport a{text-decoration:underline}.login-card #loginHelp{margin-top:12px}

/* Punkt 7: ein direkter Einstieg und eine einzige Ebene für die Auswahl. */
.primary-nav{display:flex;align-items:center;gap:3px;padding:3px;background:#eef2ed;border-radius:12px}.primary-nav button{white-space:nowrap;padding:10px 15px;min-height:44px;border:0!important;background:transparent!important;color:var(--petrol);font-size:0.875rem!important}.primary-nav button.is-current{background:var(--paper)!important;box-shadow:0 1px 4px #20392f14}.auth-screen #helpBtn{display:inline-flex}.hero{margin-bottom:16px}.hero h1{font-size:1.625rem}.hero p{font-size:0.875rem}.learning-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px 20px;gap:6px 20px;margin-bottom:20px}.learning-overview-heading{grid-column:1/-1;margin:0;gap:12px;align-items:center;flex-wrap:nowrap}.learning-overview h2{font-size:1rem}.learning-overview-heading .quiet-btn{font-size:0.875rem;white-space:nowrap}.resume-learning{border:0;padding:0;gap:16px;grid-column:1;min-width:0}.resume-learning .primary-btn{width:auto}.resume-label{display:none}.resume-title{font-size:1rem}.resume-meta{font-size:0.875rem;margin:2px 0}.learning-overview-stats{grid-column:2;gap:16px;align-self:center}.learning-overview-stats>div{flex-direction:row-reverse;align-items:baseline;gap:5px}.learning-overview-stats dd{font-size:1.125rem}.learning-overview-note{grid-column:1/-1;margin:2px 0 0;padding-top:8px;font-size:0.8125rem}.mode-picker{gap:6px;margin:0 0 12px}.mode-card{min-height:58px;padding:10px 14px;gap:10px;border-top-width:1px}.mode-card strong{font-size:0.9375rem}.mode-card small{display:none}.mode-symbol{width:30px;height:30px}.mode-symbol svg{width:20px;height:20px}.learning-settings{border:1px solid var(--line);border-radius:15px;background:var(--paper);margin-bottom:12px;overflow:hidden}.learning-settings>summary{padding:13px 17px;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;min-height:58px;list-style:none;font-size:0.875rem;font-weight:650}.learning-settings>summary::-webkit-details-marker{display:none}.learning-settings>summary:before{content:'+';font-size:1.25rem;line-height:1;font-weight:400}.learning-settings[open]>summary:before{content:'−'}.learning-settings>summary small{display:block;font-weight:400;color:var(--muted);font-size:0.875rem;flex:1;min-width:150px}.selection-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border-top:1px solid var(--line)}.selection-layout .settings-panel,.selection-layout .format-panel{position:static;border:0;border-radius:0;background:transparent;padding:20px;min-width:0}.selection-layout .settings-panel{border-right:1px solid var(--line)}.selection-layout .panel-heading{margin-bottom:15px}.more-settings h3{font-size:0.875rem;color:var(--petrol);margin:14px 0 8px}.create-row{margin:0 0 16px;padding:0;border:0;display:flex;align-items:center;justify-content:space-between;gap:15px}.create-row .local-note{margin:0;font-size:0.8125rem}.workspace{min-width:0;scroll-margin-top:100px}.workspace-bar{margin:0 0 10px}.app-shell{padding-top:20px}.open-start{font-size:0.875rem;margin:0 0 12px;padding:5px 0;min-height:36px}.quick-start{max-width:680px;margin:0 auto 20px;padding:22px}.quick-start h2{font-size:1.5rem;margin:0 0 16px}.start-actions{margin:16px 0 8px;gap:8px}.start-actions button{min-height:112px;padding:15px;gap:4px}.start-actions button>span{font-size:1.375rem}.quick-start #chooseYourselfBtn{width:100%}.answer-input textarea{height:auto;max-height:none;overflow-y:hidden;resize:vertical}.history-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.history-filters label{display:block;font-size:0.875rem;font-weight:600;margin-bottom:6px}.history-filters select{width:100%;min-height:46px;padding:10px;border:1px solid #cad6ce;border-radius:10px;background:var(--paper);color:var(--ink)}.history-entry>span:first-child{min-width:0}.history-entry small{white-space:normal}
@media(max-width:700px){body:not(.auth-screen) .app-header{display:grid;grid-template-columns:1fr auto;padding:8px 16px;gap:6px}body:not(.auth-screen) .app-header .brand{min-width:0;font-size:1.375rem}.app-header .private{display:none}body:not(.auth-screen) .header-actions{display:contents}body:not(.auth-screen) #helpBtn{display:none}.primary-nav{grid-column:2;gap:0;padding:2px}.primary-nav button{padding:8px 10px!important;font-size:0.875rem!important}.primary-nav button:first-child{min-width:60px}.app-header .brand-icon{width:32px;height:32px}.app-shell{padding:16px 16px 30px}.hero{margin-bottom:12px}.hero h1{font-size:1.5rem}.learning-overview{padding:12px 14px;gap:6px 10px;margin-bottom:14px;grid-template-columns:1fr}.learning-overview-heading{gap:6px}.learning-overview h2{font-size:1rem}.learning-overview-heading .quiet-btn{padding:6px 0 6px 6px;font-size:0.8125rem;min-height:36px}.resume-learning{grid-column:1;flex-wrap:nowrap;gap:12px}.resume-learning .primary-btn{width:auto;padding:10px 12px;white-space:nowrap;font-size:0.875rem}.resume-title{font-size:0.9375rem}.resume-meta{font-size:0.8125rem}.learning-overview-stats{grid-column:1;gap:18px;margin-top:4px}.learning-overview-stats dd{font-size:1rem}.learning-overview-stats dt{font-size:0.8125rem}.learning-overview-note{font-size:0.8125rem;padding-top:6px}.selection-layout{grid-template-columns:1fr}.selection-layout .settings-panel{border-right:0;border-bottom:1px solid var(--line)}.selection-layout .settings-panel,.selection-layout .format-panel{padding:18px}.mode-card{flex-direction:row;justify-content:center;gap:6px;padding:10px 6px;min-height:52px}.mode-card strong{font-size:0.875rem}.mode-symbol{display:none}.learning-settings>summary{padding:12px 14px;gap:5px 8px}.learning-settings>summary small{flex-basis:100%;padding-left:20px;font-size:0.8125rem}.create-row{flex-wrap:wrap;gap:8px}.create-row .generate-btn{width:100%;min-height:46px;order:-1}.create-row .local-note{font-size:0.8125rem}.quick-start{padding:20px 17px;margin-top:0}.quick-start h2{font-size:1.5rem}.quick-start>p:not(.eyebrow){font-size:0.875rem}.start-actions{grid-template-columns:1fr;gap:8px;margin-top:15px}.start-actions button{min-height:68px;padding:10px 14px 10px 46px;gap:1px;position:relative}.start-actions button>span{position:absolute;left:15px;top:12px;font-size:1.25rem}.start-actions strong{font-size:0.9375rem}.start-actions small{font-size:0.8125rem}.history-filters{gap:8px}.history-filters select{font-size:0.875rem;padding:8px}.workspace{scroll-margin-top:115px}#learningOverviewTitle,#quickStartTitle{scroll-margin-top:120px}}
@media(max-width:420px){body:not(.auth-screen) .app-header{display:flex;flex-wrap:wrap;gap:5px;padding:7px 16px}body:not(.auth-screen) .app-header .brand{min-height:32px;flex-basis:100%;font-size:1.25rem}.primary-nav{width:100%;display:grid;grid-template-columns:1fr 1.25fr 1fr}.primary-nav button{min-height:42px}.app-header .brand-icon{width:27px;height:27px}.resume-learning{flex-wrap:wrap}.resume-learning .primary-btn{width:100%}}
@media print{.primary-nav,.learning-settings,#generatorForm,#quickStart,#openStartBtn,.history-filters{display:none!important}}
.app-shell{scroll-margin-top:110px}#progressDialog .overview-stats{padding:13px 0;margin:10px 0;gap:20px}#progressDialog .overview-stats strong{font-size:1.5rem}#progressDialog .history-note{font-size:0.875rem;line-height:1.65;margin:10px 0}#progressDialog h2{margin-bottom:10px}#progressDialog .history-filters{margin:14px 0}.primary-nav:focus-within{outline:0}
.learning-settings:has(>summary:focus-visible){outline:3px solid #579c8a;outline-offset:3px}

/* Gemeinsame Gestaltung: Schrift skaliert mit den Browsereinstellungen. */
:root{
 --bg:#f6f4ef;--paper:#fffdf9;--ink:#243e39;--petrol:#214f49;
 --muted:#52645d;--line:#dce3dc;--control-line:#75877c;--focus-ring:#175d71;
 --radius-control:.75rem;--radius-card:1.25rem;--radius-dialog:1.5rem;
 --space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;
 --mode-accent:#963d2d;--mode-wash:#fff0e8;
 color-scheme:light;
}
html{scroll-padding-top:calc(var(--header-height,6rem) + 1rem);scroll-padding-bottom:calc(var(--sync-height,5rem) + 1rem)}
body{color:var(--ink);line-height:1.65}body[data-mode=read]{--mode-accent:#285e4d;--mode-wash:#eaf3ed}body[data-mode=listen]{--mode-accent:#305d7c;--mode-wash:#edf3f8}
button,summary,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{min-height:44px;border-radius:var(--radius-control);line-height:1.5}
button,a,summary{overflow-wrap:anywhere}button:disabled{opacity:.65}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
:where(input,select,textarea){max-width:100%;min-width:0}
:where(input,textarea)::placeholder{color:var(--muted);opacity:1}
:is(input[type=text],input[type=email],input[type=password],input[type=search],textarea,select){font-size:1rem;line-height:1.5;border-color:var(--control-line);border-radius:var(--radius-control);color:var(--ink);background:var(--paper)}
.field select,.format-panel .field select,.quick-start>select,.history-filters select,.profile-settings form>input,.rate-label select{border-color:var(--control-line);font-size:1rem;min-height:48px;background:var(--paper)}
:where(button,a,summary,input,select,textarea){scroll-margin-block:.75rem}
.primary-btn,.copy-btn{background:var(--petrol);border-color:var(--petrol);color:white;font-size:.9375rem}
.primary-btn:hover,.copy-btn:hover{background:#183e38}.generate-btn{background:var(--mode-accent);border-color:var(--mode-accent)}
.quiet-btn,.secondary-btn{color:var(--petrol);font-size:.875rem}.secondary-btn{border-color:var(--control-line);background:var(--paper)}
.check-label{gap:.75rem;font-size:.875rem;min-height:44px}.check-label input{width:20px;height:20px;accent-color:var(--petrol)}
.field label,.field legend,.reading-options legend,.history-filters label,.quick-start>label{font-size:.875rem;line-height:1.5}
.field{margin-bottom:var(--space-3)}.field-note,.focus-description,.format-hint,.selection-note,.optional,.micro-tag,.local-note{font-size:.8125rem;line-height:1.65;color:var(--muted)}
.micro-tag{background:#efe8f1;border-color:#d8cbdc;color:#65426e}.selection-note,.exercise-note{color:#705322}
.focus-search{border-color:var(--control-line);background:#f0f4ee}.focus-search input{font-size:1rem;background:transparent;border-radius:0}.focus-search svg{min-width:18px}
.levels,.length-options{background:#eaf0e9;padding:4px;gap:3px;border-radius:var(--radius-control);flex-wrap:wrap}
.levels label{flex:1 1 2.25rem;min-width:0}.levels span,.length-options span{font-size:.875rem;min-height:44px;border-radius:.5rem;padding:.5rem .25rem}
.length-options label{min-width:0;flex:1 1 auto}.length-options{flex-wrap:wrap}.length-options span{padding:.5rem .875rem}
.levels input:checked+span{background:var(--petrol);color:white}.length-options input:checked+span{color:var(--petrol);background:var(--paper)}
.mode-card:has(input:focus-visible),.levels label:has(input:focus-visible),.length-options label:has(input:focus-visible),.learning-settings:has(>summary:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}
.count-row{flex-wrap:wrap;gap:.75rem}.count-row>label{max-width:none;flex:1 1 8rem;font-size:.875rem}.count-row small{font-size:.8125rem;color:var(--muted)}
.stepper{min-width:0;max-width:100%;border-color:var(--control-line);border-radius:var(--radius-control)}.stepper button{width:44px;min-width:44px;min-height:48px;padding:4px;font-size:1.25rem}.stepper input{width:3ch;min-width:3ch;font-size:1rem;min-height:48px}
.app-header,body:not(.auth-screen) .app-header{display:flex;flex-wrap:wrap;gap:12px 24px;min-height:0;padding:12px 24px;background:var(--paper);border-radius:0 0 var(--radius-card) var(--radius-card)}
.brand{font-size:1.5rem;min-width:0;letter-spacing:-.03em;gap:.75rem}.brand small{font-size:.8125rem;color:var(--muted);max-width:22rem}.brand-icon.sumi-logo,.app-header .brand-icon{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-control)}
.header-actions,body:not(.auth-screen) .header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}.private{font-size:.8125rem;color:var(--muted);margin:0}
.primary-nav{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:4px;padding:4px;border:1px solid #d3dfd3;background:#eaf0e9;border-radius:var(--radius-control);min-width:0}
.primary-nav button{min-width:0;min-height:44px;padding:.5rem .75rem!important;font-size:.875rem!important;white-space:normal;overflow-wrap:anywhere;hyphens:auto;color:var(--petrol)}
.primary-nav button.is-current{background:var(--paper)!important;box-shadow:0 1px 4px #20392f18;text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:2px}
#overviewBtn{border:0;background:transparent}.app-shell{padding:24px 24px 40px;scroll-margin-top:calc(var(--header-height,6rem) + 1rem)}
.hero{margin-bottom:20px}.hero h1{font-size:1.75rem;line-height:1.3;letter-spacing:-.035em}.hero>p:last-child{font-size:.9375rem;color:var(--muted);line-height:1.65}
.learning-overview{padding:16px 20px;gap:8px 20px;border-radius:var(--radius-card);background:#edf3ed;border-color:#c7d6c8;color:var(--petrol)}
.learning-overview-heading{flex-wrap:wrap;min-width:0;gap:8px}.learning-overview h2{font-size:1.125rem;letter-spacing:-.02em}.learning-overview-heading .quiet-btn{min-height:44px;padding:8px;font-size:.875rem;white-space:normal}
.resume-learning{flex-wrap:wrap;min-width:0;gap:12px}.resume-learning .primary-btn{font-size:.9375rem;min-height:48px}.resume-title{font-size:1rem}.resume-meta,.learning-overview-stats dt{font-size:.8125rem;color:var(--muted)}
.learning-overview-stats{flex-wrap:wrap;gap:8px 16px}.learning-overview-stats dd{font-size:1.125rem}.learning-overview-note{font-size:.8125rem;line-height:1.65;color:var(--muted);padding-top:10px}
.mode-picker{gap:8px;margin-bottom:12px}.mode-card{border-radius:var(--radius-control);padding:12px;min-height:52px;border:1px solid var(--line)}.mode-card strong{font-size:.9375rem}.mode-symbol{border-radius:.5rem}
.mode-card:has(input:checked){border-color:var(--mode-accent);box-shadow:inset 0 0 0 1px var(--mode-accent)}.mode-card:has(input:checked) .selection-check{display:block;color:var(--mode-accent);font-size:.875rem;margin-left:auto}
.learning-settings,.sheet,.settings-panel,.format-panel,.quick-start{border-radius:var(--radius-card);background:var(--paper);border-color:var(--line)}
.learning-settings{overflow:visible}.learning-settings>summary{font-size:.9375rem;min-height:56px;padding:14px 18px;border-radius:var(--radius-card);line-height:1.5}.learning-settings>summary small{font-size:.8125rem;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.learning-settings>summary:focus-visible{outline:0}.selection-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-layout .settings-panel,.selection-layout .format-panel,.settings-panel{position:static;top:auto;padding:24px}
.panel-heading h2,.more-settings h3{font-size:1rem;color:var(--petrol)}.more-settings{padding-top:12px}.more-settings h3{margin:8px 0 16px}.create-row{margin-bottom:20px;gap:12px;flex-wrap:wrap}.create-row .local-note{font-size:.8125rem;max-width:none;flex:1 1 14rem}.generate-btn{min-height:48px;min-width:0;padding:12px 20px}
.workspace{scroll-margin-top:calc(var(--header-height,6rem) + 1rem)}.workspace-bar{flex-wrap:wrap;gap:6px 12px;min-height:44px;margin-bottom:12px}.result-status,.workspace-bar button{font-size:.8125rem}.result-status{color:var(--muted)}.result-status.dirty{color:#785425}.result-status.dirty .status-dot{background:#785425}.workspace-bar button{min-height:44px}
#sheetTitle,#learningOverviewTitle,#quickStartTitle{scroll-margin-top:calc(var(--header-height,6rem) + 1rem)}
.sheet-top{padding:24px}.sheet-top h2{font-size:1.625rem;line-height:1.35;overflow-wrap:anywhere;letter-spacing:-.025em}.sheet-meta,.sheet-eyebrow{font-size:.8125rem;color:var(--muted)}.sheet-eyebrow>span{background:#eaf0e9;color:var(--petrol)}
.sheet-toolbar{padding:0 24px}.tabs{flex-wrap:wrap;gap:8px 24px;overflow:visible}.tabs button{font-size:.875rem;min-height:48px;white-space:normal;text-align:left}.tabs #tabCount{font-size:.8125rem}.instruction{margin:20px 24px 16px;padding:16px;background:#edf3ed;border-color:#d8e4d7;border-radius:var(--radius-control)}.instruction p{font-size:1rem;line-height:1.75;color:#314f40}
.exercise-note{font-size:.875rem;margin:0 24px 16px;line-height:1.7}.exercise-list{padding:0 24px 16px}.exercise-list>li{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:24px 0}.exercise-list>li:before{width:28px;height:28px;font-size:.8125rem;background:#eaf0e9;color:var(--petrol)}
.task-prompt,.passage,.audio-transcript p{font-size:1.0625rem;line-height:1.9}.task-context,.task-vocabulary,.task-explanation,.word-count{font-size:.875rem;line-height:1.7;color:var(--muted)}.task-vocabulary{margin-top:12px}.task-explanation{color:#42594b}.passage-title{font-size:1.375rem;line-height:1.4}.passage p{margin-bottom:1.25rem}.questions h4{font-size:1rem}.question>p{font-size:1rem;line-height:1.75}
.answer-input{margin-top:16px}.answer-input>span{font-size:.875rem;color:var(--muted);margin-bottom:8px}.answer-input textarea{min-height:52px;padding:12px 14px;font-size:1rem;line-height:1.7;border-color:var(--control-line);background:#f7faf5;border-radius:var(--radius-control)}
.compare-answer summary,.audio-transcript summary,.reading-focus>summary,.learning-pattern>summary,.export-tools>summary{font-size:.875rem;line-height:1.6;min-height:44px;color:var(--petrol);padding:12px 0}.inline-answer{font-size:1rem;line-height:1.8;padding:16px;background:#edf4ec;border-radius:var(--radius-control);overflow-wrap:anywhere}.inline-answer p{margin:8px 0 0}.solution-note{font-size:.875rem;background:#f0eaf2;color:#5d4267;line-height:1.75}
.learning-pattern{margin:0 24px 16px}.learning-pattern h3{font-size:1rem}.pattern-example{font-size:1.125rem}.pattern-legend span{font-size:.8125rem;padding:6px 8px;line-height:1.5}.mark,.learning-mark{font-weight:650}.reading-focus p{font-size:1rem;line-height:1.8}
.audio-player{margin:0 24px 16px;padding:18px;background:#edf3f8;border-color:#ccdae4;border-radius:var(--radius-control)}.audio-heading{flex-wrap:wrap;gap:12px}.audio-heading>div{min-width:0;flex:1 1 10rem}.audio-heading strong{font-size:1rem;color:#294f69}.audio-heading p,.audio-counter{font-size:.8125rem;color:#3b5b72}.audio-counter{margin-left:0}.audio-controls{gap:8px}.audio-controls button{font-size:.875rem;min-height:44px}.rate-label{font-size:.875rem;flex-wrap:wrap;color:#3b5b72;margin-left:0;flex:1 1 12rem}.rate-label select{max-width:100%;flex:1 1 8rem;min-width:0}.audio-player>p:last-child{font-size:.875rem;color:#3b5b72;line-height:1.7}.audio-unit-title{flex-wrap:wrap;gap:8px}.audio-unit-title strong,.audio-unit-title .secondary-btn{font-size:.875rem}.audio-transcript p{background:#edf3f8;overflow-wrap:anywhere}
.transfer-box{margin:0 24px 20px;padding:16px;border-radius:var(--radius-control)}.transfer-box p{font-size:1rem;line-height:1.75}.transfer-box strong{font-size:.875rem}.export-tools{padding:0 24px}.sheet-footer{flex-wrap:wrap;align-items:flex-start;gap:12px}.sheet-footer button{font-size:.875rem;min-height:44px;white-space:normal}.sheet-footer .copy-btn{white-space:normal}
.learning-end{padding:24px;background:#f4f7f1}.learning-end .primary-btn{min-width:0;max-width:100%;min-height:48px}.learning-end>p,.learning-end>small{font-size:.875rem;line-height:1.7;color:var(--muted)}.continue-links .quiet-btn{font-size:.875rem}.learning-end>small{margin-top:8px}
.quick-start{padding:24px;max-width:44rem}.quick-start h2{font-size:1.625rem;line-height:1.35}.quick-start>p:not(.eyebrow),.quick-start>label{font-size:.875rem}.quick-start>select{width:auto;min-width:6rem;max-width:100%;font-size:1rem}.start-actions button{border-radius:var(--radius-control);gap:6px}.start-actions strong{font-size:1rem}.start-actions small{font-size:.8125rem}.quick-start #chooseYourselfBtn,.open-start{font-size:.875rem;min-height:44px}.open-start{margin-bottom:12px}
.site-footer{gap:12px;padding:28px 24px calc(24px + env(safe-area-inset-bottom))}.footer-brand{font-size:1rem}.footer-brand small,.site-footer>p,.site-footer>small,.site-footer .quiet-btn{font-size:.8125rem;color:var(--muted)}.footer-brand small{overflow-wrap:anywhere}
.account-sync{font-size:.875rem;line-height:1.5;padding:10px 14px;gap:8px;max-height:35dvh;overflow:auto;overscroll-behavior:contain;background:var(--paper);border-color:var(--control-line);border-radius:var(--radius-control)}.account-sync #accountStatus{min-width:0;flex:1 1 8rem}.account-sync button{font-size:.875rem;min-height:44px;max-width:100%}.account-sync[data-state=error],.account-sync[data-state=conflict]{background:#fff3e8;border-color:#9e693f;color:#6d391d}.exercise-sync{margin:16px 24px;border-radius:var(--radius-control)}.exercise-sync p{font-size:.9375rem}
.toast{font-size:.875rem;line-height:1.6;border-radius:var(--radius-control);bottom:calc(var(--sync-height,0px) + 12px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);max-height:30dvh;overflow:auto;width:max-content}.auth-screen .toast{bottom:max(16px,env(safe-area-inset-bottom))}
/* Dialogüberschrift und Schließen bleiben über dem scrollbaren Inhalt sichtbar. */
dialog{padding:0;width:min(38rem,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:hidden;border:1px solid #b9cbbd;border-radius:var(--radius-dialog);background:var(--paper);color:var(--ink)}
dialog[open]{display:flex;flex-direction:column}dialog .dialog-heading{display:flex;gap:16px;align-items:flex-start;flex-shrink:0;padding:24px 24px 16px;border-bottom:1px solid var(--line);background:var(--paper);border-radius:var(--radius-dialog) var(--radius-dialog) 0 0}
dialog .dialog-heading h2{margin:0;flex:1;min-width:0;font-size:1.625rem;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere}dialog .dialog-heading .dialog-close{position:static;flex-shrink:0;min-height:44px;width:44px;min-width:44px;font-size:1.75rem;line-height:1;border-radius:var(--radius-control);background:#edf3ed;color:var(--petrol)}
.dialog-body{padding:20px 24px 24px;overflow:auto;min-height:0;overscroll-behavior:contain;scroll-padding-block:16px}
dialog p,dialog .dialog-footnote,dialog .overview-intro,dialog .history-note,dialog .profile-settings p{font-size:.9375rem;line-height:1.75;color:var(--muted)}dialog h3{font-size:1.125rem}dialog .eyebrow{font-size:.8125rem;color:var(--muted)}dialog label,.profile-settings label[for=profileName],.profile-settings small{font-size:.875rem}.profile-settings summary{font-size:.9375rem}.signed-in{flex-wrap:wrap;border-radius:var(--radius-control)}.signed-in>div{flex:1 1 10rem}.signed-in strong,.signed-in span:not(.account-avatar),.signed-in small,.signed-in>a{font-size:.875rem}.danger-link{color:#8b382a;font-size:.875rem}
#progressDialog h2{margin:0}#progressDialog .overview-stats{gap:20px;margin:8px 0 16px;padding:16px 0}#progressDialog .overview-stats strong{font-size:1.5rem}#progressDialog .overview-stats span{font-size:.8125rem}#progressDialog .history-note{font-size:.875rem;line-height:1.7;margin:12px 0}.history-filters{gap:12px}.history-filters select{min-width:0}.history-entry{gap:12px;padding:16px 4px;min-height:48px;border-radius:.5rem}.history-entry strong{font-size:1rem;line-height:1.6}.history-entry small,.history-action{font-size:.8125rem;color:var(--muted);line-height:1.65}.history-action{white-space:normal}.history-status{font-size:.9375rem}.history-more{font-size:.9375rem}
#copyText,#recoveryText{font-size:1rem;line-height:1.65;border-color:var(--control-line);border-radius:var(--radius-control)}#syncRecoveryDialog label,#recoveryStatus{font-size:.9375rem}.recovery-actions>*{max-width:100%}.recovery-check input{min-width:20px}.auth-field-error{font-size:.875rem}.auth-notice{width:min(29rem,calc(100% - 24px));padding:0;background:var(--paper);border-color:#b9cbbd}.auth-notice .dialog-body p{font-size:.9375rem}.auth-notice .auth-notice-note{font-size:.875rem;background:#edf3ed}.auth-notice .primary-btn{font-size:.9375rem}.auth-notice-icon{width:44px;height:44px;border-radius:var(--radius-control);margin-bottom:16px}.auth-notice .eyebrow{letter-spacing:.08em}
/* Der Sumi-e-Hintergrund bleibt sichtbar; der Text bleibt dunkel und ruhig. */
.auth-screen{background:#eeefec}.login-card{border-radius:var(--radius-dialog);padding:28px;background:rgba(251,252,249,.82)}@supports(backdrop-filter:blur(6px)){.login-card{background:rgba(248,250,247,.70);backdrop-filter:blur(6px) saturate(.65);-webkit-backdrop-filter:blur(6px) saturate(.65)}}
.login-card h1{font-size:1.75rem;line-height:1.35}.login-card #gateMessage{font-size:1rem;line-height:1.7}.login-card label{font-size:.9375rem;color:#20392f}.login-card :is(.login-hint,.login-privacy,.login-message,small),.login-card>small,.login-card .quiet-btn{font-size:.875rem;line-height:1.7;color:#20392f}.login-card .login-error{color:#883525;background:#fff0e8}.login-card .login-brand{font-size:.8125rem!important;color:#20392f!important}.login-card input{font-size:1rem;min-height:52px;border-color:#6a7d70;border-radius:var(--radius-control)}.login-card .primary-btn{font-size:1rem;min-height:48px}.auth-mode-switch{border-radius:var(--radius-control)}.auth-mode-switch button{font-size:.875rem;min-height:44px}.password-wrap input{padding-right:6.5rem}.password-wrap button{font-size:.8125rem;top:4px;right:4px;min-height:44px;max-width:6rem;padding:.5rem}.login-card .password-label{margin-top:20px}
@media(max-width:64rem){.private{display:none}}
@media(max-width:52rem){
 .app-header,body:not(.auth-screen) .app-header{padding:10px 16px;gap:8px}
 .app-header .brand{flex-basis:100%;font-size:1.25rem;min-height:44px}.brand small{display:none}
 body:not(.auth-screen) .header-actions{width:100%;display:flex}.primary-nav{width:100%;flex:1}.primary-nav button{padding:.5rem!important;font-size:.875rem!important;min-height:44px}
 .selection-layout{grid-template-columns:1fr}.selection-layout .settings-panel{border-right:0;border-bottom:1px solid var(--line)}.selection-layout .settings-panel,.selection-layout .format-panel{padding:20px}
 .learning-overview{grid-template-columns:1fr}.learning-overview-stats{grid-column:1}.resume-learning{grid-column:1}.learning-overview-heading .quiet-btn{font-size:.8125rem}
 .rate-label{width:100%}.sheet-footer{flex-direction:column}.sheet-footer .copy-btn{width:100%}
}
@media(max-width:43.75rem){
 body:not(.auth-screen) #helpBtn{display:none}.auth-screen #helpBtn{display:inline-flex}.auth-screen .header-actions{margin-left:auto}.auth-screen .app-header .brand{flex:1 1 auto}.auth-screen .app-header{flex-wrap:nowrap}
 .app-shell{padding:20px 16px 32px}.hero h1{font-size:1.5rem}.hero>p:last-child{font-size:.9375rem}.learning-overview{padding:14px 16px;margin-bottom:16px}.learning-overview h2{font-size:1.0625rem}.learning-overview-stats dt,.learning-overview-note,.resume-meta{font-size:.8125rem}.learning-overview-note{padding-top:10px}.resume-title{font-size:1rem}
 .mode-card{padding:10px 6px;gap:5px;min-height:52px}.mode-card strong{font-size:.9375rem}.mode-symbol{display:none}.mode-card:has(input:checked) .selection-check{margin-left:0;font-size:.8125rem}
 .learning-settings>summary{padding:14px 16px;gap:8px}.learning-settings>summary small{padding-left:0;flex-basis:100%;font-size:.8125rem}.create-row .generate-btn{width:100%;order:-1}.create-row .local-note{font-size:.8125rem}.open-start{font-size:.875rem}
 .sheet-top{padding:20px}.sheet-top h2{font-size:1.5rem}.sheet-toolbar{padding:0 20px}.tabs{gap:8px 20px}.instruction,.audio-player,.learning-pattern,.transfer-box{margin-left:20px;margin-right:20px}.exercise-note{margin-left:20px;margin-right:20px}.exercise-list{padding:0 16px 16px}.exercise-list>li{grid-template-columns:24px minmax(0,1fr);gap:10px}.exercise-list>li:before{width:24px;height:24px}.answer-input>span{font-size:.875rem}.task-context,.task-vocabulary{font-size:.875rem}.question>p{font-size:1rem}.task-prompt,.passage,.audio-transcript p{font-size:1.0625rem}.passage-title{font-size:1.25rem}
 .audio-counter{display:block;font-size:.8125rem}.audio-heading p{font-size:.8125rem}.audio-heading strong{font-size:1rem}.audio-unit-title .secondary-btn{font-size:.875rem}.rate-label select{font-size:1rem}.export-tools{padding:0 20px}.sheet-footer button{font-size:.875rem}.learning-end{padding:20px}.learning-end>p,.learning-end>small,.continue-links .quiet-btn{font-size:.875rem}.continue-links{gap:8px}.learning-end .primary-btn{width:100%}
 .quick-start{padding:22px 18px}.quick-start h2{font-size:1.5rem}.quick-start>p:not(.eyebrow){font-size:.875rem}.start-actions button{min-height:76px;padding:12px 14px 12px 44px}.start-actions button>span{top:14px;left:14px;font-size:1.25rem}.start-actions strong{font-size:1rem}.start-actions small{font-size:.8125rem}
 .history-filters{gap:8px}.history-filters select{font-size:1rem;padding:8px}.history-entry strong{font-size:1rem}.history-entry small,.history-action{font-size:.8125rem}.history-entry{flex-wrap:wrap}.history-action{margin-left:auto}
 dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 20px)}dialog .dialog-heading{padding:20px 18px 16px;gap:10px}dialog .dialog-heading h2{font-size:1.375rem}.dialog-body{padding:18px}.auth-notice{padding:0}
 .account-gate{padding:28px 16px}.login-card{padding:26px 22px}.login-card h1{font-size:1.5rem}.login-card #gateMessage{font-size:1rem}.login-card :is(.login-hint,.login-privacy,.login-message,small),.login-card>small{font-size:.875rem}.site-footer>p,.site-footer>small,.footer-brand small{font-size:.8125rem}
 .account-sync{left:12px;right:12px;max-width:none;font-size:.875rem}.account-sync button{font-size:.875rem}.toast{font-size:.875rem}
}
@media(max-width:26.25rem){
 .resume-learning .primary-btn{width:100%}.brand-icon.sumi-logo,.app-header .brand-icon{width:36px;height:36px}.primary-nav button:first-child{min-width:0}.learning-overview-heading{flex-wrap:wrap}.mode-card{flex-wrap:wrap}.mode-card strong{font-size:.875rem}.login-card{padding:24px 18px}.login-card .gate-symbol.sumi-logo{width:56px;height:56px}
 .history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filters label{overflow-wrap:anywhere}.recovery-actions>*{flex:1 1 100%}.overview-stats{gap:16px}.quick-start>label{display:inline-block;margin-bottom:8px}
}
@media(max-height:32rem){body:not(.auth-screen) .app-header{position:static}.account-sync{max-height:30dvh}dialog{max-height:calc(100dvh - 16px)}dialog .dialog-heading{padding-top:12px;padding-bottom:12px}.dialog-body{padding-top:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.primary-nav button.is-current,.mode-card:has(input:checked),.levels input:checked+span,.length-options input:checked+span{outline:2px solid Highlight;outline-offset:-3px}button,input,select,textarea{border-color:ButtonText}:focus-visible{outline-color:Highlight}}
@media print{.dialog-heading,.dialog-body{display:none!important}.sheet-top h2{font-size:24px}.task-prompt,.passage{font-size:12px}.instruction p{font-size:12px}.exercise-list{padding:0}.exercise-list>li{break-inside:avoid}.sheet{background:white;border:0}.site-footer{padding:16px 0}body.has-sync{padding-bottom:0}}
/* Navigation bricht bei großer Schrift zwischen ganzen Zielen um. */
.primary-nav{display:flex;flex-wrap:wrap}.primary-nav button{flex:1 1 auto;min-inline-size:max-content;hyphens:none;overflow-wrap:normal}
body.large-header:not(.auth-screen) .app-header{position:static}
h1,h2,h3,h4,p,label{overflow-wrap:anywhere}
@media(max-width:26.25rem){.password-wrap{display:flex;flex-wrap:wrap;gap:4px}.password-wrap input{padding-right:14px}.password-wrap button{position:static;margin-left:auto;max-width:none;font-size:.875rem;padding:8px;min-height:44px}}
.auth-mode-switch{display:flex;flex-wrap:wrap}.auth-mode-switch button{flex:1 1 9em;min-width:0;hyphens:none;overflow-wrap:normal}
/* Aktualisieren ist eine ruhige Wahl; beide Hinweise lassen Raum zum Weiterlernen. */
.app-update{position:fixed;z-index:40;left:12px;right:12px;bottom:calc(var(--sync-height,0px) + 12px);width:min(35rem,calc(100% - 24px));margin:auto;max-height:35dvh;overflow:auto;overscroll-behavior:contain;padding:16px 18px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--paper);box-shadow:0 8px 28px #20392f24;color:var(--ink)}
.app-update strong{font-size:1rem}.app-update p{font-size:.875rem;line-height:1.6;margin:8px 0;color:var(--muted)}.app-update>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.app-update button{min-height:44px;font-size:.875rem}.app-update [role=status]:empty{display:none}
body{padding-bottom:var(--update-height,0px)}body.has-sync{padding-bottom:calc(var(--sync-height,0px) + var(--update-height,0px))}html{scroll-padding-bottom:calc(var(--sync-height,0px) + var(--update-height,0px) + 16px)}.toast{bottom:calc(var(--sync-height,0px) + var(--update-height,0px) + 12px + env(safe-area-inset-bottom))}
.export-note{font-size:.875rem;line-height:1.7;color:var(--muted);margin:0 0 12px}#updateCheckStatus{font-size:.875rem;line-height:1.7}#printDocument{display:none}
@media print{body{padding:0!important;background:white;color:#111}body>*{display:none!important}#printDocument{display:block!important;font:12pt/1.6 Arial,sans-serif}#printDocument h1{font-size:17pt;line-height:1.3;margin:0 0 14pt}#printDocument h2{font-size:14pt;margin:20pt 0 10pt;break-after:avoid}#printDocument p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12pt;orphans:3;widows:3}#printDocument .print-brand{margin-top:24pt;padding-top:10pt;border-top:1px solid #aaa;font-size:9pt;color:#333}@page{margin:18mm}}

/* Data explanations and optional connection check use the existing dialog layout. */
.data-info section,.account-data,.connection-check{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.data-info h3,.account-data h3,.connection-check h3{font-size:1rem;margin:0 0 12px}.data-info p,.account-data p,.connection-check p{font-size:.9375rem;line-height:1.8}
.data-actions{display:flex;flex-wrap:wrap;gap:8px}.data-contact a,.data-info a{overflow-wrap:anywhere}.data-actions a{display:inline-flex;align-items:center;min-height:44px}
.connection-check select{width:100%;margin:8px 0 14px}.connection-check textarea{width:100%;box-sizing:border-box;min-width:0;font:inherit;font-size:.875rem;line-height:1.7;resize:vertical}.connection-check button,.account-data button{min-height:44px;max-width:100%;white-space:normal;text-align:left}

/* Field-specific auth summaries stay close to the action and link to the input. */
.login-card .login-error a{color:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* Password controls keep a 44px hit area at every viewport width. */
.password-wrap button.password-eye{position:absolute;display:grid;place-items:center;top:4px;right:4px;width:44px;min-width:44px;max-width:44px;height:44px;padding:9px;margin:0;border-radius:9px}
.password-wrap .password-eye svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-card .password-wrap:has(.password-eye) input{padding-right:60px}
.update-guard{width:min(32rem,calc(100% - 24px));padding:0;background:var(--paper)}.update-guard .dialog-body p{line-height:1.7;margin-top:0}.update-guard-actions{display:flex;flex-direction:column;gap:10px}.update-guard-actions button{min-height:48px;white-space:normal;text-align:center}.update-guard-actions .primary-btn{margin:0}
