:root{--bg:#f7f8f5;--surface:#fff;--text:#1c211b;--muted:#5d665b;--border:#dde2d8;--accent:#157a1f;--accent-text:#fff;--accent-soft:#e5f2e3;--ok:#157a1f;--no:#b3261e;--note:#fff7da;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Noto Sans KR,Apple SD Gothic Neo,sans-serif;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121512;--surface:#1b1f1b;--text:#e6eae4;--muted:#a3ad9f;--border:#2f362e;--accent:#5cc46a;--accent-text:#0d1a0f;--accent-soft:#1f3322;--ok:#5cc46a;--no:#ff8a80;--note:#2e2a17}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:.6rem 0 1rem;font-size:1.6rem}h2{margin:1.6rem 0 .6rem;font-size:1.2rem}a{color:var(--accent)}main{max-width:860px;margin:0 auto;padding:0 16px 48px}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.brand{align-items:center;gap:8px;max-width:860px;margin:0 auto;padding:10px 16px 0;font-weight:700;display:flex}.star{color:var(--accent)}.sync{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:400}.sync-error{color:var(--no)}.top nav{scrollbar-width:none;gap:2px;max-width:860px;margin:0 auto;padding:4px 12px 0;display:flex;overflow-x:auto}.top nav a{white-space:nowrap;color:var(--muted);border-bottom:3px solid #0000;padding:8px 10px;text-decoration:none}.top nav a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.btn{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{cursor:default;opacity:.75}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.danger{color:var(--no);border-color:var(--no)}.btn.right{background:var(--accent-soft);border-color:var(--ok);opacity:1}.btn.wrong{border-color:var(--no);color:var(--no);opacity:1}kbd{opacity:.7;font-family:inherit;font-size:.75rem}.say{cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:32px;min-height:32px;padding:4px 6px;font-size:1rem}.say:hover:not(:disabled){background:var(--accent-soft)}.say:disabled{opacity:.3;cursor:not-allowed}.eo-line{align-items:center;gap:2px;display:inline-flex}.eo{font-weight:600}.stress{color:var(--muted);letter-spacing:.02em;font-size:.85rem}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.stats div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:12px}.stats b{font-size:1.6rem;display:block}.stats span{color:var(--muted);font-size:.8rem}.tiles,.lessons{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:0;list-style:none;display:grid}.lessons{counter-reset:n}.tiles a,.lessons a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;color:var(--text);flex-direction:column;padding:14px;text-decoration:none;display:flex}.tiles a:hover,.lessons a:hover{border-color:var(--accent)}.tiles span,.lessons span{color:var(--muted);font-size:.85rem}.letters{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;padding:0;list-style:none;display:grid}.letters li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.glyph{color:var(--accent);font-size:2rem;font-weight:700}.ipa{color:var(--muted);font-size:.9rem}.words{padding:0;list-style:none}.word{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:10px 14px}.word-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag{background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-size:.75rem}.ko{font-size:1.05rem}.ex{color:var(--muted);font-size:.9rem}.note{background:var(--note);border-radius:8px;margin-top:6px;padding:6px 10px;font-size:.9rem}.search input,.quiz input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.search input,.quiz input{width:100%;margin-bottom:12px}.controls{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.flash,.quiz{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex}.front{font-size:1.8rem}.back{font-size:1.4rem;font-weight:600}.grades{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.grades .btn{justify-content:center;padding:9px 4px}.g0{color:var(--no)}.choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;width:100%;display:grid}.choices .btn{border-radius:var(--radius);justify-content:center}.feedback{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.feedback.ok{color:var(--ok)}.feedback.no{color:var(--no)}.big{font-size:2.5rem;font-weight:700}.quiz form{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.lead{font-size:1.1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:var(--surface);min-width:100%;margin:8px 0}th,td{border:1px solid var(--border);text-align:left;padding:6px 10px}th{background:var(--accent-soft)}.examples{padding:0;list-style:none}.examples li{border-bottom:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 0;display:flex}.exercises{padding-left:0;list-style:none}.exercise{margin-bottom:16px}.exercise .feedback{justify-content:flex-start;font-weight:400}.back{margin-top:12px;text-decoration:none;display:inline-block}.sources a{word-break:break-all}@media (width<=520px){.stats{grid-template-columns:repeat(2,1fr)}.grades .btn{font-size:.85rem}.front{font-size:1.5rem}}
