:root{--bg:#fdfcf8;--fg:#22222a;--muted:#71717c;--line:#e6e3da;--card:#fff;--accent:#b3261e;--accent-soft:#f7e8e7;--ok:#2e7d32;--ok-soft:#e8f5e9;--warn:#8a6d00;--warn-soft:#fff8e1}@media (prefers-color-scheme:dark){:root{--bg:#17171b;--fg:#ececf0;--muted:#9a9aa4;--line:#2d2d34;--card:#1f1f25;--accent:#e57368;--accent-soft:#3a2422;--ok:#8fd694;--ok-soft:#1e3320;--warn:#e0c268;--warn-soft:#35301c}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit;cursor:pointer}input{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:8px 10px}.app{max-width:760px;margin:0 auto;padding:0 14px 80px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.topbar .linklike{color:var(--fg);background:0 0;border:none;padding:0;font-size:17px;font-weight:700}.topbar .linklike:disabled{cursor:default}.who{color:var(--muted);font-size:14px}.topbar-right{align-items:center;gap:10px;display:flex}.lang-select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:4px 6px;font-size:13px}.gate-lang{justify-content:flex-end;padding-top:14px;display:flex}.gate{max-width:420px;margin:10vh auto 0;padding:0 18px}.gate h1{margin-bottom:4px}.gate p{color:var(--muted)}.gate form{flex-direction:column;gap:14px;margin-top:18px;display:flex}.gate label{flex-direction:column;gap:6px;font-size:14px;display:flex}.primary{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-weight:600}.primary:active{opacity:.85}.ghost{border:1px solid var(--line);color:var(--fg);background:0 0;border-radius:9px;padding:7px 12px}.danger{color:#fff;background:#7a1712;border:none;border-radius:10px;padding:10px 18px;font-weight:600}.error{color:var(--accent);font-size:14px}.warning{color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:6px 10px;font-size:14px}.muted{color:var(--muted)}.hero{text-align:center;padding:28px 0 12px}.hero h2{margin:0 0 12px}.progressbar{background:var(--line);border-radius:999px;max-width:480px;height:10px;margin:0 auto 18px;overflow:hidden}.progressbar-fill{background:var(--ok);height:100%;transition:width .4s}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:18px;display:grid}.lesson-card{background:var(--card);border:1px solid var(--line);text-align:left;color:var(--fg);border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.lesson-card.done{border-color:var(--ok)}.lesson-card span{color:var(--muted);font-size:14px}.lesson-card small{color:var(--ok)}.lesson-head{align-items:center;gap:12px;padding:14px 0 6px;display:flex}.lesson-head h2{flex:1;margin:0;font-size:19px}.filters{background:var(--bg);z-index:2;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0 14px;display:flex;position:sticky;top:0}.tabs{gap:4px;display:flex}.tab{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:6px 11px;font-size:14px}.tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.filters input[type=search]{flex:1;min-width:140px}.chain{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.words{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.word{background:var(--card);border:1px solid var(--line);border-radius:12px}.word.open{border-color:var(--accent)}.word-head{width:100%;color:var(--fg);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.word-head .surmiran{font-weight:650}.word-head .translation{color:var(--muted);flex:1}.badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.badge.selected{background:var(--ok-soft);color:var(--ok)}.word-body{border-top:1px dashed var(--line);padding:0 14px 14px}.takes{flex-direction:column;gap:6px;margin:10px 0;padding:0;list-style:none;display:flex}.take{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.take audio{max-width:240px;height:34px}.retain{border-color:var(--ok);color:var(--ok)}.delete{border-color:var(--accent);color:var(--accent)}.danger.small{padding:7px 12px;font-size:14px}.record-control{margin-top:10px}.record-control .row{align-items:center;gap:10px;display:flex}.record{font-size:17px}.vumeter{background:var(--line);border-radius:999px;flex:1;height:12px;overflow:hidden}.vumeter-fill{background:var(--ok);height:100%;transition:width 80ms linear}.review{flex-direction:column;gap:8px;margin-top:8px;display:flex}.review audio{width:100%}.empty{text-align:center;padding:30px 0}.adminbar{background:var(--warn-soft);color:var(--warn);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:14px;display:flex}.adminbar input{padding:5px 8px;font-size:14px}.voice-select{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:inline-flex}.voice-select select{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:4px 6px}.voice-banner{color:var(--muted);margin:0 0 8px;font-size:14px}.voice-banner:not(:empty){color:#7a5a00;background:#fff7d6;border-radius:8px;padding:6px 10px}.word{scroll-margin-top:90px}.record-control .hint{font-size:13px}.badge.stale{color:#1f1300;background:#f59e0b}.lesson-card .stale-count{color:#b45309;font-weight:600}
