:root{--bg:#0f1115;--card:#1a1d24;--line:#2a2f3a;--text:#e8eaed;--dim:#9aa0aa;--accent:#ff7a45;--ok:#4ade80;--bad:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}button,input{font:inherit;color:inherit}.screen{flex-direction:column;gap:16px;max-width:560px;min-height:100%;margin:0 auto;padding:16px 16px 32px;display:flex}.screen.center{text-align:center;justify-content:center;align-items:center}.loading{height:100%;color:var(--dim);place-items:center;display:grid}.home-header h1{margin:8px 0 4px;font-size:24px}.home-header .sub{color:var(--dim);margin:0;font-size:14px}.review-card{background:var(--accent);color:#1a1206;cursor:pointer;border:none;border-radius:16px;align-items:center;gap:12px;width:100%;padding:18px;font-weight:700;display:flex}.review-count{font-size:28px}.review-label{font-size:15px}.lesson-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lesson{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:14px;flex-direction:column;gap:8px;width:100%;padding:16px;display:flex}.lesson-actions{gap:8px;margin-top:4px;display:flex}.btn.small{background:var(--bg);flex:1;padding:11px;font-size:15px}.lesson-main{align-items:baseline;gap:10px;display:flex}.lesson-no{color:var(--accent);font-weight:700}.lesson-title{font-size:15px}.lesson-meta{color:var(--dim);gap:10px;font-size:13px;display:flex}.pct{margin-left:auto}.bar{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;transition:width .3s}.bar-top{align-items:center;gap:12px;display:flex}.icon{background:var(--card);cursor:pointer;border:none;border-radius:10px;width:40px;height:40px;font-size:18px}.progress-text{color:var(--dim);font-size:14px}.bar-bottom{gap:10px;margin-top:auto;display:flex}.card{border:1px solid var(--line);background:var(--card);border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex}.speaker{background:var(--line);color:var(--dim);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:12px}.line{text-align:left;background:0 0;border:none;width:100%;margin:0;padding:0}.line.en{cursor:pointer;font-size:20px;font-weight:600;line-height:1.4}.line.ipa{color:var(--accent);word-break:break-word;font-size:15px;line-height:1.5}.line.ko{color:var(--dim);cursor:pointer;font-size:15px}.line.ko.big{color:var(--text);font-size:20px;font-weight:600;line-height:1.5}.result{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.ratio{font-size:30px;font-weight:700}.ratio.pass{color:var(--ok)}.ratio.fail{color:var(--bad)}.words{margin:8px 0 0;font-size:16px;line-height:1.7}.words .ok{color:var(--ok)}.words .bad{color:var(--bad);-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.heard{color:var(--dim);margin:10px 0 0;font-size:13px}.heard.live{background:var(--card);color:var(--text);border-radius:12px;min-height:48px;margin:0;padding:12px 14px;font-size:16px;line-height:1.5}.overdue{color:#7a3d1c;font-style:normal;font-weight:700}.review-block{flex-direction:column;gap:8px;display:flex}.pattern-tag{background:var(--line);color:var(--accent);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:12px;font-weight:600}.extra-row{border-top:1px dashed var(--line);align-items:center;padding-top:8px}.extra-tag{color:var(--accent);margin-right:auto;font-size:13px;font-weight:600}.hf-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:340px;padding:24px 8px;display:flex}.hf-phase{letter-spacing:.04em;color:var(--dim);margin:0;font-size:15px;font-weight:700}.hf-phase.listen{color:var(--accent)}.hf-ko{margin:0;font-size:26px;font-weight:700;line-height:1.45}.hf-heard{color:var(--accent);min-height:28px;margin:0;font-size:18px}.hf-en{color:var(--ok);margin:0;font-size:19px;line-height:1.45}.settings{flex-wrap:wrap;gap:16px;display:flex}.settings .toggle{gap:6px}.select{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 10px;font-size:15px}.hint{flex-direction:column;gap:10px;display:flex}.hint-label{color:#c15a24;background:#f5e6d8;border-radius:10px;align-self:flex-start;margin:0;padding:10px 14px;font-size:18px;font-weight:800}.hint-patterns{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hint-patterns li{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;font-size:15px;font-weight:600}.notice{background:var(--card);color:var(--dim);border-radius:10px;margin:0;padding:12px;font-size:13px;line-height:1.5}.actions{flex-direction:column;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:14px;padding:16px;font-size:16px;font-weight:600}.btn:disabled{opacity:.4}.btn.primary{background:var(--accent);border-color:var(--accent);color:#1a1206}.btn.primary.on{background:var(--bad);border-color:var(--bad);color:#fff}.btn.ghost{background:0 0;flex:1}.input{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:14px;font-size:16px}.toggle{color:var(--dim);align-items:center;gap:8px;font-size:14px;display:flex}.done{margin-bottom:8px;font-size:18px}
