.lab{position:relative;z-index:2;width:100%;max-width:1500px;margin:0 auto;padding:32px 28px 56px;--fc: var(--accent)}body:has(.lab){align-items:flex-start}.lab [hidden]{display:none!important}.lab-back{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);display:inline-flex;gap:.5rem;align-items:center;margin-bottom:20px;transition:color .2s}.lab-back:hover{color:var(--accent)}.lab-grid{display:grid;grid-template-columns:264px minmax(0,1fr) 392px;gap:18px;align-items:start}.lab-picker{position:sticky;top:18px;max-height:calc(100svh - 36px);overflow-y:auto;scrollbar-width:thin}.lab-center{display:grid;gap:14px}.lab-chamber{position:relative;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;background:radial-gradient(120% 100% at 50% 40%,#0d111a66,#04050ad9);aspect-ratio:16 / 11}.lab-chamber canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.stage-label{position:absolute;top:10px;left:12px;z-index:4;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-4);pointer-events:none}.chamber-force{position:absolute;top:10px;right:12px;z-index:4;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--fc);display:flex;align-items:center;gap:.4rem}.chamber-force .dot{width:6px;height:6px;border-radius:50%;background:var(--fc);box-shadow:0 0 8px var(--fc)}.uncalib-veil{position:absolute;inset:0;z-index:5;display:grid;place-content:center;text-align:center;gap:.6rem;padding:2rem;background:color-mix(in srgb,var(--bg-canvas) 72%,transparent);backdrop-filter:blur(3px)}.uncalib-veil .big{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--fc)}.uncalib-veil .sub{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.chamber-hud{position:absolute;bottom:12px;left:12px;z-index:5;pointer-events:none;min-width:124px}.chamber-help{position:absolute;bottom:12px;right:12px;z-index:6;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;line-height:1;color:var(--text-3);border:1px solid var(--line-2);background:color-mix(in srgb,var(--bg-canvas) 70%,transparent);backdrop-filter:blur(4px);cursor:pointer;transition:color .16s,border-color .16s,background .16s}.chamber-help:hover,.chamber-help.on{color:var(--fc);border-color:color-mix(in srgb,var(--fc) 55%,transparent)}.chamber-help.on{background:color-mix(in srgb,var(--fc) 14%,var(--bg-canvas))}.chamber-legend{position:absolute;bottom:46px;right:12px;z-index:6;width:296px;max-width:calc(100% - 24px);padding:.85rem .95rem;border-radius:var(--r-md);border:1px solid var(--line-2);background:color-mix(in srgb,var(--bg-card) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 18px 44px -18px #000000bf}@media(prefers-reduced-motion:no-preference){.chamber-legend{animation:legendIn .16s ease}}@keyframes legendIn{0%{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}.chamber-legend .info-title{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:.65rem}.legend-list{list-style:none;display:grid;gap:.5rem}.legend-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.78rem;line-height:1.35;color:var(--text-2)}.legend-key{width:14px;height:14px;border-radius:4px;flex:none;margin-top:2px}.legend-key.body{background:color-mix(in srgb,var(--fc) 35%,transparent)}.legend-key.ring{border:1px dashed color-mix(in srgb,var(--fc) 55%,transparent)}.legend-key.pass{background:var(--ok);border-radius:50%}.legend-key.head{background:#fff;border-radius:50%}.legend-line{width:16px;height:0;border-top:2px solid var(--fc);flex:none;margin-top:8px}.legend-line.dim{border-top-style:dotted;border-color:var(--text-4)}.key-list{list-style:none;display:grid;gap:.4rem}.key-list li{display:flex;align-items:center;gap:.45rem;font-size:.76rem;color:var(--text-3)}.key-list span{margin-right:.3rem}.lab-detector{display:grid;gap:14px}.lab-timeline{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);padding:12px 14px 14px;cursor:pointer;outline:none}.lab-timeline:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.tl-wave-wrap{position:relative}.tl-wave-label{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.tl-wave{width:100%;height:46px;display:block}.tl-track{position:relative;height:22px;margin-top:6px;display:flex;align-items:center}.tl-rail{position:absolute;left:0;right:0;height:4px;border-radius:99px;background:#ffffff14}.tl-fill{position:absolute;left:0;height:4px;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--fc) 30%,transparent),var(--fc));box-shadow:0 0 12px -2px var(--fc)}.tl-markers{position:absolute;inset:0}.tl-marker{position:absolute;top:50%;width:7px;height:7px;transform:translate(-50%,-50%) rotate(45deg);border-radius:1px;background:var(--bg-card);border:1px solid var(--text-4)}.tl-marker.exact{border-radius:50%}.tl-marker.pass{background:var(--ok);border-color:var(--ok);box-shadow:0 0 8px -1px var(--ok)}.tl-playhead{position:absolute;top:50%;left:0;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:2px solid var(--fc);box-shadow:0 0 0 4px color-mix(in srgb,var(--fc) 16%,transparent),0 0 16px -2px var(--fc);pointer-events:none}.lab-transport{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tbtn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .95rem;border:1px solid var(--line-2);border-radius:var(--r-md);background:none;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);transition:border-color .18s,color .18s,background .18s}.tbtn:hover{border-color:var(--line-3);color:var(--text)}.tbtn.primary{border-color:var(--fc);color:#fff;background:color-mix(in srgb,var(--fc) 18%,transparent);box-shadow:0 0 22px -8px var(--fc)}.tbtn.primary:hover{background:color-mix(in srgb,var(--fc) 26%,transparent)}.tbtn.on{border-color:var(--fc);color:var(--fc)}.frame-readout{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-3);font-variant-numeric:tabular-nums}.lab-info{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);overflow:hidden}.lab-info .info-col{padding:.95rem 1.05rem}.info-title{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem}.sweep-head{justify-content:space-between;gap:.5rem}.sweep-selects{display:flex;align-items:center;gap:5px;min-width:0}.sweep-select{transform:scale(.92);transform-origin:right}.sweep-select select{font-size:9px;padding:3px 16px 3px 6px;min-width:84px}#sweepCanvas{width:100%;height:96px;display:block;border:1px solid var(--line);border-radius:var(--r-sm);background:#00000040}.sweep-note{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--text-4);margin-top:.5rem;line-height:1.6}.sweep-note b{color:var(--text-3);font-weight:500}.lab-readout{position:sticky;top:18px;display:grid;gap:14px}.force-about .about-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}.about-sym{width:42px;height:42px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;color:var(--fc);background:color-mix(in srgb,var(--fc) 16%,transparent);border:1px solid color-mix(in srgb,var(--fc) 50%,transparent);box-shadow:0 0 22px -8px var(--fc)}.about-sym .fg{width:22px;height:22px;--fc: currentColor}.about-name{font-family:var(--display);font-weight:600;font-size:1.1rem;letter-spacing:-.02em}.about-meta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);margin-top:2px}.about-desc{font-size:.92rem;color:var(--text-2);line-height:1.55}.about-effect{display:flex;align-items:baseline;gap:.55rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--text)}.about-effect .k{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fc);flex:none}.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);padding:1rem 1.1rem 1.1rem}.panel-title{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.pass-summary{font-family:var(--mono);font-size:11px;color:var(--fc);font-variant-numeric:tabular-nums}.checklist{display:grid;gap:.5rem}.check{border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .8rem;background:#ffffff03;transition:border-color .2s,background .2s}.check .row1{display:flex;align-items:center;gap:.55rem}.check .mark{width:18px;height:18px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:10px;border:1px solid var(--text-4);color:var(--text-4)}.check .label{font-size:.9rem;color:var(--text);flex:1;letter-spacing:-.01em}.check .kind{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);border:1px solid var(--line-2);border-radius:99px;padding:.15rem .4rem}.check .nums{display:grid;gap:.15rem;margin-top:.5rem;padding-left:calc(18px + .55rem);font-family:var(--mono);font-size:10px;color:var(--text-3);line-height:1.5}.check .nums b{color:var(--text);font-weight:500}.check .when{color:var(--text-4);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.check.pass{border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok) 5%,transparent)}.check.pass .mark{border-color:var(--ok);color:#04130d;background:var(--ok);box-shadow:0 0 10px -2px var(--ok)}.check.fail{border-color:color-mix(in srgb,var(--err) 38%,transparent);background:color-mix(in srgb,var(--err) 6%,transparent)}.check.fail .mark{border-color:var(--err);color:var(--err)}.check.pending{opacity:.74}.preset-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}.preset-row>span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.lab-select{flex:1;position:relative}.lab-select select{width:100%;appearance:none;padding:.55rem 2rem .55rem .7rem;border:1px solid var(--line-2);border-radius:var(--r-md);background:#ffffff05;color:var(--text);font-family:var(--mono);font-size:.82rem;cursor:pointer}.lab-select select:focus{outline:none;border-color:color-mix(in srgb,var(--fc) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fc) 13%,transparent)}.lab-select:after{content:"▾";position:absolute;right:.7rem;top:50%;transform:translateY(-50%);color:var(--text-4);pointer-events:none;font-size:.7rem}.param-formula{font-family:var(--mono);font-size:10.5px;color:var(--fc);background:color-mix(in srgb,var(--fc) 8%,transparent);border:1px solid color-mix(in srgb,var(--fc) 22%,transparent);border-radius:var(--r-sm);padding:.55rem .7rem;margin-bottom:.9rem;line-height:1.5;letter-spacing:.01em;overflow-wrap:anywhere}.params{display:grid;gap:.85rem}.param{display:grid;grid-template-columns:1fr 84px;align-items:center;gap:.5rem .7rem}.param>label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:baseline;gap:.3rem}.param>label .sym{color:var(--fc);font-style:italic}.param>label .unit{color:var(--text-4);font-size:8px}.param .num{width:84px;text-align:center;padding:.4rem .3rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#ffffff05;color:var(--text);font-family:var(--mono);font-size:.78rem;font-variant-numeric:tabular-nums}.param .num:focus{outline:none;border-color:color-mix(in srgb,var(--fc) 55%,transparent)}.param .track-wrap{position:relative;grid-column:1 / -1;height:18px;display:flex;align-items:center}.param .tick{position:absolute;top:50%;width:1px;height:9px;background:var(--text-4);transform:translate(-50%,-50%);pointer-events:none}.param input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;background:#ffffff1a;outline:none}.param input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--fc);box-shadow:0 0 0 3px color-mix(in srgb,var(--fc) 16%,transparent),0 0 12px -2px var(--fc);cursor:pointer}.param input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--fc);cursor:pointer}.param .bands{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.05rem}.param .band{font-family:var(--mono);font-size:.58rem;padding:.14rem .42rem;border-radius:5px;border:1px solid var(--line-2);background:transparent;color:var(--text-3);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.param .band:hover{color:var(--text);border-color:color-mix(in srgb,var(--fc) 45%,transparent)}.param .band.on{color:var(--fc);border-color:color-mix(in srgb,var(--fc) 55%,transparent);background:color-mix(in srgb,var(--fc) 10%,transparent)}.export-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1rem}.xbtn{flex:1;min-width:0;padding:.5rem .4rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:none;cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;transition:border-color .18s,color .18s}.xbtn:hover{border-color:var(--fc);color:var(--fc)}.scenario-note{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--text-4);line-height:1.6;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}.lab-flash{position:fixed;bottom:24px;left:50%;transform:translate(-50%,14px);z-index:50;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:.6rem 1.1rem;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s var(--ease)}.lab-flash.show{opacity:1;transform:translate(-50%)}@media(max-width:1180px){.lab-grid{grid-template-columns:224px minmax(0,1fr)}.lab-readout{position:static;grid-column:1 / -1}}@media(max-width:760px){.lab{padding:28px 16px 48px}.lab-grid{grid-template-columns:1fr}.lab-picker{position:static;max-height:none}}
