.xl-code{font-family:var(--f-mono);background:var(--sunk);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.92em}.xl-list{flex-direction:column;gap:14px;display:flex}.xl-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.xl-lessons{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.xl-lesson{color:var(--ink);grid-template-columns:44px minmax(0,1fr);gap:14px;height:100%;padding:16px;text-decoration:none;transition:transform .14s;display:grid}.xl-lesson:hover{transform:translateY(-2px)}.xl-lesson h3{font-family:var(--f-display);font-size:19px;font-weight:400;line-height:1.15}.xl-lesson p{font-size:13px}.xl-num{border:2px solid var(--ink);border-radius:var(--radius);place-items:center;width:44px;height:44px;font-size:18px;font-weight:600;display:grid}.xl-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}@media (prefers-reduced-motion:reduce){.xl-lesson{transition:none}.xl-lesson:hover{transform:none}}.xl-read{flex-direction:column;gap:12px;max-width:68ch;font-size:16px;line-height:1.55;display:flex}.xl-pager{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.xl-practice{flex-direction:column;gap:14px;max-width:760px;padding:18px;display:flex}.xl-ptop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.xl-dots{flex-wrap:wrap;gap:6px;display:flex}.xl-dot{border:2px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--muted);font:600 13px var(--f-mono);cursor:pointer;border-radius:50%;padding:0}.xl-dot.done{border-color:var(--good);background:var(--good-tint);color:var(--good)}.xl-dot.now{border-color:var(--accent);color:var(--ink)}.xl-ex{flex-direction:column;gap:10px;min-width:0;display:flex}.xl-prompt{font-size:16px;font-weight:600}.xl-bar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.xl-name{border:2px solid var(--line);border-radius:var(--radius);text-align:center;min-width:52px;padding:10px;font-size:14px;font-weight:600}.xl-fx{font-family:var(--f-mono);width:100%;min-width:0;font-size:16px}.xl-keys{flex-wrap:wrap;gap:4px;display:flex}.xl-key{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:34px;height:32px;color:var(--ink);cursor:pointer;padding:0 6px;font-size:15px}.xl-key:active{background:var(--sunk)}@media (hover:hover) and (pointer:fine){.xl-keys{display:none}}.xl-scroll{border:1.5px solid var(--line);border-radius:var(--radius);max-width:100%;overflow-x:auto}.xl-grid{border-collapse:collapse;-webkit-user-select:none;user-select:none;min-width:100%;font-size:14px}.xl-grid.pick td{cursor:cell;touch-action:none}.xl-grid th{background:var(--sunk);color:var(--muted);font:500 12px var(--f-mono);border:1px solid var(--line);text-align:center;min-width:28px;padding:4px 8px}.xl-grid td{border:1px solid var(--line);white-space:nowrap;background:var(--surface);cursor:default;min-width:72px;height:34px;padding:6px 10px}.xl-grid td.num{text-align:right;font-variant-numeric:tabular-nums}.xl-grid td.head{font-weight:700}.xl-grid td.err{color:var(--bad);font-family:var(--f-mono);font-size:13px}.xl-grid td.spot{outline:2.5px solid var(--accent);outline-offset:-2.5px}.xl-grid td.fill{outline:1.5px dashed var(--accent);outline-offset:-2px}.xl-grid td.wrong{background:var(--bad-tint)}.xl-grid td.picked{background:var(--info-tint)}.xl-cell{overflow-wrap:anywhere;min-height:1.4em;font-size:13px}.xl-say{flex-direction:column;gap:6px;min-height:1.4em;display:flex}.xl-say .good{color:var(--good);overflow-wrap:anywhere}.xl-say .bad{color:var(--bad)}.xl-hint{border-left:3px solid var(--accent);padding-left:8px;font-size:14px}.xl-finished{border-top:1.5px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.xl-ref{border-collapse:collapse;width:100%;font-size:14px}.xl-ref th,.xl-ref td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.xl-ref th{white-space:normal;overflow-wrap:anywhere;width:45%;font-weight:600}.xl-answers{flex-direction:column;gap:6px;display:flex}.xl-answers .xl-code{white-space:normal;overflow-wrap:anywhere}
