.cx-code{font-family:var(--f-mono);background:var(--sunk);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.92em}.cx-list{flex-direction:column;gap:14px;display:flex}.cx-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.cx-lessons{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.cx-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}.cx-lesson:hover{transform:translateY(-2px)}.cx-lesson h3{font-family:var(--f-display);font-size:19px;font-weight:400;line-height:1.15}.cx-lesson p{font-size:13px}.cx-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}.cx-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}@media (prefers-reduced-motion:reduce){.cx-lesson{transition:none}.cx-lesson:hover{transform:none}}.cx-read{flex-direction:column;gap:12px;min-width:0;max-width:68ch;font-size:16px;line-height:1.55;display:flex}.cx-sub{margin-top:10px}.cx-ul{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.cx-ul li{padding-left:2px}.cx-tip{font-size:15px;line-height:1.5}.cx-read strong{font-weight:600}.cx-block{border:1.5px solid var(--line);border-radius:var(--radius);min-width:0;margin:0;overflow:hidden}.cx-pre,.cx-out pre{font-family:var(--f-mono);white-space:pre;tab-size:4;margin:0;font-size:14px;line-height:1.5;overflow-x:auto}.cx-pre{background:var(--sunk);padding:12px 14px}.cx-out{border-top:1.5px solid var(--line);background:var(--surface);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.cx-pager{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.cx-main{flex-direction:column;gap:32px;min-width:0;display:flex}.cx-toc{display:none}@media (min-width:1200px){.cx-lesson-page{grid-template-columns:250px minmax(0,900px);align-items:start;gap:56px;display:grid}.cx-main{grid-area:1/2}.cx-toc{border-top:2px solid var(--ink);flex-direction:column;grid-area:1/1;gap:8px;max-height:calc(100dvh - 32px);margin-top:4px;padding-top:10px;display:flex;position:sticky;top:16px;overflow-y:auto}.cx-toc>.eyebrow{text-decoration:none}.cx-toc>.eyebrow:hover{color:var(--accent)}.cx-toc ol{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cx-toc li a{color:var(--muted);border-radius:var(--radius);grid-template-columns:28px minmax(0,1fr);align-items:baseline;padding:6px 8px 6px 0;font-size:14px;line-height:1.3;text-decoration:none;display:grid}.cx-toc li a:hover{color:var(--accent)}.cx-toc li a[aria-current=page]{color:var(--ink);background:var(--surface);margin-left:-6px;padding-left:6px;font-weight:700}.cx-toc-n{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:12px}}.cx-practice{flex-direction:column;gap:14px;min-width:0;max-width:760px;padding:18px;display:flex}.cx-ptop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.cx-dots{flex-wrap:wrap;gap:6px;display:flex}.cx-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}.cx-dot.done{border-color:var(--good);background:var(--good-tint);color:var(--good)}.cx-dot.now{border-color:var(--accent);color:var(--ink)}.cx-q{flex-direction:column;gap:12px;min-width:0;display:flex}.cx-prompt{font-size:16px;font-weight:600}.cx-options{flex-direction:column;gap:8px;display:flex}.cx-option{text-align:left;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:grid}.cx-option:hover:not(:disabled){border-color:var(--ink)}.cx-option:disabled{cursor:default}.cx-option.ok{border-color:var(--good);background:var(--good-tint)}.cx-option.bad{border-color:var(--bad);background:var(--bad-tint);color:var(--muted)}.cx-letter{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:grid}.cx-answer{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.cx-input{font-family:var(--f-mono);width:100%;min-width:0;font-size:16px}textarea.cx-input{resize:vertical;line-height:1.4}.cx-placed,.cx-bank{border-radius:var(--radius);flex-direction:column;gap:6px;min-width:0;margin:0;padding:10px;list-style:none;display:flex}.cx-placed{border:2px dashed var(--line);min-height:52px}.cx-placed.ok{border-style:solid;border-color:var(--good);background:var(--good-tint)}.cx-placed.bad{border-color:var(--bad)}.cx-bank{background:var(--sunk)}.cx-empty{padding:6px 4px;font-size:14px}.cx-chip{text-align:left;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;padding:8px 12px;font-size:15px;overflow-x:auto}.cx-chip:hover:not(:disabled){border-color:var(--ink)}.cx-chip:disabled{cursor:default}.cx-line{font-family:var(--f-mono);white-space:pre;font-size:14px}.cx-say{flex-direction:column;gap:8px;min-height:1.4em;display:flex}.cx-say .good,.cx-say.good{color:var(--good)}.cx-say .bad,.cx-say.bad{color:var(--bad)}.cx-say .good .cx-code{color:var(--ink)}.cx-hint{border-left:3px solid var(--accent);padding-left:8px;font-size:14px}.cx-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}.cx-ref{border-collapse:collapse;width:100%;font-size:14px}.cx-ref th,.cx-ref td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.cx-ref th{white-space:normal;overflow-wrap:anywhere;width:40%;font-weight:600}.cx-sql{min-height:96px}.cx-tables{font-size:14px}.cx-tables summary{cursor:pointer;color:var(--muted)}.cx-tables ul{margin:6px 0 0;padding-left:18px}.cx-result{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:8px 10px;overflow-x:auto}.cx-result table{border-collapse:collapse;font:13px var(--f-mono)}.cx-result th,.cx-result td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:3px 12px 3px 0}.cx-result p{margin-top:6px;font-size:12px}.cx-doc{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;min-width:0;margin:0;padding:10px 12px 12px;display:flex}.cx-parts{flex-direction:column;gap:4px;display:flex}.cx-part{text-align:left;border-radius:var(--radius);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1.5px solid #0000;padding:6px 8px;font-size:15px;line-height:1.45}.cx-doc.text .cx-part{background:var(--sunk)}.cx-doc.rows .cx-part{border-bottom-color:var(--line);border-radius:0;justify-content:space-between;gap:12px;display:flex}.cx-doc.rows .cx-part .mono{white-space:nowrap}.cx-part:hover:not(:disabled){border-color:var(--ink);border-radius:var(--radius)}.cx-part:disabled{cursor:default}.cx-part.ok{border-color:var(--good);background:var(--good-tint);border-radius:var(--radius)}.cx-part.bad{border-color:var(--bad);background:var(--bad-tint);color:var(--muted);border-radius:var(--radius)}.cx-flow{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;min-width:0;max-width:980px;margin:0;padding:14px;display:flex;container-type:inline-size}.cx-flow-row{flex-direction:column;gap:6px;min-width:0;display:flex}.cx-flow-row ol{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:8px 22px;margin:0;padding:0;list-style:none;display:grid}.cx-flow-step{border:2px solid var(--line);border-radius:var(--radius);background:var(--ground);overflow-wrap:break-word;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:58px;padding:8px 10px;font-size:13.5px;font-weight:600;line-height:1.25;display:flex;position:relative}.cx-flow-step small{font-size:12px;font-weight:400}.cx-flow-num{background:var(--surface);color:var(--muted);border-radius:3px;padding:0 4px;font-size:11px;font-weight:600;line-height:16px;position:absolute;top:-9px;left:8px}.cx-flow-step:not(:last-child):after{content:"→";color:var(--muted);font-weight:400;position:absolute;top:50%;right:-18px;transform:translateY(-50%)}.cx-flow-row.or ol{flex-wrap:wrap;gap:8px;display:flex}.cx-flow-row.or .cx-flow-step{min-height:0}.cx-flow-row.or .cx-flow-step:after{content:none}@container (max-width:520px){.cx-flow-row:not(.or) ol{grid-template-columns:minmax(0,1fr);row-gap:20px;max-width:400px}.cx-flow-row:not(.or) .cx-flow-step{min-height:0;padding-left:34px}.cx-flow-row:not(.or) .cx-flow-num{background:0 0;top:50%;left:8px;transform:translateY(-50%)}.cx-flow-row:not(.or) .cx-flow-step:not(:last-child):after{content:"↓";inset:auto auto -19px 50%;transform:translate(-50%)}}@container (max-width:760px){.cx-flow-row.long ol{grid-template-columns:minmax(0,1fr);row-gap:20px;max-width:400px}.cx-flow-row.long .cx-flow-step{min-height:0;padding-left:34px}.cx-flow-row.long .cx-flow-num{background:0 0;top:50%;left:8px;transform:translateY(-50%)}.cx-flow-row.long .cx-flow-step:not(:last-child):after{content:"↓";inset:auto auto -19px 50%;transform:translate(-50%)}}.cx-flow-step.key{border-color:var(--accent)}.cx-flow-step.good{border-color:var(--good);background:var(--good-tint)}.cx-flow-step.bad{border-color:var(--bad);background:var(--bad-tint)}.cx-flow figcaption{font-size:13px}.cx-lab{flex-direction:column;align-items:flex-start;gap:8px;max-width:760px;padding:16px 18px;display:flex}.cx-lab p{margin:0}
