/* C course: existing Vibel paper, ink, and warm accent tokens. */
.c-path-art{margin:0;overflow:hidden;border-radius:var(--radius-lg,20px);background:var(--paper-2)}
.c-path-art img{display:block;width:100%;height:auto;max-height:390px;object-fit:cover}
.c-path-intro{margin:32px 0;padding:0 0 28px;border-bottom:1px solid var(--border-soft)}
.c-path-intro h2{font-family:var(--font-display);font-size:clamp(24px,4vw,38px);line-height:1.2;margin:20px 0 12px}
.c-path-intro p{color:var(--ink-2);max-width:68ch;line-height:1.7}
.c-path-intro ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;padding-left:22px;margin:24px 0}
.c-path-intro li{padding-left:5px;line-height:1.65;color:var(--ink-2)}
.c-path-intro li strong{display:block;color:var(--ink-1)}
.c-path-downloads{display:flex;flex-wrap:wrap;gap:12px 24px}
.c-lab{margin:28px 0;padding:clamp(18px,4vw,30px);border:1px solid var(--border-soft);border-radius:20px;background:var(--paper-2);overflow:hidden;isolation:isolate}
.c-lab__eyebrow{font:600 11px/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-accent,var(--ink-2))}
.c-lab .c-lab__heading h3{font-family:var(--font-display);font-size:clamp(23px,4vw,32px);line-height:1.2;margin:10px 0}
.c-lab .c-lab__heading p,.c-lab .c-lab__limit{font-size:13px;line-height:1.7;color:var(--ink-3);margin:10px 0 0}
.c-lab__controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin:24px 0}
.c-lab__controls label{display:grid;gap:7px;flex:1;min-width:150px;font:500 12px/1.4 var(--font-body);color:var(--ink-2)}
.c-lab select,.c-lab button{min-height:44px;border:1px solid var(--border-soft);border-radius:9px;background:var(--paper-1);color:var(--ink-1);padding:10px 13px;font:500 13px/1.3 var(--font-body);cursor:pointer;max-width:100%}
.c-lab select{width:100%}.c-lab button:hover:not(:disabled){border-color:var(--ink-3)}
.c-lab button:focus-visible,.c-lab select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.c-lab button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.c-lab button:disabled{opacity:.42;cursor:default}
.c-lab__stage{perspective:900px;padding:16px 4px 26px;min-height:140px}
.c-lab__cells{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;transform-style:preserve-3d;transition:transform .35s ease}
.c-lab[data-spatial=true] .c-lab__cells{transform:rotateX(22deg) rotateZ(-4deg)}
.c-lab__cell{flex:1 1 90px;max-width:220px;min-width:0;display:grid;gap:12px;padding:18px 14px;border:1px solid var(--border-soft);border-radius:10px;background:var(--paper-1);box-shadow:0 5px 0 var(--border-soft);overflow-wrap:anywhere;text-align:center}
.c-lab__cell span{font:500 11px/1.4 var(--font-mono);color:var(--ink-3)}
.c-lab__cell strong{font:600 clamp(16px,3vw,23px)/1.4 var(--font-mono);color:var(--ink-1)}
.c-lab__cell[data-state=active]{border-color:var(--accent);box-shadow:0 5px 0 var(--accent)}
.c-lab__cell[data-state=invalid]{border-style:dashed;box-shadow:none}.c-lab__cell[data-state=invalid] strong{text-decoration:underline;text-decoration-style:dotted}
.c-lab .c-lab__code{border:1px solid var(--border-soft);border-radius:9px;background:var(--paper-1);padding:16px;margin:6px 0 14px;white-space:pre-wrap;overflow-wrap:anywhere;font:500 13px/1.8 var(--font-mono);color:var(--ink-1)}
.c-lab .c-lab__code code{font:inherit;color:inherit;padding:0;background:none}
.c-lab .c-lab__explanation{font-size:15px;line-height:1.8;color:var(--ink-2);min-height:5.4em;margin:0 0 20px}
.c-lab__transport{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border-soft);padding-top:18px}
.c-lab__position{font:500 12px/1.4 var(--font-mono);color:var(--ink-3)}
.c-lab [data-c-next]{background:var(--ink-1);color:var(--paper-1);border-color:var(--ink-1)}
.c-lab [data-c-reset]{background:transparent;border-color:transparent}
@media(max-width:540px){.c-path-intro ol{grid-template-columns:1fr}.c-lab__transport{display:grid;grid-template-columns:1fr 1fr}.c-lab__position{grid-column:1/-1;grid-row:1;text-align:center}.c-lab [data-c-reset]{grid-column:1/-1}.c-lab__cell{padding:14px 10px}.c-lab__controls button{width:100%}}
@media(prefers-reduced-motion:reduce){.c-lab__cells{transition:none}}
