@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/plus-jakarta-sans-latin-ext-800-normal-B6BjB2Ju.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ETM Noto Serif TC;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-serif-tc-etm-600-_fQN1YXo.woff)format("woff")}@font-face{font-family:ETM Noto Serif TC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-tc-etm-700-7Tf0nPT7.woff)format("woff")}:root{--paper:#fbf8f3;--surface:#fff;--sand:#f1e6d2;--line:#e4ded3;--ink:#1c2430;--muted:#5a6470;--jade:#1f6f5c;--jade-soft:#e3efea;--seal:#c23b26;--tone1:#2360a5;--tone2:#2b7a3e;--tone3:#a86200;--tone4:#b5331f;--tone5:#6b7670;--backdrop:#1c243073;--font-ui:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-zh:"ETM Noto Serif TC", "Noto Serif TC", "Noto Serif CJK TC", "Songti TC", "PMingLiU", serif;--fs-13:.8125rem;--fs-15:.9375rem;--fs-16:1rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-34:2.125rem;--radius-button:14px;--radius-card:18px;--button-height:48px;--tap-min:44px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-16);margin:0;line-height:1.5}:lang(zh-Hant-TW){font-family:var(--font-zh)}:focus-visible{outline:3px solid var(--jade);outline-offset:2px}a{color:var(--jade)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{min-height:var(--button-height);min-width:var(--tap-min);border-radius:var(--radius-button);font:600 var(--fs-16)/1 var(--font-ui);cursor:pointer;border:2px solid var(--jade);justify-content:center;align-items:center;padding:0 20px;display:inline-flex}.btn-primary{background:var(--jade);color:#fff}.btn-secondary{background:var(--surface);color:var(--jade)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px}.preview-banner{z-index:10;background:var(--seal);color:#fff;text-align:center;letter-spacing:.1em;padding:4px;font-weight:800;position:sticky;top:0}.app{max-width:560px;margin:0 auto;padding:24px 16px 48px}.brand{align-items:center;gap:16px;display:flex}.brand-logo{flex:none;width:64px;height:64px}.brand-name{font-weight:800;font-size:var(--fs-24);margin:0;line-height:1.15}.brand-name .easy{color:var(--jade)}.update-toast{z-index:20;background:var(--sand);border:1px solid var(--line);border-radius:var(--radius-card);justify-content:space-between;align-items:center;gap:12px;max-width:528px;margin:0 auto;padding:12px 16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.muted{color:var(--muted)}.version{font-size:var(--fs-13);color:var(--muted);margin-top:32px}h2{font-size:var(--fs-20);margin:0 0 12px}.klein{font-size:var(--fs-13)}.klein-titel{font-size:var(--fs-15);margin:16px 0 4px}.breit{width:100%;margin-top:16px}.btn{gap:8px}.btn-klein{min-height:var(--tap-min);font-size:var(--fs-15);padding:0 14px}.btn:disabled{opacity:.6;cursor:default}.knopfreihe{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hinweis-flaeche{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius-card);margin:16px 0;padding:12px 16px}.app>.card,.app>section{margin-top:24px}.zahlen{flex-wrap:wrap;gap:16px;margin:0 0 8px;padding:0;list-style:none;display:flex}.zahlen strong{font-size:var(--fs-24);color:var(--jade)}.runde-kopf{align-items:center;gap:12px;display:flex}.runde-kopf progress{height:8px;accent-color:var(--jade);flex:1}.lern-karte{margin-top:16px}.etikett{color:var(--muted);font-size:var(--fs-15);margin:0 0 8px;font-weight:600}.ton1{color:var(--tone1)}.ton2{color:var(--tone2)}.ton3{color:var(--tone3)}.ton4{color:var(--tone4)}.ton5{color:var(--tone5)}.pinyin{font-family:var(--font-ui)}.pinyin-gross{font-size:var(--fs-20);font-weight:600}.hanzi-text{font-family:var(--font-zh);font-weight:600;font-size:var(--fs-34);color:var(--ink);margin:8px 0;line-height:1.6}.hz{display:inline-block}.hz-knopf{font:inherit;color:inherit;min-width:var(--tap-min);min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;border-radius:8px;margin:0;padding:0 1px}.hz-ziel{color:var(--seal);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px}.hanzi-text rt{font-family:var(--font-ui);font-size:var(--fs-15);min-height:1em;font-weight:600}.wort-gross{font-family:var(--font-zh);margin:0;font-size:4.5rem;font-weight:700;line-height:1.1}.bedeutung{font-size:var(--fs-20);margin:8px 0 0}.hinweis{color:var(--muted);font-size:var(--fs-15)}.uebersetzung{font-size:var(--fs-16);margin:8px 0}.antworten{gap:8px;margin-top:16px;display:grid}.antwort{min-height:var(--button-height);text-align:left;font:600 var(--fs-16)/1.3 var(--font-ui);color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-button);cursor:pointer;padding:10px 16px}.antwort:disabled{cursor:default;color:var(--ink)}.antwort-richtig{background:var(--jade-soft);border-color:var(--jade)}.antwort-falsch{border-color:var(--seal);border-style:dashed}.auswertung{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.meldung-richtig{color:var(--jade);margin:0;font-weight:800}.meldung-falsch{color:var(--ink);margin:0;font-weight:800}.zeichen-zeile{align-items:flex-start;gap:12px;margin-top:12px;display:flex}.zeichen-knopf{font:600 var(--fs-34)/1 var(--font-zh);background:var(--jade-soft);min-width:56px;min-height:56px;color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:12px}.bauteile{margin:0;padding:0;list-style:none}.bauteile li{align-items:baseline;gap:8px;display:flex}.bauteil-zeichen{font-family:var(--font-zh);font-weight:600;font-size:var(--fs-20);min-width:1.5em}.blatt{border-radius:var(--radius-card);background:var(--surface);width:min(520px,100vw - 32px);color:var(--ink);border:0;padding:20px}.blatt::backdrop{background:var(--backdrop)}.blatt-kopf{align-items:center;gap:16px;display:flex}.zeichen-gross{font-family:var(--font-zh);font-size:4.5rem;font-weight:700;line-height:1}.seiten-kopf{align-items:center;gap:12px;margin-bottom:16px;display:flex}.seiten-titel{font-size:var(--fs-20);margin:0;line-height:1.25}.strecke{margin:0;padding:0;list-style:none;position:relative}.strecke:before{content:"";background:var(--line);width:2px;position:absolute;top:22px;bottom:22px;left:21px}.station{margin:4px 0;position:relative}.station-link{min-height:56px;color:var(--ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:6px 8px 6px 0;text-decoration:none;display:flex}a.station-link:hover .station-titel{text-decoration:underline}.station-zu{color:var(--muted)}.station-text{flex-direction:column;flex:1;min-width:160px;display:flex}.station-titel{font-weight:600}.wegpunkt{z-index:1;background:var(--surface);border:2px solid var(--line);width:44px;height:44px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;position:relative}.wegpunkt-fertig{background:var(--jade);border-color:var(--jade);color:var(--surface)}.wegpunkt-laeuft{border-color:var(--jade);color:var(--jade)}.wegpunkt-aktuell{border:3px solid var(--seal);color:var(--seal)}.wegpunkt-gesperrt,.wegpunkt-kommtBald{background:var(--sand);border-style:dashed}.aktionen{gap:10px;margin-top:16px;display:grid}.aktion{min-height:var(--button-height);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink);flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}a.aktion{border-left:4px solid var(--jade)}a.aktion:hover .aktion-titel{text-decoration:underline}.aktion-titel{font-weight:600}.aktion-zu{background:var(--sand)}.dialog{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.dialog-zeile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:12px 16px}.dialog-zeile-aktiv{border-color:var(--jade);box-shadow:0 0 0 2px var(--jade-soft)}.sprecher{margin:0;font-weight:600}.sprecher [lang]{font-family:var(--font-zh)}.tempo-label{align-self:center}.zeichen-liste summary{cursor:pointer;min-height:var(--tap-min);color:var(--jade);align-items:center;font-weight:600;display:flex}.zeichen-knopf-klein{font-size:var(--fs-24);min-width:var(--tap-min);min-height:var(--tap-min);margin:4px 4px 0 0}.check-wahl{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.check-wahl .btn{padding:0 8px}.lern-karte progress{width:100%;height:8px;accent-color:var(--jade)}a.btn{text-decoration:none}.pruef-liste{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.pruef-zeile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:12px 16px}.pruef-kopf{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pruef-kopf code{font-size:var(--fs-15);font-weight:600}.pruef-sprecher{font-family:var(--font-zh);color:var(--muted)}.pruef-status{font-size:var(--fs-13);background:var(--sand);border-radius:999px;margin-left:auto;padding:2px 8px}.pruef-status-ok{background:var(--jade-soft);color:var(--jade)}.pruef-hanzi{font-family:var(--font-zh);font-weight:600;font-size:var(--fs-24);margin:6px 0 0}.pruef-text{margin:2px 0}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.unten-nav{z-index:15;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.unten-link{min-height:60px;color:var(--muted);font-size:var(--fs-13);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.unten-symbol{font-family:var(--font-zh);font-size:var(--fs-20);line-height:1}.unten-aktiv{color:var(--jade)}.unten-aktiv .unten-symbol{color:var(--seal)}.filter{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.filter .feld:first-child{grid-column:1/-1}.feld{font-size:var(--fs-15);flex-direction:column;gap:4px;font-weight:600;display:flex}.feld input,.feld select{min-height:var(--tap-min);font:400 var(--fs-16) var(--font-ui);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 12px}.wortliste,.beispiele,.bauteil-liste{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.wortzeile{background:var(--surface);border:1px solid var(--line);min-height:56px;color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.wortzeile-hanzi{font-family:var(--font-zh);font-weight:600;font-size:var(--fs-24);min-width:3.2em}.wortzeile-text{flex-direction:column;flex:1;display:flex}.fach{font-size:var(--fs-13);background:var(--sand);white-space:nowrap;border-radius:999px;padding:2px 8px}.fach-3,.fach-4,.fach-5{background:var(--jade-soft);color:var(--jade)}.zeichen-raster{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin:8px 0 16px;display:grid}.zeichen-kachel{aspect-ratio:1;min-height:56px;font:600 var(--fs-34)/1 var(--font-zh);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;place-items:center;text-decoration:none;display:grid}.zeichen-kachel:hover{border-color:var(--jade)}.bauteil-karte{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.bauteil-gross{font:600 var(--fs-34)/1 var(--font-zh);min-width:2.4em}.bauteil-varianten{font-size:var(--fs-20);color:var(--muted)}.beispiel-zeichen{color:var(--muted);margin-top:4px;display:block}.beispiel-zeichen a,.beispiel-zeichen span[lang]{font-family:var(--font-zh);font-size:var(--fs-20);margin-right:6px}.strichfolge{flex-direction:column;align-items:center;display:flex}.strichfeld{background:var(--paper);border:1px solid var(--line);border-radius:12px;width:260px;height:260px}.strichfeld svg{touch-action:none;display:block}.strichfeld-aktiv{border-color:var(--jade);box-shadow:0 0 0 2px var(--jade-soft)}.strich-meldung{text-align:center;min-height:1.5em;margin:8px 0 0}.strichfolge .knopfreihe{justify-content:center}.pruef-strich summary{cursor:pointer;min-height:var(--tap-min);color:var(--jade);align-items:center;font-weight:600;display:flex}.recht-abschnitt p{overflow-wrap:anywhere;margin:4px 0}.recht-lizenz{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;padding:10px 14px;display:flex}.recht-links{margin-top:32px}.erster-start{text-align:center;flex-direction:column;align-items:center;padding-top:48px;display:flex}.erster-titel{font-size:var(--fs-24);margin:24px 0;line-height:1.4}.sprach-wahl{gap:16px;width:100%;max-width:360px;display:grid}.sprach-knopf{min-height:64px;font-size:var(--fs-20)}.einfuehrung{text-align:left;width:100%}.einf-zeichen{font:700 4.5rem/1 var(--font-zh);color:var(--jade);margin:0 0 8px}.hinweis-karte{margin-top:16px}.anleitung summary{cursor:pointer;min-height:var(--tap-min);color:var(--jade);align-items:center;font-weight:600;display:flex}.pruef-stand p{margin:0 0 6px}.pruef-stand progress{width:100%;height:8px;accent-color:var(--jade)}.pruef-bewertung{border-top:1px solid var(--line);gap:8px;margin-top:10px;padding-top:8px;display:grid}.pruef-korrektur{gap:8px;display:grid}.pruef-haken{min-height:var(--tap-min);align-items:center;gap:8px;display:flex}.pruef-haken input{width:22px;height:22px;accent-color:var(--jade)}.feld textarea{min-height:var(--tap-min);font:400 var(--fs-16) var(--font-ui);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 12px}.pruef-zeile-ok{border-left:4px solid var(--jade)}.pruef-zeile-korrigieren{border-left:4px solid var(--tone3)}.pruef-zeile-streichen{border-left:4px dashed var(--seal)}.pruef-einstieg{border:2px dashed var(--seal);margin-top:16px}.pruef-einstieg p{margin:0 0 10px}.pinyin-tw{font-size:.85em;font-weight:600}.pinyin-gruppe{display:inline}.brand{position:relative}.einst-link{width:var(--tap-min);height:var(--tap-min);font-size:var(--fs-24);color:var(--jade);border:1px solid var(--line);background:var(--surface);border-radius:12px;place-items:center;margin-left:auto;text-decoration:none;display:grid}.einst-abschnitt{margin-top:16px}.einst-abschnitt .klein-titel{margin-top:0}.schalter{min-height:var(--button-height);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.schalter-text{flex-direction:column;display:flex}.schalter input{width:48px;height:28px;accent-color:var(--jade);flex:none}.btn-gefahr{background:var(--seal);border-color:var(--seal)}.wochentage{grid-template-columns:repeat(7,1fr);gap:4px;margin:10px 0 4px;display:grid}.wochentage .btn{min-width:0;padding:0}
