:root{--bg:#faf7f2;--fg:#1d1b19;--muted:#6f6a63;--card:#fff;--line:#e4ded4;--accent:#b4232f;--accent-fg:#fff;--again:#c62f3a;--hard:#b8741a;--good:#2e7d4f;--easy:#2a6aa8;--t1:#d6336c;--t2:#e8590c;--t3:#2f9e44;--t4:#1971c2;--t5:#7048e8;--t6:#868e96;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#171615;--fg:#ece8e2;--muted:#a39d94;--card:#23211f;--line:#36332f;--accent:#e0525c;--t1:#f06595;--t2:#ff922b;--t3:#51cf66;--t4:#4dabf7;--t5:#9775fa;--t6:#adb5bd}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,PingFang HK,Noto Sans HK,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--card);border:1px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:10px;padding:.55em .9em}button:active{transform:translateY(1px)}button:disabled{opacity:.5}a.button{text-align:center;border-radius:10px;padding:.7em .9em;text-decoration:none;display:block}a.button.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}button.danger{color:var(--again)}button.link{color:var(--accent);background:0 0;border:none;padding:0 .25em;text-decoration:underline}input,textarea,select{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:.55em .7em}input[type=checkbox]{width:1.3em;height:1.3em}.muted{color:var(--muted)}.small{font-size:.85em}.error{color:var(--again)}.center{text-align:center;padding:2em 1em}.app{max-width:640px;min-height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex}header{border-bottom:1px solid var(--line);background:var(--bg);z-index:5;align-items:center;gap:.5em;padding:.6em .8em;display:flex;position:sticky;top:0}nav{flex:1;gap:.3em;display:flex}nav button{color:var(--muted);background:0 0;border:none;padding-left:.6em;padding-right:.6em;font-weight:600}nav button.on{color:var(--fg);background:var(--card);border:1px solid var(--line)}.sync-dot{border:3px solid var(--bg);width:1.4em;height:1.4em;box-shadow:0 0 0 1px var(--line);border-radius:50%;flex:none;padding:0}.sync-dot.ok{background:var(--good)}.sync-dot.pending{background:var(--hard)}.sync-dot.syncing{background:var(--easy);animation:1s infinite alternate pulse}.sync-dot.offline{background:var(--t6)}.sync-dot.bad{background:var(--again)}@keyframes pulse{to{opacity:.4}}main{padding:.8em;padding-bottom:calc(6em + env(safe-area-inset-bottom));flex:1}.banner{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:.6em .8em 0;padding:.6em .8em}.banner.bad{border-color:var(--again)}.toast{left:50%;bottom:calc(5.5em + env(safe-area-inset-bottom));background:var(--fg);color:var(--bg);z-index:20;white-space:nowrap;border-radius:10px;align-items:center;gap:.8em;padding:.6em 1em;display:flex;position:fixed;transform:translate(-50%)}.toast .link{color:var(--bg);font-weight:700}.counts{font-variant-numeric:tabular-nums;align-items:center;gap:.8em;font-weight:700;display:flex}.count.new{color:var(--easy)}.count.learn{color:var(--again)}.count.due{color:var(--good)}.count small{color:var(--muted);font-weight:400}.counts .undo{margin-left:auto}.card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:16px;margin-top:.8em;padding:1.2em 1em 1.4em}.card-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.8em}.badge{background:var(--easy);color:#fff;letter-spacing:0;border-radius:999px;margin-left:.6em;padding:.1em .5em;font-size:.85em}.front,.back{margin-top:1em}.back{border-top:1px dashed var(--line);padding-top:1em}.meaning.big,.text.big{margin:.3em 0;font-size:1.5em;font-weight:650}.prompt{color:var(--muted)}.reading{letter-spacing:.01em;font-weight:600}.reading.big{font-size:1.6em}.reading .tone{margin-right:.08em}.reading sup{margin-left:.05em;font-size:.55em}.tone-1{color:var(--t1)}.tone-2{color:var(--t2)}.tone-3{color:var(--t3)}.tone-4{color:var(--t4)}.tone-5{color:var(--t5)}.tone-6{color:var(--t6)}.text{color:var(--muted);font-size:1.3em}.text.big{color:var(--fg)}.text.small{font-size:.9em}.notes{white-space:pre-line;color:var(--muted);text-align:left;background:var(--bg);border-radius:10px;padding:.6em .8em;font-size:.95em}.audio-row{justify-content:center;align-items:center;gap:.6em;margin:.8em 0;display:flex}.audio-row.wrap{flex-wrap:wrap;justify-content:flex-start}button.play{border-radius:50%;width:3em;height:3em;padding:0;font-size:1.1em}button.play.big{background:var(--accent);border-color:var(--accent);width:5em;height:5em;color:var(--accent-fg);font-size:1.8em}button.mic{border-radius:999px;margin-top:.8em;padding:.8em 1.4em}button.mic.on{background:var(--again);border-color:var(--again);color:#fff;animation:.8s infinite alternate pulse}.answer-bar{padding:.6em .8em calc(.6em + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);gap:.4em;max-width:640px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.answer-bar button{flex:1;min-height:3.6em;font-weight:650}.answer-bar .reveal{background:var(--fg);color:var(--bg);border-color:var(--fg)}.rate{color:#fff;border:none;flex-direction:column;justify-content:center;align-items:center;display:flex}.rate small{opacity:.85;font-weight:400}.rate.again{background:var(--again)}.rate.hard{background:var(--hard)}.rate.good{background:var(--good)}.rate.easy{background:var(--easy)}.done{text-align:center;padding:2.5em 1em}.browse-head{gap:.5em;display:flex}.browse-head button{white-space:nowrap}.chips{scrollbar-width:none;gap:.4em;padding:.7em 0;display:flex;overflow-x:auto}.chip{white-space:nowrap;border-radius:999px;padding:.3em .8em;font-size:.9em}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.note-list{margin:0;padding:0;list-style:none}.note-list li{border-bottom:1px solid var(--line);align-items:center;gap:.7em;padding:.6em 0;display:flex}.note-list .play{flex:none;width:2.4em;height:2.4em}.note-main{cursor:pointer;flex:1;min-width:0}.note-main .meaning{font-weight:600}.note-status{cursor:pointer;flex-direction:column;align-items:flex-end;gap:.2em;display:flex}.pill{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.05em .5em;font-size:.75em}.pill.new{color:var(--easy)}.pill.learn{color:var(--again)}.pill.due{color:var(--good);font-weight:700}.pill.known{color:var(--muted)}.deck-list{margin:0 0 1em;padding:0;list-style:none}.deck-list li{border-bottom:1px solid var(--line);align-items:center;gap:.8em;padding:.8em 0;display:flex}.deck-list.off .deck-name{color:var(--muted)}input.switch{flex:none;width:1.5em;height:1.5em}.deck-main{cursor:pointer;flex:1}.deck-name{font-size:1.1em;font-weight:650}.edit label,.settings label{margin:.8em 0;font-weight:600;display:block}.edit label input,.edit label select,.edit label textarea{margin-top:.3em;font-weight:400}.edit label>.small{font-weight:400}.edit label>select+.small{margin-top:.3em;display:block}.edit .preview{margin-top:.3em;font-size:1.2em}fieldset{border:1px solid var(--line);border-radius:12px;margin:1em 0;padding:.6em .9em .9em}legend{padding:0 .3em;font-weight:600}.take{align-items:center;display:inline-flex}.form-actions{flex-wrap:wrap;gap:.6em;margin-top:1em;display:flex}.form-actions .danger{margin-left:auto}.settings section{margin-bottom:1.6em}.settings h3{margin:0 0 .4em}.settings label.row{justify-content:space-between;align-items:center;gap:1em;margin:.5em 0;font-weight:400;display:flex}.settings label.row input[type=number],.settings label.row select{width:7em}.stats,.tones{margin:0;padding:0;list-style:none}.stats li,.tones li{padding:.2em 0}.device{justify-content:space-between;align-items:center;gap:1em;display:flex}.login{flex-direction:column;gap:.8em;max-width:420px;margin:15vh auto 0;padding:1em;display:flex}.login h1{color:var(--accent);margin:0}
