.lab-page{padding-bottom:56px}.lab-bench{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:stretch;gap:14px;margin-top:18px;display:grid}.lab-viewport{border:1px solid var(--line);background:radial-gradient(90% 70% at 18% 12%, color-mix(in srgb, var(--ember) 10%, transparent), transparent 52%), var(--surface);touch-action:none;overscroll-behavior:contain;border-radius:14px;height:min(62vh,540px);min-height:min(62vh,540px);position:relative;overflow:hidden}.lab-viewport canvas{cursor:grab;width:100%;height:100%;display:block}.lab-toolbar{z-index:3;pointer-events:none;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.lab-toolbar>*{pointer-events:auto}.lab-tools,.lab-gears,.lab-parts,.lab-clips{flex-wrap:wrap;gap:6px;display:flex}.lab-sliders{z-index:3;pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;display:grid;position:absolute;bottom:40px;left:12px;right:12px}.lab-sliders label{pointer-events:auto;background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--line);color:var(--muted);border-radius:8px;flex-direction:column;gap:2px;padding:4px 6px;font-size:11px;display:flex}.lab-sliders input[type=range],.lab-explode-amt input[type=range]{width:100%;accent-color:var(--ember)}.lab-explode-amt{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--ink-2);pointer-events:auto;border-radius:9px;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.lab-explode-amt input{width:120px}.lab-compare{gap:8px;margin-top:12px;display:grid}.lab-compare-row{appearance:none;text-align:left;border:1px solid var(--line);background:var(--bg-2);width:100%;color:var(--ink-2);cursor:pointer;border-radius:10px;gap:4px;padding:8px 10px;display:grid}.lab-compare-row strong{color:var(--ink);font-size:14px}.lab-compare-row span{font-size:12px;line-height:1.45;display:block}.lab-compare-row[aria-pressed=true]{border-color:color-mix(in srgb, var(--ember) 45%, var(--line));background:var(--ember-soft)}.lab-keys-hint{color:var(--muted);max-width:48em;margin:8px 0 0;font-size:12.5px}.lab-notes-link,.lab-deeplink-hint{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px 14px;max-width:52em;margin:10px 0 0;font-size:13px;display:flex}.lab-notes-link .more,.lab-deeplink-hint .more{color:var(--ink-2)}.lab-tools button,.lab-gears button,.lab-parts button,.lab-clips button{appearance:none;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--ink-2);cursor:pointer;border-radius:9px;padding:6px 10px;font-size:12.5px;font-weight:600}.lab-tools button[aria-pressed=true],.lab-gears button[aria-pressed=true],.lab-parts button[aria-pressed=true],.lab-clips button[aria-pressed=true]{border-color:color-mix(in srgb, var(--ember) 45%, var(--line));color:var(--ink);background:var(--ember-soft)}.lab-tools button:focus-visible,.lab-gears button:focus-visible,.lab-parts button:focus-visible,.lab-clips button:focus-visible,.lab-compare-row:focus-visible,.lab-viewport:focus-visible,.lab-sliders input:focus-visible,.lab-explode-amt input:focus-visible,.lab-card:focus-visible,.lab-notes-link a:focus-visible,.lab-deeplink-hint a:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.lab-status{z-index:3;background:color-mix(in srgb, var(--surface) 90%, transparent);max-width:min(72%,420px);color:var(--muted);pointer-events:none;border-radius:8px;margin:0;padding:6px 8px;font-size:12px;line-height:1.45;position:absolute;bottom:12px;left:14px}.lab-status[data-kind=error]{color:var(--ink)}.lab-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.lab-label{background:color-mix(in srgb, var(--surface) 86%, transparent);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11.5px;position:absolute;top:0;left:0}.lab-label.is-on{color:var(--ember);border-color:color-mix(in srgb, var(--ember) 40%, var(--line))}.lab-panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:240px;padding:16px 16px 18px}.lab-honesty{border-bottom:1px solid var(--line);margin:0 0 14px;padding:0 0 12px}.lab-panel .lab-honesty-row{color:var(--ink-2);grid-template-columns:5.2em minmax(0,1fr);align-items:baseline;gap:8px;margin:0;font-size:12.5px;line-height:1.45;display:grid}.lab-honesty-row+.lab-honesty-row{margin-top:6px}.lab-honesty .mono{color:var(--muted);font-size:11.5px}.lab-honesty strong{color:var(--ink);font-weight:650}.lab-panel-k{color:var(--muted);margin-bottom:6px;font-size:12px}.lab-panel h3{letter-spacing:-.02em;font-size:20px;font-weight:650;line-height:1.3}.lab-panel p{color:var(--ink-2);margin-top:10px;font-size:14.5px;line-height:1.65}.lab-specs{gap:10px;margin-top:14px;display:grid}.lab-specs div{border-top:1px solid var(--line);padding-top:8px}.lab-specs dt{color:var(--muted);font-size:11.5px}.lab-specs dd{color:var(--ink);margin:3px 0 0;font-size:14px}.lab-disclaimer{color:var(--muted);margin-top:14px;font-size:12px}.lab-mobile-note{color:var(--muted);margin:12px 0 0;font-size:13px}.lab-credit{color:var(--muted);max-width:52em;margin:10px 0 0;font-size:12px;line-height:1.5}.lab-tools button[data-lab-physics][aria-pressed=true],.lab-tools button[data-lab-policy][aria-pressed=true]{border-color:color-mix(in srgb, var(--ember) 45%, var(--line));color:var(--ink);background:var(--ember-soft)}@media (width<=720px){[data-lab-physics],button[data-lab-policy],.lab-clips{display:none}}.lab-cards{margin-top:8px}.lab-card .chip{margin-bottom:8px;display:inline-block}.lab-stub{flex-direction:column;justify-content:center;gap:10px;min-height:min(46vh,380px);padding:22px;display:flex}.lab-stub h3{letter-spacing:-.02em;font-size:22px}.lab-stub p{color:var(--ink-2);max-width:36em}.lab-stub ol{color:var(--ink-2);margin:8px 0 0 1.15em}.lab-arm-mark{width:min(100%,280px);height:160px;margin:4px 0 8px}@media (width<=860px){.lab-bench{grid-template-columns:1fr}.lab-viewport{height:min(58vh,460px);min-height:320px}.lab-sliders{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-explode-amt input{width:90px}}@media (prefers-reduced-motion:reduce){.lab-viewport{scroll-margin-top:0}.lab-tools button,.lab-gears button,.lab-parts button,.lab-clips button,.lab-compare-row,.lab-label{transition:none}}
