:root[data-theme=solarized-dark]{--bg:#002b36;--fg:#839496;--border:#586e75;--accent:#268bd2;--done:#859900;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--wrong:#dc322f;--shadow:#00000073}:root[data-theme=miasma]{--bg:#222;--fg:#c2c2b0;--border:#666;--accent:#c9a554;--done:#5f875f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--wrong:#b36d43;--shadow:#00000073}:root[data-theme=noctis]{--bg:#03191b;--fg:#b2cacd;--border:#47686c;--accent:#49ace9;--done:#49e9a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--wrong:#e66533;--shadow:#00000073}:root[data-theme=moonfly]{--bg:#080808;--fg:#bdbdbd;--border:#949494;--accent:#80a0ff;--done:#8cc85f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--wrong:#ff5454;--shadow:#00000073}:root[data-theme=solarized-light],:root:not([data-theme]){--bg:#fdf6e3;--fg:#657b83;--border:#93a1a1;--accent:#268bd2;--done:#859900;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wrong:#dc322f;--shadow:#0000002e}:root[data-theme=kanagawa-lotus]{--bg:#f2ecbc;--fg:#545464;--border:#8a8980;--accent:#4d699b;--done:#6f894e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wrong:#c84053;--shadow:#0000002e}:root[data-theme=tokyo-night-day]{--bg:#e1e2e7;--fg:#3760bf;--border:#a1a6c5;--accent:#2e7de9;--done:#587539;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wrong:#f52a65;--shadow:#0000002e}:root[data-theme=noctis-lux]{--bg:#f6edda;--fg:#005661;--border:#8ca6a6;--accent:#0094f0;--done:#00b368;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wrong:#e64100;--shadow:#0000002e}:root{--dim:color-mix(in srgb, var(--fg) 70%, var(--bg));--surface:var(--bg);--text:var(--fg);--muted:var(--fg);--accent-text:var(--bg);--right:var(--done);--right-bg:color-mix(in srgb, var(--done) 14%, var(--bg));--wrong-bg:color-mix(in srgb, var(--wrong) 14%, var(--bg));--example-bg:color-mix(in srgb, var(--accent) 8%, var(--bg));--recap-bg:color-mix(in srgb, var(--fg) 8%, var(--bg));--radius:2px;--mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace}:root:is([data-theme=solarized-dark],[data-theme=miasma],[data-theme=noctis],[data-theme=moonfly]) .diagram{filter:invert(93%)hue-rotate(180deg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}*{box-sizing:border-box}html{scroll-padding-bottom:6rem}body{background:var(--bg);color:var(--text);margin:0;font:1.0625rem/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:44rem;margin:0 auto;padding:1.5rem 1rem 4rem}h1,h2,h3,button,select{font-family:var(--mono)}h1{margin:.5rem 0 1.25rem;font-size:1.9rem;line-height:1.25}h2{margin:2.25rem 0 .75rem;font-size:1.35rem}h3{margin:1.5rem 0 .5rem;font-size:1.1rem}a{color:var(--accent)}code{font-family:var(--mono);background:var(--recap-bg);border-radius:var(--radius);padding:.05em .3em;font-size:.9em}figure{margin:1.25rem 0}.diagram{width:100%;max-width:22rem;height:auto;margin:0 auto;display:block}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .6rem}.concepts{margin:0}.concepts>div{border-bottom:1px solid var(--border);padding:.5rem 0}.concepts dt{font-weight:600}.concepts dd{color:var(--muted);margin:0}.badge{color:var(--right);margin:0 0 .5rem;font-size:.85rem}.question fieldset{border:0;min-width:0;margin:0;padding:0}.question legend{margin-bottom:.5rem;padding:0;font-weight:600}.question legend p,.prompt p{margin:0 0 .5rem}.question legend table,.prompt table{font-weight:400}.prompt{font-weight:600}.option{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.6rem;margin:.4rem 0;padding:.6rem .75rem;display:flex}.option.chosen{border-color:var(--accent)}.option input{margin-top:.35rem}button{font:inherit;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:2.75rem;color:var(--accent-text);cursor:pointer;margin:.75rem .5rem 0 0;padding:.4rem 1rem}button[type=button]{color:var(--accent);background:0 0}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.ordering,.matching{margin:.5rem 0;padding:0;list-style:none}.ordering li{border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.5rem;margin:.4rem 0;padding:.4rem .5rem .4rem .75rem;display:flex}.ordering-buttons{flex-shrink:0;gap:.25rem;display:flex}.ordering-text{flex:1}.drag-handle{cursor:grab;touch-action:none;background:radial-gradient(circle, var(--muted) 1.5px, transparent 2px) center / 7px 7px;background-clip:content-box;flex-shrink:0;align-self:stretch;width:2rem;margin:-.4rem 0 -.4rem -.5rem;padding:.75rem .55rem}.ordering li.dragging{z-index:1;background:var(--surface);border-color:var(--accent);box-shadow:0 4px 14px var(--shadow);position:relative}.ordering li.dragging .drag-handle{cursor:grabbing}.match-hint{color:var(--muted);margin:.25rem 0 .5rem;font-size:.95rem}.match-lines{grid-template-columns:minmax(0,1fr) fit-content(50%);align-items:center;column-gap:2.5rem;margin:.5rem 0;display:grid;position:relative}.match-col{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.match-item{text-align:left;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.45rem .7rem;font-size:.95rem;line-height:1.4;display:block;position:relative}button.match-item{color:var(--text);background:var(--surface)}.match-left .match-item{padding-right:1.1rem}.match-right .match-item{padding-left:1.1rem}@media (max-width:30rem){.match-lines{column-gap:2rem;margin:.5rem -.5rem}.match-item{padding:.4rem .5rem;font-size:.9rem}.match-left .match-item{padding-right:.9rem}.match-right .match-item{padding-left:.9rem}}.match-item.linked{border-color:var(--accent)}.match-item[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}button.match-item:disabled{opacity:1;cursor:default}.match-dot{touch-action:none;cursor:crosshair;width:2.75rem;height:2.75rem;margin-top:-1.375rem;position:absolute;top:50%}.match-left .match-dot{right:-1.375rem}.match-right .match-dot{left:-1.375rem}.match-dot:after{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:.8rem;height:.8rem;margin:-.4rem 0 0 -.4rem;position:absolute;inset:50% auto auto 50%}.match-item.linked .match-dot:after{background:var(--accent)}.match-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.match-line{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.match-line.loose{stroke-dasharray:6 5}.match-line.right{stroke:var(--right)}.match-line.wrong{stroke:var(--wrong);stroke-dasharray:4 4}.item-mark{white-space:nowrap;font-size:.85rem;font-weight:600}.match-item .item-mark{margin-top:.15rem;display:block}.slot-row{flex-wrap:wrap;gap:.5rem 0;margin:.75rem 0;padding:0;list-style:none;display:flex}.slot-row li{align-items:center;display:flex}.slot-sep{text-align:center;width:.9rem;color:var(--muted);font-weight:600}.slot,.slot-tile{min-width:3.6rem;min-height:2.75rem;font-family:var(--mono);color:var(--text);background:var(--surface);border-radius:var(--radius);touch-action:none;margin:0;padding:.3rem .45rem;font-size:.95rem}button.slot,button.slot-tile{color:var(--text);background:var(--surface)}.slot{border:2px dashed var(--border)}.slot.filled{border:2px solid var(--accent)}.slot.target{border:2px solid var(--accent);background:var(--example-bg)}.slot.right:not(.target){border:2px solid var(--right);background:var(--right-bg)}.slot.wrong:not(.target){border:2px solid var(--wrong);background:var(--wrong-bg)}.slot{position:relative}.slot.right:after,.slot.wrong:after{text-align:center;width:1.1rem;height:1.1rem;color:var(--surface);border-radius:50%;font:700 .7rem/1.1rem system-ui,sans-serif;position:absolute;top:-.55rem;right:-.55rem}.slot.right:after{content:"✓";background:var(--right)}.slot.wrong:after{content:"✗";background:var(--wrong)}button.slot:disabled{opacity:1;cursor:default}.slot[aria-pressed=true],.slot-tile[aria-pressed=true]{box-shadow:0 0 0 3px var(--accent)}.slot-tray{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.slot-tile{border:1px solid var(--border);cursor:grab}.slot-ghost{z-index:10;pointer-events:none;font-family:var(--mono);background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius);box-shadow:0 4px 14px var(--shadow);justify-content:center;align-items:center;display:flex;position:fixed}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ordering-buttons button{min-width:2.75rem;margin:0;padding:.25rem}.matching li{border-bottom:1px solid var(--border);padding:.75rem 0}.fill{margin:.5rem 0;padding:0;list-style:none}.fill li{padding:.5rem 0}.fill label{flex-direction:column;gap:.35rem;display:flex}.fill-input{align-items:center;gap:.5rem;display:flex}.fill input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:2.75rem;color:var(--text);width:100%;min-width:0;max-width:18rem;padding:.3rem .6rem}.fill input[aria-invalid=true]{border-color:var(--wrong)}.fill-mark{white-space:nowrap;font-weight:600}.fill-right{color:var(--right)}.fill-wrong{color:var(--wrong)}.matching .diagram{max-width:13rem}.matching label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:2.75rem;color:var(--text);max-width:100%;padding:.3rem .5rem}.feedback{border-radius:var(--radius);margin-top:.75rem;padding:.5rem 1rem}.feedback-right{background:var(--right-bg)}.feedback-wrong{background:var(--wrong-bg)}.verdict{margin:.25rem 0;font-weight:600}.feedback-right .verdict{color:var(--right)}.feedback-wrong .verdict{color:var(--wrong)}.reset .hint{color:var(--muted);font-size:.9rem;display:block}.deck{padding-bottom:6rem}.deck-header{grid-template-columns:auto 1fr auto;align-items:baseline;gap:.75rem;font-size:.95rem;display:grid}.deck-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.deck-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0 0;padding:.5rem 1.25rem 1.25rem;overflow-x:auto}.card h2{margin:.75rem 0 1rem}.card h2:focus,.card h2:focus-visible{outline:none}.example{background:var(--example-bg);border-radius:var(--radius);margin:1.25rem 0 .25rem;padding:.25rem 1rem}.example h3{margin-top:.75rem}.card-recap{background:var(--recap-bg)}.question-body.solved .badge{color:var(--right)}.finish-links{flex-direction:column;gap:.75rem;display:flex}.deck-nav{padding:.75rem max(1rem, calc(50% - 21rem)) calc(.75rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.deck-nav button{margin:0}.nav-forward{margin-left:auto}.nav-hint{color:var(--muted);font-size:.9rem}.home{max-width:47.5rem}.menu{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--mono);box-shadow:0 20px 60px var(--shadow), 0 0 0 1px var(--border);margin:1rem 0 0;padding:.5rem}.menu-title{margin:.25rem .5rem;font-size:1.15rem}.menu-lead{color:var(--dim);margin:0 .5rem .75rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.95rem}.menu-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-height:max(14rem,100dvh - 15rem);margin:0;padding:0;list-style:none;overflow-y:auto}.menu-list:focus{outline:none}.menu-list:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.menu-row{cursor:pointer;white-space:nowrap;align-items:center;gap:.6rem;min-height:2rem;padding:.15rem .5rem;display:flex}.menu-row.selected{background:var(--fg);color:var(--bg)}.menu-row.selected .menu-done{color:var(--bg)}.menu-caret{flex:0 0 1ch}.menu-number{font-variant-numeric:tabular-nums;flex:none}.menu-name{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.menu-progress{font-variant-numeric:tabular-nums;flex:none}.menu-done{color:var(--done)}.menu-footer{color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.5rem .5rem .25rem;font-size:.9rem;display:flex}.menu-hint{margin:0}.theme-picker{align-items:center;gap:.5rem;display:flex}.theme-picker select{min-height:2.25rem;font-size:.9rem}@media (max-width:30rem),(pointer:coarse){.menu-row{min-height:2.75rem}}@media (max-width:30rem){.home{padding-left:.5rem;padding-right:.5rem}}
