:root{--bg:#f6f5f1;--surface:#fff;--text:#1f2328;--muted:#6b7078;--border:#dcdad3;--accent:#2f5fd0;--ok:#1f8a4c;--ok-bg:#dff3e6;--bad:#c62f2f;--bad-bg:#fbe2e2;--m:#2f6fd6;--n:#1f8a4c;--f:#c62f4f;--p:#7a4cc2;--case-nom:#3793e6;--case-akk:#d9480f;--case-dat:#1f8a4c;--case-gen:#4527a0;--ending-tint:18%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16181c;--surface:#1f2228;--text:#e8e9eb;--muted:#9aa0a8;--border:#353a42;--accent:#7ea2ff;--ok:#5fd08d;--ok-bg:#173826;--bad:#ff7b7b;--bad-bg:#3d1c1c;--m:#79a8ff;--n:#5fd08d;--f:#ff8199;--p:#b99bff;--case-nom:#4a9bf0;--case-akk:#e8590c;--case-dat:#2a9a5a;--case-gen:#5a3fd0;--ending-tint:0%}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16181c;--surface:#1f2228;--text:#e8e9eb;--muted:#9aa0a8;--border:#353a42;--accent:#7ea2ff;--ok:#5fd08d;--ok-bg:#173826;--bad:#ff7b7b;--bad-bg:#3d1c1c;--m:#79a8ff;--n:#5fd08d;--f:#ff8199;--p:#b99bff;--case-nom:#4a9bf0;--case-akk:#e8590c;--case-dat:#2a9a5a;--case-gen:#5a3fd0;--ending-tint:0%}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:760px;margin:0 auto;padding:24px 16px 48px}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}h1{margin:0;font-size:1.5rem}h2{color:var(--muted);margin:0 0 8px;font-size:1rem;font-weight:600}.stats{gap:20px;display:flex}.stats div{flex-direction:column;align-items:center;display:flex}.stats span{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.stats small{color:var(--muted);font-size:.75rem}#stat-perfect{color:var(--ok)}#stat-errors{color:var(--bad)}.title{align-items:center;gap:10px;display:flex}.icon-button{color:var(--muted);justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover{color:var(--accent)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;width:min(480px,100vw - 32px);max-height:calc(100vh - 32px);padding:20px 24px;overflow-y:auto}dialog::backdrop{background:#00000073}dialog h2{color:var(--text);margin:0;font-size:1.2rem}fieldset{border:none;margin:16px 0 0;padding:0}legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem}fieldset>div{flex-direction:column;gap:6px;display:flex}#gender-list,#case-list{flex-flow:wrap;gap:6px 16px}.dialog-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.dialog-actions a{color:var(--muted);font-size:.9rem}.hint{color:var(--muted);margin:0 0 8px;font-size:.85rem}#history-row{flex-direction:row;align-items:center;gap:12px}#history-row .hint{margin:0}fieldset>.segmented{border:1px solid var(--border);border-radius:8px;flex-direction:row;gap:0;display:flex;overflow:hidden}.segmented label{flex:1;justify-content:center;gap:0;padding:8px}.segmented label+label{border-left:1px solid var(--border)}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:checked){background:var(--accent);color:var(--surface);font-weight:600}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-4px}fieldset label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.error{color:var(--bad);margin:8px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:24px;padding:24px}.prompt{text-align:center}.case-badge{background:var(--accent);color:#fff;border-radius:999px;padding:4px 16px;font-size:1.1rem;font-weight:700;display:inline-block}.case-badge.case-nom{background:var(--case-nom)}.case-badge.case-akk{background:var(--case-akk)}.case-badge.case-dat{background:var(--case-dat)}.case-badge.case-gen{background:var(--case-gen)}.case-badge small{opacity:.85;margin-left:6px;font-weight:400}.exercise-name{color:var(--muted);margin-top:6px;font-size:.85rem}.given{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:12px;margin-top:12px;font-size:1.6rem;display:flex}.noun{font-weight:700}.gender{border:1px solid;border-radius:6px;padding:2px 8px;font-size:.9rem;font-weight:600}.gender.m{color:var(--m)}.gender.n{color:var(--n)}.gender.f{color:var(--f)}.gender.p{color:var(--p)}.adjective{color:var(--muted);font-style:italic}.phrase{text-align:center;flex-wrap:wrap;justify-content:center;gap:10px;min-height:2.2rem;margin:20px 0;font-size:1.5rem;display:flex}.phrase .blank{color:var(--muted)}.phrase .filled{color:var(--ok);font-weight:600}.slot{margin-top:14px}.slot-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem}.options{flex-wrap:wrap;gap:8px;display:flex}button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 14px;transition:background .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{cursor:default}.options button{min-width:72px;font-size:1.05rem}.options button.correct{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);font-weight:700}.options button.wrong{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.options.done button:not(.correct):not(.wrong){opacity:.45}.result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.result.perfect #result-text{color:var(--ok);font-weight:600}.result.mistakes #result-text{color:var(--bad);font-weight:600}button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent);font-weight:600}button.danger{color:var(--bad)}dialog.tables-dialog{width:min(840px,100vw - 32px)}.tables h2{color:var(--muted);margin:16px 0 8px;font-size:1rem}.table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.tables table{border-collapse:collapse;width:100%;font-size:.95rem}.tables th,.tables td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.tables tr:last-child>*{border-bottom:none}.tables thead th{border-bottom:2px solid;font-weight:700}.tables thead th.corner{color:var(--muted);border-bottom-color:var(--border)}.tables tr.sub>:not([rowspan="2"]){border-bottom-style:dashed}.tables tbody th{color:#fff;width:1%;font-weight:700}.tables th.case-nom{background:var(--case-nom)}.tables th.case-akk{background:var(--case-akk)}.tables th.case-dat{background:var(--case-dat)}.tables th.case-gen{background:var(--case-gen)}.tables .g-m{--g:var(--m)}.tables .g-n{--g:var(--n)}.tables .g-f{--g:var(--f)}.tables .g-p{--g:var(--p)}.tables thead th[class^=g-]{color:var(--g)}.tables td b{color:var(--g);background:color-mix(in srgb, var(--g) var(--ending-tint), transparent);border-radius:3px}.breakdown table{border-collapse:collapse;width:100%;font-size:.9rem}.breakdown th,.breakdown td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.breakdown th{color:var(--muted);font-weight:600}.breakdown td:not(:first-child),.breakdown th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}@media (width<=520px){.card{padding:16px}.stats{gap:12px}.given{font-size:1.3rem}}
