:root{--brand: #c8102e;--brand-strong: #a00d25;--brand-soft: #fdecef;--bg: #f6f6f8;--surface: #ffffff;--surface-2: #f1f1f4;--text: #1c1c22;--muted: #6b6b76;--line: #e3e3e8;--ok: #1e8e4e;--ok-soft: #e5f5ec;--bad: #c62828;--bad-soft: #fdeaea;--warn: #b26a00;--learning: #f0a020;--radius: 14px;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 4px 16px rgb(0 0 0 / .04);color-scheme:light}@media(prefers-color-scheme:dark){:root{--brand: #ff4d5e;--brand-strong: #ff6b79;--brand-soft: #3a1a1f;--bg: #121216;--surface: #1c1c22;--surface-2: #26262e;--text: #ececf1;--muted: #9a9aa6;--line: #2f2f38;--ok: #4cc27f;--ok-soft: #173225;--bad: #ff6b6b;--bad-soft: #3a1c1c;--warn: #f0b04a;--learning: #f0b04a;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--brand)}h1,h2,h3{line-height:1.25;margin:0 0 .5rem}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.875rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.15rem;color:var(--text);text-decoration:none}.logo{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:8px;background:var(--brand);color:#fff;font-size:1.5rem;font-weight:900;line-height:1}.nav{display:flex;gap:.25rem}.nav a{display:flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem}.nav a.active{background:var(--brand-soft);color:var(--brand)}.nav .ico{font-size:1rem}.page{max-width:760px;margin:0 auto;padding:1.25rem 1rem 6rem}@media(max-width:640px){.nav{position:fixed;inset:auto 0 0;justify-content:space-around;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.nav a{flex-direction:column;gap:0;padding:.3rem .6rem;font-size:.72rem;border-radius:10px}.nav .ico{font-size:1.2rem}}.stack{display:flex;flex-direction:column;gap:.9rem}.row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.section{margin-top:1.75rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}.card.narrow{max-width:420px;margin:2rem auto}.card.link:not(.spread){display:block}.card.link{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.card.link:hover{border-color:var(--brand)}.card.link:active{transform:scale(.99)}.hero{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;border:none}.hero .muted{color:#ffffffd9}.stat{text-align:center;padding:.85rem .5rem}.stat .value{font-size:1.6rem;font-weight:800;line-height:1.1}.stat .label{font-size:.8rem;color:var(--muted)}.badge{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-2);color:var(--muted)}.badge.new{background:var(--brand-soft);color:var(--brand)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.due{background:#fff4e0;color:var(--warn)}@media(prefers-color-scheme:dark){.badge.due{background:#3a2c12}}.progress{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.progress .mastered{background:var(--ok)}.progress .learning{background:var(--learning)}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.legend i{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.3rem;vertical-align:-1px}.ring{--p: 0;width:92px;height:92px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#fff calc(var(--p) * 1%),#ffffff40 0)}.ring span{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:var(--brand);font-size:1.35rem;font-weight:800}label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.9rem}label.check{flex-direction:row;align-items:center;gap:.5rem;font-weight:500}input[type=text],input[type=email],input[type=password]{font:inherit;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:700;padding:.75rem 1.2rem;border-radius:12px;border:1px solid transparent;background:var(--brand);color:#fff;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s,transform .1s}.btn:hover{background:var(--brand-strong)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn.block{width:100%}.btn.ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn.ghost:hover{background:var(--surface-2)}.btn.white{background:#fff;color:var(--brand)}.btn.small{padding:.45rem .8rem;font-size:.875rem;border-radius:10px}.btn.danger{background:transparent;border-color:var(--line);color:var(--bad)}.alert{padding:.7rem .9rem;border-radius:10px;font-size:.925rem}.alert.error{background:var(--bad-soft);color:var(--bad)}.alert.success{background:var(--ok-soft);color:var(--ok)}.options{display:flex;flex-direction:column;gap:.6rem}.option{display:flex;align-items:flex-start;gap:.75rem;width:100%;text-align:left;font:inherit;padding:.85rem 1rem;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.option:hover:not(:disabled){border-color:var(--brand)}.option .mark{flex:none;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid var(--line);font-size:.8rem;font-weight:800;color:var(--muted)}.option.multi .mark{border-radius:6px}.option.selected{border-color:var(--brand);background:var(--brand-soft)}.option.selected .mark{border-color:var(--brand);background:var(--brand);color:#fff}.option.right{border-color:var(--ok);background:var(--ok-soft)}.option.right .mark{border-color:var(--ok);background:var(--ok);color:#fff}.option.missed .mark{background:transparent;color:var(--ok)}.option.wrong{border-color:var(--bad);background:var(--bad-soft)}.option.wrong .mark{border-color:var(--bad);background:var(--bad);color:#fff}.option:disabled{cursor:default}.feedback{border-radius:12px;padding:.9rem 1rem}.feedback.ok{background:var(--ok-soft)}.feedback.bad{background:var(--bad-soft)}.feedback strong{display:block;margin-bottom:.25rem}.feedback.ok strong{color:var(--ok)}.feedback.bad strong{color:var(--bad)}.dots{display:flex;gap:4px}.dots i{flex:1;height:6px;border-radius:3px;background:var(--surface-2)}.dots i.ok{background:var(--ok)}.dots i.bad{background:var(--bad)}.dots i.current{background:var(--text)}.boxes{display:inline-flex;gap:3px;vertical-align:middle}.boxes i{width:8px;height:8px;border-radius:2px;background:var(--surface-2);border:1px solid var(--line)}.boxes i.on{background:var(--ok);border-color:var(--ok)}.list{list-style:none;margin:0;padding:0}.list li{padding:.75rem 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:none}.card.list{padding:.25rem 1.1rem}.rank{display:grid;place-items:center;width:2rem;height:2rem;flex:none;border-radius:50%;background:var(--surface-2);font-weight:800}.rank.gold{background:#ffd54a;color:#5a4300}.rank.silver{background:#d9dde3;color:#3d434b}.rank.bronze{background:#e8b48a;color:#5b3010}.me{background:var(--brand-soft);border-radius:10px;padding-left:.5rem!important;padding-right:.5rem!important}.empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.tabs{display:flex;gap:.25rem;margin:.75rem 0 1.25rem;padding:.25rem;border-radius:12px;background:var(--surface-2)}.tabs button{flex:1;font:inherit;font-weight:600;font-size:.9rem;padding:.5rem .4rem;border:none;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}details.card summary{cursor:pointer;list-style:none}details.card summary::-webkit-details-marker{display:none}
