:root{--bg:#14122b;--panel:#211e45;--line:#34306a;--text:#f3f1ff;--muted:#a9a4d4;--accent:#ffc83d;--good:#4ade80;--bad:#ff7a7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:17px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box;margin:0}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;display:block}em{color:var(--muted);margin-top:4px;font-size:.9rem;font-style:normal;display:block}.primary{background:var(--accent);color:#241c00;border-radius:14px;width:100%;padding:15px;font-weight:700;transition:transform .1s,opacity .2s}.primary:active{transform:scale(.97)}.primary:disabled{opacity:.35}.ghost{color:var(--muted);border-radius:10px;padding:10px 14px}.ghost.on{background:var(--line);color:var(--accent)}.home{max-width:560px;padding:calc(20px + env(safe-area-inset-top)) 16px 32px;margin:0 auto}.home header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.home h1{letter-spacing:-.02em;font-size:1.7rem}.home h2{color:var(--muted);margin:20px 0 12px;font-size:1rem}.stats{gap:8px;font-size:.85rem;display:flex}.stats span,.stats button{background:var(--panel);border-radius:99px;padding:6px 10px}.card{text-align:left;background:var(--panel);border-radius:16px;align-items:center;gap:14px;width:100%;margin-bottom:12px;padding:10px;display:flex}.card img{border-radius:10px;flex:none;width:120px;height:auto}.card.review{padding:14px}.card.review:disabled{opacity:.6}.card .icon{background:var(--line);width:44px;height:44px;color:var(--accent);border-radius:12px;flex:none;place-items:center;font-size:1.3rem;display:grid}.card strong{margin:2px 0 4px;display:block}.card span{color:var(--muted);font-size:.85rem}.card small{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge{background:var(--line);color:var(--accent);letter-spacing:0;border-radius:99px;padding:1px 7px;font-size:.72rem}.badge.empty{color:var(--muted)}.goal{background:var(--panel);color:var(--muted);border-radius:16px;grid-template-columns:1fr auto;gap:6px 10px;padding:12px 14px;font-size:.85rem;display:grid}.goal progress{grid-column:1/-1;margin:0}.skills{grid-template-columns:1fr 1fr;gap:10px;display:grid}.skill{background:var(--panel);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:10px 12px;font-size:.9rem;display:grid}.skill progress,.skill small{grid-column:1/-1;margin:0}.skill progress{height:6px}.skill small{text-transform:none;letter-spacing:0}.note{color:var(--muted);margin-top:8px;font-size:.75rem}.chips{scrollbar-width:none;gap:8px;margin:0 -16px 12px;padding:0 16px;display:flex;overflow-x:auto}.chips .chip{flex:none;padding:7px 12px;font-size:.85rem}.chips .chip.on{background:var(--accent);color:#241c00;border-color:var(--accent)}.welcome h1{margin-bottom:8px}.welcome em{margin:4px 0 16px}.welcome .choice{padding:16px}.welcome .ghost{width:100%}.lesson{flex-direction:column;max-width:560px;height:100%;margin:0 auto;display:flex}.lesson nav{padding:calc(6px + env(safe-area-inset-top)) 8px 6px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.lesson nav span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson nav .ghost{font-size:1.3rem;line-height:1}.video{aspect-ratio:16/9;background:#000;flex:none}.lesson section{flex:1;padding:16px;overflow:hidden auto}.lesson footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.intro{margin-bottom:8px}.hint{color:var(--muted);margin-bottom:14px;font-size:.85rem}.line{border-left:3px solid #0000;border-radius:12px;align-items:flex-start;gap:4px;display:flex}.line.now{background:var(--panel);border-left-color:var(--accent)}.say{text-align:left;flex:1;padding:9px 10px}.say u,.hint u{-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:4px}.pt{margin-top:12px;font-size:.75rem;font-weight:700}progress{appearance:none;background:var(--line);border:0;border-radius:99px;width:100%;height:8px;margin-bottom:20px;overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent);transition:width .3s}progress::-moz-progress-bar{background:var(--accent)}.practice h3{margin-bottom:14px}.listen{background:var(--panel);border-radius:12px;margin-bottom:18px;padding:12px 16px}.sentence{margin-bottom:18px;font-size:1.2rem}.translation{color:var(--muted);margin-bottom:16px}.gap{color:var(--accent);font-weight:700}.gap.right{color:var(--good)}input{width:100%;font:inherit;color:inherit;background:var(--panel);border:2px solid var(--line);border-radius:12px;outline:none;margin-bottom:12px;padding:14px}input:focus{border-color:var(--accent)}input.wrong{border-color:var(--bad)}.feedback{color:var(--bad);margin-bottom:12px}.feedback.good{color:var(--good)}.practice .ghost{width:100%;margin-top:6px}.answer{border:2px dashed var(--line);border-radius:14px;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:108px;margin-bottom:14px;padding:10px;display:flex}.answer.right{border:2px solid var(--good)}.answer.wrong{border-color:var(--bad);animation:.3s shake}.pool{flex-wrap:wrap;gap:8px;min-height:52px;margin-bottom:18px;display:flex}.chip{background:var(--panel);border:1px solid var(--line);border-bottom-width:3px;border-radius:12px;padding:9px 13px}.chip:active{border-bottom-width:1px;transform:translateY(2px)}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.done{text-align:center;flex-direction:column;justify-content:center;gap:12px;display:flex}.done .big{align-self:center;font-size:4rem;animation:.5s pop}.done p{color:var(--muted);margin-bottom:12px}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.2)}}.sentence .hit{color:var(--good)}.sentence .miss{color:var(--bad)}.mic.listening{opacity:1;animation:1s infinite pulse}@keyframes pulse{50%{filter:brightness(1.2);transform:scale(.97)}}.flashcard{background:var(--panel);text-align:center;border-radius:18px;min-height:190px;margin-bottom:18px;padding:28px 18px}.flashcard p{color:var(--muted);margin-top:10px}.flashcard .meaning{color:var(--accent);font-size:1.2rem;font-weight:600}.row{gap:10px;display:flex}.again{background:var(--line);color:var(--text)}.backdrop{background:#0008;position:fixed;inset:0}.sheet{background:var(--panel);max-width:560px;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:0 auto;animation:.2s rise;position:fixed;bottom:0;left:0;right:0}.sheet h3{font-size:1.3rem}.sheet .meaning{color:var(--accent);margin:2px 0 10px;font-weight:600}.sheet p{margin-bottom:14px}@keyframes rise{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
