.visual-lesson{--vl-paper:color-mix(in srgb,var(--paper) 66%,var(--figure-tint));position:relative;margin:30px 0 38px;padding:26px;border-radius:20px;background:var(--vl-paper);font-family:Manrope,Arial,sans-serif;isolation:isolate;overflow:hidden}
.vl-topline{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:18px}.vl-kicker{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;font-weight:750;color:var(--muted)}.vl-spatial-hint{font-size:10px;color:var(--muted)}
.visual-lesson .vl-title{margin:9px 0 10px!important;font-family:Manrope,Arial,sans-serif;font-size:clamp(18px,2.2vw,24px);font-weight:650;letter-spacing:-.65px;line-height:1.25;color:var(--ink)}.visual-lesson .vl-description{max-width:76ch;margin:0 0 18px;font-size:12px;line-height:1.65;color:var(--muted)}
.vl-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.9fr);align-items:center;gap:22px}.vl-drawing{position:relative;min-width:0;height:340px}.vl-static,.vl-spatial{position:absolute;inset:0}.vl-static[hidden],.vl-spatial[hidden]{display:none}.vl-static svg{display:block;width:100%;height:100%;overflow:visible}.vl-spatial canvas{display:block;width:100%!important;height:100%!important;touch-action:pan-y}.vl-spatial:focus-visible{outline:2px solid var(--geometry);outline-offset:3px;border-radius:12px}.vl-spatial-labels{position:absolute;inset:0;pointer-events:none}
.vl-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-size:14px;color:var(--ink);line-height:1;pointer-events:none}.vl-label .katex{font-size:1em}.vl-spatial .vl-label{font-size:12px}.vl-math{white-space:nowrap}.vl-readouts .vl-math{white-space:normal}.vl-stroke{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.vl-dot,.vl-fill{fill:currentColor}.vl-geometry{color:var(--geometry)}.vl-transport{color:var(--transport)}.vl-observer{color:var(--observer)}.vl-curvature{color:var(--curvature)}.vl-ink{color:var(--ink)}.vl-muted{color:var(--muted);opacity:.34}.vl-context-circle{fill:none;stroke:var(--muted);stroke-width:1;opacity:.18}.vl-sphere-section{fill:color-mix(in srgb,var(--geometry) 7%,transparent);stroke:color-mix(in srgb,var(--geometry) 45%,transparent);stroke-width:1.5}.vl-cell-fill{fill:color-mix(in srgb,var(--geometry) 9%,transparent);stroke:none}.vl-cone-fill{fill:color-mix(in srgb,var(--geometry) 12%,transparent)}.vl-horizon-interior{fill:color-mix(in srgb,var(--curvature) 5%,transparent)}
.vl-readouts{display:flex;flex-direction:column;gap:16px;min-width:0;padding:4px 0}.vl-readout{display:flex;flex-direction:column;gap:6px;min-width:0}.vl-readout>span{font-size:10px;line-height:1.4;color:var(--muted);font-weight:650}.vl-readout>strong{font-size:14px;font-weight:500;line-height:1.6;overflow-x:auto;padding:2px 0}.vl-readout>strong .katex{font-size:1.18em}.vl-readout>small{font-size:10px;line-height:1.5;color:var(--muted)}.vl-coordinate-pair{display:grid;grid-template-columns:1fr;gap:15px}.vl-coordinate-pair>div{padding:8px 12px;margin-left:-12px;border-radius:10px;opacity:.6}.vl-coordinate-pair>div.is-active{background:color-mix(in srgb,var(--paper) 65%,transparent);opacity:1}.vl-takeaway{margin:0!important;font-size:12px!important;line-height:1.65!important;color:var(--ink)}.vl-identity{font-size:12px;overflow-x:auto;padding:7px 0}
.vl-controls{display:flex;flex-direction:column;gap:12px;margin-top:20px}.vl-control-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vl-control-row>span{min-width:96px;font-size:10px;color:var(--muted);font-weight:600}.vl-choices{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.vl-choices button{appearance:none;border:0;border-radius:8px;padding:8px 11px;background:transparent;color:var(--muted);font:600 11px/1.3 Manrope,Arial,sans-serif;cursor:pointer;min-height:34px;transition:background .15s,color .15s}.vl-choices button:hover{background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink)}.vl-choices button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #00000008}.vl-choices button:focus-visible{outline:2px solid var(--geometry);outline-offset:2px}.vl-step-number{font-size:9px;color:var(--muted);margin-right:6px;opacity:.7}.vl-note{font-size:10px!important;line-height:1.7!important;color:var(--muted);margin:18px 0 0!important;max-width:90ch}.vl-note .katex{font-size:1.1em}.vl-range{display:flex;align-items:center;gap:24px;max-width:520px;font-size:11px;color:var(--muted)}.vl-range>span{white-space:nowrap;min-width:135px}.vl-range input{appearance:none;-webkit-appearance:none;min-width:70px;width:100%;height:24px;cursor:pointer;background:transparent;outline:none;margin:0;padding:0;border:0}.vl-range input::-webkit-slider-runnable-track{height:2px;background:color-mix(in srgb,var(--geometry) 30%,transparent);border-radius:5px}.vl-range input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--geometry);border:2px solid var(--vl-paper);box-shadow:0 0 0 1px var(--geometry);margin-top:-4px}.vl-range input::-moz-range-track{height:2px;background:color-mix(in srgb,var(--geometry) 30%,transparent)}.vl-range input::-moz-range-thumb{width:8px;height:8px;border:2px solid var(--paper);border-radius:50%;background:var(--geometry)}.vl-range input:focus-visible{outline:2px solid var(--geometry);outline-offset:2px;border-radius:4px}
@media(max-width:1100px){.vl-layout{grid-template-columns:minmax(0,1fr);gap:12px}.vl-drawing{height:330px}.vl-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.vl-takeaway,.vl-identity,.vl-coordinate-pair{grid-column:1/-1}.vl-coordinate-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.vl-coordinate-pair>div{margin-left:0;padding:9px}.vl-description{max-width:65ch}.vl-readout>strong{font-size:13px}}
@media(max-width:600px){.visual-lesson{margin:24px -2px 30px;padding:18px 15px;border-radius:16px}.visual-lesson .vl-title{font-size:20px}.visual-lesson .vl-description{font-size:11px;line-height:1.65;margin-bottom:7px}.vl-drawing{height:270px;margin:0 -7px}.vl-layout{gap:8px}.vl-label{font-size:12px}.vl-spatial .vl-label{font-size:10px}.vl-readouts{gap:14px;grid-template-columns:minmax(0,1fr)}.vl-coordinate-pair{gap:8px}.vl-readout>span{font-size:10px}.vl-readout>strong{font-size:14px}.vl-readout>strong .katex{font-size:1.12em}.vl-coordinate-pair .vl-readout>strong{font-size:12px}.vl-readout>small{font-size:10px}.vl-takeaway{font-size:11px!important}.vl-control-row{gap:6px}.vl-control-row>span{min-width:100%}.vl-choices{gap:3px}.vl-choices button{padding:8px 9px;font-size:10px;min-height:36px}.vl-range{gap:12px;max-width:100%}.vl-range>span{min-width:125px}.vl-identity{font-size:10px}.vl-spatial-hint{font-size:9px}.vl-note{font-size:10px!important;margin-top:14px!important}}
@media(prefers-reduced-motion:reduce){.vl-choices button{transition:none}}

.vl-topline>.passage-tools{position:static;inset:auto;transform:none;display:flex;align-items:center;gap:2px;padding:0;margin:0 0 0 auto;background:none;border:0;box-shadow:none;opacity:1;visibility:visible}.vl-topline>.passage-tools button{width:30px;height:30px;border-radius:8px}.vl-topline:has(>.passage-tools) .vl-spatial-hint{margin-left:auto}
@media(max-width:600px){[data-visual-lesson=metric] .vl-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}[data-visual-lesson=metric] .vl-readout>strong{font-size:12px}.vl-topline:has(>.passage-tools) .vl-spatial-hint{display:none}}
