:root{--bg:#f7f7f5;--surface:#fff;--text:#1c1c1a;--muted:#62625c;--border:#dcdcd4;--accent:#2f5d50;--accent-text:#fff;--error:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#171716;--surface:#222220;--text:#ececea;--muted:#a3a39b;--border:#3a3a36;--accent:#7fb5a3;--accent-text:#11201b;--error:#f2b8b5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1{margin:0 0 1rem;font-size:1.6rem}a{color:var(--accent)}button,input{font:inherit}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.75rem 1rem;display:flex}.topbar .brand{color:var(--text);font-weight:700;text-decoration:none}.topbar nav{flex:1;gap:1rem;display:flex}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--text);font-weight:600}.account{align-items:center;gap:.75rem;margin-left:auto;display:flex}.account .email{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.page{max-width:48rem;margin:0 auto;padding:1.5rem 1rem 3rem}.status{text-align:center;color:var(--muted);padding:3rem 1rem}.status.error,.form-error,.field-error{color:var(--error)}.empty{background:var(--surface);border:1px dashed var(--border);color:var(--muted);border-radius:.75rem;padding:1.5rem}.auth{max-width:22rem;margin:0 auto;padding:3rem 1rem}.auth form{gap:.75rem;display:grid}.auth label{gap:.25rem;font-weight:500;display:grid}.auth input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:.5rem;padding:.6rem .75rem}.auth input[aria-invalid=true]{border-color:var(--error)}.field-error,.form-error{margin:0;font-size:.9rem}.form-error:empty{display:none}.alt{color:var(--muted);margin-top:1.25rem}button.primary{background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:.5rem;padding:.65rem 1rem;font-weight:600}button.primary:disabled{opacity:.6;cursor:progress}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem}.stat-value{font-size:2rem;font-weight:700;line-height:1.1}.stats.secondary .stat-value{font-size:1.4rem}.stat-label{color:var(--muted);font-size:.9rem}.lead{color:var(--muted);margin-top:-.5rem}.muted{color:var(--muted)}.direction{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1rem 0 1.5rem;display:flex}.direction label{color:var(--muted);gap:.25rem;font-size:.9rem;display:grid}.direction select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:.5rem;min-width:9rem;padding:.5rem .6rem}button.swap{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:.5rem;padding:.45rem .7rem}.pack-list,.concept-list{margin:0;padding:0;list-style:none}.pack-list{gap:.75rem;display:grid}.pack-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem}.pack-card h2{margin:0 0 .25rem;font-size:1.15rem}.pack-card p{margin:.25rem 0}progress{width:100%;height:.6rem;accent-color:var(--accent)}.pack-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0 1.25rem;display:flex}.pack-actions [role=status]:empty{display:none}.concept-list{background:var(--surface);border:1px solid var(--border);border-radius:.75rem}.concept-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}.concept-list li:first-child{border-top:0}.concept-list li.unavailable{opacity:.6}.pair{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.pair .prompt{font-weight:600}.pair .arrow{color:var(--muted)}.badge{background:var(--accent);color:var(--accent-text);border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.badge.muted{border:1px solid var(--border);color:var(--muted);background:0 0;font-weight:500}button.secondary{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:.5rem;flex-shrink:0;padding:.4rem .9rem;font-weight:600}button.secondary:disabled{opacity:.6;cursor:progress}button.secondary.more{margin:1rem auto 0;display:block}a.button{text-decoration:none;display:inline-block}a.button.primary{background:var(--accent);color:var(--accent-text);border-radius:.5rem;padding:.65rem 1.25rem;font-weight:600}.study-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.study-header p{margin:0}.study-card,.study-wait{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem}.study-wait{text-align:center}.study-meta{color:var(--muted);align-items:center;gap:.6rem;margin:0 0 1rem;font-size:.9rem;display:flex}.badge.state{border:1px solid var(--border);color:var(--muted);background:0 0;font-weight:500}.study-word{overflow-wrap:anywhere;margin:.25rem 0;font-size:2rem;font-weight:700}.study-word .pos{color:var(--muted);font-size:.85rem;font-weight:400}.sentence{color:var(--muted);margin:.4rem 0;font-style:italic}.study-answer{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}button.reveal{width:100%;margin-top:1.5rem;padding:.9rem;display:block}.ratings{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.6rem;margin-top:1.5rem;display:grid}button.rating{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;padding:.8rem .5rem;font-weight:600;display:flex}button.rating:hover:not(:disabled){border-color:var(--accent)}button.rating:disabled{opacity:.6;cursor:progress}button.rating kbd{border:1px solid var(--border);color:var(--muted);border-radius:.3rem;padding:0 .35rem;font:.8rem ui-monospace,monospace}.summary{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:1rem 0;display:flex}.summary div{text-align:center}.summary dt{color:var(--muted);font-size:.9rem}.summary dd{margin:0;font-size:1.5rem;font-weight:700}
