:root,[data-theme=light]{--surface-100:#f3f4f8;--surface-200:#fff;--surface-300:#e6e9f0;--border:#e2e5ec;--border-strong:#c7ccd8;--ink:#111827;--ink-muted:#5b6273;--ink-faint:#9aa1b2;--brand:#2f4fd8;--brand-hover:#2441c0;--on-brand:#fff;--brand-tint:#e9edff;--brand-ink:#1f3bb3;--highlight:#fde9a8;--success:#0f7a55;--success-tint:#e3f5ec;--danger:#c2410c;--danger-tint:#fdebe2;--warning:#8a5a00;--warning-tint:#fdf1d3;--gender-m-bg:#dbe6ff;--gender-m-ink:#1d3f99;--gender-f-bg:#fde0ec;--gender-f-ink:#8a1f4f;--focus:#2f4fd8;--shadow-hover:0 2px 10px #1118270f;--overlay:#11182766;--pair-1:#2f6fd8;--pair-1-tint:#e3edff;--pair-2:#7a3fd1;--pair-2-tint:#efe6ff;--pair-3:#0e8a8a;--pair-3-tint:#dcf4f2;--pair-4:#c2660c;--pair-4-tint:#fdeedd;--pair-5:#c0307a;--pair-5-tint:#fde3ef;--pair-6:#4d7c0f;--pair-6-tint:#ebf5d9}[data-theme=dark]{--surface-100:#0f1320;--surface-200:#171c2b;--surface-300:#242b3e;--border:#283047;--border-strong:#3d4661;--ink:#e8eaf2;--ink-muted:#a1a9bc;--ink-faint:#69718a;--brand:#7d95ff;--brand-hover:#9aadff;--on-brand:#0b1020;--brand-tint:#1e2754;--brand-ink:#c0ccff;--highlight:#5c4a12;--success:#5fd3a4;--success-tint:#12302a;--danger:#ff9d70;--danger-tint:#3a2117;--warning:#f0c35a;--warning-tint:#382c10;--gender-m-bg:#22325e;--gender-m-ink:#c4d4ff;--gender-f-bg:#4f2238;--gender-f-ink:#ffc8de;--focus:#9aadff;--shadow-hover:0 2px 12px #0006;--overlay:#000000a6;--pair-1:#7aa7ff;--pair-1-tint:#1c2a4d;--pair-2:#b896ff;--pair-2-tint:#2c2147;--pair-3:#5fd0cc;--pair-3-tint:#12302f;--pair-4:#ffb26b;--pair-4-tint:#3a2a16;--pair-5:#ff8ec4;--pair-5-tint:#3d1a2c;--pair-6:#a8d86a;--pair-6-tint:#23301a}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--control-h:40px;--control-h-touch:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--topbar-h:48px;--content-max:1280px;--reading-max:72ch;--tile-min:240px;--font-sans:"Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:Charter, "Iowan Old Style", "Palatino Linotype", Georgia, serif}.t-caption{font:500 12px/16px var(--font-sans)}.t-small{font:400 14px/20px var(--font-sans)}.t-body{font:400 16px/24px var(--font-sans)}.t-strong{font:650 16px/24px var(--font-sans)}.t-input{font:400 16px/24px var(--font-sans)}.t-title{font:700 18px/26px var(--font-sans)}.t-reading{font:400 16px/24px var(--font-sans)}.t-heading{font:800 26px/32px var(--font-sans);letter-spacing:-.01em}.t-display{font:800 40px/42px var(--font-sans);letter-spacing:-.02em}.t-word{font:600 34px/40px var(--font-serif)}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ctl:var(--control-h)}@media (pointer:coarse){:root{--ctl:var(--control-h-touch)}}.ld,.ld *,.ld :before,.ld :after{box-sizing:border-box}.ld{font-family:var(--font-sans);color:var(--ink)}.ld :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ld-muted{color:var(--ink-muted)}.ld p,.ld h1,.ld h2,.ld h3,.ld ul{margin:0;padding:0}.ld ul{list-style:none}.ld-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--ctl);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-200);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;font-weight:650;line-height:1;display:inline-flex}.ld-btn:hover:not([disabled]){background:var(--surface-300)}.ld-btn[disabled]{color:var(--ink-faint);border-color:var(--border);cursor:not-allowed}.ld-btn--primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.ld-btn--primary:hover:not([disabled]){background:var(--brand-hover)}.ld-btn--primary[disabled]{background:var(--surface-300);border-color:var(--surface-300)}.ld-btn--ghost{background:0 0;border-color:#0000}.ld-btn--sm{min-height:calc(var(--ctl) - 8px);padding:0 var(--space-3);font-size:14px}.ld-icon-btn{width:var(--ctl);height:var(--ctl);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-200);color:var(--ink);cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex}.ld-icon-btn:hover{background:var(--surface-300)}.ld-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);white-space:nowrap;background:var(--surface-300);height:22px;color:var(--ink);padding:0 8px;font-weight:650;display:inline-flex}.ld-badge--m{background:var(--gender-m-bg);color:var(--gender-m-ink)}.ld-badge--f{background:var(--gender-f-bg);color:var(--gender-f-ink)}.ld-rungs{align-items:flex-end;gap:3px;display:inline-flex}.ld-rung{width:8px;height:calc(8px + var(--i) * 2px);background:var(--surface-300);border-radius:2px}.ld-rung.is-on{background:var(--brand)}.ld-rungs-n{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-inline-start:var(--space-1)}.ld-progress{border-radius:var(--radius-pill);background:var(--surface-300);height:6px;overflow:hidden}.ld-progress>span{border-radius:inherit;background:var(--brand);min-width:6px;height:100%;display:block}.ld-progress.is-empty>span{min-width:0}.ld-tabs{gap:var(--space-2);border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow:auto hidden}.ld-tab{padding:var(--space-2) var(--space-3);color:var(--ink-muted);font:700 16px/24px var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:baseline;gap:6px;margin-bottom:-1px;display:inline-flex}.ld-tab:hover:not([disabled]){color:var(--ink)}.ld-tab.is-on{color:var(--brand);border-bottom-color:var(--brand)}.ld-tab[disabled]{color:var(--ink-faint);cursor:not-allowed}.ld-tab-hint{font-size:12px;font-weight:500}.ld-panel{background:var(--surface-200);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ld-panel-h{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ld-panel-desc{margin-top:calc(-1 * var(--space-1))}.ld-cols{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;display:grid}.ld-tiles{gap:var(--space-2);grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--tile-min)), 1fr));display:grid}.ld-tile{align-items:stretch;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-200);color:var(--ink);font:inherit;text-align:start;cursor:pointer;flex-direction:column;display:flex}.ld-tile:hover:not([disabled]){border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.ld-tile[disabled]{cursor:default}.ld-tile[disabled] .ld-tile-title{color:var(--ink-muted)}.ld-tile.is-on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.ld-tile-head{align-items:center;gap:var(--space-2);display:flex}.ld-tile-sub{align-items:baseline;gap:var(--space-2);display:flex}.ld-tile-meta{white-space:nowrap;margin-inline-start:auto}.ld-tile-progress{align-items:center;gap:var(--space-2);display:flex}.ld-tile-progress .ld-progress{flex:1}.ld-tile-big{color:var(--brand)}.ld-tile--sm{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);gap:0}.ld-tiles--sm{--tile-min:200px}.ld-rings{justify-content:space-around;gap:var(--space-3);padding-top:var(--space-1);display:flex}.ld-ring{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.ld-ring-disc{width:64px;height:64px;position:relative}.ld-ring-disc svg{display:block}.ld-ring-track,.ld-ring-value{fill:none;stroke-width:7px}.ld-ring-track{stroke:var(--surface-300)}.ld-ring-value{stroke:var(--brand);stroke-linecap:round}.ld-ring-text{font:700 14px/1 var(--font-sans);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ld-chevron{color:var(--ink-muted);flex:none;margin-inline-start:auto;transition:transform .12s}details[open]>summary .ld-chevron{transform:rotate(180deg)}.ld-flag{width:36px;height:24px;box-shadow:0 0 0 1px var(--border);border-radius:4px;flex:none;display:inline-block;overflow:hidden}.ld-flag--sm{border-radius:3px;width:24px;height:16px}.ld-flag--lg{border-radius:6px;width:48px;height:32px}.ld-lang{vertical-align:middle;align-items:center;gap:.4em;display:inline-flex}.ld-pair{flex-wrap:wrap;align-items:center;gap:.4em;display:inline-flex}.ld-flag-text{background:var(--surface-300);color:var(--ink-muted);font:700 11px/1 var(--font-sans);text-transform:uppercase;justify-content:center;align-items:center;display:inline-flex}.ld-fc{gap:var(--space-2);flex-direction:column;display:flex;container:fc/inline-size}.ld-fc-grid{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.ld-fc-pane{justify-content:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-200);border:1px solid var(--border);flex-direction:column;min-height:120px;display:flex}.ld-fc-back.is-hidden{background:var(--surface-100);border-style:dashed;border-color:var(--border-strong);align-items:center}.ld-fc-word{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ld-fc-word .t-word{overflow-wrap:anywhere}.ld-fc-sample{align-items:center;gap:var(--space-2);display:flex}.ld-mark{background:var(--highlight);color:var(--ink);border-radius:4px;padding:0 3px;font-weight:650}.ld-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.ld-actions .ld-btn{flex:1 1 0}@container fc (width>=560px){.ld-fc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ld-fc-pane{min-height:150px}}@container fc (width>=720px){.ld-fc-word .t-word{font-size:44px;line-height:50px}}@media (width>=560px){.ld-actions .ld-btn{flex:none;min-width:150px}}.ld-opts{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.ld-opt{align-items:center;gap:var(--space-3);min-height:var(--ctl);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-200);color:var(--ink);font:inherit;text-align:start;cursor:pointer;grid-template-columns:26px 1fr auto;display:grid}.ld-opt:hover:not([disabled]){border-color:var(--border-strong);background:var(--surface-100)}.ld-opt-k{border-radius:var(--radius-sm);background:var(--surface-300);width:26px;height:26px;color:var(--ink-muted);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.ld-opt.is-picked{background:var(--brand-tint);color:var(--brand-ink);border-color:var(--brand)}.ld-opt.is-ok{background:var(--success-tint);border-color:var(--success)}.ld-opt.is-bad{background:var(--danger-tint);border-color:var(--danger)}.ld-opt.is-ok .ld-opt-r{color:var(--success);font-weight:700}.ld-opt.is-bad .ld-opt-r{color:var(--danger);font-weight:700}.ld-opt[disabled]:not(.is-ok):not(.is-bad){color:var(--ink-muted);cursor:default}.ld-fb{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid;display:flex}.ld-fb-icon{border-radius:var(--radius-pill);width:24px;height:24px;color:var(--surface-200);flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.ld-fb-body{align-items:baseline;gap:0 var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.ld-fb--success{background:var(--success-tint);border-color:var(--success)}.ld-fb--success .ld-fb-icon{background:var(--success)}.ld-fb--success strong{color:var(--success)}.ld-fb--danger{background:var(--danger-tint);border-color:var(--danger)}.ld-fb--danger .ld-fb-icon{background:var(--danger)}.ld-fb--danger strong{color:var(--danger)}.ld-fb--close{background:var(--warning-tint);border-color:var(--warning)}.ld-fb--close .ld-fb-icon{background:var(--warning)}.ld-fb--close strong{color:var(--warning)}.ld-fill{gap:var(--space-2);flex-direction:column;display:flex}.ld-fill-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ld-input{min-height:var(--ctl);width:14ch;min-width:9ch;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-200);color:var(--ink);font-family:inherit}.ld-input:disabled{background:var(--surface-100);color:var(--ink-muted)}.ld-input--wide{flex:20ch;width:auto}.ld-shell{background:var(--surface-100);color:var(--ink);flex-direction:column;min-height:100dvh;display:flex}.ld-top{z-index:5;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-4);background:var(--surface-200);border-bottom:1px solid var(--border);flex:none;display:flex;position:sticky;top:0}.ld-top-brand{color:var(--brand);font-weight:800}.ld-top-main{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-muted);flex:1;overflow:hidden}.ld-top-actions{align-items:center;gap:var(--space-2);display:flex}.ld-top-actions .ld-icon-btn{width:calc(var(--topbar-h) - 2 * var(--space-2));height:calc(var(--topbar-h) - 2 * var(--space-2))}.ld-main{gap:var(--space-3);width:100%;max-width:var(--content-max);padding:var(--space-3) var(--space-3) var(--space-6);flex-direction:column;margin-inline:auto;display:flex}@media (width>=768px){.ld-main{padding:var(--space-5) var(--space-6) var(--space-6)}}.ld-page-head{flex-direction:column;gap:2px;display:flex}.ld-page-head .t-heading{margin:0}.ld-details{background:var(--surface-200);border:1px solid var(--border);border-radius:var(--radius-lg)}.ld-details>summary{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);cursor:pointer;list-style:none;display:flex}.ld-details>summary::-webkit-details-marker{display:none}.ld-details[open]>summary{border-bottom:1px solid var(--border)}.ld-details-body{padding:var(--space-1) var(--space-4) var(--space-3);overflow-x:auto}.ld-table{border-collapse:collapse;width:100%}.ld-table th,.ld-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);text-align:start;vertical-align:middle}.ld-table th{color:var(--ink-muted);font-weight:650}.ld-table tr:last-child td{border-bottom:0}.ld-reading{max-width:var(--reading-max)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body{background:var(--surface-100);color:var(--ink);font-family:var(--font-sans);margin:0}.app-loading{padding:var(--space-4)}.app-brand,.app-context-link{color:inherit;text-decoration:none}.app-context-link:hover{text-decoration:underline}.app-brand:focus-visible,.app-context-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.app-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.app-grow{flex:1;min-width:0}.app-quiet{color:var(--ink-muted)}.app-row-hidden td:not(:last-child),.app-row-hidden td .ld-muted{color:var(--ink-faint)}.app-match{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.app-match-col{gap:var(--space-2);flex-direction:column;display:flex}.app-match-item{grid-template-columns:1fr}.ld-opt.is-ok.app-pair-0{background:var(--pair-1-tint);border-color:var(--pair-1)}.ld-opt.is-ok.app-pair-1{background:var(--pair-2-tint);border-color:var(--pair-2)}.ld-opt.is-ok.app-pair-2{background:var(--pair-3-tint);border-color:var(--pair-3)}.ld-opt.is-ok.app-pair-3{background:var(--pair-4-tint);border-color:var(--pair-4)}.ld-opt.is-ok.app-pair-4{background:var(--pair-5-tint);border-color:var(--pair-5)}.ld-opt.is-ok.app-pair-5{background:var(--pair-6-tint);border-color:var(--pair-6)}.app-theory-block{background:var(--surface-100);border-radius:var(--radius-md);padding:var(--space-3);min-width:0}.app-markdown{line-height:22px}.app-markdown h2{margin:var(--space-3) 0 var(--space-1);font-size:17px;font-weight:700;line-height:24px}.app-markdown h2:first-child{margin-top:0}.app-markdown p,.app-markdown ul{margin:0 0 var(--space-2)}.app-markdown>:last-child{margin-bottom:0}.app-markdown ul{padding-inline-start:var(--space-5);list-style:outside}.app-markdown li+li{margin-top:2px}.app-markdown table{border-collapse:collapse;margin:0 0 var(--space-2);font-size:15px;line-height:20px;display:block;overflow-x:auto}.app-markdown th,.app-markdown td{border:1px solid var(--border);padding:2px var(--space-2);text-align:start}.app-markdown th{background:var(--surface-300);font-weight:650}.app-markdown td{background:var(--surface-200)}.app-markdown .katex{font-size:1em}.app-signin{gap:var(--space-2);justify-items:start;display:grid}.app-signin .ld-fill-row{width:100%}.app-dialog{width:min(420px, calc(100vw - 2 * var(--space-4)));color:var(--ink);gap:var(--space-3);display:grid}.app-dialog:not([open]){display:none}.app-dialog::backdrop{background:var(--overlay)}
