:root{--lab-ink:#171614;--lab-muted:#17161494;--lab-panel:#f9f8f5d1;--lab-ring:#11100e14}*{box-sizing:border-box}html{background:#e8e6e1}body{min-width:320px;color:var(--lab-ink);-webkit-font-smoothing:antialiased;background:#e8e6e1;margin:0;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit;touch-action:manipulation}.glass-v-lab{isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.glass-v-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.glass-v-canvas[data-dragging]{cursor:grabbing}.glass-v-canvas:focus-visible{outline-offset:-6px;outline:2px solid #11100eb8}.lab-intro{z-index:1;pointer-events:none;user-select:none;width:min(390px,100vw - 44px);position:absolute;top:clamp(24px,5vw,72px);left:clamp(22px,5vw,76px)}.lab-eyebrow{color:var(--lab-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:1.4}.lab-intro h1{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(38px,5.3vw,78px);font-weight:430;line-height:.94}.lab-instructions{max-width:35ch;color:var(--lab-muted);margin:24px 0 0;font-size:13px;line-height:1.5}.lab-status{color:#17161485;letter-spacing:.03em;margin:16px 0 0;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.lab-controls{z-index:2;background:var(--lab-panel);width:292px;box-shadow:0 0 0 1px var(--lab-ring), 0 2px 4px #1f1b160a, 0 18px 48px -20px #1f1b1638;backdrop-filter:blur(18px)saturate(1.2);border-radius:20px;padding:16px;position:fixed;top:24px;right:24px}.lab-controls-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lab-controls-header div{gap:2px;display:grid}.lab-controls-header span{color:var(--lab-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.lab-controls-header strong{font-size:13px;font-weight:550}.lab-copy,.lab-reset,.material-switch button{color:#17161494;cursor:pointer;background:0 0;border:0;min-height:44px;transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:ease-out}.lab-copy{border-radius:10px;min-width:92px;padding:0 10px;font-size:11px;box-shadow:0 0 0 1px #17161414}.material-switch{background:#1716140e;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:14px;padding:3px;display:grid}.material-switch button{border-radius:9px;min-width:0;padding:0 5px;font-size:11px}.material-switch button[data-active]{color:var(--lab-ink);background:#ffffffb8;box-shadow:0 0 0 1px #1716140f,0 1px 3px #17161414}.control-stack{gap:15px;margin-top:18px;display:grid}.lab-control{gap:8px;display:grid}.lab-control>span{color:#171614a8;justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;display:flex}.lab-control output{min-width:48px;color:var(--lab-ink);font-variant-numeric:tabular-nums;text-align:right;font-family:Geist Mono,ui-monospace,monospace}.lab-control input[type=range]{accent-color:#312e2a;cursor:ew-resize;width:100%;min-height:44px;margin:0}.lab-reset{background:#1716140e;border-radius:11px;width:100%;margin-top:16px;font-size:11px}.lab-copy:active,.lab-reset:active,.material-switch button:active{transform:scale(.96)}.lab-copy:focus-visible,.lab-reset:focus-visible,.material-switch button:focus-visible,.lab-control input:focus-visible{outline-offset:2px;outline:2px solid #1716148c}@media (hover:hover) and (pointer:fine){.lab-copy:hover,.lab-reset:hover,.material-switch button:hover{color:var(--lab-ink)}}@media (width<=760px){.lab-intro{top:24px}.lab-intro h1{font-size:clamp(34px,11vw,54px)}.lab-instructions{display:none}.lab-controls{top:auto;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:18px;width:auto;padding:12px;left:12px}.control-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:12px}.lab-control:last-child{grid-column:1/-1}.lab-reset{margin-top:10px}}@media (height<=700px) and (width>=761px){.lab-controls{top:12px;right:12px}.control-stack{gap:10px;margin-top:12px}.lab-reset{margin-top:10px}}@media (prefers-reduced-motion:reduce){.lab-copy,.lab-reset,.material-switch button{transition:none}}
