.labPage .pageHead{margin-bottom:clamp(24px,3vw,40px)}.bench{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(18px,2.4vw,28px);gap:clamp(18px,2.4vw,28px)}.labStatus{margin:0;padding:48px 0;color:var(--chalk-3);font-family:var(--mono);font-size:13px}.instrumentRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;padding:6px;border:1px solid var(--line);border-radius:20px;background:var(--night-1)}.instrument{display:flex;align-items:center;gap:14px;min-height:64px;padding:8px 18px 8px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--chalk-2);text-align:left;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.instrument:hover{background:rgba(220,238,225,.04);color:var(--chalk)}.instrument.is-on{background:var(--night-3);border-color:var(--line-2);color:var(--chalk);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px -14px rgba(0,0,0,.9)}.instrument .labGlyph{width:72px;height:36px;flex-shrink:0}.instrumentText{display:grid;grid-gap:2px;gap:2px}.instrumentText strong{font-weight:600;font-size:17px}.instrumentText small{font-size:13px;color:var(--chalk-3)}.instrument.is-on .instrumentText small{color:var(--mint)}.labPanel:focus-visible{outline-offset:6px}.labToggle{display:inline-flex;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--night)}.labToggle button{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--chalk-3);font-size:14px;font-weight:500;transition:background-color .2s ease,color .2s ease}.labToggle button.is-on{background:var(--mint);color:var(--night)}.labChips{display:flex;flex-wrap:wrap;gap:8px}.labChip,.labMini{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--chalk-2);font-family:var(--mono);font-size:13px;transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .15s ease}.labChip:hover,.labMini:hover{border-color:var(--mint);color:var(--chalk);background:var(--mint-wash)}.labChip:active,.labMini:active{transform:scale(.96)}.labMini{font-family:var(--sans);font-weight:500}.fourierBench{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px}.fourierBench .iterateBar{justify-content:space-between}.labChip.is-on{background:var(--mint);border-color:var(--mint);color:var(--night)}.fourierFrame{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;justify-content:space-between;gap:12px 24px;padding:16px 18px;background:radial-gradient(60% 60% at 50% 50%,rgba(185,217,190,.05),transparent 70%),var(--night)}.fourierCanvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.fourierHint{margin:0;font-family:var(--mono);font-size:12px;color:var(--chalk-3);pointer-events:none}.fourierCount{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fourierCount span{margin-right:8px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-3)}.fourierCount button{min-width:46px;min-height:38px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--chalk-2);font-family:var(--mono);font-size:13px}.fourierCount button[aria-pressed=true]{background:var(--mint);border-color:var(--mint);color:var(--night)}.graphBench{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.graphChrome{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px}.graphAdd{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 22px;border:1px solid var(--line-2);border-radius:999px;background:var(--night-1);transition:border-color .2s ease,box-shadow .2s ease}.graphAdd:focus-within{border-color:var(--mint);box-shadow:0 0 0 3px rgba(185,217,190,.16)}.graphAdd label{font-family:var(--display);font-style:italic;font-size:22px;color:var(--mint);white-space:nowrap}.graphAdd input{flex:1 1;min-width:0;min-height:46px;border:0;background:transparent;font-family:var(--mono);font-size:18px}.graphAdd input:focus{outline:none}.graphAddButton{min-height:46px;padding:0 24px;border:0;border-radius:999px;background:var(--mint);color:var(--night);font-weight:600;font-size:15px}.graphAddButton:hover{background:var(--mint-2)}.graphUnder{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;min-height:28px;padding:0 22px}.graphPreview{color:var(--mint);font-size:17px;overflow-x:auto}.graphHelp,.graphNote{margin:0;color:var(--chalk-3);font-size:14px}.graphError{margin:0;color:var(--signal);font-size:14px}.graphLayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;grid-gap:16px;gap:16px}.graphField{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#06100b}.graphField .MafsView{--mafs-bg:#06100b;--mafs-fg:var(--chalk-3);--mafs-line-color:rgba(220,238,225,0.12);--grid-line-subdivision-color:rgba(220,238,225,0.045);--mafs-origin-color:rgba(185,217,190,0.6);--mafs-axis-stroke-width:1px;width:100%;background:#06100b;font-family:var(--mono);font-size:12px}.graphField .MafsView:focus-visible{outline:2px solid var(--mint);outline-offset:-4px}.graphFieldTools{position:absolute;right:10px;top:10px;display:flex;gap:6px}.graphFieldTools .labMini{background:rgba(2,7,5,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.graphPanel{display:grid;min-width:0;grid-gap:4px;gap:4px;padding:6px 18px 18px;border:1px solid var(--line);border-radius:20px;background:var(--night-1)}.graphPanel section{display:grid;grid-gap:10px;gap:10px;padding:14px 0;border-bottom:1px dashed var(--line)}.graphPanel section:last-child{border-bottom:0}.graphPanel h3{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-3)}.graphCurves{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.graphCurves li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:6px;gap:6px;padding:2px;border-radius:12px;border:1px solid transparent}.graphCurves li.is-selected{border-color:var(--line-2);background:var(--night-3)}.graphCurves em{grid-column:2/-1;font-style:normal;font-size:12px;color:var(--signal)}.graphSwatch{width:36px;height:36px;border:0;border-radius:50%;background:transparent;position:relative}.graphSwatch:after{content:"";position:absolute;inset:11px;border-radius:50%;border:2px solid var(--chip)}.graphSwatch[aria-pressed=true]:after{background:var(--chip)}.graphCurveName{min-height:36px;padding:0 6px;border:0;background:none;text-align:left;font-family:var(--mono);font-size:14px;color:var(--chalk-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graphCurves li.is-selected .graphCurveName{color:var(--chalk)}.graphDrop{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--chalk-3);font-size:18px}.graphDrop:hover{background:rgba(240,165,142,.12);color:var(--signal)}.graphTools{display:flex;flex-wrap:wrap;gap:6px}.graphTools button{min-height:36px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--chalk-2);font-size:14px;font-weight:500}.graphTools button[aria-pressed=true]{background:var(--mint);border-color:var(--mint);color:var(--night)}.graphReadout{display:grid;grid-gap:6px;gap:6px;margin:0}.graphReadout>div{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.graphReadout dt{font-family:var(--display);font-style:italic;font-size:18px;color:var(--mint)}.graphReadout dd{margin:0;font-family:var(--mono);font-size:15px}.graphBounds input,.graphReadout input{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--night);font-family:var(--mono);font-size:15px}.graphBounds{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px;gap:10px}.graphBounds label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;font-family:var(--display);font-style:italic;font-size:18px;color:var(--mint)}.graphIntegral{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:16px}.graphIntegral b{font-family:var(--mono);font-weight:500;font-size:17px;color:var(--mint-2)}.graphPoints{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px;max-height:220px;overflow-y:auto}.graphPoints button{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:34px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--chalk-2);font-size:14px}.graphPoints button:hover{background:var(--night-3);color:var(--chalk)}.graphPoints code{font-family:var(--mono);font-size:13px;color:var(--chalk)}@media (max-width:1080px){.graphLayout{grid-template-columns:minmax(0,1fr)}}.iterateBench{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px}.iterateBar{align-items:center;gap:10px 14px}.iterateBar,.iterateC{display:flex;flex-wrap:wrap}.iterateC{align-items:baseline;gap:8px;margin:0;padding:0 14px;min-height:42px;align-content:center;border:1px solid var(--line);border-radius:999px;color:var(--chalk);font-family:var(--mono);font-size:13px}.iterateC b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(55ch,70vw);min-width:0;font-weight:500}.iterateC span{font-family:var(--display);font-style:italic;font-size:18px;color:var(--mint)}.iterateC em{color:var(--chalk-3);font-style:normal}.labActions{display:flex;gap:6px}.iterateBar .labChip,.iterateBar .labMini{min-height:42px}.iterateBar .labMini{min-width:42px;font-size:16px}.iterateBar button:disabled{opacity:.35;cursor:default}.iterateFrame{position:relative;height:min(72vh,40rem);min-height:22rem;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--night)}.iterateCanvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill;image-rendering:auto;cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.iterateCanvas[hidden]{display:none!important}.iterateCanvas[data-dragging]{cursor:-webkit-grabbing;cursor:grabbing}.iterateCanvas:focus-visible{outline:2px solid var(--mint);outline-offset:-4px;border-radius:20px}.iterateHelp{flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0;font-size:12px}.iterateHelp,.iterateNotice{display:flex;color:var(--chalk-3);font-family:var(--mono);line-height:1.7}.iterateNotice{position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem;background:var(--night);text-align:center;font-size:13px}.iterateNotice p{max-width:30rem;margin:0}.iterateRendering{position:absolute;right:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(2,7,5,.82);color:var(--mint);pointer-events:none;font-family:var(--mono);font-size:12px}@media (max-width:640px){.instrumentRow{gap:4px;padding:4px}.instrument{flex-direction:column;align-items:center;gap:2px;min-height:74px;padding:8px 4px;text-align:center}.instrument .labGlyph{width:54px;height:26px}.instrumentText strong{font-size:15px}.instrumentText small{display:none}.graphAdd{padding-left:14px}.iterateFrame{height:62vh;min-height:20rem}}.fourierHud{display:grid;flex-shrink:0;grid-gap:6px;gap:6px;pointer-events:none;color:var(--chalk-2)}.fourierHud .mathInline{font-size:17px;color:var(--mint)}.fourierHud p{margin:0;font-family:var(--mono);font-size:12px;color:var(--chalk-3)}.fourierHud b{font-family:var(--display);font-size:26px;font-weight:400;color:var(--chalk);margin-right:4px}.fourierSpectrumLabel{position:absolute;left:24px;bottom:2px;margin:0;font-family:var(--mono);font-size:11px;color:var(--chalk-3);pointer-events:none}.fourierCount .fourierBuild{margin-right:10px;font-family:var(--sans);font-weight:500}