:root{--bg:#f7f7f8;--surface:#fff;--text:#1d1d20;--muted:#6b6b75;--border:#e2e2e7;--accent:#3b5bdb;--due:#2f9e44;--new:#1c7ed6;--again:#e03131;--hard:#e8590c;--good:#2f9e44;--easy:#1c7ed6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141417;--surface:#1d1d22;--text:#e9e9ee;--muted:#9a9aa6;--border:#2e2e36;--accent:#748ffc}.shiki,.shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:820px;margin:0 auto;padding:24px 16px 120px}.auth-page{max-width:580px;padding-top:56px}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:28px;padding:24px}.auth-card h2{margin-top:0}.auth-card form,.auth-card label{flex-direction:column;gap:8px;display:flex}.auth-card form{gap:14px}.auth-card input{width:100%;font:inherit;padding:10px}.auth-card small{color:var(--muted)}.auth-toggle{width:100%;margin-top:20px}.account-bar{flex-wrap:wrap;align-items:center;gap:12px;max-width:820px;margin:12px auto 0;padding:0 16px;display:flex}h1{margin:0 0 4px}.language-toolbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);justify-content:flex-end;padding:8px max(16px,50vw - 394px);display:flex;position:sticky;top:0}.language-control{flex-direction:column;gap:4px;display:flex}.language-control small{max-width:360px;color:var(--again)}.language-switch{flex-shrink:0;gap:4px;display:flex}.language-switch button{padding:4px 10px;font-size:14px}.language-switch button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.topbar,.drawer-bar{flex-wrap:wrap}.muted{color:var(--muted)}.due{color:var(--due)}.new{color:var(--new)}button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.learner-controls,.review-timing{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0;padding:16px;display:flex}.learner-controls label,.review-timing label{flex-direction:column;gap:5px;display:flex}.learner-controls form,.timing-inputs{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.learner-controls p,.review-timing p{flex-basis:100%;margin:0;font-size:14px}.learner-controls input,.learner-controls select,.review-timing input,.review-timing select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:7px;max-width:100%;padding:8px}.review-timing input[type=number]{width:110px}.answer-bar .review-timing{background:0 0;border:0;border-radius:0;flex-basis:100%;gap:8px 14px;margin:0 0 6px;padding:0}.answer-bar .review-timing>label{flex:1;width:auto;min-width:180px}.study:has(.review-timing){padding-bottom:350px}.form-error,.storage-notice{color:var(--again)}@media (width<=480px){.learner-controls label,.review-timing>label,.learner-controls form{width:100%}}kbd{opacity:.6;border:1px solid;border-radius:4px;margin-left:6px;padding:1px 5px;font:12px ui-monospace,monospace}table.decks{border-collapse:collapse;background:var(--surface);border-radius:10px;width:100%;margin:24px 0;overflow:hidden}.decks th,.decks td{border-bottom:1px solid var(--border);text-align:left;padding:10px 14px}.decks tr:last-child td{border-bottom:none}.decks .num{text-align:right;white-space:nowrap;width:1%}.mobile-stat-label{display:none}@media (width<=480px){table.decks,.decks tbody{display:block}.decks thead{display:none}.decks tr{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr auto;display:grid}.decks th,.decks td{border-bottom:0;padding:8px 10px;font-size:14px}.decks td:first-child{overflow-wrap:anywhere;grid-column:1/-1}.decks .num{white-space:normal;text-align:left;align-content:center;width:auto}.decks td:last-child,.decks .level-row th:last-child{text-align:right}.decks .level-row{grid-template-columns:1fr auto}.decks button{padding:6px 8px;font-size:13px}.mobile-stat-label{display:inline}}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px}.card h2{margin-top:0;font-size:1.25rem}.card hr{border:none;border-top:1px dashed var(--border);margin:20px 0}.md pre.shiki{border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:14px;overflow-x:auto}.md code{font-family:ui-monospace,JetBrains Mono,Menlo,monospace}.md :not(pre)>code{background:var(--border);border-radius:4px;padding:1px 5px;font-size:.9em}.answer-bar{background:var(--bg);border-top:1px solid var(--border);justify-content:center;gap:8px;padding:14px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.answer-bar .wide{min-width:260px}.grade{flex-direction:column;align-items:center;min-width:90px;display:flex}.grade .interval{color:var(--muted);font-size:12px}.grade-again{border-color:var(--again)}.grade-hard{border-color:var(--hard)}.grade-good{border-color:var(--good)}.grade-easy{border-color:var(--easy)}.done{text-align:center;padding-top:80px}.badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent);vertical-align:middle;border-radius:4px;margin-right:10px;padding:1px 6px;font-size:12px;font-weight:600}.editor{border:1px solid var(--border);border-radius:8px;margin-top:12px;font-size:14px;overflow:hidden}.editor .cm-editor{min-height:160px;max-height:420px}.editor .cm-scroller{font-family:ui-monospace,JetBrains Mono,Menlo,monospace}.editor .cm-editor.cm-focused{outline:none}.tests summary{cursor:pointer;color:var(--muted);margin-top:8px}.run-bar{align-items:center;gap:12px;margin-top:12px;display:flex}.run-status{font-weight:600}.run-passed{color:var(--good)}.run-failed,.run-compile_error,.run-crashed,.run-timeout,.run-no_compiler{color:var(--again)}.run-output{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;max-height:320px;margin:12px 0 0;padding:12px 14px;font:13px/1.45 ui-monospace,Menlo,monospace;overflow:auto}.answer-bar{flex-wrap:wrap;align-items:center}.hint{color:var(--muted);margin-left:8px;font-size:14px}.hint.run-passed{color:var(--good)}.md table{border-collapse:collapse;margin:12px 0;font-size:15px}.md th,.md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.md th{background:var(--bg)}.md a.term{color:inherit;-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:3px;cursor:help;text-decoration-thickness:1.5px}.md a.term:hover{color:var(--accent)}.drawer-backdrop{z-index:10;background:#00000040;position:fixed;inset:0}.drawer{z-index:11;background:var(--surface);border-left:1px solid var(--border);width:min(520px,100%);padding:16px 24px 40px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 24px #0000001f}.drawer-bar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.drawer h2{margin:8px 0 4px}.drawer .aka{color:var(--muted);margin-bottom:8px;font-size:14px}.drawer .aka p{margin:0}.glossary h1{margin:8px 0 12px}.glossary .search{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;margin-bottom:8px;padding:10px 12px}.glossary h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 8px;font-size:15px}.term-list{flex-wrap:wrap;gap:8px;display:flex}.md a.term code{-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:3px}.one-liner{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-top:12px;padding:10px 12px;font:14px ui-monospace,JetBrains Mono,Menlo,monospace}.one-liner:focus{outline:2px solid var(--accent);outline-offset:-1px}.fatal pre{white-space:pre-wrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;font:13px/1.45 ui-monospace,Menlo,monospace}.level-row th{background:var(--bg);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:14px}.level-row button{text-transform:none;letter-spacing:0;padding:4px 10px;font-size:13px}.level-num{text-align:center;background:var(--accent);color:#fff;border-radius:4px;min-width:1.5em;margin-right:4px;font-size:12px;font-weight:600;display:inline-block}.deck-topic{font-size:13px}.curriculum-hint{font-size:14px}.deck-preparation{margin-top:4px;font-size:13px}.deck-preparation summary{cursor:pointer;color:var(--muted)}.deck-preparation ul{margin:6px 0 0;padding-left:16px}.deck-preparation li+li{margin-top:4px}.deck-preparation button{font-size:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:3px 6px}.choices{flex-direction:column;gap:8px;margin-top:12px;display:flex}.choice{text-align:left;align-items:center;gap:12px;padding:6px 12px;display:flex}.choice .md{flex:1}.choice .md p{margin:4px 0}.choice:disabled{opacity:1;cursor:default}.choice.picked{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice-key{color:var(--muted);font:12px ui-monospace,monospace}.choice.choice-right{border-color:var(--good);box-shadow:inset 0 0 0 1px var(--good)}.choice.choice-wrong{border-color:var(--again);box-shadow:inset 0 0 0 1px var(--again)}.choice-mark{font-weight:700}.choice-right .choice-mark{color:var(--good)}.choice-wrong .choice-mark,.hint.run-failed{color:var(--again)}.knowledge{max-width:1100px}.map-scroll{margin:20px 0;overflow-x:auto}table.map{border-collapse:separate;border-spacing:6px;width:100%;min-width:760px}.map thead th{color:var(--muted);text-align:left;white-space:nowrap;font-size:13px;font-weight:600}.map tbody th,.map tfoot th{text-align:right;white-space:nowrap;padding-right:8px;font-size:14px;font-weight:500}.map td{vertical-align:top;width:14%;height:72px}.map tfoot td{text-align:center;height:auto;font-size:13px}.map-cell{text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;height:100%;padding:8px 10px;display:flex}.map-pct{font-size:18px;font-weight:700}.map-count{color:var(--muted);font-size:12px}.map-bar{background:var(--border);border-radius:3px;width:100%;height:5px;margin-top:auto;display:flex;overflow:hidden}.map-bar i{height:100%;display:block}.b-mature{background:var(--good)}.b-young{background:#94d82d}.b-learning{background:var(--hard)}.weakest{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.weakest h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 0;font-size:15px}
