.arduino-program-dialog__guide p{color:var(--text-muted);font-size:var(--font-caption);margin:0;line-height:1.4}.arduino-program-dialog__load-error{max-width:440px;min-height:100%;color:var(--ink);align-content:center;justify-items:start;gap:8px;margin:auto;padding:20px;display:grid}.arduino-program-dialog__load-error>svg{color:var(--refusal-text)}.arduino-program-dialog__load-error>span{color:var(--text-muted);font-size:var(--font-ui-small);line-height:1.45}.arduino-program-dialog__load-error>button{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--panel);cursor:pointer;padding:0 12px;font-weight:700}.arduino-program-dialog__load-error>button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (pointer:coarse){.arduino-program-dialog__header button{width:var(--target-touch);height:var(--target-touch)}.arduino-program-dialog .arduino-code-preview>summary{min-height:var(--target-touch);align-items:center;display:flex}.arduino-program-dialog__load-error>button{min-height:var(--target-touch)}}@media (width<=520px){.arduino-program-dialog__backdrop{padding:0}.arduino-program-dialog{border:0;border-radius:0;grid-template-rows:52px auto minmax(0,1fr);width:100vw;height:100dvh;min-height:0}.arduino-program-dialog__guide{padding-inline:10px}.arduino-program-dialog__header{padding-right:max(10px, env(safe-area-inset-right));padding-left:max(14px, env(safe-area-inset-left))}}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.measurements-panel .channel-picker label{min-height:var(--target-min);border-radius:var(--radius-control);padding:4px 6px}.measurements-panel .channel-picker label>:last-child{overflow-wrap:anywhere;min-width:0}.measurements-panel .measurement-table-shell__more{min-height:var(--control-height)}.channel-chart{grid-template-rows:minmax(112px,1fr) auto;align-content:start;min-width:0;min-height:0;display:grid}.channel-chart .height-chart{width:100%}.channel-chart__note{min-width:0;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:3px 10px;margin:2px 4px 0;font-size:11px;line-height:1.3;display:flex}.channel-chart__note>span{min-width:0}.channel-chart__scale-note{color:#4e5e69;font-weight:750}.channel-chart__note i[data-marker]{vertical-align:middle;border-top:2px dashed #7b8792;width:12px;height:0;margin-right:2px;display:inline-block}.channel-chart__note i[data-marker=outlier]{border-color:#d97624;border-top-style:dotted}.channel-chart__note button{border-radius:var(--radius-control);color:#425a69;min-height:28px;font:inherit;background:#fff;border:1px solid #d7e0e5;padding:3px 8px;font-weight:750}.channel-chart__note button:hover{background:var(--brand-blue-soft);border-color:#a9cfe3}.channel-chart__note button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (pointer:coarse){.measurements-panel .channel-picker label,.measurements-panel .measurement-table-shell__more{min-height:var(--target-touch)}.measurements-panel .channel-picker input[type=checkbox]{width:20px;height:20px}.channel-chart__note button{min-height:var(--target-touch)}}@media (width<=520px),(width<=940px) and (height<=520px) and (orientation:landscape){.channel-chart__note button{min-height:var(--target-touch)}}.scene-meter{pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(160deg,#fffffffa,#f5f9fb);border:1px solid #cbdbe3;border-radius:16px;flex-direction:column;gap:6px;width:128px;padding:8px 10px 10px;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:inset 0 3px #087dccad,0 1px 2px #15263c14,0 12px 28px #15263c21}.scene-meter.is-selected{border-color:var(--brand-blue);box-shadow:0 0 0 3px #087dcc38, inset 0 3px 0 var(--brand-blue), 0 12px 30px #15263c29}.scene-meter:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.scene-meter__header{cursor:grab;color:var(--text-strong);align-items:center;gap:6px;display:flex}.scene-meter__header strong{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;font-weight:800;overflow:hidden}.scene-meter__icon{width:22px;height:22px;color:var(--brand-blue);background:var(--brand-blue-soft);border-radius:7px;place-items:center;display:inline-grid}.scene-meter__thermo{flex-direction:column;align-items:center;gap:2px;display:flex}.scene-meter__thermo svg{width:100px}.scene-meter__glass{fill:#087dcc14;stroke:var(--line);stroke-width:1.5px}.scene-meter__liquid{transition:y .2s linear,height .2s linear}.scene-meter__bulb{stroke:#00000029;stroke-width:1px}.scene-meter__bulb-shine{fill:#fff;opacity:.55}.scene-meter__value{color:var(--text-strong);overflow-wrap:anywhere;font-size:.8rem;font-weight:750}.scene-meter__dial{flex-direction:column;align-items:center;gap:2px;display:flex}.scene-meter__dial svg{width:100px}.scene-meter__arc{stroke:var(--line);stroke-linecap:round;stroke-width:4px}.scene-meter__tick{stroke:var(--text-subtle);stroke-linecap:round;stroke-width:2px}.scene-meter__needle{stroke:var(--mascot-orange-dark);stroke-linecap:round;stroke-width:3px;transition:transform .2s linear}.scene-meter__hub{fill:var(--text-strong)}.scene-meter__hint{color:var(--text-subtle);margin:0;font-size:.75rem}.scene-ruler{z-index:1;pointer-events:none;outline:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scene-ruler__grab{stroke:#0000;stroke-width:16px;cursor:grab;pointer-events:stroke}.scene-ruler__line{stroke:var(--text-strong);stroke-dasharray:9 4;stroke-linecap:round;stroke-width:3px;pointer-events:none}.scene-ruler__handle{fill:var(--surface-raised,#fff);stroke:var(--brand-blue);stroke-width:2.5px;cursor:grab;pointer-events:all}.scene-ruler.is-selected .scene-ruler__line{stroke:var(--brand-blue)}.scene-ruler__badge rect{fill:var(--surface-raised,#fff);stroke:var(--line);stroke-width:1.2px}.scene-ruler__badge text{fill:var(--text-strong);text-anchor:middle;font-size:12px;font-weight:750}.scene-ruler__delete{cursor:pointer;pointer-events:all}.scene-ruler__delete circle{fill:var(--surface-raised,#fff);stroke:var(--line);stroke-width:1.2px}.scene-ruler__delete path{stroke:var(--text-strong);stroke-linecap:round;stroke-width:2px}.scene-ruler:focus-visible .scene-ruler__line{stroke:var(--focus-ring)}.scene-oscilloscope{z-index:84;color:#ecf8ff;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;will-change:left, top, width, height;background:linear-gradient(145deg,#fafdff,#eaf3f7);border:1px solid #aec5d2;border-radius:15px;grid-template-rows:34px minmax(0,1fr);min-width:min(220px,100% - 12px);max-width:calc(100% - 12px);min-height:min(120px,100% - 12px);max-height:calc(100% - 12px);display:grid;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:inset 0 3px #087dcca3,0 1px 2px #1c37481f,0 15px 34px #1c374838,inset 0 1px #ffffffe0;container-type:size}.scene-oscilloscope:after{z-index:-1;content:"";pointer-events:none;border:2px solid #0000;border-radius:18px;position:absolute;inset:-4px}.scene-oscilloscope.is-selected{border-color:var(--brand-blue);box-shadow:0 0 0 3px #087dcc2e, inset 0 3px 0 var(--brand-blue), 0 16px 38px #1c374845, inset 0 1px 0 #ffffffe6}.scene-oscilloscope:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.scene-oscilloscope__header{color:#284453;cursor:grab;grid-template-columns:auto minmax(0,1fr) auto auto auto auto auto;align-items:center;gap:5px;min-width:0;padding:4px 5px 4px 7px;display:grid}.scene-oscilloscope__header:active{cursor:grabbing}.scene-oscilloscope__header>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1;overflow:hidden}.scene-oscilloscope__instrument-icon{color:#fff;background:linear-gradient(145deg, #1696df, var(--brand-blue-dark));border-radius:8px;place-items:center;width:24px;height:24px;display:grid;box-shadow:0 3px 8px #087dcc40}.scene-oscilloscope__record-state{color:#66808e;letter-spacing:.045em;align-items:center;gap:3px;min-width:0;font-size:.75rem;font-weight:800;display:inline-flex}.scene-oscilloscope__record-state>span{background:#7f939d;border-radius:999px;width:5px;height:5px}.scene-oscilloscope[data-running=true] .scene-oscilloscope__record-state{color:#b7424c}.scene-oscilloscope[data-running=true] .scene-oscilloscope__record-state>span{background:#e45f68;animation:1.2s ease-in-out infinite scene-oscilloscope-record;box-shadow:0 0 0 3px #e45f6829}.scene-oscilloscope__icon-button,.scene-oscilloscope__resize{color:#506b79;background:0 0;border:0;border-radius:8px;place-items:center;width:25px;height:25px;padding:0;display:grid}.scene-oscilloscope__header>.scene-oscilloscope__icon-button{opacity:0;pointer-events:none;transition:opacity .12s,color .12s,background .12s}.scene-oscilloscope:hover .scene-oscilloscope__header>.scene-oscilloscope__icon-button,.scene-oscilloscope:focus-within .scene-oscilloscope__header>.scene-oscilloscope__icon-button,.scene-oscilloscope.is-selected .scene-oscilloscope__header>.scene-oscilloscope__icon-button{opacity:1;pointer-events:auto}.scene-oscilloscope__icon-button:hover{color:var(--brand-blue-dark);background:#087dcc1a}.scene-oscilloscope__icon-button[aria-expanded=true],.scene-oscilloscope__icon-button[aria-pressed=true]{color:#fff;background:var(--brand-blue)}.scene-oscilloscope__icon-button:focus-visible,.scene-oscilloscope__controls button:focus-visible,.scene-oscilloscope__controls input:focus-visible,.scene-oscilloscope__controls select:focus-visible,.scene-oscilloscope__cursor-input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.scene-oscilloscope__delete{opacity:0}.scene-oscilloscope:hover .scene-oscilloscope__delete,.scene-oscilloscope:focus-within .scene-oscilloscope__delete,.scene-oscilloscope.is-selected .scene-oscilloscope__delete{opacity:1}.scene-oscilloscope__delete:hover{color:#a3434d;background:#e45f681f}.scene-oscilloscope__icon-button:disabled,.scene-oscilloscope__resize:disabled{cursor:default;opacity:.34}.scene-oscilloscope__screen{background:radial-gradient(circle at 50% 45%,#11647147,#0000 72%),linear-gradient(160deg,#092630,#06191f 78%);border:1px solid #88d3e14f;border-radius:10px;min-width:0;min-height:0;margin:0 6px 6px;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #00000061,inset 0 1px #85e4ef29}.scene-oscilloscope__controls{z-index:12;color:#304b5a;overscroll-behavior:contain;background:#f8fcfef7;border:1px solid #20597647;border-radius:11px;gap:8px;width:min(250px,100% - 12px);max-height:calc(100% - 38px);padding:9px;display:grid;position:absolute;top:32px;right:6px;overflow:auto;box-shadow:0 10px 24px #01172247}.scene-oscilloscope__controls section{gap:6px;display:grid}.scene-oscilloscope__controls section+section{border-top:1px solid #476f8429;padding-top:8px}.scene-oscilloscope__control-heading{justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.scene-oscilloscope__control-heading>span{color:#718793;font-size:.75rem;font-weight:800}.scene-oscilloscope__control-heading>span.is-locked{color:#157b69}.scene-oscilloscope__segments{background:#e9f0f4;border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;padding:2px;display:grid}.scene-oscilloscope__segments button,.scene-oscilloscope__cursor-toggle{color:#57707e;background:0 0;border:0;border-radius:6px;min-height:28px;padding:4px 7px;font-size:.75rem;font-weight:800}.scene-oscilloscope__segments button[aria-pressed=true]{color:#07598d;background:#fff;box-shadow:0 1px 4px #1c3e4f29}.scene-oscilloscope__segments button:disabled,.scene-oscilloscope__cursor-toggle:disabled{opacity:.42}.scene-oscilloscope__control-grid,.scene-oscilloscope__range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.scene-oscilloscope__control-grid label,.scene-oscilloscope__range-fields label{color:#657b87;gap:3px;min-width:0;font-size:.75rem;font-weight:700;display:grid}.scene-oscilloscope__control-grid label.is-wide{grid-column:1/-1}.scene-oscilloscope__control-grid input,.scene-oscilloscope__control-grid select,.scene-oscilloscope__range-fields input{color:#263f4d;width:100%;min-width:0;min-height:30px;font:inherit;background:#fff;border:1px solid #c8d7df;border-radius:7px;padding:4px 6px;font-size:.75rem}.scene-oscilloscope__control-grid input,.scene-oscilloscope__range-fields input{transition:border-color .12s,box-shadow .12s,font-size .12s}.scene-oscilloscope__control-grid input:focus,.scene-oscilloscope__range-fields input:focus{font-size:.8125rem;font-weight:700}.scene-oscilloscope__range-fields input[aria-invalid=true]{border-color:#cf6363}.scene-oscilloscope__control-error{color:#a13e46;grid-column:1/-1;font-size:.75rem}.scene-oscilloscope__controls p{color:#6c808b;margin:0;font-size:.75rem;line-height:1.3}.scene-oscilloscope__cursor-toggle{color:#07598d;background:#e5f3fb}.scene-oscilloscope__cursor-toggle[aria-pressed=true]{color:#fff;background:var(--brand-blue)}.scene-oscilloscope__grid{opacity:.44;background-image:linear-gradient(#53b9c233 1px,#0000 1px),linear-gradient(90deg,#53b9c233 1px,#0000 1px),linear-gradient(#53b9c214 1px,#0000 1px),linear-gradient(90deg,#53b9c214 1px,#0000 1px);background-position:50%;background-size:25% 33.333%,25% 33.333%,5% 6.666%,5% 6.666%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.scene-oscilloscope__plot{width:calc(100% - 14px);height:calc(100% - 43px);position:absolute;inset:25px 7px 18px;overflow:visible}.scene-oscilloscope__trace{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px);opacity:.95}.scene-oscilloscope__trace-marker{stroke:#06191f;stroke-width:.8px;filter:drop-shadow(0 0 1.5px)}.scene-oscilloscope__sweep{stroke:#dafbffb8;stroke-width:.6px;filter:drop-shadow(-4px 0 5px #64edff8c)}.scene-oscilloscope__trigger{stroke:#f2af4dbd;stroke-width:.65px;stroke-dasharray:2 2}.scene-oscilloscope__trigger.is-locked{stroke:#53e2b4d1;stroke-dasharray:none;filter:drop-shadow(0 0 2px #53e2b48c)}.scene-oscilloscope__tools{z-index:5;opacity:0;background:#06191fb8;border-radius:8px;gap:2px;padding:2px;transition:opacity .12s;display:flex;position:absolute;top:5px;right:6px}.scene-oscilloscope__screen:hover .scene-oscilloscope__tools,.scene-oscilloscope__tools:focus-within,.scene-oscilloscope.is-selected .scene-oscilloscope__tools{opacity:1}.scene-oscilloscope__tools button{color:#b8ecf6;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.scene-oscilloscope__tools button:hover:not(:disabled){color:#eafcff;background:#88d3e133}.scene-oscilloscope__tools button:disabled{opacity:.35;cursor:default}.scene-oscilloscope__tools button:focus-visible{outline:2px solid var(--focus-ring,#7cd6ff);outline-offset:1px}.scene-oscilloscope__probe line{stroke:#dafbff8c;stroke-width:.5px;stroke-dasharray:2 2}.scene-oscilloscope__probe circle{stroke:#06191fd9;stroke-width:1px}.scene-oscilloscope__probe-readout{z-index:4;color:#dafbff;pointer-events:none;white-space:nowrap;background:#06191fe0;border:1px solid #88d3e14d;border-radius:7px;flex-direction:column;gap:1px;max-width:60%;margin-left:8px;padding:3px 6px;font-size:.62rem;line-height:1.35;display:flex;position:absolute;top:6px}.scene-oscilloscope__probe-readout.is-left{margin-left:0;transform:translate(calc(-100% - 8px))}.scene-oscilloscope__probe-readout i{border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.scene-oscilloscope__probe-readout>span:not(.scene-oscilloscope__probe-time){text-overflow:ellipsis;overflow:hidden}.scene-oscilloscope__probe-time{color:#dafbff9e}.scene-oscilloscope__cursors{z-index:3;pointer-events:none;position:absolute;inset:25px 7px 18px}.scene-oscilloscope__cursor-line{z-index:1;opacity:.78;pointer-events:none;position:absolute}.scene-oscilloscope__cursor-line.is-time{border-left:1px solid #ffe270;top:0;bottom:0}.scene-oscilloscope__cursor-line.is-value{border-top:1px solid #e9a9ff;left:0;right:0}.scene-oscilloscope__cursor-line.is-b{border-style:dashed}.scene-oscilloscope__cursor-input{z-index:2;opacity:.02;accent-color:#ffe270;pointer-events:auto;min-width:0;margin:0;position:absolute}.scene-oscilloscope__cursor-input:hover,.scene-oscilloscope__cursor-input:focus-visible{opacity:.8}.scene-oscilloscope__cursor-input.is-time{cursor:ew-resize;width:100%;height:22px;left:0;right:0}.scene-oscilloscope__cursor-input.is-time.is-a{top:-10px}.scene-oscilloscope__cursor-input.is-time.is-b{bottom:-10px}.scene-oscilloscope__cursor-input.is-value{appearance:slider-vertical;accent-color:#e9a9ff;cursor:ns-resize;writing-mode:vertical-lr;width:22px;height:100%;top:0}.scene-oscilloscope__cursor-input.is-value.is-a{left:-10px}.scene-oscilloscope__cursor-input.is-value.is-b{right:-10px}.scene-oscilloscope__cursor-readout{z-index:4;color:#eafcff;font-variant-numeric:tabular-nums;text-overflow:ellipsis;text-shadow:0 1px 3px #001419;white-space:nowrap;max-width:calc(100% - 50px);font-size:.75rem;font-weight:800;position:absolute;bottom:-15px;left:2px;overflow:hidden}.scene-oscilloscope__legend{pointer-events:none;gap:8px;max-width:calc(100% - 54px);display:flex;position:absolute;top:5px;left:6px}.scene-oscilloscope__legend>span{color:#a8cbd2;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:3px;min-width:0;font-size:.75rem;display:inline-grid}.scene-oscilloscope__legend i{border-top:2px solid;width:12px;height:0;position:relative;box-shadow:0 0 5px}.scene-oscilloscope__legend i:after{content:"";background:currentColor;border:1px solid #06191f;width:5px;height:5px;position:absolute;top:-4px;right:-1px}.scene-oscilloscope__legend i.is-solid:after{border-radius:50%}.scene-oscilloscope__legend i.is-dashed{border-top-style:dashed}.scene-oscilloscope__legend i.is-dashed:after{transform:rotate(45deg)}.scene-oscilloscope__legend b{color:#b9dbe2;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-oscilloscope__legend strong{color:#efffff;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-oscilloscope__window{color:#83aab3;font-variant-numeric:tabular-nums;font-size:.75rem;position:absolute;bottom:3px;right:6px}.scene-oscilloscope__waiting{color:#91aeb5;place-items:center;font-size:.75rem;display:grid;position:absolute;inset:0}.scene-oscilloscope__empty{color:#87a9b1;align-content:center;justify-items:center;gap:5px;display:grid;position:absolute;inset:0}.scene-oscilloscope__empty button,.scene-oscilloscope__unavailable{color:#dffbff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1466749e;border:1px solid #60ccdb57;border-radius:8px;min-height:27px;padding:4px 9px;font-size:.75rem;font-weight:700}.scene-oscilloscope__empty button:hover,.scene-oscilloscope__unavailable:hover{background:#177e8fc7;border-color:#71e3f0a6}.scene-oscilloscope__unavailable{z-index:3;color:#ffe8cf;background:#6f390fc2;border-color:#e5761270;position:absolute;bottom:6px;right:6px}.scene-oscilloscope__resize{z-index:5;color:#88a7b2;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,#0000 45%,#def4fa1f 46%);width:30px;height:30px;position:absolute;bottom:0;right:0}.scene-oscilloscope__resize:hover{color:#fff}.scene-oscilloscope__text-alternative{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@container (height<=145px){.scene-oscilloscope__plot{height:auto;top:22px;bottom:12px}.scene-oscilloscope__window{display:none}}@container (width<=250px){.scene-oscilloscope__record-state{font-size:0}}@container (width<=300px){.scene-oscilloscope__instrument-icon{display:none}}@keyframes scene-oscilloscope-record{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.scene-oscilloscope[data-running=true] .scene-oscilloscope__record-state>span{animation:none}}@media (width>=521px) and (width<=860px){.scene-oscilloscope[data-has-data=false]:not(:has(.scene-oscilloscope__controls)){border-radius:12px;grid-template-rows:44px;min-height:44px;width:min(320px,100% - 12px)!important;height:44px!important}.scene-oscilloscope[data-has-data=false]:not(:has(.scene-oscilloscope__controls)) .scene-oscilloscope__header{grid-template-columns:auto minmax(0,1fr) auto auto auto auto;min-height:44px}.scene-oscilloscope[data-has-data=false]:not(:has(.scene-oscilloscope__controls)) .scene-oscilloscope__header>.scene-oscilloscope__icon-button{opacity:1;pointer-events:auto}.scene-oscilloscope[data-has-data=false]:not(:has(.scene-oscilloscope__controls)) .scene-oscilloscope__header>.scene-oscilloscope__icon-button:first-of-type{display:none}.scene-oscilloscope[data-has-data=false]:not(:has(.scene-oscilloscope__controls)) .scene-oscilloscope__screen{display:none}.scene-oscilloscope[data-has-data=false]:not(:has(.scene-oscilloscope__controls)) .scene-oscilloscope__resize{display:none}}@media (width<=520px),(width<=940px) and (height<=520px) and (orientation:landscape),(width<=940px) and (pointer:coarse){.scene-oscilloscope{border-radius:12px;grid-template-rows:44px;min-height:44px;height:44px!important}.scene-oscilloscope:has(.scene-oscilloscope__controls){height:min(320px,100% - 12px)!important}.scene-oscilloscope__header{grid-template-columns:minmax(0,1fr) auto auto auto;min-height:44px;padding:0 4px 0 8px}.scene-oscilloscope__instrument-icon,.scene-oscilloscope__record-state,.scene-oscilloscope__header>.scene-oscilloscope__icon-button:first-of-type,.scene-oscilloscope__screen,.scene-oscilloscope__resize{display:none}.scene-oscilloscope__instrument-icon{display:grid}.scene-oscilloscope__header{grid-template-columns:auto minmax(0,1fr) auto auto auto}.scene-oscilloscope__header>.scene-oscilloscope__icon-button{opacity:1;pointer-events:auto;width:44px;height:44px}.scene-oscilloscope__controls{width:min(320px,100% - 8px);max-height:calc(100% - 48px);top:44px;right:4px}.scene-oscilloscope__controls button,.scene-oscilloscope__controls input,.scene-oscilloscope__controls select,.scene-oscilloscope__segments button,.scene-oscilloscope__cursor-toggle,.scene-oscilloscope__empty button,.scene-oscilloscope__unavailable{min-height:44px}.scene-oscilloscope__control-grid input,.scene-oscilloscope__control-grid select,.scene-oscilloscope__range-fields input{font-size:1rem}.scene-oscilloscope__control-grid input:focus,.scene-oscilloscope__range-fields input:focus{font-size:1.0625rem}.scene-oscilloscope__resize,.scene-oscilloscope__tools button{width:44px;height:44px}}.scene-xy-plot{pointer-events:auto;background:var(--surface-raised,#fff);border:1.5px solid var(--line);border-radius:var(--radius-card,12px);-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;gap:6px;width:320px;padding:8px 10px 10px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 18px #15263c1f}.scene-xy-plot.is-selected{border-color:var(--brand-blue);box-shadow:0 0 0 3px #087dcc38,0 6px 18px #15263c1f}.scene-xy-plot:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.scene-xy-plot__header{cursor:grab;color:var(--text-strong);align-items:center;gap:6px;display:flex}.scene-xy-plot__header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.scene-xy-plot__axes{color:var(--text-soft,#5b6b7c);text-align:right;white-space:nowrap;flex:1;font-size:.75rem}.scene-xy-plot__icon{color:var(--brand-blue);display:inline-flex}.scene-xy-plot__chart{width:100%;display:block}.scene-xy-plot__field{fill:#fbfdfe;stroke:#dce7ed}.scene-xy-plot__grid{stroke:#e7eef3;stroke-width:1px}.scene-xy-plot__scatter{fill:#d96a4a52}.scene-xy-plot__trace{fill:none;stroke:var(--brand-blue,#087dcc);stroke-linejoin:round;stroke-width:1.8px}.scene-xy-plot__marker{fill:#d94f30;stroke:#fff;stroke-width:1.4px}.scene-xy-plot__axis-label{fill:var(--text-soft,#5b6b7c);font-size:12px}.scene-xy-plot__axis-label--end{text-anchor:end}.scene-xy-plot__axis-title{fill:var(--text-strong,#1d2b3a);text-anchor:middle;font-size:12px;font-weight:600}.scene-xy-plot__empty{color:var(--text-soft,#5b6b7c);margin:0;padding:14px 6px 10px;font-size:.75rem;line-height:1.45}.optics-photodetector{pointer-events:auto;background:var(--surface-raised,#fff);border:1.5px solid var(--line);border-radius:var(--radius-card,12px);-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;gap:6px;width:min(360px,100vw - 32px);padding:8px 10px 10px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 18px #15263c1f}.optics-photodetector.is-selected{border-color:var(--brand-blue);box-shadow:0 0 0 3px #087dcc38,0 6px 18px #15263c1f}.optics-photodetector:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.optics-photodetector__header{cursor:grab;color:var(--text-strong);align-items:center;gap:6px;display:flex}.optics-photodetector__header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.optics-photodetector__source{color:var(--text-soft,#5b6b7c);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.optics-photodetector__icon{color:var(--brand-blue);display:inline-flex}.optics-photodetector__empty{color:var(--text-soft,#5b6b7c);margin:0;padding:14px 6px 10px;font-size:.75rem;line-height:1.45}.optics-photodetector__chart .screen-profile-chart{width:100%;height:clamp(180px,27vh,220px);min-height:0}.measurement-instrument-layer{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.measurement-instrument-layer.is-placing{cursor:crosshair;pointer-events:auto}.measurement-instrument-layer__cursor{z-index:3;color:#087dca;pointer-events:none;background:#f5fbfff0;border:1px solid #3a85c875;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;position:absolute;box-shadow:0 8px 22px #23527433}@media (prefers-reduced-motion:no-preference){.measurement-instrument-layer__cursor{animation:.12s ease-out measurement-instrument-cursor-in}}@keyframes measurement-instrument-cursor-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.measurement-meter-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.measurement-meter-links line{stroke:#258b76;stroke-dasharray:5 4;stroke-linecap:round;stroke-width:2.5px;filter:drop-shadow(0 1px #ffffffe6);opacity:.78;vector-effect:non-scaling-stroke}.measurement-meter-links circle{fill:#258b76;opacity:.9}.measurement-meter-links__instrument{stroke:#258b76;stroke-width:2px;fill:#fff!important}.measurement-meter-links g.is-selected line{stroke-width:3.5px;opacity:1}.measurement-meter-links g.is-selected circle{opacity:1}.measurement-meter-links g.is-selected .measurement-meter-links__source{stroke:#fff;stroke-width:2px}.measurement-instrument-dock{z-index:90;top:calc((100% - var(--mobile-bottom-stack,0px)) / 2);left:max(8px, var(--safe-area-left,0px));pointer-events:auto;position:absolute;transform:translateY(-50%)}.measurement-instrument-dock__toggle{color:#315467;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffffff5;border:1px solid #c7d9e3;border-radius:14px;align-content:center;justify-items:center;gap:1px;width:72px;min-height:54px;padding:5px 7px;display:grid;position:relative;box-shadow:0 9px 24px #1f364529}.measurement-instrument-dock__toggle>span{text-overflow:ellipsis;max-width:100%;font-size:.625rem;font-weight:800;line-height:1;overflow:hidden}.measurement-instrument-dock__toggle>small{color:#fff;background:var(--brand-blue);border:2px solid #fff;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.6875rem;font-weight:850;display:grid;position:absolute;top:-5px;right:-5px}.measurement-instrument-dock__toggle>svg:last-child{opacity:.68;transition:transform .14s;position:absolute;bottom:3px;right:2px}.measurement-instrument-dock__toggle[aria-expanded=true]{color:var(--brand-blue-dark);background:#f1f9fd;border-color:#82badb}.measurement-instrument-dock__toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.measurement-instrument-dock__toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.measurement-instrument-dock__panel{width:min(320px,100vw - 102px);max-height:min(420px, calc(100dvh - 124px - var(--safe-area-top,0px) - var(--mobile-bottom-stack,0px)));overscroll-behavior:contain;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6fafcfa;border:1px solid #c9d9e2;border-radius:16px;gap:6px;padding:7px;display:grid;position:absolute;top:50%;left:calc(100% + 8px);overflow:hidden auto;transform:translateY(-50%);box-shadow:0 16px 38px #19303e38}.measurement-instrument-dock__panel :is(.scene-meter,.scene-oscilloscope,.scene-xy-plot,.optics-photodetector){min-width:0;max-width:none;width:100%!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important}.measurement-instrument-dock__panel .scene-meter{border-radius:12px;flex-direction:row;align-items:center;gap:8px;min-height:48px;padding:6px 9px}.measurement-instrument-dock__panel .scene-meter__header{cursor:pointer;flex:auto;min-width:0}.measurement-instrument-dock__panel :is(.scene-meter__thermo,.scene-meter__dial){flex:0 auto;min-width:0;display:flex}.measurement-instrument-dock__panel :is(.scene-meter__thermo,.scene-meter__dial) svg,.measurement-instrument-dock__panel .scene-meter__hint{display:none}.measurement-instrument-dock__panel .scene-meter__value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.measurement-instrument-dock__panel :is(.scene-xy-plot,.optics-photodetector){border-radius:12px;justify-content:center;min-height:48px;padding:8px 10px}.measurement-instrument-dock__panel :is(.scene-xy-plot__chart,.scene-xy-plot__empty,.optics-photodetector__chart,.optics-photodetector__empty){display:none}.measurement-instrument-dock__panel :is(.scene-xy-plot__header,.optics-photodetector__header){cursor:pointer;min-height:30px}.measurement-instrument-dock__panel .scene-oscilloscope{z-index:1;border-radius:12px;min-height:48px;height:48px!important}.measurement-instrument-dock__panel .scene-oscilloscope__header{grid-template-columns:auto minmax(0,1fr) auto;width:100%}.measurement-instrument-dock__panel .scene-oscilloscope__header>.scene-oscilloscope__icon-button{display:none}.measurement-instrument-dock__panel .scene-oscilloscope:has(.scene-oscilloscope__controls){height:min(320px,100dvh - 260px)!important}@media (height<=520px) and (orientation:landscape){.measurement-instrument-dock__panel{max-height:calc(100dvh - 124px - var(--safe-area-top,0px) - var(--mobile-bottom-stack,0px))}}.measurement-oscilloscope-inspector{gap:14px}.measurement-oscilloscope-inspector__field,.measurement-oscilloscope-inspector__search,.measurement-oscilloscope-inspector__window{color:#536472;gap:7px;font-size:.82rem;font-weight:700;display:grid}.measurement-oscilloscope-inspector__locked{color:var(--text-muted);background:var(--surface-muted);font-size:var(--font-caption);border-radius:10px;margin:0;padding:9px 10px;line-height:1.35}.measurement-oscilloscope-inspector__field input,.measurement-oscilloscope-inspector__search input{color:#263640;min-width:0;min-height:40px;font:inherit;background:#fff;border:1px solid #cad7df;border-radius:9px;padding:8px 10px}.measurement-oscilloscope-inspector__field input:focus-visible,.measurement-oscilloscope-inspector__search input:focus-visible,.measurement-oscilloscope-inspector__channel-list input:focus-visible,.measurement-oscilloscope-inspector__window input:focus-visible,.measurement-oscilloscope-inspector__connected button:focus-visible,.measurement-oscilloscope-inspector__channel-list button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.measurement-oscilloscope-inspector__section{background:#f8fbfc;border:1px solid #dce5ea;border-radius:12px;gap:10px;padding:12px;display:grid}.measurement-oscilloscope-inspector__section-heading,.measurement-oscilloscope-inspector__picker-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.measurement-oscilloscope-inspector__section-heading h3{color:#2c3c47;margin:0;font-size:.9rem}.measurement-oscilloscope-inspector__section-heading>span{color:#1b6598;background:#e5f1fa;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:800}.measurement-oscilloscope-inspector__picker-heading{color:#30414c;align-items:baseline;padding-top:2px;font-size:.78rem}.measurement-oscilloscope-inspector__picker-heading>span{color:#788892;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.measurement-oscilloscope-inspector__connected{gap:7px;margin:0;padding:0;list-style:none;display:grid}.measurement-oscilloscope-inspector__connected li{background:#fff;border:1px solid #dce5ea;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;min-width:0;min-height:46px;padding:3px;display:grid}.measurement-oscilloscope-inspector__connected li.is-active{border-color:#4b9dd2;box-shadow:0 0 0 2px #1685cf1f}.measurement-oscilloscope-inspector__slot{min-width:0;min-height:40px;color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;padding:4px 6px;display:grid}.measurement-oscilloscope-inspector__slot>b{color:#166b9f;background:#e9f5fc;border-radius:5px;padding:3px 5px;font-size:.75rem}.measurement-oscilloscope-inspector__slot>span:last-child,.measurement-oscilloscope-inspector__channel-list label>span:last-child{min-width:0;display:grid}.measurement-oscilloscope-inspector__connected strong,.measurement-oscilloscope-inspector__channel-list strong{color:#30414c;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.measurement-oscilloscope-inspector__connected small,.measurement-oscilloscope-inspector__channel-list small{color:#73838d;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.measurement-oscilloscope-inspector__source-button,.measurement-oscilloscope-inspector__disconnect{color:#657680;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;display:grid}.measurement-oscilloscope-inspector__source-button:hover{color:#126ca6;background:#ebf6fd}.measurement-oscilloscope-inspector__disconnect:hover{color:#a23c35;background:#fff0ed}.measurement-oscilloscope-inspector__disconnect:disabled,.measurement-oscilloscope-inspector__slot:disabled{cursor:default;opacity:.45}.measurement-oscilloscope-inspector__channel-color{border:1px solid #0000001a;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #fff}.measurement-oscilloscope-inspector__channel-list{overscroll-behavior:contain;background:#fff;border:1px solid #dbe5ea;border-radius:10px;max-height:210px;display:grid;overflow:auto}.measurement-oscilloscope-inspector__channel-list>span{color:#73838d;padding:13px;font-size:.78rem}.measurement-oscilloscope-inspector__channel-list>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;display:grid}.measurement-oscilloscope-inspector__channel-list>div+div{border-top:1px solid #edf1f3}.measurement-oscilloscope-inspector__channel-list label{cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:46px;padding:6px 9px;display:grid}.measurement-oscilloscope-inspector__channel-list>div:has(input:checked){background:#eef7fd}.measurement-oscilloscope-inspector__channel-list>div:has(input:disabled){opacity:.55}.measurement-oscilloscope-inspector__channel-list input{accent-color:#1685cf;width:18px;height:18px;margin:0}.measurement-oscilloscope-inspector__send-button{color:#126ca6;white-space:nowrap;background:#f2f9fe;border:1px solid #bcd9ec;border-radius:8px;padding:6px 10px;font-size:.76rem;font-weight:700}.measurement-oscilloscope-inspector__send-button:hover:not(:disabled){background:#e3f2fc}.measurement-oscilloscope-inspector__send-button:disabled{cursor:default;opacity:.45}.measurement-oscilloscope-inspector__channels{overscroll-behavior:contain;background:#fff;border:1px solid #dbe5ea;border-radius:10px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.measurement-oscilloscope-inspector__channels li+li{border-top:1px solid #edf1f3}.measurement-oscilloscope-inspector__channel{width:100%;min-width:0;min-height:46px;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 9px;display:grid}.measurement-oscilloscope-inspector__channel:disabled{cursor:default;opacity:.55}.measurement-oscilloscope-inspector__channel[aria-pressed=true]{background:#eef7fd;box-shadow:inset 3px 0 #1685cf}.measurement-oscilloscope-inspector__channel>span:last-child{min-width:0;display:grid}.measurement-oscilloscope-inspector__channel strong{color:#30414c;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.measurement-oscilloscope-inspector__channel small{color:#73838d;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.measurement-oscilloscope-inspector__window>span{justify-content:space-between;gap:10px;display:flex}.measurement-oscilloscope-inspector__window input{accent-color:#1685cf;width:100%;min-height:32px;margin:0}.measurement-oscilloscope-inspector__delete{justify-content:center;align-items:center;gap:8px;min-height:42px;display:flex}@media (pointer:coarse){.measurement-oscilloscope-inspector__field input,.measurement-oscilloscope-inspector__search input,.measurement-oscilloscope-inspector__source-button,.measurement-oscilloscope-inspector__disconnect,.measurement-oscilloscope-inspector__delete{min-height:48px}.measurement-oscilloscope-inspector__source-button,.measurement-oscilloscope-inspector__disconnect{width:48px}.measurement-oscilloscope-inspector__channel-list label,.measurement-oscilloscope-inspector__connected li{min-height:52px}}.measurement-oscilloscope-inspector__axis-title{color:var(--text-strong);margin:10px 0 6px;font-size:.75rem;font-weight:700}.experiment-hud[data-state=settled]{border-color:#248b6657}.experiment-hud[data-state=settled] .experiment-hud__pulse,.experiment-hud[data-state=saved] .experiment-hud__pulse{background:#2b8b68;animation:none;box-shadow:0 0 0 4px #2b8b6821}.experiment-hud__action{color:#fff;background:var(--brand-blue);min-height:30px;font:inherit;pointer-events:auto;white-space:nowrap;border:1px solid #0871b4;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:4px 10px;font-weight:800;line-height:1.1;display:inline-flex;box-shadow:0 2px 6px #0871b42e}.experiment-hud__action:hover:not(:disabled){background:#0871b4;border-color:#075d96}.experiment-hud__action:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.experiment-hud__action:disabled{cursor:wait;opacity:.76}.experiment-hud__action-label--compact{display:none}.experiment-hud__save-error{color:#98432f;text-align:center;flex-basis:100%;font-weight:700;line-height:1.25}.experiment-hud:has(.experiment-hud__save-error){border-radius:16px;flex-wrap:wrap}.experiment-hud__hint:has(svg){color:#236d56;align-items:center;gap:4px;font-weight:700;display:inline-flex}@media (width<=520px){.experiment-hud:has(.experiment-hud__action){right:auto;left:max(8px, var(--safe-area-left));max-width:calc(100% - 116px - var(--safe-area-right));gap:6px;padding-inline:8px;transform:none}.experiment-hud:has(.experiment-hud__action) .experiment-hud__pulse{display:none}.experiment-hud:has(.experiment-hud__action) .experiment-hud__readouts{display:none}.experiment-hud__action-label--full{display:none}.experiment-hud__action-label--compact{display:inline}.experiment-hud__action{min-height:34px;padding-inline:9px}.experiment-hud__save-error{max-width:260px}}@media (width<=360px){.experiment-hud:has(.experiment-hud__action)>strong{display:none}}@media (prefers-reduced-motion:reduce){.experiment-hud__action .spin{animation:none}}.feedback-dialog__backdrop{z-index:10050;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17222b6b;place-items:center;padding:20px;animation:.14s ease-out feedback-dialog-backdrop-in;display:grid;position:fixed;inset:0}.feedback-dialog{width:min(580px,100%);max-height:min(760px,100dvh - 40px);color:var(--text,#34414c);background:var(--panel,#fff);border:1px solid #ffffffb8;border-radius:18px;flex-direction:column;animation:.16s ease-out feedback-dialog-in;display:flex;overflow:hidden;box-shadow:0 28px 80px #121d2647}.feedback-dialog__header{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px 9px 20px;display:flex}.feedback-dialog__header span{color:var(--brand-blue-dark,#087dcc);font-size:var(--font-caption,.75rem);letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;font-weight:800;display:block}.feedback-dialog__header h2{color:var(--text-strong,#27343e);letter-spacing:-.02em;margin:0;font-size:1.25rem}.feedback-dialog__close{width:40px;height:40px;color:var(--text-muted,#66747f);background:var(--surface-subtle,#f4f7f8);border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.feedback-dialog__close:hover:not(:disabled),.feedback-dialog__close:focus-visible{color:var(--brand-blue-dark,#087dcc);background:var(--brand-blue-soft,#eaf6fd)}.feedback-dialog__intro{color:var(--text-muted,#66747f);font-size:var(--font-ui-small,.82rem);margin:0;padding:0 20px 14px;line-height:1.45}.feedback-dialog__privacy{color:var(--text-muted,#66747f);font-size:var(--font-caption,.75rem);background:#f7fbfe;border:1px solid #dbe8f0;border-radius:10px;gap:3px;margin:0 20px 14px;padding:10px 12px;line-height:1.45;display:grid}.feedback-dialog__privacy strong{color:var(--text-strong,#27343e);font-size:var(--font-ui-small,.82rem)}.feedback-dialog__privacy-details{border-top:1px solid #dbe8f0;margin-top:4px;padding-top:6px}.feedback-dialog__privacy-details summary{cursor:pointer;width:fit-content;color:var(--brand-blue-dark,#087dcc);font-weight:750}.feedback-dialog__privacy-details p{margin:7px 0 0}.feedback-dialog__kind-switch{border:1px solid var(--line,#dce3e7);background:var(--surface-subtle,#f4f7f8);border-radius:12px;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 20px 14px;padding:4px;display:grid}.feedback-dialog__kind-switch button{min-height:42px;color:var(--text-muted,#66747f);font-size:var(--font-ui-small,.82rem);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:750;display:inline-flex}.feedback-dialog__kind-switch button[aria-selected=true]{color:var(--brand-blue-dark,#087dcc);background:var(--panel,#fff);box-shadow:0 3px 10px #1f2d3a1a}.feedback-dialog__form{flex:auto;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.feedback-dialog__form-scroll{overscroll-behavior-y:contain;scrollbar-gutter:stable;gap:13px;min-height:0;padding:0 20px 14px;display:grid;overflow-y:auto}.feedback-dialog__field{gap:6px;display:grid;position:relative}.feedback-dialog__field>span{color:var(--text-strong,#27343e);font-size:var(--font-ui-small,.82rem);font-weight:750}.feedback-dialog__field input,.feedback-dialog__field textarea{border:1px solid var(--line,#dce3e7);width:100%;color:var(--text-strong,#27343e);background:var(--canvas,#fbfcfd);font:inherit;border-radius:10px;outline:0}.feedback-dialog__field input{min-height:44px;padding:9px 46px 9px 11px}.feedback-dialog__field textarea{resize:vertical;min-height:128px;padding:10px 12px 25px;line-height:1.45}.feedback-dialog__field input:focus,.feedback-dialog__field textarea:focus{border-color:var(--brand-blue,#168fd8);box-shadow:0 0 0 3px #087dcc1c}.feedback-dialog__field>small{color:var(--text-muted,#7a8790);font-size:var(--font-caption,.75rem);font-variant-numeric:tabular-nums;position:absolute;bottom:7px;right:9px}.feedback-dialog__field input+small{bottom:14px}.feedback-dialog__context-toggle{background:#f7fbfe;border:1px solid #dbe8f0;border-radius:11px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.feedback-dialog__context-toggle input{width:18px;height:18px;accent-color:var(--brand-blue,#168fd8);margin:2px 0 0}.feedback-dialog__context-toggle>span{gap:3px;min-width:0;display:grid}.feedback-dialog__context-toggle strong{color:var(--text-strong,#27343e);font-size:var(--font-ui-small,.82rem)}.feedback-dialog__context-toggle small{color:var(--text-muted,#66747f);font-size:var(--font-caption,.75rem);line-height:1.4}.feedback-dialog__context-toggle:has(input:disabled){opacity:.58}.feedback-dialog__context-preview{border:1px solid var(--line,#dce3e7);background:var(--surface-subtle,#f4f7f8);border-radius:10px;gap:6px;margin:-5px 0 0;padding:10px 12px;display:grid}.feedback-dialog__context-preview>div{grid-template-columns:72px minmax(0,1fr);gap:8px;min-width:0;display:grid}.feedback-dialog__context-preview dt,.feedback-dialog__context-preview dd{font-size:var(--font-caption,.75rem);margin:0}.feedback-dialog__context-preview dt{color:var(--text-muted,#66747f);font-weight:700}.feedback-dialog__context-preview dd{overflow-wrap:anywhere;min-width:0;color:var(--text-strong,#27343e)}.feedback-dialog__error{color:#9d3540;font-size:var(--font-ui-small,.82rem);background:#fff4f5;border:1px solid #efc8cc;border-radius:9px;margin:0;padding:9px 11px}.feedback-dialog__actions{border-top:1px solid var(--line,#dce3e7);background:var(--panel,#fff);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 20px;display:flex;box-shadow:0 -8px 18px #1f2d3a0a}.feedback-dialog__actions button,.feedback-dialog__success button{min-height:42px;font-size:var(--font-ui-small,.82rem);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-weight:750;display:inline-flex}.feedback-dialog__cancel{border:1px solid var(--line,#dce3e7);color:var(--text-muted,#66747f);background:var(--panel,#fff)}.feedback-dialog__submit,.feedback-dialog__success button{border:1px solid var(--brand-blue-dark,#087dcc);color:#fff;background:linear-gradient(#168fd8,#087dcc);box-shadow:0 6px 16px #087dcc2e}.feedback-dialog button:disabled,.feedback-dialog input:disabled,.feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.56}.feedback-dialog button:focus-visible,.feedback-dialog input:focus-visible,.feedback-dialog textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.feedback-dialog__spinner{animation:.8s linear infinite feedback-dialog-spin}.feedback-dialog__success{text-align:center;justify-items:center;gap:9px;padding:22px 24px 26px;display:grid}.feedback-dialog__success>svg{color:#2f8a69}.feedback-dialog__success h3,.feedback-dialog__success p{margin:0}.feedback-dialog__success h3{color:var(--text-strong,#27343e);font-size:1rem}.feedback-dialog__success p{max-width:380px;color:var(--text-muted,#66747f);font-size:var(--font-ui-small,.82rem);line-height:1.45}.feedback-dialog__success button{margin-top:6px}@keyframes feedback-dialog-backdrop-in{0%{opacity:0}}@keyframes feedback-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}@keyframes feedback-dialog-spin{to{transform:rotate(360deg)}}@media (width<=620px){.feedback-dialog__backdrop{align-items:end;padding:10px}.feedback-dialog{border-radius:17px;max-height:calc(100dvh - 20px)}.feedback-dialog__header{padding:15px 13px 8px 16px}.feedback-dialog__intro,.feedback-dialog__privacy,.feedback-dialog__form-scroll{padding-left:16px;padding-right:16px}.feedback-dialog__kind-switch{margin-left:16px;margin-right:16px}.feedback-dialog__actions button,.feedback-dialog__success button{min-height:48px}.feedback-dialog__actions{padding-right:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:16px}.feedback-dialog__field input,.feedback-dialog__field textarea{font-size:16px}}@media (pointer:coarse){.feedback-dialog__close,.feedback-dialog__kind-switch button{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){.feedback-dialog__backdrop,.feedback-dialog,.feedback-dialog__spinner{animation:none}}.thermal-workspace-overlay{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.unified-workspace.unified-workspace--thermal .electrical-workspace .react-flow,.unified-workspace.unified-workspace--thermal .mechanics-canvas,.unified-workspace.unified-workspace--thermal [data-mechanics-vector-overlay=true],.unified-workspace.unified-workspace--thermal .motor-gear-coupling-overlay,.unified-workspace.unified-workspace--electricity .mechanics-canvas,.unified-workspace.unified-workspace--electricity [data-mechanics-vector-overlay=true],.unified-workspace.unified-workspace--electricity .motor-gear-coupling-overlay,.unified-workspace.unified-workspace--electricity .thermal-node,.unified-workspace.unified-workspace--electricity .thermal-workspace-overlay__edges,.unified-workspace.unified-workspace--mechanics .electrical-workspace .react-flow,.unified-workspace.unified-workspace--mechanics .thermal-node,.unified-workspace.unified-workspace--mechanics .thermal-workspace-overlay__edges{opacity:.22}.thermal-workspace-overlay__pane,.thermal-workspace-overlay__edges{pointer-events:none;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.thermal-workspace-overlay.is-active>.thermal-workspace-overlay__pane{pointer-events:auto}.thermal-workspace-overlay.is-active[data-background-pass-through=true]>.thermal-workspace-overlay__pane{pointer-events:none}.thermal-workspace-overlay__edges{overflow:visible}.thermal-connection-status{z-index:2;color:#46525c;pointer-events:auto;text-align:center;background:#fffffff0;border:1px solid #d9dee2;border-radius:999px;align-items:center;gap:8px;max-width:min(360px,100% - 32px);margin:0;padding:7px 11px;font-size:12px;font-weight:650;line-height:1.35;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #232d351a}.thermal-connection-status button{color:#8b542c;min-height:28px;font:inherit;cursor:pointer;background:#fff8f2;border:1px solid #e3a063;border-radius:999px;padding:3px 9px;font-weight:750}.thermal-connection-group{outline:none}.thermal-connection{stroke:#e0792d;stroke-width:3px;stroke-dasharray:8 5;pointer-events:none}.thermal-connection.is-selected{stroke:var(--violet);stroke-width:5px}.thermal-connection__hit-area{stroke:#0000;stroke-width:36px;pointer-events:stroke}.thermal-connection__focus-ring{stroke:#0000;stroke-width:9px;pointer-events:none}.thermal-connection-group:focus-visible .thermal-connection__focus-ring{stroke:#3d318f}.thermal-connection-group:hover .thermal-connection{stroke-width:4px}.thermal-connection__flow-direction{stroke:#9d4f24;stroke-linecap:round;stroke-width:2.5px;pointer-events:none}.thermal-connection__arrowhead{fill:#9d4f24}.thermal-connection__label{fill:#8b542c;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;pointer-events:none;font-size:12px;font-weight:700}.thermal-node{color:#603922;transform-origin:50%;cursor:grab;pointer-events:auto;background:#fff9f2;border:2px solid #e3a063;border-radius:14px;align-items:center;gap:10px;width:176px;min-height:70px;padding:10px 12px;display:flex;position:absolute;box-shadow:0 6px 16px #522c1421}.thermal-node--thermalReservoir{color:#28566d;background:#f4fbff;border-color:#79aeca}.thermal-node.is-selected{border-color:var(--violet);box-shadow:0 0 0 3px #087dcc29,0 8px 20px #522c1429}.thermal-node.is-connecting{outline-offset:4px;outline:3px dashed #e0792d}.thermal-node__icon{background:#e0792d24;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.thermal-node__content{text-align:left;gap:4px;min-width:0;display:grid}.thermal-node__content strong{overflow-wrap:anywhere;text-wrap:balance;white-space:normal;font-size:14px;line-height:1.18}.thermal-node__content span{font-variant-numeric:tabular-nums;font-size:13px}.thermal-inspector__couplings{color:var(--text-muted);font-size:var(--font-caption);gap:7px;margin:0;padding:0;list-style:none;display:grid}.thermal-inspector__body{flex-direction:column;flex:none;display:flex}.thermal-inspector__status{color:#603922;background:#fff8f2;border:1px solid #f1d3bb;border-radius:12px;gap:3px;margin:10px 12px 0;padding:12px;display:grid}.thermal-inspector__status span,.thermal-inspector__status small{color:#7a5a47;font-size:var(--font-caption)}.thermal-inspector__status strong{font-variant-numeric:tabular-nums;font-size:22px;line-height:1.15}.thermal-inspector__details{padding:0}.thermal-inspector__details>summary{min-height:var(--target-min);color:var(--text-muted);cursor:pointer;font-size:var(--font-caption);align-items:center;gap:8px;padding:9px 12px;font-weight:700;list-style:none;display:flex}.thermal-inspector__details>summary:before{content:"›";color:#877acb;font-size:18px;line-height:1;transition:transform .12s}.thermal-inspector__details[open]>summary:before{transform:rotate(90deg)}.thermal-inspector__details[open]>summary{color:var(--text-strong)}.thermal-inspector__details-body{gap:7px;padding:0 12px 10px;display:grid}.thermal-inspector__details-count{color:#6557b8;background:#f0edff;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding-inline:5px;font-size:11px;display:grid}.thermal-inspector__readout{background:#fafbfc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 8px;padding:8px;display:grid}.thermal-inspector__readout strong{color:#46525c;font-variant-numeric:tabular-nums}.thermal-inspector__readout>span:last-child{grid-column:1/-1}.thermal-inspector__couplings li{border:1px solid var(--soft-line);border-radius:10px;gap:7px;padding:9px;display:grid}.thermal-inspector__coupling-action{min-height:var(--target-min);color:#6557b8;font-size:var(--font-caption);background:#faf9ff;border:1px solid #ded9f6;border-radius:8px;justify-self:start;padding:0 10px;font-weight:700}.thermal-inspector>.delete-item-button{min-height:var(--control-height)}.thermal-inspector__select{width:100%;height:var(--control-height);color:#46525c;min-width:116px;max-width:180px;font-size:var(--font-ui-small);background:#fafbfc;border:1px solid #dfe5e8;border-radius:8px;outline:0;padding:0 7px}.thermal-inspector__select:focus-visible{border-color:#a59bed;box-shadow:0 0 0 3px #087dcc14}.thermal-inspector__select:disabled,.thermal-inspector__coupling-action:disabled{cursor:not-allowed;opacity:.5}@media (pointer:coarse){.thermal-connection__hit-area{stroke-width:44px}.thermal-inspector__coupling-action,.thermal-inspector>.delete-item-button,.thermal-connection-status button{min-height:44px}}.optics-workspace-overlay{z-index:5;touch-action:none;pointer-events:none;width:100%;height:100%;transition:opacity .16s;position:absolute;inset:0;overflow:visible}.optics-workspace-meta{z-index:7;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:14px;left:16px}.optics-workspace-meta small{color:#61788a;font-size:11px}.optics-study-notice{z-index:8;color:#72501a;pointer-events:none;background:#fff9ebf5;border:1px solid #e7ba6b;border-radius:11px;gap:2px;max-width:min(430px,100% - 32px);padding:10px 13px;font-size:12px;display:grid;position:absolute;top:52px;left:16px;box-shadow:0 8px 22px #2636441a}.optics-study-notice[data-severity=error]{color:#7c3328;background:#fff3eff7;border-color:#e59b86}.optics-field-relief-host{z-index:30;pointer-events:auto;background:radial-gradient(circle at 70% 16%,#c4eef785,#0000 34%),radial-gradient(circle at 18% 75%,#dad1ff61,#0000 36%),linear-gradient(145deg,#f8fcff,#edf5f8 58%,#f4f1fb);min-width:0;min-height:0;padding:66px 18px 16px;display:grid;position:absolute;inset:0}.optics-field-relief-host .field-relief{grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.optics-field-relief-host .field-relief__frame,.optics-field-relief-host .field-relief__canvas{height:100%;min-height:0}.optics-field-relief-host .field-relief__frame{aspect-ratio:auto}@media (width<=520px){.optics-field-relief-host{padding:62px 8px 8px}.optics-field-relief-host .field-relief__title-group{display:none}.optics-field-relief-host .field-relief__header{align-items:stretch;min-height:34px}}.unified-workspace--optics .mechanics-layer .workspace__meta{display:none}.optics-placement-target,.optics-element{pointer-events:auto}.optics-workspace-overlay[data-pass-through=true] .optics-element,.optics-workspace-overlay[data-pass-through=true] .optics-material-field{pointer-events:none}.optics-placement-target{fill:#0000}.optics-polygon-draft{pointer-events:none}.optics-polygon-draft__fill{fill:#168d801f;stroke:none}.optics-polygon-draft__line{fill:none;stroke:#087dcc;stroke-dasharray:7 5;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.optics-polygon-draft__vertex{fill:#fffffff0;stroke:#087dcc;stroke-width:2px;cursor:pointer;pointer-events:auto;vector-effect:non-scaling-stroke}.optics-polygon-draft__vertex--closable{fill:#d9f4f1;stroke:#168d80;stroke-width:3px}.optics-polygon-draft__vertex:focus-visible{stroke:#4d3db5;stroke-width:5px;outline:none}.optics-polygon-guidance{z-index:8}.optics-polygon-guidance .drawing-hint__icon{background:#168d80}.optics-profile-editor{border-top:1px solid #dbe7ed;gap:10px;margin-top:12px;padding-top:12px;display:grid}.optics-profile-formula{gap:9px;display:grid}.optics-profile-formula__field{grid-template-columns:1fr;align-items:stretch}.optics-profile-formula__field textarea{resize:vertical;color:#233f55;background:#fbfdfe;border:1px solid #c9d9e2;border-radius:8px;width:100%;min-height:58px;padding:8px 9px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45}.optics-profile-formula__field textarea:focus-visible{border-color:#168d80}.optics-profile-formula__field textarea[aria-invalid=true]{background:snow;border-color:#cf6363}.optics-profile-formula__error{color:#8c362a;background:#fff3ef;border:1px solid #e9a293;border-radius:8px;margin:0;padding:8px 10px;font-size:11px;line-height:1.4}.optics-rays{pointer-events:none}.optics-ray{fill:none;stroke-linecap:round;stroke-width:2.4px}.optics-ray__halo{fill:none;stroke-linecap:round;stroke-width:4.5px;filter:url(#optics-ray-glow)}.optics-ray--virtual{stroke-dasharray:7 6;stroke-width:1.4px;opacity:.85}.optics-element{cursor:grab;outline:none}.optics-element__hit-target{fill:#0000;stroke:#0000;pointer-events:all}.optics-element__hit-target:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;stroke:var(--focus-ring);stroke-width:3px;vector-effect:non-scaling-stroke}.optics-element:active{cursor:grabbing}.optics-element--disabled{opacity:.42}.optics-element__selection{fill:#087dcc1a;stroke:var(--brand-blue);stroke-dasharray:5 4;stroke-width:1.5px}.optics-element__name,.optics-medium__label{fill:var(--text-strong);letter-spacing:.01em;paint-order:stroke;pointer-events:none;stroke:#f8fafbf5;stroke-width:.34em;font-family:inherit;font-weight:700}.optics-source__glow{pointer-events:none}.optics-source__halo{fill:#fff3bd;stroke:#eaa72e;stroke-width:1.6px}.optics-source__core{fill:#ffc93f;stroke:#8f5c0d;stroke-width:1.5px;filter:drop-shadow(0 0 6px #ffc754bf)}.optics-source__direction,.optics-object,.optics-object__base{fill:none;stroke:#ef6a3d;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.optics-mirror{fill:none;stroke:#40658c;stroke-linecap:round;stroke-width:5px;filter:drop-shadow(1.5px 1.5px 2px #1f334440)}.optics-mirror__shine{fill:none;stroke:#ffffffc7;stroke-linecap:round;stroke-width:1.5px;pointer-events:none}.optics-mirror__hatch,.optics-mirror__back{fill:none;stroke:#8fa6b8;stroke-linecap:round;stroke-width:1.4px}.optics-object-image__arrow,.optics-object-image__head{fill:none;stroke:#ef6a3d;stroke-linecap:round;stroke-width:2.6px;opacity:.62}.optics-object-image--virtual .optics-object-image__arrow,.optics-object-image--virtual .optics-object-image__head{stroke-dasharray:6 5;opacity:.55}.optics-object-image__label{fill:#b34f24;paint-order:stroke;stroke:#ffffffd1;stroke-width:.34em;stroke-linejoin:round;font-family:inherit;font-weight:700}.optics-slit-mount{fill:#33475c;stroke:#1f3344;stroke-width:1.5px;filter:drop-shadow(1.5px 1.5px 2px #1f334440)}.optics-slit-mount__shine{fill:none;stroke:#ffffff73;stroke-linecap:round;stroke-width:1.2px;pointer-events:none}.optics-slit-mount__slit{fill:#fff7df;stroke:#ffd664d9;stroke-width:1px;filter:drop-shadow(0 0 3px #ffd664b3);pointer-events:none}.optics-grating__ruling{fill:none;stroke:#0f1b26c7;stroke-width:1.1px;pointer-events:none}.optics-grating__iridescence{pointer-events:none}.optics-beam-splitter{fill:url(#optics-lens-glass);fill-opacity:.55;stroke:#40658c;stroke-width:1.5px;filter:drop-shadow(1.5px 1.5px 2px #1f334433)}.optics-beam-splitter__coating{fill:none;stroke:#40658c;stroke-dasharray:4 4;stroke-linecap:round;stroke-width:1.6px;pointer-events:none}.optics-lens,.optics-medium{fill:#4dbde038;stroke:#2894bd;stroke-linejoin:round;stroke-width:2px}.optics-lens--converging,.optics-lens--diverging{filter:drop-shadow(0 2px 4px #1f44582e)}.optics-lens--converging{fill:url(#optics-lens-glass)}.optics-lens--diverging{fill:url(#optics-lens-glass-diverging);stroke:#6979ca}.optics-lens--thick{fill:#41b5db4d}.optics-custom-domain{fill:#32bab23d;stroke:#168d80}.optics-custom-domain__selection{stroke-linejoin:round;stroke-width:6px}.optics-mirror__selection{fill:none;stroke-linecap:round;stroke-width:11px}.optics-analytic-domain{fill:#3db4c53d;stroke:#208fa1}.optics-material-field{pointer-events:auto}.optics-material-field__outline{fill:none;pointer-events:none}.optics-material-legend{filter:drop-shadow(0 3px 6px #18354729);pointer-events:none}.optics-material-legend__panel{fill:#fffffff2;stroke:#a8c3d1;stroke-width:1px}.optics-material-legend__bar{stroke:#325c7257;stroke-width:.6px}.optics-material-legend__title,.optics-material-legend__value{fill:#294158;font-family:Inter,system-ui,sans-serif;font-size:10px;font-weight:650}.optics-material-legend__value{font-variant-numeric:tabular-nums;font-size:8px}.optics-principal-point{fill:#fff;stroke:#227ba0;stroke-width:1.5px}.optics-aperture,.optics-aperture__edge{stroke:#3d4d5b;stroke-linecap:round;stroke-width:6px;filter:drop-shadow(1.5px 1.5px 2px #1f334438)}.optics-aperture__edge{stroke-width:2px}.optics-screen{fill:url(#optics-screen-face);stroke:#50687d;stroke-width:2px;filter:drop-shadow(2px 2px 3px #1f33442e)}.optics-screen__axis{stroke:#91a1ae;stroke-width:1px}.optics-screen__power-profile{fill:none;pointer-events:none;stroke:#eb7a32;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.optics-screen__power-fill{fill:#eb7a3242;stroke:none;pointer-events:none}.optics-detector{fill:#183f50;stroke:#39b6ce;stroke-width:2px}.optics-detector__mark{fill:#67d8de}.optics-probe{fill:none;stroke:#168d80;stroke-width:1.8px}.optics-reading rect{fill:#133b4c;stroke:#56cad5;stroke-width:1px}.optics-reading text{fill:#d9fbff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700}.optics-spectrum-editor__lines{gap:7px;display:grid}.optics-spectrum-editor__line{background:#f8fbfc;border:1px solid #dce8ec;border-radius:9px;grid-template-columns:minmax(0,1.35fr) minmax(68px,.65fr) 30px;align-items:end;gap:6px;padding:7px;display:grid}.optics-spectrum-editor__line>label{color:#61717c;gap:4px;min-width:0;font-size:11px;font-weight:650;display:grid}.optics-spectrum-editor__line input{width:100%;min-width:0}.optics-spectrum-editor__line>.icon-button{width:30px;height:30px;padding:0}.optics-spectrum-editor__actions{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.optics-spectrum-editor__actions .secondary-button{min-height:var(--control-height);align-items:center;gap:5px;display:inline-flex}.optics-inspector-reading{border-radius:var(--radius-control);color:#183f50;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;background:#f7fafc;border:1px solid #dce7ed;min-width:0;padding:9px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.45;display:block}.optics-workspace-overlay[data-active=true]{opacity:1}.optics-workspace-overlay[data-active=false]{opacity:.22}.screen-profile-result{gap:10px;margin-top:10px;display:grid;container-type:inline-size}.screen-profile-result__totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.screen-profile-result__totals>span{background:#f7fafc;border:1px solid #dce7ed;border-radius:9px;gap:3px;min-width:0;padding:8px 9px;display:grid}.screen-profile-result__totals small,.screen-profile-result__statistics dt{color:#64798a;font-size:10px;line-height:1.25}.screen-profile-result__totals strong,.screen-profile-result__statistics dd{color:#183f50;overflow-wrap:anywhere;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.35}.screen-profile-chart{background:#fbfdfe;border:1px solid #dce7ed;border-radius:10px;width:100%;min-height:230px;display:block}.screen-profile-chart__baseline{stroke:#8fa3b1;stroke-width:1px}.screen-profile-chart__grid{stroke:#dae4e9;stroke-dasharray:3 4;stroke-width:1px}.screen-profile-chart__curve{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.screen-profile-chart__curve--power{stroke:#e96f2d}.screen-profile-chart__spectral-bar{opacity:.9;stroke:#16314059;stroke-width:.6px}.screen-profile-chart__series-label{fill:#4d6475;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700}.screen-profile-chart__maximum,.screen-profile-chart__axis-label{fill:#6a7e8d;font-family:Inter,system-ui,sans-serif;font-size:9px}.screen-profile-chart__maximum,.screen-profile-chart__axis-label--end{text-anchor:end}.screen-profile-chart__axis-label--middle{text-anchor:middle}.screen-profile-result__statistics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.screen-profile-result__statistics>div{justify-content:space-between;align-items:baseline;gap:6px;min-width:0;padding:0 2px;display:flex}.screen-profile-result__statistics dd{text-align:end;margin:0;font-size:11px}@container (width<=260px){.screen-profile-result__totals,.screen-profile-result__statistics{grid-template-columns:minmax(0,1fr)}}.optics-transform-overlay{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.optics-transform-overlay__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.optics-transform-overlay__lines polygon,.optics-transform-overlay__lines line{fill:#087dcc0d;stroke:var(--brand-blue-dark);stroke-width:1.5px;vector-effect:non-scaling-stroke}.optics-transform-overlay__lines line{fill:none;stroke-dasharray:3 3}.optics-transform-handle,.optics-transform-rotation{z-index:1;touch-action:none;pointer-events:auto;background:0 0;border:0;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.optics-transform-handle:before{border:2px solid var(--brand-blue-dark);content:"";background:#fff;border-radius:3px;width:10px;height:10px;transition:width .1s,height .1s,background .1s;box-shadow:0 1px 4px #35288b3d}.optics-transform-handle:hover:before,.optics-transform-handle:focus-visible:before,.optics-transform-overlay--active .optics-transform-handle:before{background:#f4f1ff;width:13px;height:13px}.optics-transform-handle--north,.optics-transform-handle--south{cursor:ns-resize}.optics-transform-handle--east,.optics-transform-handle--west{cursor:ew-resize}.optics-transform-handle--north-west,.optics-transform-handle--south-east{cursor:nwse-resize}.optics-transform-handle--north-east,.optics-transform-handle--south-west{cursor:nesw-resize}.optics-transform-rotation{border:1.5px solid var(--brand-blue-dark);color:#5142b5;cursor:grab;background:#fffffff5;border-radius:50%;box-shadow:0 3px 10px #35288b33}.optics-transform-rotation:hover,.optics-transform-rotation:focus-visible{color:#fff;background:var(--brand-blue)}.optics-transform-overlay--active .optics-transform-rotation{cursor:grabbing}.optics-transform-handle:focus-visible,.optics-transform-rotation:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.unified-workspace--pan-mode .optics-transform-overlay,.unified-workspace--panning .optics-transform-overlay{opacity:0}.unified-workspace--pan-mode .optics-transform-handle,.unified-workspace--pan-mode .optics-transform-rotation,.unified-workspace--panning .optics-transform-handle,.unified-workspace--panning .optics-transform-rotation{pointer-events:none}.optics-send-to-photodetector{min-height:var(--control-height);border:1px solid var(--brand-blue);background:var(--surface-raised,#fff);color:var(--brand-blue);text-align:start;cursor:pointer;border-radius:9px;align-self:flex-start;align-items:center;margin-top:4px;padding:7px 12px;font-size:.78rem;font-weight:600;line-height:1.25;display:inline-flex}.optics-send-to-photodetector:hover:not(:disabled){background:#087dcc14}.optics-send-to-photodetector:disabled{opacity:.55;cursor:default}@media (pointer:coarse){.optics-profile-formula__field textarea{min-height:84px;font-size:1rem}.optics-send-to-photodetector{min-height:var(--target-touch)}}.optics-alignment-guide{stroke:#d0574e;stroke-width:1px;stroke-dasharray:6 4;opacity:.85;pointer-events:none;vector-effect:non-scaling-stroke}.optics-alignment-guide.is-center{stroke:#087dcc;stroke-dasharray:2 3}.field-relief{box-sizing:border-box;color:#243746;gap:10px;width:100%;min-width:0;margin:0;font-family:inherit;display:grid}.field-relief__header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.field-relief__title-group{min-width:0;line-height:1.15;display:grid}.field-relief__title-group strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.field-relief__eyebrow{color:#647686;letter-spacing:.045em;text-transform:uppercase;font-size:.72rem;font-weight:750}.field-relief__controls{flex:none;gap:6px;display:flex}.field-relief__controls button{color:#385064;min-height:34px;font:inherit;cursor:pointer;background:#ffffffdb;border:1px solid #58708233;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:6px 10px;font-size:.76rem;font-weight:720;transition:border-color .14s,background-color .14s,transform .14s;display:inline-flex;box-shadow:0 2px 8px #223d5112}.field-relief__controls button:hover{background:#fff;border-color:#2b77b46b;transform:translateY(-1px)}.field-relief__controls button[aria-pressed=true]{color:#116b82;background:#eaf9fc;border-color:#1885a559}.field-relief__frame{aspect-ratio:16/10;background:#f3f8fb;border:1px solid #566f802e;border-radius:18px;min-height:280px;position:relative;overflow:hidden;box-shadow:0 16px 36px #1f3a4d1a,inset 0 1px #ffffffe6}.field-relief__canvas{touch-action:none;cursor:grab;width:100%;height:100%;min-height:280px;display:block}.field-relief__canvas:active{cursor:grabbing}.field-relief[data-projection=map] .field-relief__canvas{cursor:default}.field-relief__smoothing,.field-relief__vector-legend,.field-relief__legend{z-index:1;color:#536a7b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#ffffffc7;border:1px solid #5d758726;position:absolute;box-shadow:0 4px 14px #1f3a4d12}.field-relief__smoothing{border-radius:999px;padding:5px 8px;font-size:.64rem;font-weight:720;top:10px;left:10px}.field-relief__legend{font-variant-numeric:tabular-nums;border-radius:10px;grid-template-columns:auto minmax(72px,118px) auto;align-items:center;gap:7px;padding:6px 8px;font-size:.67rem;display:grid;bottom:10px;right:10px}.field-relief__legend i{background:linear-gradient(90deg,#3730a3,#2368c4,#0c9daf,#21b889,#e2c03a,#eb6937);border-radius:999px;height:7px}.field-relief__vector-legend{border-radius:8px;padding:5px 8px;font-size:.67rem;font-weight:720;bottom:10px;left:10px}.field-relief__empty{color:#657988;text-align:center;background:#f6fafce0;place-items:center;padding:24px;font-size:.85rem;display:grid;position:absolute;inset:0}.field-relief__note{color:#6a7e8d;margin:0;font-size:.72rem;line-height:1.35}@media (width<=520px){.field-relief__header{flex-direction:column;align-items:flex-start}.field-relief__controls{width:100%}.field-relief__controls button{flex:1 1 0;min-width:0}.field-relief__frame,.field-relief__canvas{min-height:240px}.field-relief__legend{grid-template-columns:auto minmax(52px,1fr) auto;max-width:calc(100% - 20px)}}@media (prefers-reduced-motion:reduce){.field-relief__controls button{transition:none}.field-relief__controls button:hover{transform:none}}.help-panel-backdrop{z-index:120;background:#19212b47;justify-content:flex-end;display:flex;position:fixed;inset:0}.help-panel{border-left:1px solid var(--line);width:min(430px,100vw - 24px);height:100dvh;color:var(--ink);background:var(--panel);grid-template-rows:auto auto auto minmax(0,1fr);animation:.16s ease-out help-panel-enter;display:grid;overflow:hidden;box-shadow:-18px 0 48px #19212b33}@keyframes help-panel-enter{0%{opacity:0;transform:translate(18px)}}.help-panel__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px 13px;display:flex}.help-panel__header h2{color:var(--text-strong);margin:0;font-size:1.15rem}.help-panel__icon-button,.context-help-button{width:var(--target-min);min-width:var(--target-min);height:var(--target-min);border:1px solid var(--line);color:var(--muted);background:var(--panel);border-radius:9px;place-items:center;padding:0;display:inline-grid}.context-help-button{width:30px;min-width:30px;height:30px;color:var(--violet-dark);background:var(--brand-blue-soft);border-color:#d9d3fa}.toolbox-view-bar{grid-template-columns:minmax(0,1fr) auto}.toolbox-view-actions{align-items:center;padding-right:2px;display:flex}.toolbox-view-actions .context-help-button{background:0 0;border:0}.inspector-help-action{z-index:12;position:absolute;top:17px;right:58px}.result-actions .context-help-button{color:var(--violet-dark)}.help-panel__icon-button:hover,.context-help-button:hover{color:var(--violet-dark);background:var(--violet-soft);border-color:#c8c0f4}.help-panel__controls{border-bottom:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px;display:grid}.help-search{min-width:0;min-height:var(--control-height);border:1px solid var(--line);color:var(--muted);background:var(--panel);border-radius:9px;align-items:center;gap:8px;padding:0 10px;display:flex}.help-search:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 3px #087dcc2e}.help-search input{width:100%;min-width:0;height:100%;color:var(--ink);font-size:var(--font-ui-small);appearance:none;background:0 0;border:0;outline:0;padding:0}.help-search input:focus,.help-search input:focus-visible{outline:none}.help-search input::-webkit-search-cancel-button{appearance:none}.help-panel__copy-button{min-height:var(--control-height);color:var(--violet-dark);background:var(--brand-blue-soft);font-size:var(--font-caption);border:1px solid #d9d3fa;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-weight:700;display:inline-flex}.help-copy-status{color:var(--muted);font-size:var(--font-caption);grid-column:1/-1;font-weight:700}.help-search-results{border-bottom:1px solid var(--line);background:var(--panel);max-height:min(44dvh,390px);padding:10px 14px 12px;overflow:auto}.help-search-results>p{color:var(--muted);font-size:var(--font-caption);margin:0 0 8px}.help-search-results ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.help-search-results button{border:1px solid var(--line);text-align:left;background:var(--surface-subtle);border-radius:9px;gap:3px;width:100%;padding:10px 11px;display:grid}.help-search-results button:hover{background:var(--violet-soft);border-color:#c8c0f4}.help-search-results strong{color:var(--text-strong);font-size:var(--font-ui-small)}.help-search-results span{color:var(--muted);font-size:var(--font-caption);line-height:1.4}.help-contents{border-bottom:1px solid var(--line);background:var(--panel)}.help-contents>summary{cursor:pointer;min-height:38px;color:var(--muted);font-size:var(--font-ui-small);align-items:center;gap:7px;padding:0 15px;font-weight:700;list-style:none;display:flex}.help-contents>summary::-webkit-details-marker{display:none}.help-contents[open]>summary{color:var(--violet-dark);background:#faf9ff}.help-contents nav{gap:12px;max-height:min(45dvh,410px);padding:2px 14px 14px;display:grid;overflow-y:auto}.help-contents nav section{gap:3px;display:grid}.help-contents nav h3{color:var(--muted);font-size:var(--font-caption);letter-spacing:.04em;text-transform:uppercase;margin:8px 5px 3px}.help-contents nav button{min-height:var(--target-min);color:var(--ink);text-align:left;font-size:var(--font-ui-small);background:0 0;border:0;border-radius:7px;padding:7px 9px}.help-contents nav button:hover,.help-contents nav button[aria-current=page]{color:var(--violet-dark);background:var(--violet-soft)}.help-panel__article-scroll{overscroll-behavior:contain;background:#fff;min-height:0;overflow-y:auto}.help-panel__article-toolbar{min-height:42px;color:var(--muted);font-size:var(--font-caption);background:#fbfcfd;border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:12px;padding:5px 16px;display:flex}.help-panel__article-toolbar button,.help-panel__article-toolbar span{min-height:32px;color:var(--violet-dark);background:0 0;border:0;border-radius:7px;align-items:center;gap:4px;padding:0 7px;font-weight:700;display:inline-flex}.help-panel__article-toolbar button:hover{background:var(--violet-soft)}.help-panel__article-toolbar small{font-size:var(--font-caption);justify-items:end;line-height:1.3;display:grid}.help-panel__article-toolbar time{color:var(--muted)}.help-panel__state{min-height:220px;color:var(--muted);text-align:center;font-size:var(--font-body);place-content:center;justify-items:center;padding:28px;display:grid}.help-panel__state strong{color:var(--text-strong)}.help-panel__state p{margin:8px 0 14px}.help-panel__state button{min-height:var(--target-min);color:var(--violet-dark);background:var(--violet-soft);border:1px solid #d9d3fa;border-radius:8px;padding:0 12px;font-weight:700}.help-panel .help-article{max-width:100%;color:var(--ink);overflow-wrap:anywhere;font-size:var(--font-body);margin:0;padding:20px 18px 34px;line-height:1.58}.help-panel .help-article h1{color:var(--text-strong);margin:0 0 18px;font-size:1.6rem;line-height:1.18}.help-panel .help-article h2{color:var(--text-strong);margin:28px 0 10px;font-size:1.18rem;line-height:1.28}.help-panel .help-article h3{color:var(--text-strong);margin:22px 0 8px;font-size:1rem}.help-panel .help-article p,.help-panel .help-article ul,.help-panel .help-article ol,.help-panel .help-article table{margin-block:0 14px}.help-panel .help-article ul,.help-panel .help-article ol{padding-left:22px}.help-panel .help-article li+li{margin-top:5px}.help-panel .help-article a{color:#4f46c7;text-underline-offset:2px;text-decoration-thickness:1px}.help-panel .help-article code{color:#273653;background:#eef2f8;border-radius:4px;padding:.12em .32em;font:.9em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.help-panel .help-article table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.help-panel .help-article th,.help-panel .help-article td{text-align:left;vertical-align:top;border:1px solid #d8deea;padding:7px 8px}.help-panel .help-article th{background:#f5f7fb}.help-panel .help-formula{color:inherit;cursor:copy;border-radius:5px}.help-panel .help-formula:hover{background:var(--violet-soft)}.help-panel .help-formula:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.help-panel .help-formula--inline{vertical-align:-.28em;max-width:100%;display:inline-flex}.help-panel .help-formula--block{justify-content:center;max-width:100%;margin:16px 0;padding:5px 2px;display:flex;overflow-x:auto}.help-panel .help-formula svg{flex:none;max-width:none}.help-panel .help-formula svg [fill=\#000000]{fill:currentColor}.help-panel .help-formula svg [stroke=\#000000]{stroke:currentColor}@media (width<=860px){.help-panel-backdrop{background:#19212b6b}.help-panel{border-left:0;width:100%;max-width:100%}}@media (width<=520px){.help-panel__controls{grid-template-columns:minmax(0, 1fr) var(--control-height)}.help-panel__copy-button{width:var(--control-height);padding:0}.help-panel__copy-button span{display:none}.help-panel .help-article{font-size:var(--font-ui-small);padding:18px 15px 30px}.help-panel .help-article h1{font-size:1.42rem}}@media (pointer:coarse){.help-panel__icon-button,.context-help-button,.help-panel__copy-button,.help-contents nav button,.help-panel__state button{min-width:var(--target-touch);min-height:var(--target-touch)}}@media (prefers-reduced-motion:reduce){.help-panel{animation:none}}.confirm-dialog__backdrop{z-index:10050;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17222b6b;place-items:center;padding:20px;animation:.14s ease-out confirm-dialog-backdrop-in;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(420px,100%);color:var(--text,#34414c);background:var(--panel,#fff);border:1px solid #ffffffb8;border-radius:18px;flex-direction:column;gap:10px;padding:20px;animation:.16s ease-out confirm-dialog-in;display:flex;box-shadow:0 28px 80px #121d2647}.confirm-dialog__title{color:var(--text-strong,#27343e);letter-spacing:-.02em;margin:0;font-size:1.15rem}.confirm-dialog__description{color:var(--text-muted,#66747f);font-size:var(--font-ui-small,.82rem);margin:0;line-height:1.45}.confirm-dialog__actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.confirm-dialog__actions button{min-height:40px;font-size:var(--font-ui-small,.82rem);border:1px solid #0000;border-radius:11px;padding:0 16px;font-weight:750}.confirm-dialog__cancel{color:var(--text-strong,#27343e);background:var(--surface-subtle,#f4f7f8);border-color:#dbe8f0}.confirm-dialog__cancel:hover,.confirm-dialog__cancel:focus-visible{border-color:var(--brand-blue-dark,#087dcc);color:var(--brand-blue-dark,#087dcc);background:var(--brand-blue-soft,#eaf6fd)}.confirm-dialog__confirm{color:#fff;background:#b84d58;border-color:#b84d58}.confirm-dialog__confirm:hover,.confirm-dialog__confirm:focus-visible{background:#9d3f49;border-color:#9d3f49}@keyframes confirm-dialog-backdrop-in{0%{opacity:0}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.confirm-dialog__backdrop,.confirm-dialog{animation:none}}@media (width<=620px){.confirm-dialog__backdrop{align-items:end;padding:10px}.confirm-dialog__actions button{flex:1 1 0}}.runtime-error-boundary{box-sizing:border-box;color:#26333d;background:#f4f6f8;place-items:center;min-height:100dvh;padding:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid}.runtime-error-boundary__card{background:#fff;border:1px solid #d5dce1;border-radius:16px;gap:14px;width:min(100%,560px);padding:clamp(24px,5vw,40px);display:grid;box-shadow:0 18px 48px #1f2a331f}.runtime-error-boundary__brand,.runtime-error-boundary__card h1,.runtime-error-boundary__card p{margin:0}.runtime-error-boundary__brand{color:#176b87;letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-weight:700}.runtime-error-boundary__card h1{font-size:clamp(24px,5vw,34px);line-height:1.15}.runtime-error-boundary__card p,.runtime-error-boundary__card small{color:#566772;line-height:1.55}.runtime-error-boundary__actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.runtime-error-boundary__actions button{cursor:pointer;color:#fff;min-height:44px;font:inherit;background:#176b87;border:1px solid #176b87;border-radius:9px;padding:10px 16px;font-weight:650}.runtime-error-boundary__actions button+button{color:#176b87;background:#fff}.runtime-error-boundary__actions button:hover{color:#fff;background:#115d76}.runtime-error-boundary__actions button:focus-visible{outline-offset:2px;outline:3px solid #f2a900}.runtime-error-boundary:focus-visible{outline:none}.runtime-error-boundary:focus-visible .runtime-error-boundary__card{outline-offset:3px;outline:3px solid #f2a900}@media (width<=480px){.runtime-error-boundary{padding:12px}.runtime-error-boundary__actions{display:grid}.runtime-error-boundary__actions button{width:100%}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{color:#25313d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#25313d;--muted:#596773;--text-strong:#26343e;--line:#dce3e7;--soft-line:#e8edef;--panel:#fff;--canvas:#f8fafb;--surface-subtle:#f5f7f9;--surface-raised:#fffffff5;--brand-blue:#087dcc;--brand-blue-dark:#07538f;--brand-blue-soft:#e9f5ff;--mascot-orange:#e57612;--mascot-orange-dark:#9c4108;--mascot-orange-soft:#fff1e4;--focus-ring:var(--brand-blue-dark);--radius-control:9px;--radius-card:12px;--shadow-float:0 10px 30px #1f2d3a21;--violet:var(--brand-blue);--violet-dark:var(--brand-blue-dark);--violet-soft:var(--brand-blue-soft);--orange:var(--mascot-orange);--blue:var(--brand-blue);--teal:#2e988c;--rose:#e45f68;--refusal-text:#a3434d;--font-caption:.75rem;--font-ui-small:.8125rem;--font-ui:.875rem;--font-body:.875rem;--font-heading:1rem;--control-height:2.5rem;--target-min:2.25rem;--target-touch:2.75rem;--text-muted:#596773;--text-subtle:#68757f;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eef1f3;font-family:Inter,Segoe UI Variable,Segoe UI,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}input[type=number],.model-time strong,.effect-input,.measurement-summary strong,.scene-viewport-controls__zoom{font-variant-numeric:tabular-nums}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=tab]:focus-visible,[role=treeitem]:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:not(:disabled){cursor:pointer}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lab-app{background:#eef1f3;grid-template-rows:68px minmax(0,1fr);height:100dvh;min-height:100vh;display:grid;overflow:hidden}.project-restore-loading{min-height:100dvh;color:var(--text-muted);font-size:var(--font-ui);background:#eef1f3;place-items:center;display:grid}.project-restore-error{width:min(480px,100vw - 32px);color:var(--text-primary);background:#fffaf0;border:1px solid #e1b867;border-radius:18px;gap:14px;padding:24px;display:grid;box-shadow:0 12px 36px #222d3824}.project-restore-error h1,.project-restore-error p{margin:0}.project-restore-error div{flex-wrap:wrap;gap:10px;display:flex}.lab-assistant-anchor{z-index:10000;will-change:transform;width:112px;height:112px;transition:opacity .15s,visibility .15s;position:fixed;top:0;left:0}.lab-assistant-anchor[data-visually-suppressed=true]{visibility:hidden;opacity:0;pointer-events:none}.lab-assistant{touch-action:none;-webkit-user-select:none;user-select:none;outline-offset:3px;cursor:grab;-webkit-user-drag:none;transform-origin:100% 100%;background:0 0;border:0;border-radius:28px;width:112px;height:112px;padding:0;transition:opacity .16s,filter .16s,transform .16s;position:absolute;inset:0;overflow:visible;transform:scale(.82)}.lab-assistant-anchor:hover .lab-assistant,.lab-assistant-anchor:focus-within .lab-assistant,.lab-assistant-anchor[data-hint-open=true] .lab-assistant{transform:scale(.92)}@media (width<=520px){.lab-assistant{transform:scale(.68)}.lab-assistant-anchor:hover .lab-assistant,.lab-assistant-anchor:focus-within .lab-assistant,.lab-assistant-anchor[data-hint-open=true] .lab-assistant{transform:scale(.78)}}.lab-assistant-anchor[data-focus-mode=true] .lab-assistant{opacity:.76}.lab-assistant-anchor[data-focus-mode=true]:hover .lab-assistant,.lab-assistant-anchor[data-focus-mode=true]:focus-within .lab-assistant{opacity:1}.lab-assistant__dismiss{z-index:2;opacity:0;color:#61707b;pointer-events:none;background:#fffffff5;border:1px solid #d8e0e6;border-radius:999px;place-items:center;width:28px;height:28px;padding:0 0 2px;font-size:20px;line-height:1;transition:opacity .14s,scale .14s,color .14s,background-color .14s;display:grid;position:absolute;top:-9px;right:-6px;scale:.82;box-shadow:0 4px 12px #222d382e}.lab-assistant-anchor:hover .lab-assistant__dismiss,.lab-assistant-anchor:focus-within .lab-assistant__dismiss{opacity:1;pointer-events:auto;scale:1}.lab-assistant__dismiss:hover,.lab-assistant__dismiss:focus-visible{color:#9f2f38;background:#fff1f2}.lab-assistant__dismiss:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.lab-assistant__emote{z-index:2;color:#294b7d;letter-spacing:1px;pointer-events:none;background:#fffffff0;border:2px solid #9caec6;border-radius:12px 12px 12px 3px;min-width:26px;padding:3px 7px;font-size:13px;font-weight:800;line-height:1.1;animation:.24s ease-out both lab-assistant-emote-enter;position:absolute;top:2px;right:-8px;box-shadow:0 3px 8px #222d3829}.lab-assistant__emote[data-emote=heart]{color:#d73f57}.lab-assistant__emote[data-emote=sparkles],.lab-assistant__emote[data-emote=bulb]{color:#ad7000}.lab-assistant__emote[data-emote=exclamation]{color:#b43a40}.lab-assistant__emote[data-emote=purr]{letter-spacing:0;white-space:nowrap;right:-18px}.lab-assistant[data-sleeping=true] .lab-assistant__emote{animation:1.8s ease-in-out infinite lab-assistant-sleep-bubble}@keyframes lab-assistant-emote-enter{0%{opacity:0;transform:translateY(6px)scale(.82)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lab-assistant-sleep-bubble{0%,to{transform:translateY(2px)}50%{transform:translateY(-4px)}}.lab-assistant:hover{filter:drop-shadow(0 8px 8px #222d382e)}.lab-assistant:focus-visible{outline:3px solid var(--focus-ring)}.lab-assistant.is-dragging{cursor:grabbing;filter:drop-shadow(0 10px 10px #222d383d)}.lab-assistant__sprite{width:112px;height:112px;image-rendering:pixelated;pointer-events:none;background-repeat:no-repeat;display:block}.lab-assistant__sprite--main{background-image:var(--assistant-sprite-1x,url(/assistant/corgi-assistant-sprite-sheet-v7.png));background-size:896px 784px}.lab-assistant__sprite--sleep{background-image:var(--assistant-sprite-1x,url(/assistant/corgi-assistant-sleep-sprite-sheet-v7.png));background-size:896px 336px}.lab-assistant__sprite--facepalm{background-image:url(/assistant/corgi-assistant-facepalm-sprite-sheet-v5.png);background-size:896px 112px}.lab-assistant__sprite--hardHatEquip{background-image:url(/assistant/corgi-assistant-hard-hat-equip-sprite-sheet-v5.png);background-size:896px 112px}@supports (background-image:image-set(url("") 1x)){.lab-assistant__sprite--main{background-image:var(--assistant-sprite-set,image-set(url(/assistant/corgi-assistant-sprite-sheet-v7.png) 1x, url(/assistant/corgi-assistant-sprite-sheet-v7@2x.png) 2x))}.lab-assistant__sprite--sleep{background-image:var(--assistant-sprite-set,image-set(url(/assistant/corgi-assistant-sleep-sprite-sheet-v7.png) 1x, url(/assistant/corgi-assistant-sleep-sprite-sheet-v7@2x.png) 2x))}.lab-assistant__sprite--facepalm{background-image:-webkit-image-set(url(/assistant/corgi-assistant-facepalm-sprite-sheet-v5.png) 1x,url(/assistant/corgi-assistant-facepalm-sprite-sheet-v5@2x.png) 2x);background-image:image-set("/assistant/corgi-assistant-facepalm-sprite-sheet-v5.png" 1x,"/assistant/corgi-assistant-facepalm-sprite-sheet-v5@2x.png" 2x)}.lab-assistant__sprite--hardHatEquip{background-image:-webkit-image-set(url(/assistant/corgi-assistant-hard-hat-equip-sprite-sheet-v5.png) 1x,url(/assistant/corgi-assistant-hard-hat-equip-sprite-sheet-v5@2x.png) 2x);background-image:image-set("/assistant/corgi-assistant-hard-hat-equip-sprite-sheet-v5.png" 1x,"/assistant/corgi-assistant-hard-hat-equip-sprite-sheet-v5@2x.png" 2x)}}.lab-assistant__sprite.is-facing-left{transform:scaleX(-1)}.lab-assistant__hard-hat{top:var(--hard-hat-top,16px);left:var(--hard-hat-left,37px);width:var(--hard-hat-width,38px);height:var(--hard-hat-height,27px);transform:translate(var(--hard-hat-x,0), var(--hard-hat-y,0));image-rendering:pixelated;pointer-events:none;background:url(/assistant/corgi-assistant-hard-hat.png) 50%/contain no-repeat;position:absolute}.lab-assistant__hard-hat.is-facing-left{scale:-1 1}.lab-assistant__hard-hat.is-removing{animation:.85s ease-in forwards lab-assistant-hard-hat-remove}.lab-assistant__hard-hat.is-equipping{animation:1.1s ease-out both lab-assistant-hard-hat-equip}@keyframes lab-assistant-hard-hat-equip{0%{opacity:0;transform:translate(var(--hard-hat-x,0), calc(var(--hard-hat-y,0) - 34px)) rotate(-12deg) scale(.82)}55%{opacity:1;transform:translate(calc(var(--hard-hat-x,0) + 2px), calc(var(--hard-hat-y,0) - 5px)) rotate(5deg) scale(1)}to{opacity:1;transform:translate(var(--hard-hat-x,0), var(--hard-hat-y,0)) rotate(0deg) scale(1)}}.lab-assistant[data-mascot=mishanya] .lab-assistant__hard-hat{--hard-hat-top:2px;--hard-hat-left:32px;--hard-hat-width:48px;--hard-hat-height:34px;--hard-hat-walking-top:3px;--hard-hat-walking-left:45px;--hard-hat-walking-width:46px;--hard-hat-walking-height:27px}.lab-assistant[data-mascot=barsik] .lab-assistant__hard-hat{--hard-hat-top:2px;--hard-hat-left:33px;--hard-hat-width:46px;--hard-hat-height:32px;--hard-hat-walking-top:3px;--hard-hat-walking-left:48px;--hard-hat-walking-width:46px;--hard-hat-walking-height:27px}.lab-assistant[data-mascot=cheburashka] .lab-assistant__hard-hat{--hard-hat-top:2px;--hard-hat-left:33px;--hard-hat-width:46px;--hard-hat-height:32px;--hard-hat-walking-top:3px;--hard-hat-walking-left:49px;--hard-hat-walking-width:46px;--hard-hat-walking-height:27px}.lab-assistant[data-mascot=pelmen] .lab-assistant__hard-hat{--hard-hat-top:0px;--hard-hat-left:29px;--hard-hat-width:54px;--hard-hat-height:38px;--hard-hat-walking-top:2px;--hard-hat-walking-left:32px;--hard-hat-walking-width:48px;--hard-hat-walking-height:34px}.lab-assistant[data-mascot=ulfric] .lab-assistant__hard-hat{--hard-hat-top:1px;--hard-hat-left:32px;--hard-hat-width:48px;--hard-hat-height:34px;--hard-hat-walking-top:4px;--hard-hat-walking-left:50px;--hard-hat-walking-width:48px;--hard-hat-walking-height:28px}.lab-assistant[data-mascot=einstein] .lab-assistant__hard-hat{--hard-hat-top:5px;--hard-hat-left:36px;--hard-hat-width:40px;--hard-hat-height:28px;--hard-hat-walking-top:3px;--hard-hat-walking-left:47px;--hard-hat-walking-width:45px;--hard-hat-walking-height:26px}.lab-assistant[data-animation=walking] .lab-assistant__hard-hat{--hard-hat-top:var(--hard-hat-walking-top);--hard-hat-left:var(--hard-hat-walking-left);--hard-hat-width:var(--hard-hat-walking-width);--hard-hat-height:var(--hard-hat-walking-height);background-image:url(/assistant/corgi-assistant-hard-hat-side-v1.png)}.lab-assistant[data-animation=walking] .lab-assistant__hard-hat.is-facing-left{left:calc(112px - var(--hard-hat-left) - var(--hard-hat-width))}.lab-assistant[data-animation=walking][data-mascot=pelmen] .lab-assistant__hard-hat{background-image:url(/assistant/corgi-assistant-hard-hat.png)}@keyframes lab-assistant-hard-hat-remove{0%{opacity:1;transform:translate(var(--hard-hat-x,0), var(--hard-hat-y,0)) rotate(0deg) scale(1)}35%{opacity:1;transform:translate(calc(var(--hard-hat-x,0) - 2px), calc(var(--hard-hat-y,0) - 5px)) rotate(-8deg) scale(1)}to{opacity:0;transform:translate(calc(var(--hard-hat-x,0) + 6px), calc(var(--hard-hat-y,0) - 38px)) rotate(16deg) scale(.76)}}.lab-assistant[data-sleeping=true] .lab-assistant__hard-hat{top:56px;left:4px;transform:rotate(-14deg)scale(.8)}@media (prefers-reduced-motion:reduce){.lab-assistant__dismiss{transition:none}.lab-assistant__emote{animation:none}.lab-assistant__hard-hat.is-removing{opacity:0;animation:none}.lab-assistant__hard-hat.is-equipping{animation:none}}.lab-assistant-hint{z-index:10000;isolation:isolate;width:min(320px,100vw - 16px);color:var(--ink);filter:drop-shadow(0 14px 22px #1f2d3a29);transform-origin:var(--assistant-tail-x) top;background:#fffffffa;border:2px solid #f0c294;border-radius:30px;padding:0;animation:.42s cubic-bezier(.16,1.25,.35,1) both lab-assistant-cloud-enter,3.2s ease-in-out .42s infinite lab-assistant-cloud-float;position:fixed;overflow:visible;box-shadow:0 14px 38px #1f2d3a38}@keyframes lab-assistant-cloud-enter{0%{opacity:0;transform:translateY(var(--cloud-enter-y,-14px)) scale(.38)}68%{opacity:1;transform:translateY(2px)scale(1.035)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lab-assistant-cloud-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.lab-assistant-hint:before,.lab-assistant-hint:after{z-index:0;content:"";pointer-events:none;position:absolute}.lab-assistant-hint:before{left:calc(var(--assistant-tail-x) - 17px);background:#f0c294;width:34px;height:24px}.lab-assistant-hint:after{left:calc(var(--assistant-tail-x) - 13px);background:#fffffffa;width:26px;height:19px}.lab-assistant-hint[data-placement=below]:before,.lab-assistant-hint[data-placement=below]:after{clip-path:polygon(50% 0,100% 100%,0 100%)}.lab-assistant-hint[data-placement=below]:before{clip-path:path("M 0 24 C 8 24 11 12 17 0 C 23 12 26 24 34 24 Z")}.lab-assistant-hint[data-placement=below]:after{clip-path:path("M 0 19 C 6 19 9 10 13 0 C 17 10 20 19 26 19 Z")}.lab-assistant-hint[data-placement=below]:before{top:-21px}.lab-assistant-hint[data-placement=below]:after{top:-16px}.lab-assistant-hint[data-placement=above]{--cloud-enter-y:14px;transform-origin:var(--assistant-tail-x) bottom}.lab-assistant-hint[data-placement=above]:before,.lab-assistant-hint[data-placement=above]:after{clip-path:polygon(0 0,100% 0,50% 100%)}.lab-assistant-hint[data-placement=above]:before{clip-path:path("M 0 0 C 8 0 11 12 17 24 C 23 12 26 0 34 0 Z")}.lab-assistant-hint[data-placement=above]:after{clip-path:path("M 0 0 C 6 0 9 9 13 19 C 17 9 20 0 26 0 Z")}.lab-assistant-hint[data-placement=above]:before{bottom:-21px}.lab-assistant-hint[data-placement=above]:after{bottom:-16px}.lab-assistant-hint__content{z-index:1;max-height:var(--assistant-content-max-height);border-radius:28px;padding:14px;position:relative;overflow:auto}.lab-assistant-hint__header{z-index:1;color:var(--mascot-orange-dark);font-size:var(--font-caption);justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.lab-assistant-hint__close{width:32px;min-width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;font-size:1.45rem;line-height:1;display:inline-grid}.lab-assistant-hint__close:hover{color:var(--mascot-orange-dark);background:var(--mascot-orange-soft)}.lab-assistant-hint h2{color:var(--text-strong);margin:5px 0 6px;font-size:1rem;line-height:1.3}.lab-assistant-hint p{color:var(--ink);font-size:var(--font-ui-small);margin:0;line-height:1.5}.lab-assistant-hint__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.lab-assistant-hint__actions button{border:1px solid var(--line);min-height:36px;color:var(--violet-dark);background:var(--panel);font-size:var(--font-caption);border-radius:9px;padding:7px 11px;font-weight:700}.lab-assistant-hint__actions button:hover{background:var(--mascot-orange-soft);border-color:#efbd8d}.lab-assistant-hint__actions button.is-primary{border-color:var(--violet-dark);color:#fff;background:var(--violet-dark)}.lab-assistant-hint__actions button.is-quiet{color:var(--muted);margin-right:auto}.lab-assistant-hint[data-mode=cue]{filter:none;border-width:1px;border-radius:18px;width:min(276px,100vw - 16px);animation:.22s ease-out both lab-assistant-cloud-enter;box-shadow:0 9px 24px #1f2d3a2e}.lab-assistant-hint[data-mode=cue] .lab-assistant-hint__content{border-radius:17px;padding:10px 42px 10px 12px;overflow:hidden}.lab-assistant-hint[data-mode=cue] .lab-assistant-hint__header{position:absolute;top:3px;right:3px}.lab-assistant-hint[data-mode=cue] .lab-assistant-hint__header strong,.lab-assistant-hint[data-mode=cue] .lab-assistant-hint__actions{display:none}.lab-assistant-hint[data-mode=cue] .lab-assistant-hint__close{width:34px;min-width:34px;height:34px}.lab-assistant-hint[data-mode=cue] h2{font-size:var(--font-ui-small);margin:0 0 2px}.lab-assistant-hint[data-mode=cue] p{font-size:var(--font-caption);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.lab-assistant-hint__detail{color:var(--muted)!important;font-size:var(--font-caption)!important;margin-top:7px!important}@media (prefers-reduced-motion:reduce){.lab-assistant-hint{animation:none}}@media (pointer:coarse){.lab-assistant__dismiss{opacity:1;pointer-events:auto;width:36px;height:36px;scale:1}.lab-assistant-hint__close,.lab-assistant-hint__actions button{min-width:var(--target-touch);min-height:var(--target-touch)}}.topbar{z-index:20;background:#fffffff5;border-bottom:1px solid #d8dfe3;grid-template-columns:246px minmax(300px,1fr) auto auto;align-items:center;column-gap:10px;min-width:0;height:68px;padding:0 18px;display:grid;position:relative;box-shadow:0 3px 14px #1f2d3a12}.domain-switch{background:#f3f5f6;border:1px solid #e0e5e8;border-radius:10px;align-items:center;padding:3px;display:inline-flex}.domain-switch__label{color:var(--text-muted);font-size:var(--font-caption);padding:0 7px 0 6px;font-weight:700}.domain-switch button{height:28px;color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:0;border-radius:7px;padding:0 11px;font-weight:700}.domain-switch button.is-active{color:var(--brand-blue-dark);background:#fff;box-shadow:0 2px 7px #2d38431a}.brand-mark{width:200px;min-width:0;height:58px;overflow:hidden}.brand-mark__logo{object-fit:contain;image-rendering:auto;width:195px;max-width:none;height:195px;display:block;transform:translate(-1px,-64px)}.document-title{border-left:1px solid #e2e7ea;align-items:center;gap:12px;min-width:0;padding-left:16px;display:flex}.project-menu{margin-left:8px;position:relative}.project-menu>summary{min-width:132px;min-height:var(--target-min);cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 9px;list-style:none;display:grid}.project-menu>summary::-webkit-details-marker{display:none}.project-menu>summary span,.project-menu__panel label>span{color:var(--muted);font-size:var(--font-caption)}.project-menu>summary strong{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:12px;overflow:hidden}.project-menu__panel{z-index:80;overscroll-behavior:contain;border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:10px;width:320px;max-height:calc(100dvh - 96px);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 14px 36px #181e2d2e}.project-menu__panel label{gap:4px;display:grid}.project-menu__panel input,.project-menu__panel select{width:100%;min-height:var(--control-height);border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:7px;padding:6px 8px}.project-menu__actions{flex-wrap:wrap;gap:6px;display:flex}.project-menu__actions button,.project-menu__import>span{min-height:var(--target-min);cursor:pointer;border:1px solid var(--line);background:var(--canvas);color:var(--ink);font-size:var(--font-caption);border-radius:7px;justify-content:center;align-items:center;padding:7px 9px;display:inline-flex}.project-menu__import input{opacity:0;border:0;width:1px;min-width:1px;height:1px;min-height:1px;padding:0;position:absolute}.project-menu__panel p{color:var(--muted);font-size:var(--font-caption);margin:0}.project-menu__developer{min-height:58px;color:var(--ink);background:#f7fbfe;border:1px solid #dbe8f0;border-radius:9px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;text-decoration:none;transition:border-color .14s,background .14s;display:grid}.project-menu__developer:hover{background:var(--brand-blue-soft);border-color:#adcfe5}.project-menu__developer:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.project-menu__developer img{object-fit:contain;width:38px;height:30px;display:block}.project-menu__developer>span{gap:1px;min-width:0;display:grid}.project-menu__developer strong,.project-menu__developer small{overflow-wrap:anywhere;line-height:1.25}.project-menu__developer strong{font-size:12px}.project-menu__developer small{color:var(--muted);font-size:var(--font-caption)}.project-menu__appearance{border:1px solid var(--line);background:#f7f9fa;border-radius:9px}.project-menu__appearance>summary{cursor:pointer;align-items:center;gap:8px;min-height:46px;padding:7px 10px;list-style:none;display:flex}.project-menu__appearance>summary::-webkit-details-marker{display:none}.project-menu__appearance>summary>span{flex:1;gap:1px;min-width:0;display:grid}.project-menu__appearance>summary strong{color:var(--ink);font-size:12px}.project-menu__appearance>summary small{color:var(--muted);font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-menu__appearance>summary svg{color:var(--muted);transition:transform .14s}.project-menu__appearance[open]>summary svg{transform:rotate(180deg)}.project-menu__appearance>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.project-menu__appearance>div{border-top:1px solid var(--line);background:var(--panel);gap:12px;padding:4px 10px 10px;display:grid}.project-menu__mascots{border:0;min-width:0;margin:0;padding:0}.project-menu__mascots>legend{color:var(--muted);font-size:var(--font-caption);margin-bottom:5px}.project-menu__mascots>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.project-menu__mascots button{cursor:pointer;border:1px solid var(--line);min-width:0;min-height:56px;color:var(--ink);background:var(--canvas);text-align:left;border-radius:9px;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:7px;padding:5px 7px;display:grid}.project-menu__mascots button:last-child:nth-child(odd){grid-column:1/-1}.project-menu__mascots button:hover{background:var(--brand-blue-soft);border-color:#adc9e5}.project-menu__mascots button.is-selected{border-color:var(--brand-blue);background:var(--brand-blue-soft);box-shadow:inset 0 0 0 1px var(--brand-blue)}.project-menu__mascots button>span:last-child{gap:1px;min-width:0;display:grid}.project-menu__mascots strong,.project-menu__mascots small{overflow-wrap:break-word;white-space:normal;line-height:1.2;overflow:visible}.project-menu__mascots strong{font-size:12px}.project-menu__mascots small{color:var(--muted);font-size:var(--font-caption)}.project-menu__mascot-portrait{background-image:var(--assistant-portrait-1x);width:39px;height:39px;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:39px 39px;display:block}@supports (background-image:image-set(url("") 1x)){.project-menu__mascot-portrait{background-image:var(--assistant-portrait-set,var(--assistant-portrait-1x))}}.project-menu__save-status{color:#2f6856;font-size:var(--font-caption);background:#f1f8f5;border:1px solid #cce3d9;border-radius:8px;padding:8px 10px;font-weight:700}.project-menu__save-status--saving{color:var(--brand-blue-dark);background:var(--brand-blue-soft);border-color:#c8def0}.project-menu__save-status--error{color:#943f49;background:#fff3f4;border-color:#ecc9cc}.project-controls{align-items:center;min-width:0;display:flex}.analysis-config-menu{margin-left:6px;position:relative}.analysis-config-menu>summary{min-width:105px;min-height:var(--target-min);cursor:pointer;border:1px solid var(--line);background:var(--panel);font-size:var(--font-caption);color:var(--muted);border-radius:8px;padding:5px 9px;list-style:none;display:grid}.analysis-config-menu>summary::-webkit-details-marker{display:none}.analysis-config-menu>summary strong{color:var(--ink);font-size:12px}.analysis-config-menu__panel{z-index:81;border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:12px;width:min(560px,100vw - 24px);max-height:calc(100vh - 90px);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 14px 36px #181e2d2e}.analysis-config-menu__panel header,.analysis-config-menu__panel section,.analysis-config-menu__panel label{gap:6px;display:grid}.analysis-config-menu__panel header small,.analysis-config-menu__panel section>small,.analysis-config-menu__panel label>span,.analysis-config-menu__panel>p{color:var(--muted);font-size:var(--font-caption)}.analysis-config-menu__panel section{border-top:1px solid var(--line);padding-top:10px}.analysis-config-menu__heading{justify-content:space-between;align-items:center;display:flex}.analysis-config-menu__heading span{background:var(--canvas);text-align:center;min-width:24px;font-size:var(--font-caption);border-radius:999px;padding:2px 6px}.analysis-config-menu__panel ul{font-size:var(--font-caption);gap:3px;margin:0;padding-left:18px;display:grid}.analysis-config-menu__panel textarea{resize:vertical;border:1px solid var(--line);background:var(--canvas);width:100%;min-height:128px;color:var(--ink);border-radius:7px;padding:8px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.analysis-config-menu__panel button{min-height:var(--target-min);cursor:pointer;border:1px solid var(--line);background:var(--canvas);color:var(--ink);font-size:var(--font-caption);border-radius:7px;justify-self:start;padding:7px 9px}.analysis-config-menu__panel button:disabled{cursor:not-allowed;opacity:.55}.analysis-config-menu__errors{color:#b42318}.experiment-context{flex-direction:column;gap:1px;min-width:0;display:flex}.experiment-context strong{color:#34414c;font-size:var(--font-ui-small);white-space:nowrap;font-weight:700}.experiment-context small{color:var(--text-muted);font-size:var(--font-caption)}.document-title__line{align-items:center;gap:8px;min-width:0;font-size:.82rem;display:flex}.document-title__line>span:first-child{color:var(--text-muted)}.document-title__line strong{color:#33404b;text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.document-title__slash{color:#c2c9ce}.document-title__line button{width:24px;height:24px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.document-title__line button:hover{background:#f0f3f5}.save-status{color:#3f6f68;font-size:var(--font-caption);background:#edf7f4;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 7px;font-weight:650;display:inline-flex}.save-status--saving{color:var(--violet-dark)}.save-status--error{color:#b84d58}.catalog-status{color:#5c51a8;font-size:var(--font-caption);background:#f1effd;border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 8px;font-weight:700;display:inline-flex}.catalog-mode-heading{display:none}.history-controls,.object-edit-controls,.simulation-controls,.topbar-actions{align-items:center;display:flex}.history-controls{border-right:1px solid #e2e7ea;gap:3px;padding-right:10px}.object-edit-controls{border-right:1px solid #e2e7ea;flex:none;gap:1px;padding-right:8px}.object-edit-controls:not(:has(button:not(:disabled))){display:none}.object-edit-button{color:#5d6872}.history-button,.icon-button{min-width:var(--target-min);height:var(--target-min);color:#65727d;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.history-button--redo,.icon-button{width:var(--target-min);padding:0}.history-button__label{font-size:var(--font-caption);font-weight:650}.history-button:disabled,.icon-button:disabled{color:#c0c7cc;cursor:default}.icon-button:hover:not(:disabled),.history-button:hover:not(:disabled){background:#f6f8f9;border-color:#e1e6e9}.simulation-controls{border:1px solid var(--soft-line);background:var(--surface-subtle);border-radius:13px;grid-area:1/3;gap:8px;padding:5px 6px}.playback-controls{flex:none;align-items:center;gap:4px;display:inline-flex}.stationary-study-status{color:#184f73;background:#eef8ff;border:1px solid #b9d9ee;border-radius:12px;min-width:176px;min-height:42px;padding:5px 12px;line-height:1.05;display:grid}.stationary-study-status small,.stationary-study-status span{color:#5f7f95;font-size:10px}.stationary-study-status strong{font-size:12px}.step-button{width:auto;min-width:62px;font-size:var(--font-caption);gap:6px;padding:0 9px;font-weight:700}.playback-rate-control{display:inline-flex}.playback-rate-select{width:64px;height:var(--target-min);color:#4f5d68;font-size:var(--font-caption);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dce2e6;border-radius:9px;padding:0 20px 0 8px;font-weight:750}.playback-rate-select:hover:not(:disabled){background:var(--brand-blue-soft);border-color:#9fcce8}.playback-rate-select:disabled{color:#aeb7be;background:#f5f7f8}.playback-rate-select:focus-visible,.scene-vector-controls>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.clear-scene-button{height:var(--target-min);color:#b84d58;font-size:var(--font-caption);background:#fff;border:1px solid #eadcdf;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:650;display:inline-flex}.clear-scene-button:hover:not(:disabled){background:#fff4f5;border-color:#e2bdc2}.clear-scene-button:disabled{color:#b8c0c6;cursor:default;border-color:#e7ebed}.model-time{border-radius:var(--radius-control);background:#fff;border:1px solid #e1e6e9;flex-direction:column;align-items:flex-start;min-width:78px;padding:4px 9px;display:flex}.model-time small{color:var(--text-muted);font-size:var(--font-caption);line-height:1}.model-time strong{color:#3b4650;font-variant-numeric:tabular-nums;margin-top:3px;font-size:.75rem}.run-button{border:1px solid var(--brand-blue-dark);color:#fff;background:linear-gradient(180deg, #168fd8, var(--brand-blue));border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:112px;height:38px;padding:0 16px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #087dcc33}.run-button__label--compact{display:none}.run-button:hover{background:linear-gradient(180deg, var(--brand-blue), var(--brand-blue-dark))}.run-button--preparing .spin{animation:.85s linear infinite simulation-preparing-spin}@keyframes simulation-preparing-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.run-button--preparing .spin{animation:none}}.topbar-actions{grid-area:1/4;justify-self:end;gap:7px}.share-button{height:var(--target-min);color:#56636e;font-size:var(--font-caption);white-space:nowrap;background:#fff;border:1px solid #dce2e6;border-radius:9px;align-items:center;gap:7px;padding:0 11px;font-weight:650;display:inline-flex}.share-button:hover{background:#f6f8f9}.workspace-toggle.is-active{color:#fff;border-color:var(--brand-blue-dark);background:var(--brand-blue)}.lab-layout{--toolbox-width:272px;--inspector-width:320px;--collapsed-rail-width:38px;--toolbox-track-width:var(--toolbox-width);--inspector-track-width:var(--inspector-width);--results-track-height:212px;grid-template-columns:var(--toolbox-track-width) minmax(320px, 1fr) var(--inspector-track-width);grid-template-rows:minmax(300px, 1fr) var(--results-track-height);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.shell-drawer{display:contents}.shell-drawer-backdrop{z-index:17;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#181f2757;border:0;padding:0;position:absolute;inset:0}.lab-layout.lab-layout--toolbox-collapsed{--toolbox-track-width:var(--collapsed-rail-width)}.lab-layout.lab-layout--inspector-collapsed{--inspector-track-width:var(--collapsed-rail-width)}.lab-layout--results-collapsed{--results-track-height:48px}.lab-layout--results-expanded{--results-track-height:max(280px, 42vh);grid-template-rows:minmax(240px, 1fr) var(--results-track-height)}.lab-layout--focus-mode .workspace{box-shadow:inset 0 0 0 1px #087dcc1a}.experiment-hud{z-index:7;color:#26404f;max-width:calc(100% - 32px);min-height:38px;font-size:var(--font-caption);pointer-events:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffffff0;border:1px solid #07538f47;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;display:flex;position:absolute;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1f2d3a29}.experiment-hud[data-mode=paused]{border-color:#63707a3d;box-shadow:0 6px 18px #1f2d3a1c}.experiment-hud strong{white-space:nowrap;font-size:var(--font-ui-small)}.experiment-hud__pulse{background:var(--brand-blue);border-radius:999px;flex:none;width:9px;height:9px;animation:1.5s ease-in-out infinite experiment-hud-pulse;box-shadow:0 0 0 4px #087dcc21}.experiment-hud[data-mode=preparing] .experiment-hud__pulse,.experiment-hud[data-mode=step] .experiment-hud__pulse{background:var(--mascot-orange);box-shadow:0 0 0 4px #e5761221}.experiment-hud[data-mode=paused] .experiment-hud__pulse{background:#7b8a94;animation:none;box-shadow:0 0 0 4px #6476821f}.experiment-hud__readouts{align-items:center;gap:5px;min-width:0;display:flex}.experiment-hud__readout{color:#41525e;font-variant-numeric:tabular-nums;white-space:nowrap;background:#f5f9fbe0;border:1px solid #cedae2cc;border-radius:999px;align-items:baseline;gap:3px;min-width:0;padding:3px 7px;display:inline-flex}.experiment-hud__readout b{color:#334752;font-size:var(--font-caption)}.experiment-hud__readout i{color:#6d7d87;font-style:normal;font-weight:800}.experiment-hud__readout[data-trend=up] i{color:#b85a35}.experiment-hud__readout[data-trend=down] i{color:#3677a7}.experiment-hud__readout>span{text-overflow:ellipsis;font-weight:750;overflow:hidden}.experiment-hud__hint{color:var(--text-muted);white-space:nowrap}.experiment-hud__hint--settled{color:var(--brand-blue-dark,#087dcc);font-weight:700}.experiment-hud kbd{color:#42515d;font:inherit;background:#f7f9fa;border:1px solid #d9e1e5;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-weight:750}@keyframes experiment-hud-pulse{50%{box-shadow:0 0 0 7px #087dcc0a}}.problem-workspace{background:#eef1f3;grid-template-columns:316px minmax(420px,1fr) 352px;min-width:0;min-height:0;display:grid;overflow:hidden}.problem-workspace--loading{color:var(--text-muted);font-size:var(--font-caption);place-items:center}.problem-catalog-sidebar,.problem-detail,.problem-run-panel{background:#fff;min-width:0;min-height:0}.problem-catalog-sidebar{border-right:1px solid #dbe2e6;flex-direction:column;display:flex}.problem-catalog-sidebar>header{flex:none;padding:20px 20px 14px}.problem-catalog-sidebar h1,.problem-run-panel h2,.problem-detail h2,.problem-detail h3{color:#2d3944;letter-spacing:-.025em;margin:0}.problem-catalog-sidebar h1{font-size:1.12rem}.problem-catalog-sidebar>header p{color:var(--text-muted);font-size:var(--font-caption);margin:5px 0 0}.problem-search{height:38px;color:var(--text-muted);background:#f8fafb;border:1px solid #dfe5e8;border-radius:9px;flex:none;align-items:center;gap:8px;margin:0 14px 10px;padding:0 10px;display:flex}.problem-search:focus-within{border-color:#a69ced;box-shadow:0 0 0 3px #087dcc17}.problem-search input{color:#3f4b55;width:100%;min-width:0;font-size:var(--font-caption);background:0 0;border:0;outline:0}.problem-status-axis{color:var(--text-muted);font-size:var(--font-caption);flex:none;gap:5px;padding:0 14px 9px;font-weight:700;display:grid}.problem-status-axis select{color:#56636d;width:100%;height:32px;font-size:var(--font-caption);background:#fff;border:1px solid #dfe5e8;border-radius:8px;outline:0;padding:0 9px}.problem-status-filters{flex-wrap:wrap;flex:none;gap:5px;padding:0 14px 10px;display:flex}.problem-status-filters button{color:#68747e;height:27px;font-size:var(--font-caption);background:#fff;border:1px solid #e0e5e8;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-weight:700;display:inline-flex}.problem-status-filters button span{color:var(--text-muted);font-variant-numeric:tabular-nums}.problem-status-filters button[aria-pressed=true]{color:#5648bf;background:var(--brand-blue-soft);border-color:#c9c2f4}.problem-list-summary{color:var(--text-muted);font-size:var(--font-caption);background:#fafbfc;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2;flex:none;padding:8px 17px}.problem-list{scrollbar-gutter:stable;flex:1;align-content:start;gap:6px;min-height:0;padding:10px;display:grid;overflow-y:auto}.problem-list-item{text-align:left;background:#fff;border:1px solid #e2e7ea;border-radius:10px;gap:5px;min-width:0;padding:11px 12px;display:grid}.problem-list-item:hover,.problem-list-item[aria-pressed=true]{background:var(--brand-blue-soft);border-color:#a9d3ed}.problem-list-item[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--brand-blue)}.problem-list-item__reference{color:#7163ca;font-size:var(--font-caption);letter-spacing:.03em;text-transform:uppercase;font-weight:750}.problem-list-item>strong{color:#3a4650;font-size:var(--font-caption);text-overflow:ellipsis;line-height:1.4;overflow:hidden}.problem-list-item__footer{color:var(--text-muted);font-size:var(--font-caption);align-items:center;gap:5px;display:flex}.problem-list-item__footer i{background:#a7afb6;border-radius:999px;width:6px;height:6px}.problem-list-item--verified .problem-list-item__footer i,.problem-list-item--engine-pass .problem-list-item__footer i{background:#4fa77b}.problem-list-item--draft .problem-list-item__footer i,.problem-list-item--engine-partial .problem-list-item__footer i,.problem-list-item--engine-unknown .problem-list-item__footer i{background:#d79a43}.problem-list-item--blocked .problem-list-item__footer i,.problem-list-item--engine-blocked .problem-list-item__footer i,.problem-list-item--engine-fail .problem-list-item__footer i{background:#ca6570}.problem-list-item__footer svg{margin-left:auto}.problem-list-empty{min-height:180px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:7px;padding:20px;display:grid}.problem-list-empty strong{color:#66717b;font-size:var(--font-caption)}.problem-list-empty span{font-size:var(--font-caption)}.problem-detail{background:#f8fafb;padding:32px clamp(24px,4vw,54px) 48px;overflow-y:auto}.problem-detail__header{max-width:760px}.problem-detail__eyebrow{color:var(--text-muted);font-size:var(--font-caption);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:13px;font-weight:650;display:flex}.problem-status{color:#68747e;background:#edf1f3;border-radius:999px;padding:4px 8px}.problem-status--verified,.problem-status--engine-pass,.problem-run-verdict--passed{color:#34765b;background:#eaf6f0}.problem-status--draft,.problem-status--engine-partial,.problem-status--engine-unknown{color:#96631f;background:#fff4df}.problem-status--blocked,.problem-status--engine-blocked,.problem-status--engine-fail,.problem-run-verdict--failed{color:#a3434d;background:#fff0f1}.problem-detail__header h2{max-width:780px;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.18}.problem-detail__header>p{color:var(--text-muted);font-size:var(--font-caption);margin:12px 0 0}.problem-status-note{color:#7d6338;background:#fffaf0;border:1px solid #e6d9ba;border-radius:11px;gap:10px;max-width:780px;margin-top:22px;padding:13px 14px;display:flex}.problem-status-note svg{flex:none;margin-top:1px}.problem-status-note p{font-size:var(--font-caption);margin:0;line-height:1.55}.problem-support-card,.problem-evidence-lanes,.problem-given,.problem-model-card{background:#fff;border:1px solid #e0e6e9;border-radius:13px;max-width:780px;margin-top:24px;padding:20px;box-shadow:0 5px 18px #2a3a460a}.problem-support-card>p{color:var(--text-muted);font-size:var(--font-caption);margin:14px 0 0;line-height:1.55}.problem-evidence-lanes__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.problem-evidence-lanes__grid article{background:#f8fafb;border:1px solid #e1e6e9;border-radius:10px;min-width:0;padding:12px}.problem-evidence-lanes__grid article>span{color:var(--violet-dark);font-size:var(--font-caption);letter-spacing:.035em;text-transform:uppercase;font-weight:750}.problem-evidence-lanes__grid article>strong{color:#3f4b55;font-size:var(--font-caption);margin-top:7px;display:block}.problem-evidence-lanes__grid article>p,.problem-evidence-lanes>footer{color:var(--text-muted);font-size:var(--font-caption);margin:6px 0 0;line-height:1.5}.problem-evidence-lanes>footer{border-top:1px solid #edf0f2;margin-top:11px;padding-top:10px}.problem-evidence-lanes>footer code{color:#6557b8;font-size:var(--font-caption)}.problem-support-statuses{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px;margin:0;display:grid}.problem-support-statuses>div{background:#f5f7f9;border-radius:9px;min-width:0;padding:10px}.problem-support-statuses dt{color:var(--text-muted);font-size:var(--font-caption);gap:3px;font-weight:700;display:grid}.problem-support-statuses dt code{color:var(--text-muted);font-size:var(--font-caption);text-overflow:ellipsis;font-weight:600;overflow:hidden}.problem-support-statuses dd{gap:2px;margin:8px 0 0;display:grid}.problem-support-value strong{color:#4a5660;font-size:var(--font-caption)}.problem-support-value span{color:var(--text-muted);font-size:var(--font-caption);line-height:1.35}.problem-support-value--pass strong{color:#34765b}.problem-support-value--partial strong,.problem-support-value--unknown strong{color:#96631f}.problem-support-value--fail strong,.problem-support-value--blocked strong,.problem-support-value--mismatch strong,.problem-support-value--fail-model-mismatch strong{color:#a3434d}.problem-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.problem-section-heading h3{font-size:.92rem}.problem-section-heading>span{color:var(--text-muted);font-size:var(--font-caption)}.problem-parameter-grid{border-top:1px solid #edf0f2;border-left:1px solid #edf0f2;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.problem-parameter-grid>div{border-bottom:1px solid #edf0f2;border-right:1px solid #edf0f2;min-width:0;padding:10px 11px}.problem-parameter-grid dt,.problem-model-card dt,.problem-run-metrics dt,.problem-check dt{color:var(--text-muted);font-size:var(--font-caption);text-overflow:ellipsis;overflow:hidden}.problem-parameter-grid dd,.problem-model-card dd,.problem-run-metrics dd,.problem-check dd{color:#394650;font-size:var(--font-caption);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.problem-section-empty{color:var(--text-muted);font-size:var(--font-caption);background:#f6f8f9;border-radius:9px;margin:0;padding:14px}.problem-model-card>dl{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.problem-model-card>dl>div{background:#f5f7f9;border-radius:9px;min-width:0;padding:11px}.problem-model-card>p{color:var(--text-muted);font-size:var(--font-caption);margin:14px 0 0;line-height:1.55}.problem-run-panel{border-left:1px solid #dbe2e6;flex-direction:column;display:flex}.problem-run-panel>header{flex:none;padding:20px 20px 13px}.problem-run-panel h2{font-size:1.05rem}.problem-run-button{border:1px solid var(--brand-blue-dark);color:#fff;background:linear-gradient(180deg, #168fd8, var(--brand-blue));min-height:42px;font-size:var(--font-caption);border-radius:10px;flex:none;justify-content:center;align-items:center;gap:8px;margin:0 18px 10px;padding:0 14px;font-weight:750;display:flex;box-shadow:0 6px 16px #087dcc33}.problem-run-button:disabled{color:var(--text-muted);box-shadow:none;cursor:default;background:#edf1f3;border-color:#dce2e6}.problem-run-actions{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 18px 9px;display:grid}.problem-run-actions button{color:#6154af;min-width:0;min-height:35px;font-size:var(--font-caption);background:#faf9ff;border:1px solid #ddd8f6;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:5px 7px;font-weight:700;line-height:1.25;display:inline-flex}.problem-run-actions button:disabled{color:var(--text-muted);background:#f1f3f5;border-color:#e1e5e8}.problem-batch-progress{color:#7063bc;font-size:var(--font-caption);margin:0 20px 8px;line-height:1.4}.problem-run-disabled-note{color:var(--text-muted);font-size:var(--font-caption);flex:none;margin:0 20px 8px;line-height:1.45}.problem-run-output{flex:1;min-height:0;padding:8px 18px 18px;overflow-y:auto}.problem-run-empty{min-height:240px;color:var(--text-muted);text-align:center;border:1px dashed #d8dfe3;border-radius:12px;align-content:center;place-items:center;gap:8px;padding:24px;display:grid}.problem-run-empty strong{color:#66727c;font-size:var(--font-caption)}.problem-run-empty p{max-width:260px;font-size:var(--font-caption);margin:0;line-height:1.55}.problem-run-failure{color:#a3434d;background:#fff5f5;border:1px solid #efd0d4;border-radius:11px;gap:8px;padding:15px;display:grid}.problem-run-failure p{font-size:var(--font-caption);margin:0;line-height:1.45}.problem-run-verdict{border-radius:11px;align-items:center;gap:10px;padding:13px 14px;display:flex}.problem-run-verdict div{flex-direction:column;gap:2px;display:flex}.problem-run-verdict span{font-size:var(--font-caption)}.problem-run-verdict strong{font-size:.8rem}.problem-run-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;display:grid}.problem-run-metrics>div{background:#fafbfc;border:1px solid #e5eaed;border-radius:9px;min-width:0;padding:9px}.problem-check-list{gap:8px;display:grid}.problem-check{background:#fff;border:1px solid #e1e6e9;border-radius:10px;padding:11px}.problem-check--passed{border-color:#cfe6da}.problem-check>header{color:#65717b;align-items:center;gap:6px;display:flex}.problem-check--passed>header{color:#317253}.problem-check>header strong{color:#3b4751;font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.problem-check>header span{font-size:var(--font-caption);margin-left:auto}.problem-check dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0;display:grid}.problem-check dl>div{background:#f5f7f8;border-radius:7px;min-width:0;padding:7px}.problem-check dd{font-size:var(--font-caption);white-space:nowrap}.problem-check>p,.problem-diagnostics p{color:var(--text-muted);font-size:var(--font-caption);margin:9px 0 0;line-height:1.45}.problem-diagnostics{color:#68747e;font-size:var(--font-caption);border:1px solid #e2e7ea;border-radius:9px;margin-top:10px;padding:10px}.problem-run-panel>footer{color:var(--text-muted);font-size:var(--font-caption);background:#fafbfc;border-top:1px solid #e4e8eb;flex:none;align-items:center;gap:6px;padding:12px 18px;display:flex}.is-spinning{animation:.9s linear infinite control-spin}@keyframes control-spin{to{transform:rotate(360deg)}}.app-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#181f277a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.app-dialog{background:#fff;border:1px solid #dfe5e8;border-radius:16px;grid-template-rows:auto minmax(0,1fr);width:min(560px,100%);max-height:min(680px,100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 26px 70px #141d253d}.app-dialog>header{border-bottom:1px solid #e7ebed;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.app-dialog>header h2{color:#2d3944;margin:0;font-size:1.05rem}.app-dialog>header button{color:#68747e;background:#fff;border:1px solid #e0e5e8;border-radius:9px;place-items:center;width:34px;height:34px;padding:0;display:grid}.help-dialog__content{gap:10px;padding:18px 20px 22px;display:grid;overflow-y:auto}.help-dialog__content article{background:#f6f8f9;border-radius:10px;padding:13px 14px}.help-dialog__content article strong{color:#48545e;font-size:var(--font-ui-small)}.help-dialog__content article p,.help-dialog__content article li,.help-dialog__note{color:var(--text-muted);font-size:var(--font-body);margin:5px 0 0;line-height:1.55}.help-dialog__content article ul{color:var(--text-muted);gap:7px;margin:9px 0 0;padding-left:20px;display:grid}.help-dialog__content article li::marker{color:var(--violet)}.help-dialog__content article b{color:var(--text-strong)}.help-dialog__note{color:#6258a4;background:#f2f9fd;border:1px solid #cbe5f6;border-radius:9px;padding:11px 13px}.section-kicker{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-weight:700;display:block}.toolbox,.inspector{background:var(--panel);min-height:0}.toolbox{z-index:4;border-right:1px solid #dbe2e6;flex-direction:column;grid-row:1/3;display:flex;position:relative;box-shadow:2px 0 9px #25354208}.toolbox-view-bar{z-index:5;border-bottom:1px solid var(--soft-line);background:#fafbfc;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.toolbox-view-actions{align-items:center;display:flex}.toolbox-command-button{width:32px;height:var(--target-touch);color:#68757f;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.toolbox-command-button:hover,.toolbox-command-button:focus-visible{color:var(--violet-dark);background:var(--violet-soft)}.toolbox-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px 4px 8px 10px;display:grid}.toolbox-collapse-button{width:36px;height:var(--target-touch);color:#68757f;background:#fafbfc;border:1px solid #dbe2e6;border-left:0;border-radius:0 11px 11px 0;place-items:center;margin-right:-37px;padding:0;display:grid;box-shadow:5px 2px 10px #25354214}.toolbox-collapse-button:hover{color:var(--violet-dark);background:var(--violet-soft)}.toolbox-view-tab{min-width:0;min-height:48px;color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-weight:700;display:inline-flex}.toolbox-view-tab span,.library-tab span{overflow-wrap:normal;text-align:center;white-space:nowrap;min-width:0;max-width:100%;line-height:1.15}.toolbox-view-tab span[data-short-label]{font-size:0}.toolbox-view-tab span[data-short-label]:after{content:attr(data-short-label);font-size:var(--font-caption)}.toolbox-view-tab:hover{color:#505d67;background:#f1f3f5}.toolbox-view-tab[aria-selected=true]{color:var(--violet-dark);background:#fff;border-color:#cbe5f6;box-shadow:0 2px 7px #2d384314}.tool-command-palette-backdrop{z-index:110;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#19222a61;place-items:start center;padding:clamp(72px,11vh,118px) 12px 20px;display:grid;position:fixed;inset:0}.tool-shortcut-toast{z-index:72;color:#fff;min-height:38px;font-size:var(--font-ui-small);font-variant-numeric:tabular-nums;pointer-events:none;background:#2a3746f0;border:1px solid #ffffffc2;border-radius:999px;padding:9px 15px;font-weight:800;position:fixed;top:74px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #121d263d}.tool-command-palette{width:min(640px,100%);min-height:0;max-height:min(650px,100dvh - 96px);color:var(--text);background:#fffffffa;border:1px solid #ffffffb8;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 28px 80px #121d2647}.tool-command-palette__header{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px 10px 20px;display:flex}.tool-command-palette__header span{color:var(--brand-blue-dark);font-size:var(--font-caption);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-weight:800;display:block}.tool-command-palette__header h2{color:var(--text-strong);letter-spacing:-.02em;margin:0;font-size:1.2rem}.tool-command-palette__close{width:38px;height:38px;color:var(--text-muted);background:var(--surface-subtle);border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.tool-command-palette__close:hover,.tool-command-palette__close:focus-visible{color:var(--violet-dark);background:var(--violet-soft)}.tool-command-palette__search{min-height:52px;color:var(--brand-blue-dark);background:#fafdff;border:2px solid #cbdfea;border-radius:13px;flex:none;align-items:center;gap:10px;margin:0 16px 10px;padding:0 12px;display:flex;box-shadow:0 0 0 4px #087dcc12}.tool-command-palette__search:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px #087dcc1f}.tool-command-palette__search input{min-width:0;color:var(--text-strong);font-size:var(--font-body);background:0 0;border:0;outline:0;flex:1}.tool-command-palette__search input::placeholder{color:#89959e}.tool-command-palette kbd{color:#68757f;min-width:25px;min-height:23px;font-family:inherit;font-size:var(--font-caption);white-space:nowrap;background:#fff;border:1px solid #d9e0e4;border-bottom-width:2px;border-radius:6px;place-items:center;padding:2px 6px;font-weight:750;display:inline-grid}.tool-command-palette__notice{color:#796222;font-size:var(--font-caption);background:#fff7db;border-radius:8px;margin:0 18px 8px;padding:7px 10px}.tool-command-palette__results{overscroll-behavior-y:contain;flex:1;align-content:start;gap:4px;min-height:0;padding:2px 10px 10px;display:grid;overflow-y:auto}.tool-command-palette__option{text-align:left;min-width:0;min-height:66px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto 20px;align-items:center;gap:11px;padding:8px 11px;display:grid}.tool-command-palette__option:hover,.tool-command-palette__option[aria-selected=true]{box-shadow:inset 3px 0 0 var(--violet);background:#f2f9fd;border-color:#cbe5f6}.tool-command-palette__icon{color:#66737d;background:#eef2f4;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.tool-command-palette__icon--blue{color:#4f65c9;background:#edf0ff}.tool-command-palette__icon--orange{color:#cb6f31;background:#fff2e8}.tool-command-palette__icon--violet{color:var(--brand-blue-dark);background:var(--brand-blue-soft)}.tool-command-palette__icon--rose{color:#d3535d;background:#fff0f1}.tool-command-palette__icon--teal{color:#26877c;background:#e9f7f5}.tool-command-palette__copy{gap:3px;min-width:0;display:grid}.tool-command-palette__copy strong,.tool-command-palette__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-command-palette__copy strong{color:var(--text-strong);font-size:var(--font-ui-small)}.tool-command-palette__copy small{color:var(--text-muted);font-size:var(--font-caption)}.tool-command-palette__meta{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:164px;display:flex}.tool-command-palette__meta span{color:var(--muted);font-size:var(--font-caption);background:#edf2f5;border-radius:999px;padding:3px 7px;font-weight:700}.tool-command-palette__check{color:var(--violet-dark)}.tool-command-palette__empty{color:var(--text-muted);text-align:center;margin:20px 10px;line-height:1.5}.tool-command-palette__footer{border-top:1px solid var(--soft-line);min-height:42px;color:var(--text-muted);font-size:var(--font-caption);background:#fafbfc;flex:none;justify-content:flex-end;align-items:center;gap:15px;padding:7px 16px;display:flex}.tool-command-palette__footer span{align-items:center;gap:4px;display:inline-flex}.toolbox-panel{flex-direction:column;flex:1;min-height:0;display:flex}.toolbox-panel[hidden]{display:none}.toolbox__heading,.inspector__heading{border-bottom:1px solid var(--soft-line);flex:none;justify-content:space-between;align-items:center;height:60px;padding:0 16px 0 18px;display:flex}.toolbox__heading h2,.inspector__heading h2{color:#2e3a45;font-size:var(--font-heading);letter-spacing:-.02em;margin:0}.element-count{color:#68747e;min-width:22px;height:22px;font-size:var(--font-caption);background:#f0f3f5;border-radius:999px;place-items:center;padding:0 6px;font-weight:700;display:grid}.physics-domain-switcher{border-bottom:1px solid var(--soft-line);flex:none;padding:10px 11px 7px}.physics-domain-switcher__tabs{scrollbar-width:none;background:#f3f5f6;border:1px solid #e0e5e8;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;display:grid}.physics-domain-switcher__tabs::-webkit-scrollbar{display:none}.physics-domain-switcher__tab{min-width:0;min-height:46px;color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:3px 2px;font-weight:700;display:inline-flex}.physics-domain-switcher__tab>span{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;text-align:center;max-width:100%;line-height:1.05}.physics-domain-switcher__tab[aria-selected=true]{color:var(--violet-dark);background:#fff;box-shadow:0 2px 7px #2d38431a}.physics-domain-switcher>p{min-height:32px;color:var(--text-muted);font-size:var(--font-ui-small);text-wrap:balance;margin:6px 5px 0;line-height:1.35;overflow:hidden}.library-tabs{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 4px;padding:9px 11px 2px;display:grid}.library-tab{min-width:0;height:var(--target-touch);color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:4px 6px;font-weight:650;display:flex;position:relative}.library-tab span{text-overflow:ellipsis;overflow:hidden}.library-tab[aria-selected=true]{border-bottom-color:var(--violet);color:var(--violet-dark)}.library-tab:hover{color:#5c6770}.geometry-authoring-intro{background:linear-gradient(135deg,#f3fbff,#f8fbf9);border:1px solid #cfe2ec;border-radius:11px;flex:none;gap:7px;margin:5px 14px 9px;padding:9px 10px;display:grid}.geometry-authoring-intro>p{color:#526873;font-size:var(--font-ui-small);margin:0;line-height:1.4}.geometry-selection-mode{color:#566772;min-height:36px;font-size:var(--font-ui-small);background:#f8fafb;border:1px solid #d8e0e5;border-radius:9px;flex:none;align-items:center;gap:7px;margin:0 14px 9px;padding:6px 10px;font-weight:700;display:flex}.geometry-authoring-intro .geometry-selection-mode{background:#ffffffd1;margin:0}.geometry-selection-mode[aria-pressed=true]{color:var(--brand-blue-dark);background:#ecf8ff;border-color:#9bd5f2;box-shadow:inset 0 0 0 1px #087dcc14}.library-search{height:var(--control-height);color:var(--text-muted);background:#f8fafb;border:1px solid #dfe5e8;border-radius:9px;flex:none;align-items:center;gap:8px;margin:12px 14px 9px;padding:0 9px;display:flex}.library-search:focus-within{border-color:#a69ced;box-shadow:0 0 0 3px #087dcc17}.library-search input{color:#3f4b55;width:100%;min-width:0;height:100%;font-size:var(--font-ui-small);background:0 0;border:0;outline:0;padding:0}.library-search input::placeholder{color:var(--text-muted)}.library-search kbd{color:var(--text-muted);font-family:inherit;font-size:var(--font-caption);background:#fff;border:1px solid #e2e7ea;border-radius:5px;flex:none;padding:2px 5px}.catalog-scope{flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:34px;margin:0 14px 3px;display:flex}.catalog-scope>span{color:var(--text-muted);font-size:var(--font-caption);font-weight:700}.catalog-scope>div{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;padding:2px;display:inline-flex}.catalog-scope button{min-height:28px;color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:0;border-radius:7px;padding:0 9px;font-weight:700}.catalog-scope button[aria-pressed=true]{color:var(--brand-blue-dark);background:var(--panel);box-shadow:0 2px 6px #1f2d3a17}.catalog-scope button:hover:not([aria-pressed=true]){color:var(--text-strong);background:#ffffff94}.quick-tools{background:linear-gradient(145deg,#f6fbff,#f9f8ff);border:1px solid #dbe8f0;border-radius:13px;flex:none;gap:7px;margin:2px 11px 9px;padding:9px;display:grid}.quick-tools__heading{justify-content:space-between;align-items:center;gap:8px;padding:0 2px;display:flex}.quick-tools__heading h3{color:#53636f;font-size:var(--font-caption);margin:0;font-weight:800}.quick-tools__heading span{color:var(--brand-blue-dark);font-size:var(--font-caption);font-variant-numeric:tabular-nums;font-weight:800}.quick-tools__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.quick-tools .tool-card{background:#ffffffd1;gap:6px;min-height:50px;padding:6px 36px 6px 6px}.quick-tools .tool-card__icon{border-radius:8px;width:29px;height:29px}.quick-tools .tool-card__copy strong{font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-card__shortcut{z-index:1;color:#fff;background:var(--violet-dark);font-variant-numeric:tabular-nums;border:1px solid #ffffffd1;border-radius:6px;place-items:center;width:18px;height:18px;font-size:.66rem;font-weight:850;line-height:1;display:grid;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #1f2d3a33}.toolbox__category{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;margin-bottom:.25rem;padding:0 11px 10px;overflow-y:auto}.category-label{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:10px 6px 7px;font-weight:750;display:flex}.category-label span:last-child{color:var(--text-muted);font-variant-numeric:tabular-nums}.tool-list{gap:6px;display:grid}.tool-families{gap:12px;display:grid}.tool-family{gap:6px;display:grid}.tool-family h3{color:var(--text-muted);font-size:var(--font-caption);margin:0 5px;font-weight:750}.tool-list--family{grid-template-columns:minmax(0,1fr)}.tool-list--family .tool-card{gap:7px;min-height:62px;padding:8px 7px}.tool-list--family .tool-card__icon{border-radius:8px;width:31px;height:31px}.tool-list--family .tool-card__copy strong{font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.tool-list__empty{color:var(--text-muted);font-size:var(--font-caption);text-align:center;margin:16px 8px;line-height:1.5}.tool-card-shell{min-width:0;position:relative}.tool-card-shell>.tool-card{width:100%}.tool-card-shell.has-favorite-action>.tool-card{padding-right:40px}.quick-tools .tool-card-shell.has-favorite-action>.tool-card{gap:4px;padding-right:34px}.quick-tools .tool-card__icon{width:26px;height:26px}.quick-tools .tool-card__favorite{width:28px;height:28px}.tool-card{text-align:left;background:#fbfcfd;border:1px solid #edf0f2;border-radius:11px;align-items:center;gap:11px;min-width:0;min-height:64px;padding:8px 10px;display:flex;position:relative}.tool-card:hover,.tool-card[aria-pressed=true]{background:#f2f9fd;border-color:#cbe5f6;box-shadow:0 5px 15px #08477012}.tool-card[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--violet)}.tool-card__icon{color:#67737d;background:#eef2f4;border-radius:9px;flex:none;place-items:center;width:35px;height:35px;display:grid}.tool-card--blue .tool-card__icon{color:#4f65c9;background:#edf0ff}.tool-card--orange .tool-card__icon{color:#cb6f31;background:#fff2e8}.tool-card--violet .tool-card__icon{color:var(--brand-blue-dark);background:var(--brand-blue-soft)}.tool-card--rose .tool-card__icon{color:#d3535d;background:#fff0f1}.tool-card--teal .tool-card__icon{color:#26877c;background:#e9f7f5}.tool-card__copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tool-card__copy strong{color:#3f4b55;font-size:var(--font-ui-small);overflow-wrap:anywhere;white-space:normal;font-weight:700;line-height:1.25;overflow:visible}.tool-card__geometry-role{color:#596772;background:#edf2f5;border-radius:999px;width:fit-content;padding:1px 5px;font-size:12px;font-weight:700;line-height:1.25}.tool-card__active-dot{background:var(--violet);border-radius:999px;width:6px;height:6px;margin-left:auto;box-shadow:0 0 0 3px #087dcc21}.tool-card__favorite{z-index:1;color:#87939d;opacity:.62;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:5px;right:5px}.tool-card__favorite:hover,.tool-card__favorite:focus-visible,.tool-card__favorite[aria-pressed=true]{color:#bb7817;opacity:1;background:#fff4d7}.tool-card__favorite:disabled{color:#aeb6bd;cursor:not-allowed;opacity:.42;background:0 0}.tip-number{color:#fff;background:var(--violet);width:19px;height:19px;font-size:var(--font-caption);border-radius:999px;flex:none;place-items:center;font-weight:800;display:grid}.examples-panel__scroll{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:12px 11px 16px;overflow-y:auto}.example-section+.example-section{margin-top:7px}.example-section summary{color:#66737d;min-height:42px;font-size:var(--font-caption);cursor:pointer;background:#f7f9fa;border:1px solid #e2e8ec;border-radius:10px;align-items:center;gap:7px;padding:7px 9px;font-weight:750;list-style:none;display:flex}.example-section summary::-webkit-details-marker{display:none}.example-section summary:after{color:#84919a;content:"›";margin-left:2px;font-size:18px;line-height:1;transition:transform .14s;transform:rotate(90deg)}.example-section details[open] summary:after{transform:rotate(-90deg)}.example-section summary svg{color:var(--violet-dark)}.example-section summary strong{flex:1;min-width:0}.example-section summary small{color:#63717b;background:#e9eef1;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:10px;display:grid}.example-section[data-current=true] summary{color:var(--brand-blue-dark);background:var(--brand-blue-soft);border-color:#bddced}.example-section[data-current=true] summary small{color:#fff;background:var(--brand-blue)}.example-section summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.example-list{gap:7px;padding-top:7px;display:grid}.example-card{color:#3e4a54;text-align:left;background:#fff;border:1px solid #e0e4e8;border-radius:11px;grid-template-columns:68px minmax(0,1fr);align-items:flex-start;gap:10px;width:100%;min-height:94px;padding:9px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.example-card:hover{background:var(--brand-blue-soft);border-color:#a9d3ed;box-shadow:0 4px 12px #343c460f}.example-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.example-card:disabled{cursor:not-allowed;opacity:.52}.example-card__preview{color:#315a7d;background:linear-gradient(145deg,#eff8fd,#f8fbfd);border:1px solid #315a7d24;border-radius:10px;flex:none;width:68px;height:58px;transition:transform .14s;display:block;overflow:hidden}.example-card:hover .example-card__preview{transform:translateY(-1px)}.example-card__preview[data-domain=electricity]{color:#356b68;background:linear-gradient(145deg,#edf8f5,#f8fcfb)}.example-card__preview[data-domain=molecular],.example-card__preview[data-domain=thermal]{color:#a95727;background:linear-gradient(145deg,#fff2e8,#fffbf7)}.example-card__preview[data-domain=optics]{color:#6451ad;background:linear-gradient(145deg,#f3f0ff,#fcfbff)}.example-card__preview svg{shape-rendering:geometricprecision;width:100%;height:100%;display:block}.example-card__preview .preview-line,.example-card__preview .preview-accent,.example-card__preview .preview-signal,.example-card__preview .preview-lens,.example-card__preview .preview-screen,.example-card__preview .preview-ray,.example-card__preview .preview-piston,.example-card__preview .preview-heat{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.example-card__preview .preview-body,.example-card__preview .preview-vessel{fill:#ffffffb8;stroke:currentColor;stroke-width:1.6px}.example-card__preview .preview-accent,.example-card__preview .preview-signal,.example-card__preview .preview-heat,.example-card__preview .preview-ray--warm{color:#c45d16}.example-card__preview .preview-particle,.example-card__preview .preview-source{fill:currentColor}.example-card__preview .preview-indicator{fill:currentColor;stroke:none}.example-card__preview .preview-accent-fill{fill:#c45d16;stroke:none}.example-card__preview .preview-medium,.example-card__preview .preview-water{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}.example-card__preview .preview-medium{fill:#ffffff94}.example-card__preview .preview-water{fill:#4aa9d357;stroke:#2f83a9}.example-card__preview .preview-water--ocean{fill:#4aa9d338}.example-card__preview .preview-hot,.example-card__preview .preview-cold,.example-card__preview .preview-wall,.example-card__preview .preview-spectrum{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.example-card__preview .preview-hot{stroke:#c45d16}.example-card__preview .preview-cold{stroke:#2568c8}.example-card__preview .preview-wall{stroke:currentColor;stroke-width:2.8px}.example-card__preview .preview-hot-fill{fill:#d9681b;stroke:#a94e12;stroke-width:1.2px}.example-card__preview .preview-cold-fill{fill:#4a8fe7;stroke:#2568c8;stroke-width:1.2px}.example-card__preview .preview-spectrum--violet{stroke:#6b4de0}.example-card__preview .preview-spectrum--green{stroke:#0c8b60}.example-card__preview .preview-spectrum--red{stroke:#cf3d4e}.example-card__preview .preview-dash{stroke-dasharray:3 3}.example-card__preview .preview-ray{opacity:.74;stroke-width:1.5px}.example-card__copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.example-card__copy strong{color:#3f4a54;font-size:var(--font-caption);line-height:1.3}.example-card__copy small{color:var(--text-muted);font-size:var(--font-caption);line-height:1.4}.example-card__copy .example-card__scope{color:var(--violet-dark);font-size:var(--font-caption);margin-top:3px}.scene-tree{flex-direction:column;flex:1;min-height:0;display:flex}.scene-tree__content{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:10px 10px 14px;overflow-y:auto}.scene-tree__domain+.scene-tree__domain{margin-top:9px}.scene-tree__domain-toggle{color:#55636e;text-align:left;background:#f3f5f7;border:0;border-radius:8px;align-items:center;gap:7px;width:100%;height:36px;padding:0 8px;display:flex}.scene-tree__domain-toggle:hover{background:#eceff2}.scene-tree__domain-toggle strong{min-width:0;font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-tree__domain-toggle>span{color:var(--text-muted);font-size:var(--font-caption);font-variant-numeric:tabular-nums;margin-left:auto}.scene-tree__group{padding:3px 0 0 9px}.scene-tree__category-label{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.07em;text-transform:uppercase;padding:9px 8px 4px;font-weight:750;display:block}.scene-tree__item{width:100%;min-width:0;min-height:43px;color:var(--text-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:6px 9px;display:flex;position:relative}.scene-tree__item:hover{color:#53606a;background:#f5f6f8}.scene-tree__item[aria-selected=true]{color:var(--violet-dark);box-shadow:inset 3px 0 0 var(--violet);background:#f7f5ff;border-color:#cbe5f6}.scene-tree__item-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scene-tree__item-copy strong,.scene-tree__item-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-tree__item-copy strong{color:#44515b;font-size:var(--font-caption)}.scene-tree__item-copy small{color:var(--text-muted);font-size:var(--font-caption)}.scene-tree__selection-mark{background:var(--violet);border-radius:999px;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #087dcc21}.scene-tree__empty{color:var(--text-muted);font-size:var(--font-caption);margin:10px 8px}.scene-tree__hint{border-top:1px solid var(--soft-line);color:var(--text-muted);font-size:var(--font-caption);flex:none;margin:0;padding:10px 14px 12px;line-height:1.4}.workspace{background:var(--canvas);grid-area:1/2;min-width:0;min-height:0;position:relative;overflow:hidden}.unified-workspace{isolation:isolate;touch-action:none;width:100%;height:100%}.field-view-bar{z-index:31;color:#334a59;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafdfff0;border:1px solid #b9d1e0e0;border-radius:13px;align-items:center;gap:7px;max-width:calc(100% - 340px);min-height:42px;padding:5px 7px 5px 10px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #2239491f}.field-view-bar>strong{color:#0c669e;text-align:center;min-width:22px;font-size:16px}.field-view-bar__modes{background:#edf3f6;border-radius:9px;gap:2px;padding:2px;display:flex}.field-view-bar__modes button{color:#657681;min-height:30px;font-size:var(--font-caption);background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:4px 8px;font-weight:750;display:inline-flex}.field-view-bar__modes button[aria-pressed=true]{color:#0b679f;background:#fff;box-shadow:0 2px 7px #1c36461a}.field-view-bar__vectors{color:#667884;align-items:center;gap:4px;display:flex}.field-view-bar__vectors select{color:#415764;min-width:104px;height:30px;font-size:var(--font-caption);background:#fff;border:1px solid #d5e0e6;border-radius:8px;padding:0 22px 0 7px;font-weight:700}@media (width<=700px){.field-view-bar{justify-content:center;width:calc(100% - 20px);max-width:none;top:8px}.field-view-bar__modes button{padding-left:6px;padding-right:6px}}@media (width<=420px){.field-view-bar{gap:4px;padding-left:7px;padding-right:5px}.field-view-bar__vectors>svg,.field-view-bar>strong{display:none}.field-view-bar__vectors select{min-width:92px}}.unified-workspace--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.unified-workspace--panning .mechanics-canvas,.unified-workspace--panning .react-flow__pane,.unified-workspace--panning .react-flow__node,.unified-workspace--panning .react-flow__edge{cursor:grabbing!important}.unified-workspace--pan-mode{cursor:grab}.unified-workspace--pan-mode .mechanics-canvas,.unified-workspace--pan-mode .react-flow__pane,.unified-workspace--pan-mode .react-flow__node,.unified-workspace--pan-mode .react-flow__edge{cursor:grab!important}.unified-workspace__layer{z-index:1;pointer-events:none;width:100%;min-width:0;height:100%;min-height:0;transition:opacity .16s;position:absolute;inset:0;overflow:hidden}.unified-workspace--mechanics .mechanics-layer,.unified-workspace--electricity .electrical-layer{z-index:4}.unified-workspace.unified-workspace--cad-mechanics .mechanics-layer{z-index:6;pointer-events:auto}.unified-workspace--cad-mechanics .mechanics-canvas{opacity:1}.unified-workspace--cad-mechanics .electrical-workspace .react-flow,.unified-workspace--cad-mechanics .thermal-node,.unified-workspace--cad-mechanics .thermal-workspace-overlay__edges,.unified-workspace--cad-mechanics .optics-element{opacity:.28}.unified-workspace--cad-mechanics .mechanics-layer .workspace__meta,.unified-workspace--cad-optics .mechanics-layer .workspace__meta,.unified-workspace--cad-electricity .mechanics-layer .workspace__meta,.unified-workspace--cad-thermal .mechanics-layer .workspace__meta,.unified-workspace--cad-electricity .electrical-layer .workspace__meta{display:none}.cad-workspace-meta{z-index:7;align-items:center}.cad-workspace-meta small{color:#61788a;font-size:var(--font-caption)}.unified-workspace--thermal .thermal-workspace-overlay{z-index:4}.unified-workspace--electricity .thermal-workspace-overlay{z-index:0}.unified-workspace .workspace-tip,.unified-workspace--drawing-guidance .scene-vector-controls,.unified-workspace--drawing-guidance .scene-preflight,.unified-workspace--drawing-guidance [data-mechanics-vector-overlay=true]{display:none}.unified-workspace__layer>.workspace{background:0 0;grid-area:auto;width:100%;height:100%;position:absolute;inset:0}.unified-workspace .mechanics-layer{z-index:1}.unified-workspace .electrical-layer{z-index:2}.unified-workspace--mechanics .mechanics-layer,.unified-workspace .mechanics-layer .mechanics-canvas,.unified-workspace .electrical-layer .react-flow__node,.unified-workspace .electrical-layer .react-flow__edge,.unified-workspace .electrical-layer .react-flow__handle{pointer-events:auto}.unified-workspace .electrical-workspace,.unified-workspace .electrical-layer .react-flow,.unified-workspace .electrical-layer .react-flow__pane{pointer-events:none}.unified-workspace--electricity .electrical-workspace:not([data-active-tool=select]) .react-flow__pane{pointer-events:auto}.motor-gear-coupling-overlay{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.motor-gear-shaft__backdrop,.motor-gear-shaft{fill:none;stroke-linecap:round;stroke-linejoin:round}.motor-gear-shaft__backdrop{stroke:#ffffffeb;stroke-width:7px}.motor-gear-shaft{stroke:#887b9f;stroke-dasharray:9 5;stroke-width:3px}.motor-gear-shaft__endpoint{fill:#fff;stroke:var(--brand-blue);stroke-width:2.5px}.motor-gear-shaft__label rect{fill:#fffffff0;stroke:#a9d3ed}.motor-gear-shaft__label text{fill:var(--brand-blue-dark);font-size:var(--font-caption);font-weight:750}.unified-workspace .mechanics-layer .workspace__meta,.unified-workspace .electrical-layer .workspace__meta,.unified-workspace .mechanics-layer .canvas-controls{display:none}.unified-workspace .electrical-workspace .react-flow{background:0 0;width:100%;height:100%}.unified-workspace--mechanics .electrical-legend--unified{opacity:.45}.mechanics-canvas{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.mechanics-canvas--surface,.mechanics-canvas--curvedSurface{cursor:crosshair}.mechanics-canvas--block,.mechanics-canvas--weight,.mechanics-canvas--gear,.mechanics-canvas--force,.mechanics-canvas--initialVelocity,.mechanics-canvas--ceiling,.mechanics-canvas--string,.mechanics-canvas--spring{cursor:copy}.mechanics-canvas--select{cursor:default}.mechanics-canvas--runtime{cursor:grab}.mechanics-canvas--runtime-dragging{cursor:grabbing}.scene-selection-box{z-index:7;border:1.5px solid var(--brand-blue);pointer-events:none;background:#087dcc1c;border-radius:4px;position:absolute;box-shadow:inset 0 0 0 1px #ffffffb8}.scene-alignment-guides{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scene-alignment-guides line{stroke:var(--brand-blue);stroke-width:1.5px;stroke-dasharray:5 4;filter:drop-shadow(0 1px 1px #ffffffd9);vector-effect:non-scaling-stroke}.mechanics-transform-overlay{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mechanics-transform-overlay__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mechanics-transform-overlay__lines polygon,.mechanics-transform-overlay__lines line{fill:#087dcc0d;stroke:var(--brand-blue-dark);stroke-width:1.5px;vector-effect:non-scaling-stroke}.mechanics-transform-overlay__lines line{fill:none;stroke-dasharray:3 3}.mechanics-transform-handle,.mechanics-transform-rotation{z-index:1;touch-action:none;pointer-events:auto;background:0 0;border:0;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.mechanics-transform-handle:before{border:2px solid var(--brand-blue-dark);content:"";background:#fff;border-radius:3px;width:10px;height:10px;transition:width .1s,height .1s,background .1s;box-shadow:0 1px 4px #35288b3d}.mechanics-transform-handle:hover:before,.mechanics-transform-handle:focus-visible:before,.mechanics-transform-overlay--active .mechanics-transform-handle:before{background:#f4f1ff;width:13px;height:13px}.mechanics-transform-handle--north,.mechanics-transform-handle--south{cursor:ns-resize}.mechanics-transform-handle--east,.mechanics-transform-handle--west{cursor:ew-resize}.mechanics-transform-handle--north-west,.mechanics-transform-handle--south-east{cursor:nwse-resize}.mechanics-transform-handle--north-east,.mechanics-transform-handle--south-west{cursor:nesw-resize}.mechanics-transform-rotation{border:1.5px solid var(--brand-blue-dark);color:#5142b5;cursor:grab;background:#fffffff5;border-radius:50%;box-shadow:0 3px 10px #35288b33}.mechanics-transform-rotation:hover,.mechanics-transform-rotation:focus-visible{color:#fff;background:var(--brand-blue)}.mechanics-transform-overlay--active .mechanics-transform-rotation{cursor:grabbing}.mechanics-transform-handle:focus-visible,.mechanics-transform-rotation:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.unified-workspace--pan-mode .mechanics-transform-overlay,.unified-workspace--panning .mechanics-transform-overlay{opacity:0}.unified-workspace--pan-mode .mechanics-transform-handle,.unified-workspace--pan-mode .mechanics-transform-rotation,.unified-workspace--panning .mechanics-transform-handle,.unified-workspace--panning .mechanics-transform-rotation{pointer-events:none}.string-draft-overlay{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.runtime-body-drag-overlay{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.runtime-body-drag-overlay line{stroke:#3c78d8;stroke-dasharray:7 5;stroke-linecap:round;stroke-width:3px}.runtime-body-drag-overlay circle{fill:#ffffffe0;stroke:#3c78d8;stroke-width:2.5px}.string-draft-overlay polyline{fill:none;stroke:var(--brand-blue);stroke-dasharray:8 6;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.string-draft-marker{z-index:5;border:2px solid var(--brand-blue);width:20px;height:20px;color:var(--brand-blue-dark);font-size:var(--font-caption);pointer-events:none;background:#fff;border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #4236963d}.mechanics-environment-marker{z-index:4;color:#5449ad;width:22px;height:22px;font-size:var(--font-caption);pointer-events:none;background:#f9f8ffeb;border:1.5px solid #5d54b8;border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #43388e33}.mechanics-environment-marker--attractor{color:#a56b23;background:#fff9ebf0;border-color:#d39a49}.scene-runtime-envelope{z-index:2;box-sizing:border-box;pointer-events:none;border:2px dashed #d48f2db8;position:absolute}.scene-runtime-envelope--stopped{border-color:#ca4b52d1}.scene-runtime-envelope span{color:#9a671f;font-size:var(--font-caption);white-space:nowrap;background:#fffaeeeb;border-radius:5px;padding:3px 6px;font-weight:700;position:absolute;top:7px;left:9px}.scene-runtime-envelope--stopped span{color:#a63f47;background:#fff4f5f0}.mechanics-canvas__element{width:100%;height:100%;display:block;position:absolute;inset:0}.workspace__meta{z-index:5;pointer-events:none;gap:6px;display:flex;position:absolute;top:14px;left:15px}.domain-pill,.mode-pill{color:#63717c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:26px;font-size:var(--font-caption);background:#ffffffe0;border:1px solid #cfd8dee0;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-weight:650;display:inline-flex;box-shadow:0 3px 10px #2b39450d}.domain-pill span{background:#5f73d8;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #5f73d821}.mode-pill{color:var(--text-muted)}.drawing-hint,.workspace-tip{z-index:6;color:#51479b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #d7d2f8;align-items:center;display:flex;position:absolute;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #342c7426}.force-hint{z-index:7;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);font-size:var(--font-caption);color:#b84852;background:#fffffff2;border:1px solid #f0cfd2;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-weight:650;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 7px 24px #2b39451f}.force-hint--connector{color:#51479b;border-color:#d7d2f8;max-width:calc(100% - 32px);bottom:72px}.force-hint--connector>span{min-width:0;line-height:1.35}.force-hint--connector>button{color:#51479b;min-height:30px;font-size:var(--font-caption);cursor:pointer;background:#fff;border:1px solid #d7d2f8;border-radius:8px;flex:none;align-items:center;gap:5px;padding:0 9px;font-weight:700;display:inline-flex}.force-hint--connector>button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.mechanics-connector-targets{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mechanics-connector-target{color:#51479b;cursor:pointer;pointer-events:auto;background:#eeeafd;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #7669cf,0 4px 12px #372c7e38}.mechanics-connector-target>span{opacity:0;color:#40377f;max-width:180px;font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#fffffff5;border:1px solid #d7d2f8;border-radius:6px;padding:4px 7px;font-weight:700;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #372c7e24}.mechanics-connector-target:hover>span,.mechanics-connector-target:focus-visible>span,.mechanics-connector-target[aria-pressed=true]>span{opacity:1}.mechanics-connector-target:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.mechanics-connector-target[aria-pressed=true]{color:#fff;background:#6256c5;box-shadow:0 0 0 3px #6256c53d,0 4px 12px #372c7e3d}.simulation-issue{z-index:40;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(560px,100% - 40px);padding:9px 10px;display:grid;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 7px 24px #4a371921}.simulation-issue--warning{color:#76511d;background:#fffaeef5;border:1px solid #edca8e}.simulation-issue--error{color:#8d343d;background:#fffafaf7;border:1px solid #ebc6c9}.simulation-issue--guidance{color:#4f4596;background:#faf9fff7;border:1px solid #cfc9f5}.simulation-issue--warning .simulation-issue__icon{color:#c47c19}.simulation-issue--error .simulation-issue__icon{color:#bd4651}.simulation-issue--guidance .simulation-issue__icon{color:#6256c5}.simulation-issue__copy{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.simulation-issue strong{font-size:var(--font-caption)}.simulation-issue span{font-size:var(--font-caption);line-height:1.35}.simulation-issue button{height:29px;font-size:var(--font-caption);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-weight:750;display:inline-flex}.simulation-issue__action{color:inherit;border:1px solid}.simulation-issue__dismiss{width:29px;color:inherit;border:0;justify-content:center;padding:0}.simulation-issue button:hover{filter:brightness(.97)}.simulation-issue button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.drawing-hint{border-radius:13px;gap:11px;width:min(520px,100% - 32px);padding:9px 11px}.drawing-hint__icon{color:#fff;background:var(--violet);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.drawing-hint__title{flex-direction:column;flex:1;min-width:0;display:flex}.drawing-hint strong{font-size:var(--font-caption)}.drawing-hint small{color:var(--violet-dark);font-size:var(--font-caption);margin-top:2px}.drawing-hint button{color:#fff;background:var(--violet);height:30px;font-size:var(--font-caption);border:0;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-weight:700;display:inline-flex}.drawing-hint button:disabled{cursor:default;opacity:.42}.drawing-hint__actions{align-items:center;gap:5px;display:flex}.drawing-hint .drawing-hint__secondary{color:#51479b;background:#fff;border:1px solid #d7d2f8;justify-content:center;width:30px;padding:0}.drawing-hint__counter{background:var(--violet-soft);font-size:var(--font-caption);border-radius:7px;padding:4px 8px;font-weight:750}.surface-authoring-overlay{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.surface-authoring-overlay__rubber-band{stroke:#087dcc;stroke-width:2px;stroke-dasharray:7 5;opacity:.78}.surface-authoring-overlay__start{fill:#ffffffe0;stroke:#087dcc;stroke-width:2px}.surface-authoring-overlay__start--closable{fill:#087dcc2e;stroke-width:3px}.object-appearance{background:#f8fbfc;border:1px solid #dce5ea;border-radius:10px;gap:8px;margin:0 12px 10px;padding:10px;display:grid}.object-appearance__heading{color:#52616c;font-size:var(--font-caption);align-items:center;gap:7px;font-weight:750;display:flex}.object-appearance__heading svg{color:#087dcc}.object-color-palette{align-items:center}.object-appearance__controls{grid-template-columns:auto minmax(0,1fr) auto;gap:7px;display:grid}.object-color-palette{grid-template-columns:repeat(auto-fit,minmax(24px,26px));justify-content:space-between;gap:4px;display:grid}.object-color-input{background:#fff;border:1px solid #cbd8df;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.object-color-input input{cursor:pointer;border:0;width:40px;height:40px;padding:0}.object-color-palette button{aspect-ratio:1;border:2px solid #fff;border-radius:50%;width:100%;min-width:24px;max-width:26px;padding:0;box-shadow:0 0 0 1px #cbd7de}.object-color-palette button[aria-pressed=true]{box-shadow:0 0 0 2px #087dcc,0 0 0 4px #fff}.object-color-reset{color:#5d6a74;background:#fff;border:1px solid #d6e0e5;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.workspace-tip{color:var(--text-muted);font-size:var(--font-caption);pointer-events:none;border-color:#dce3e7;border-radius:9px;gap:6px;padding:7px 10px;box-shadow:0 5px 18px #2b394514}.canvas-controls{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #d5dee3;border-radius:9px;align-items:center;height:32px;padding:3px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 5px 18px #2b394514}.canvas-controls button{color:#6b7781;background:0 0;border:0;border-radius:6px;place-items:center;width:27px;height:25px;padding:0;display:grid}.canvas-controls button:hover{color:#4d3db5;background:#f0edff}.canvas-controls span{text-align:center;color:#6d7882;min-width:40px;font-size:var(--font-caption);font-variant-numeric:tabular-nums}.canvas-controls i{background:#e1e6e9;width:1px;height:16px;margin:0 3px}.scene-viewport-controls{z-index:9;height:44px;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #d5dee3;border-radius:12px;align-items:center;padding:3px;display:flex;position:absolute;bottom:14px;right:14px}.scene-scale-bar{z-index:8;color:#465b69;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe0;border:1px solid #526a7a47;border-radius:10px;justify-items:center;gap:2px;min-width:72px;padding:6px 9px 7px;display:grid;position:absolute;bottom:16px;left:16px;box-shadow:0 5px 16px #1f2d3a1a}.scene-scale-bar__label{font-size:var(--font-caption);font-variant-numeric:tabular-nums;font-weight:750;line-height:1}.scene-scale-bar__line{border-bottom:2px solid;height:8px;display:block;position:relative}.scene-scale-bar__line:before,.scene-scale-bar__line:after{content:"";background:currentColor;width:2px;height:8px;position:absolute;bottom:-2px}.scene-scale-bar__line:before{left:0}.scene-scale-bar__line:after{right:0}.scene-vector-controls{z-index:10;color:#34424d;pointer-events:none;width:min(296px,100vw - 100px);position:absolute;top:14px;bottom:66px;right:14px}.scene-vector-controls>summary{width:max-content;max-width:100%;min-height:var(--target-touch);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#fffffff0;border:1px solid #d5dee3;border-radius:12px;align-items:center;gap:7px;padding:5px 10px;list-style:none;display:inline-flex;position:absolute;bottom:0;right:0}.scene-vector-controls>summary::-webkit-details-marker{display:none}.scene-vector-controls[open]>summary{color:#4d3db5;background:#f5f2ff;border-color:#c8c0ed}.scene-vector-controls>summary strong{font-size:var(--font-caption)}.scene-vector-controls>summary small{min-width:0;color:var(--text-muted);font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-vector-controls__swatches{gap:3px;display:inline-flex}.scene-vector-controls__swatch{width:21px;height:21px;font-size:var(--font-caption);border-radius:6px;flex:none;place-items:center;font-style:italic;font-weight:850;display:inline-grid}.scene-vector-controls__panel{pointer-events:auto;background:#fffffffa;border:1px solid #d5dee3;border-radius:12px;width:100%;max-height:calc(100% - 52px);padding:12px;position:absolute;bottom:52px;right:0;overflow:auto;box-shadow:0 14px 38px #1f2d3a2e}.scene-vector-controls__automatic,.scene-vector-controls__kind{min-height:var(--target-touch);cursor:pointer;align-items:center;display:grid}.scene-vector-controls__automatic{background:#f5f7f8;border-radius:9px;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:7px 8px}.scene-vector-controls input{width:17px;height:17px;accent-color:var(--violet);margin:0}.scene-vector-controls__automatic span,.scene-vector-controls__kind>span:last-child{gap:2px;min-width:0;display:grid}.scene-vector-controls__automatic strong,.scene-vector-controls__kind strong{font-size:var(--font-caption)}.scene-vector-controls__automatic small,.scene-vector-controls__count{color:var(--text-muted);font-size:var(--font-caption);line-height:1.3}.scene-vector-controls__kinds{border:0;border-top:1px solid #e5e9ec;gap:3px;margin:12px 0 0;padding:8px 0 0;display:grid}.scene-vector-controls__kinds legend{color:var(--text-muted);font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.035em;padding:0 0 5px;font-weight:750}.scene-vector-controls__kind{border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);gap:9px;padding:5px 7px}.scene-vector-controls__kind:hover{background:#f7f8fa}.scene-vector-controls__scale-note,.scene-vector-controls__status{color:var(--text-muted);font-size:var(--font-caption);border-top:1px solid #e5e9ec;margin:10px 0 0;padding-top:9px;line-height:1.45}.scene-vector-controls__status{border-top:0;margin-top:6px;padding-top:0}.scene-viewport-controls button{width:var(--target-min);height:var(--target-min);color:#65727c;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.scene-viewport-controls button:hover:not(:disabled),.scene-viewport-controls button:focus-visible{color:#4d3db5;background:#f0edff}.scene-viewport-controls button:disabled{color:#bcc4c9;cursor:default}.scene-viewport-controls .scene-viewport-controls__zoom{width:48px}.scene-viewport-controls__zoom span{text-align:center;min-width:40px;font-size:var(--font-caption);font-variant-numeric:tabular-nums;font-weight:700}.scene-viewport-controls .scene-viewport-controls__action{grid-auto-flow:column;gap:5px;width:auto;padding:0 8px}.scene-viewport-controls__action span{min-width:0;font-size:var(--font-caption);white-space:nowrap;font-weight:700}.scene-viewport-controls .scene-viewport-controls__tracking[aria-pressed=true],.scene-viewport-controls .scene-viewport-controls__pan[aria-pressed=true]{color:#4d3db5;background:#f0edff}.scene-viewport-controls i{background:#e1e6e9;width:1px;height:18px;margin:0 3px}@media (width<=760px){.mechanics-vector-legend{display:none!important}.scene-vector-controls{bottom:14px}.scene-vector-controls>summary{top:0;bottom:auto}.scene-vector-controls>summary strong{display:none}.unified-workspace:has(.measurement-instrument-dock__panel) .scene-viewport-controls{display:none}.scene-vector-controls__panel{top:52px;bottom:auto}.scene-vector-controls>summary small{display:none}.scene-viewport-controls .scene-viewport-controls__action{width:var(--target-min);padding:0}.scene-viewport-controls__action span{display:none}.simulation-issue{grid-template-columns:auto minmax(0,1fr);padding-right:38px}.simulation-issue__action{grid-column:2;justify-self:start}.simulation-issue__dismiss{position:absolute;top:5px;right:5px}.electrical-connection-hint{grid-template-columns:auto minmax(0,1fr);width:calc(100% - 20px)}.electrical-connection-hint button{grid-column:2;justify-self:start}}.unified-workspace .electrical-legend--unified{inset:14px auto auto 140px}.scene-coordinate-system{z-index:3;color:#46697d;font-size:var(--font-caption);pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-coordinate-system__svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.scene-coordinate-system__axis{stroke:#4f7f9a3d;stroke-width:1px;vector-effect:non-scaling-stroke}.scene-coordinate-system__positive,.scene-coordinate-system__arrowhead{stroke:#2a698eb8;stroke-width:2px;vector-effect:non-scaling-stroke}.scene-coordinate-system__origin{fill:#ffffffeb;stroke:#4e7d97;stroke-width:2px;vector-effect:non-scaling-stroke}.scene-coordinate-system__arrowhead{fill:none;stroke-linecap:round;stroke-linejoin:round}.scene-coordinate-system__label{fill:#46697d;stroke:#ffffffc7;stroke-width:3px;stroke-linejoin:round;paint-order:stroke;text-anchor:middle;font-family:inherit;font-size:13px;font-weight:750}.scene-coordinate-system__label--y{text-anchor:start}.finish-key-hint{z-index:4;color:var(--text-muted);font-size:var(--font-caption);align-items:center;gap:4px;display:none;position:absolute;top:106px;right:18px}.mechanics-canvas--surface~.finish-key-hint,.mechanics-canvas--curvedSurface~.finish-key-hint{display:flex}.inspector{z-index:4;border-left:1px solid #dbe2e6;flex-direction:column;grid-area:1/3/3;min-width:0;display:flex;overflow-y:auto;box-shadow:-2px 0 9px #25354208;container:inspector/inline-size}.inspector__heading{z-index:3;background:#fff;height:auto;min-height:60px;padding-block:8px;position:sticky;top:0}.inspector__heading>:not(button,svg){min-width:0}.inspector__heading h2,.inspector__heading .section-kicker{overflow-wrap:anywhere;white-space:normal;min-width:0}.inspector__heading>button,.inspector__heading>svg{flex:none}.inspector__heading>button{width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.inspector-collapse-button{z-index:12;top:16px;right:calc(var(--inspector-width) - 1px);width:36px;height:var(--target-touch);color:#68757f;background:#fff;border:1px solid #dbe2e6;border-right:0;border-radius:11px 0 0 11px;place-items:center;padding:0;display:grid;position:absolute;box-shadow:-5px 2px 10px #25354214}.inspector-collapse-button:hover{color:var(--violet-dark);background:var(--violet-soft)}.inspector__heading>svg{visibility:hidden}.workspace-panel-rail{z-index:7;color:#68757f;background:#fff;border:0;flex-direction:column;grid-row:1/3;align-items:center;gap:12px;min-width:0;min-height:0;padding:14px 0;display:flex}.workspace-panel-rail:hover{color:var(--violet-dark);background:#faf9ff}.workspace-panel-rail span{font-size:var(--font-caption);letter-spacing:.03em;writing-mode:vertical-rl;font-weight:750}.workspace-panel-rail--left{border-right:1px solid #dbe2e6;grid-column:1}.workspace-panel-rail--right{border-left:1px solid #dbe2e6;grid-column:3}.mobile-task-dock{display:none}.mobile-simulation-more,.mobile-simulation-more__content{align-items:center;min-width:0;display:flex}.mobile-simulation-more__content{gap:8px}.mobile-simulation-more>summary{display:none}.inspector__heading>button:hover{background:#f2f5f6}.selected-object{background:#fafaff;border:1px solid #e2e6f6;border-radius:11px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;margin:13px 14px 5px;padding:10px;display:grid}.selected-object__icon{color:#4f65c9;background:#ebefff;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.selected-object__icon--gear{color:#6d53be;background:#f0ebff}.selected-object__icon--weight{color:#c26c32;background:#fff0e5}.selected-object__icon--surface{color:#66747f;background:#edf1f3}.selected-object__icon--force{color:#d8545e;background:#fff0f1}.selected-object__icon--ceiling{color:#52636f;background:#edf1f3}.selected-object__icon--string{color:#177b75;background:#e7f6f4}.selected-object__icon--spring{color:#4f68c2;background:#edf1ff}.selected-object>div{flex-direction:column;min-width:0;display:flex}.selected-object strong{color:#34404b;font-size:var(--font-ui);overflow-wrap:anywhere;white-space:normal;line-height:1.25}.selected-object small{color:var(--text-muted);font-size:var(--font-caption);margin-top:2px}.selected-object>button{width:26px;height:26px;color:var(--text-muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.selected-object>button:hover{color:#6251cb;background:var(--brand-blue-soft)}.inspector-section{border-bottom:1px solid #edf0f2;padding:13px 15px 3px}.inspector-section h3{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.045em;text-transform:uppercase;margin:0 0 10px;font-weight:750}.inspector-disclosure{border-bottom:1px solid #edf0f2}.inspector-disclosure>summary,.scene-settings__advanced>summary{min-height:var(--target-min);cursor:pointer;color:#65727d;font-size:var(--font-ui-small);padding:12px 15px;font-weight:700}.inspector-disclosure__content>.inspector-section{border-bottom:0;padding-top:4px}.electrical-advanced-fields{border-top:1px solid #e8ecef;grid-column:1/-1}.electrical-advanced-fields>summary{cursor:pointer;color:#65727d;font-size:var(--font-caption);padding:9px 0;font-weight:700}.electrical-advanced-fields>div{gap:7px;padding-bottom:4px;display:grid}.property-list{gap:9px;padding-bottom:11px;display:grid}.property-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.property-field{color:#65727d;min-width:0;font-size:var(--font-ui-small);justify-content:space-between;align-items:center;gap:8px;display:flex}.property-field>span:first-child,.inspector-field>span:first-child{overflow-wrap:anywhere;min-width:0;line-height:1.3}.property-pair .property-field{gap:5px;display:grid}.number-input{width:min(145px,100%);height:var(--control-height);background:#fafbfc;border:1px solid #dfe5e8;border-radius:8px;grid-template-columns:minmax(6ch,1fr) max-content;align-items:center;column-gap:4px;min-width:0;padding:0 7px;display:grid}.property-pair .number-input{width:100%}.number-input:focus-within{background:#fff;border-color:#a59bed;box-shadow:0 0 0 3px #087dcc14}.number-input input{color:#35414b;width:100%;min-width:0;font-size:var(--font-ui-small);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0;font-weight:650}.number-input input::-webkit-inner-spin-button{opacity:.38;margin:0}.number-input small{min-width:0;color:var(--text-muted);font-size:var(--font-caption);white-space:nowrap}.number-input:has(>small[role=alert]){height:auto;min-height:var(--control-height);grid-template-columns:minmax(0,1fr);gap:2px;padding-block:5px}.number-input>small[role=alert]{overflow-wrap:anywhere;white-space:normal;grid-column:1/-1;line-height:1.25}.surface-rounding-control{gap:7px;display:grid}.surface-rounding-control .number-input{cursor:text}.surface-rounding-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.surface-rounding-presets button{color:#55626d;cursor:pointer;min-height:32px;font-size:var(--font-caption);background:#fff;border:1px solid #dfe5e8;border-radius:8px;padding:5px 7px;font-weight:700}.surface-rounding-presets button:hover:not(:disabled){background:#f7f5ff;border-color:#b8afea}.surface-rounding-presets button[aria-pressed=true]{color:#5141b6;background:var(--brand-blue-soft);border-color:#8f82e1}.surface-rounding-presets button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.surface-rounding-presets button:disabled{cursor:not-allowed;opacity:.55}.derived-property{color:var(--text-muted);font-size:var(--font-caption);background:#f7f9fa;border-radius:8px;grid-template-columns:1fr auto 15px;align-items:center;gap:7px;padding:7px 8px;display:grid}.derived-property strong{color:#4b5660}.derived-property svg{color:var(--text-muted)}.delete-object{min-height:var(--control-height);color:#9d3540;font-size:var(--font-caption);background:#fff8f8;border:1px solid #f0d7d9;border-radius:8px;flex:none;align-self:flex-start;align-items:center;gap:7px;margin:13px 15px 4px;padding:0 10px;font-weight:650;display:inline-flex}.delete-object:hover{background:#fff0f1}.group-selection-inspector__boolean{border:1px solid var(--line);background:var(--surface-sunken,#f7fafc);border-radius:10px;flex-direction:column;gap:8px;margin:0 15px 4px;padding:11px 12px;display:flex}.group-selection-inspector__boolean h3{font-size:var(--font-caption);margin:0;font-weight:700}.group-selection-inspector__boolean p{color:var(--text-soft,#5b6b7c);font-size:var(--font-caption);margin:0;line-height:1.4}.group-selection-inspector__boolean-order{flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;list-style:none;display:flex}.group-selection-inspector__boolean-order li{min-width:0;color:var(--text-strong);font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;display:inline-flex;overflow:hidden}.group-selection-inspector__boolean-order span{color:#fff;background:var(--brand-blue);border-radius:999px;place-items:center;width:18px;height:18px;font-size:.68rem;font-weight:700;display:grid}.group-selection-inspector__boolean-actions{flex-wrap:wrap;gap:6px;display:flex}.group-selection-inspector__boolean-actions button{min-height:var(--control-height);border:1px solid var(--line);color:var(--text-strong);font-size:var(--font-caption);background:#fff;border-radius:8px;padding:0 10px;font-weight:650}.group-selection-inspector__boolean-actions button:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue-dark)}.group-selection-inspector__boolean-actions button:disabled{cursor:default;opacity:.5}.group-selection-inspector__boolean-issue{color:#a13e46}.group-selection-inspector{flex-direction:column;display:flex}.group-selection-inspector__summary{gap:14px;padding:18px 15px;display:grid}.group-selection-inspector__summary p{color:var(--text-muted);font-size:var(--font-ui-small);margin:0;line-height:1.55}.group-selection-inspector__summary dl{gap:7px;margin:0;display:grid}.group-selection-inspector__domain{color:#59656f;background:#faf9ff;border:1px solid #e1def3;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.group-selection-inspector__domain dt{font-size:var(--font-caption);align-items:center;gap:7px;font-weight:700;display:inline-flex}.group-selection-inspector__domain dd{color:#6656c9;font-size:var(--font-caption);margin:0;font-weight:800}.group-selection-inspector__actions{border-top:1px solid #e4e9ec;gap:8px;margin-top:auto;padding:14px 15px 16px;display:grid}.group-selection-inspector__actions button{min-height:var(--control-height);font-size:var(--font-caption);border-radius:8px;justify-content:center;align-items:center;gap:7px;font-weight:700;display:inline-flex}.group-selection-inspector__clear{color:#59656f;background:#fff;border:1px solid #dce2e6}.group-selection-inspector__delete{width:100%;margin:0}.scene-settings{background:#fbfcfc;border-top:1px solid #e4e9ec;margin-top:auto;padding:14px 15px 16px}.scene-settings__title{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.scene-settings__title>h3{color:#4f5b65;font-size:var(--font-ui-small);align-items:center;gap:7px;margin:0;font-weight:700;display:inline-flex}.effect-row{background:#fff;border:1px solid #e1e6e9;border-radius:10px;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:12px;padding:9px;display:grid}.effect-row+.effect-row{margin-top:8px}.inspector-help{color:var(--muted);margin:8px 0 0;font-size:.78rem;line-height:1.45}.toggle{width:var(--target-touch);height:var(--target-min);background:0 0;border:0;border-radius:999px;padding:0;position:relative}.toggle:before{content:"";background:#ccd4d9;border-radius:999px;transition:background .16s;position:absolute;inset:6px 1px}.toggle span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:9px;left:4px;box-shadow:0 1px 3px #0000002e}.toggle--on{background:0 0}.toggle--on:before{background:var(--violet)}.toggle--on span{transform:translate(18px)}.effect-row__content{color:#55616b;min-width:0;font-size:var(--font-ui-small);justify-content:space-between;align-items:center;gap:8px;display:flex}.effect-row--stacked-copy .effect-row__content{flex-direction:column;align-items:flex-start;gap:3px}.effect-row--stacked-copy .effect-row__content small{overflow-wrap:anywhere;line-height:1.3}.effect-row__label{min-width:0;line-height:1.25}.spring-failure-row{grid-template-columns:42px 1fr}.spring-failure-row strong{color:#67737c;font-size:var(--font-caption)}.inspector-note{color:var(--text-muted);font-size:var(--font-caption);margin:0;line-height:1.45}.connection-fit-button{width:100%;min-height:var(--control-height);color:#176d66;font-size:var(--font-ui-small);background:#eef9f7;border:1px solid #b9ddd8;border-radius:8px;font-weight:700}.connection-fit-button:disabled{cursor:not-allowed;opacity:.55}.effect-input{min-height:var(--target-min);flex:none;align-items:center;gap:3px;display:flex}.effect-input input{width:50px;min-height:var(--target-min);color:#3e4953;font-size:var(--font-ui-small);text-align:right;background:0 0;border:0;outline:0;padding:0;font-weight:700}.effect-input small{color:var(--text-muted);font-size:var(--font-caption)}.environment-settings{background:#fff;border:1px solid #dddff0;border-radius:10px;gap:9px;margin-top:10px;padding:10px;display:grid}.scene-settings__advanced{background:#fff;border:1px solid #e1e6e9;border-radius:10px;margin-top:8px}.scene-settings__advanced>summary{padding:10px}.scene-settings__advanced[open]>summary{border-bottom:1px solid #edf0f2}.scene-settings__advanced .environment-settings{margin:9px}.environment-settings__heading{color:#4f5b65;font-size:var(--font-caption);justify-content:space-between;align-items:center;gap:8px;display:flex}.environment-settings__heading .toggle{flex:none}.environment-settings__add,.central-attractor__remove{min-height:var(--target-min);color:#5c50b2;font-size:var(--font-caption);background:#f2f9fd;border:1px solid #ddd8f6;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-weight:700;display:inline-flex}.environment-settings button:disabled{opacity:.48;cursor:default}.environment-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;display:grid}.environment-field{min-width:0;color:var(--text-muted);font-size:var(--font-caption);gap:3px;display:grid}.environment-field--wide{grid-template-columns:54px minmax(0,1fr);align-items:center}.environment-field__input{background:#fbfcfc;border:1px solid #e1e6e9;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:4px 6px;display:grid}.environment-field>select{color:#3e4953;width:100%;min-width:0;font-size:var(--font-caption);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #e1e6e9;border-radius:6px;outline:0;padding:4px 5px}.environment-field__input input{background:0 0;border:0;padding:0}.environment-field__input small{color:var(--text-muted);white-space:nowrap}.central-attractor{border:1px solid #e5e7ef;border-radius:8px;gap:8px;min-width:0;margin:0;padding:8px;display:grid}.central-attractor legend{color:#69747d;font-size:var(--font-caption);padding:0 4px;font-weight:700}.central-attractor__remove{color:#a84c55;background:#fff7f8;border-color:#efdadd;justify-self:end}.empty-inspector{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:30px;display:flex}.empty-inspector>span{width:46px;height:46px;color:var(--violet-dark);background:#f0edff;border-radius:14px;place-items:center;display:grid}.empty-inspector h3{color:#4c5862;font-size:var(--font-ui);margin:12px 0 5px}.empty-inspector p{max-width:190px;color:var(--text-muted);font-size:var(--font-caption);margin:0;line-height:1.5}.measurements-panel{z-index:5;background:#fff;border-top:1px solid #d7dfe3;grid-area:2/2;min-width:0;min-height:0;box-shadow:0 -3px 12px #202f3b0a}.measurements-panel__bar{border-bottom:1px solid #e7ecee;justify-content:space-between;align-items:center;min-height:47px;padding:0 9px 0 12px;display:flex}.result-tabs,.result-actions{align-items:center;display:flex}.result-tabs{gap:4px;height:100%}.result-tabs button{min-height:var(--target-min);color:var(--text-muted);font-size:var(--font-ui-small);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 10px;font-weight:650;display:inline-flex;position:relative}.result-tabs button[aria-selected=true]{border-bottom-color:var(--violet);color:var(--violet-dark)}.tab-count{min-width:18px;height:18px;color:var(--violet-dark);background:var(--brand-blue-soft);font-size:var(--font-caption);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;padding:0 4px;display:grid}.result-actions{gap:5px}.measurements-panel__glance{border:1px solid var(--soft-line);min-width:0;color:var(--text-muted);background:var(--surface-subtle);font-size:var(--font-caption);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:5px 9px;display:inline-flex}.measurements-panel__glance>span:first-child:not(:only-child){color:var(--violet-dark);font-weight:800}.measurements-panel__glance strong{max-width:150px;color:var(--text-strong);text-overflow:ellipsis;overflow:hidden}.measurements-panel__glance[data-empty=true]{background:0 0;border-color:#0000}.result-actions button{min-width:var(--target-min);height:var(--target-min);color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.result-actions button:hover{background:#f7f9fa;border-color:#e0e6e9}.measurements-panel__content{grid-template-columns:140px minmax(260px,1fr) 116px;align-items:stretch;height:calc(100% - 47px);min-height:0;padding:8px 12px 5px;display:grid}.results-size-controls{border-left:1px solid var(--soft-line);align-items:center;gap:2px;padding-left:3px;display:inline-flex}.measurements-panel--collapsed .measurements-panel__bar{border-bottom:0;height:47px}.chart-legend{align-items:flex-start;gap:7px;padding:12px 4px;display:flex}.chart-legend__swatch{background:var(--violet);border-radius:50%;flex:none;width:8px;height:8px;margin-top:3px;box-shadow:0 0 0 3px #087dcc1c}.chart-legend>div{flex-direction:column;display:flex}.chart-legend strong{color:#48545e;font-size:var(--font-ui-small)}.chart-legend small{color:var(--text-muted);font-size:var(--font-caption);margin-top:2px}.chart-current{display:none}.height-chart{min-width:0;min-height:112px;overflow:hidden}.height-chart .uplot{font-family:inherit}.height-chart .u-over{cursor:crosshair}.channel-chart__note{color:var(--text-muted);font-size:var(--font-caption);margin:4px 0 0;line-height:1.35}.measurement-summary{flex-direction:column;justify-content:center;align-items:flex-end;padding:12px 6px;display:flex}.measurement-summary span{color:var(--text-muted);font-size:var(--font-caption);align-items:center;gap:5px;display:inline-flex}.measurement-summary strong{color:#3e4a54;font-variant-numeric:tabular-nums;margin-top:5px;font-size:.9375rem}.values-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;padding:5px;display:grid}.values-grid>div{background:#fafbfc;border:1px solid #e4e9ec;border-radius:11px;grid-template-columns:1fr auto auto;align-items:center;gap:5px;padding:12px 14px;display:grid}.values-grid span{color:var(--text-muted);font-size:var(--font-caption)}.values-grid strong{color:#3f4b55;font-variant-numeric:tabular-nums;font-size:1rem}.values-grid small{color:var(--text-muted);font-size:var(--font-caption)}.run-history{grid-column:1/-1;min-height:0;padding:3px 5px;overflow-y:auto}.run-history>p{color:var(--text-muted);font-size:var(--font-caption);text-align:center;margin:26px 0 0}.run-row{min-height:38px;color:var(--text-muted);font-size:var(--font-caption);border-bottom:1px solid #edf0f2;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.run-row__dot{background:var(--violet);border-radius:50%;width:7px;height:7px}.run-row strong{color:#49555f}.run-row__evidence-actions button,.run-evidence-shell__actions button{width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.mechanics-canvas--positionSensor,.mechanics-canvas--velocitySensor,.mechanics-canvas--accelerationSensor,.mechanics-canvas--forceSensor,.mechanics-canvas--indicator,.mechanics-canvas--actuator,.mechanics-canvas--controller,.mechanics-canvas--signal{cursor:copy}.selected-object__icon--sensor{color:#147f78;background:#e6f7f5}.selected-object__icon--authoredGeometry{color:#176b75;background:#e6f6f4}.selected-object__icon--controller,.selected-object__icon--signal{color:#5f4bc3;background:#efecff}.selected-object__icon--actuator{color:#c76529;background:#fff0e6}.selected-object__icon--indicator{color:#4c6574;background:#eaf0f3}.property-field--select select{width:145px;height:var(--control-height);color:#46525c;font-size:var(--font-ui-small);background:#fafbfc;border:1px solid #dfe5e8;border-radius:8px;outline:0;padding:0 7px}.live-reading{color:#d8fff6;background:#26323a;border-radius:9px;justify-content:space-between;align-items:baseline;padding:10px;display:flex}.live-reading strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.live-reading span{color:#bfd0d8;font-size:var(--font-caption)}.mode-switch{background:#f0f2f4;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.mode-switch button{min-height:29px;color:var(--text-muted);font-size:var(--font-caption);background:0 0;border:0;border-radius:7px;padding:0 6px;font-weight:650}.mode-switch button[aria-pressed=true]{color:#5745be;background:#fff;box-shadow:0 2px 6px #31394317}.controller-program{gap:5px;display:grid}.controller-program span{color:#5f5a7a;font-size:var(--font-caption);background:#f5f3ff;border-left:3px solid #7665cf;border-radius:5px;padding:6px 8px}.signal-note{color:var(--violet-dark);font-size:var(--font-caption);margin:0;line-height:1.45}.channel-picker{position:relative}.channel-picker summary{min-height:var(--target-min);color:var(--text-muted);font-size:var(--font-caption);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:0 7px;list-style:none;display:inline-flex}.channel-picker[open] summary{background:#f3f0ff}.channel-picker>div{z-index:20;background:#fff;border:1px solid #dfe4e8;border-radius:10px;gap:6px;width:250px;max-height:210px;padding:9px;display:grid;position:absolute;bottom:34px;right:0;overflow-y:auto;box-shadow:0 10px 30px #27333e29}.channel-picker label{color:#65717b;font-size:var(--font-caption);grid-template-columns:15px 8px 1fr;align-items:center;gap:6px;display:grid}.channel-picker label i{border-radius:50%;width:7px;height:7px}.measurement-channel-link{color:inherit;background:var(--violet-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:1px 3px}.result-actions button:disabled,.run-history__actions button:disabled{opacity:.38}.chart-legend{align-content:start;gap:5px;padding:6px 4px;display:grid;overflow:hidden auto}.chart-legend__item{grid-template-columns:8px minmax(0,1fr);align-items:start;gap:6px;display:grid}.chart-legend__item>span{border-radius:50%;width:7px;height:7px;margin-top:3px}.chart-legend__item>div{flex-direction:column;min-width:0;display:flex}.chart-legend__item strong{color:#48545e;font-size:var(--font-ui-small);overflow-wrap:anywhere;white-space:normal;line-height:1.25;overflow:hidden}.chart-legend__item small{color:var(--text-muted);font-size:var(--font-caption)}.values-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));overflow-y:auto}.measurement-table-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:6px;min-width:0;min-height:0;display:grid;overflow:hidden}.measurement-table-shell__summary{color:var(--text-muted);font-size:var(--font-caption);font-variant-numeric:tabular-nums}.measurement-table-shell__edge{color:var(--brand-blue-dark,#087dcc);font:inherit;text-underline-offset:2px;background:0 0;border:0;margin-left:8px;padding:0;font-weight:700;text-decoration:underline}.measurement-table-shell__edge:hover,.measurement-table-shell__edge:focus-visible{color:var(--text-strong,#27343e)}.measurement-table-scroll{background:#fff;border:1px solid #e5e8eb;border-radius:8px;min-width:0;overflow:auto}.measurement-table{border-collapse:separate;border-spacing:0;color:#4e5962;width:100%;min-width:520px;font-size:var(--font-caption);font-variant-numeric:tabular-nums}.measurement-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.measurement-table th,.measurement-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #eef0f2;border-right:1px solid #eef0f2;min-width:96px;padding:7px 9px}.measurement-table thead th{z-index:2;color:#53606a;text-align:left;background:#f7f8fa;position:sticky;top:0}.measurement-table thead th:first-child,.measurement-table tbody th{z-index:1;text-align:right;background:#fafbfc;position:sticky;left:0}.measurement-table thead th:first-child{z-index:3}.measurement-table thead span,.measurement-table thead small{display:block}.measurement-table thead small{color:var(--text-muted);margin-top:2px;font-weight:500}.measurement-table tbody tr:nth-child(2n) td{background:#fcfcfd}.measurement-table-shell__more{color:#5f4fc2;min-height:32px;font-size:var(--font-caption);background:#f2f9fd;border:1px solid #ded8fb;border-radius:7px;justify-self:start;padding:0 10px;font-weight:650}.event-log-empty{max-width:420px;color:var(--text-muted);font-size:var(--font-caption);text-align:center;align-content:center;justify-items:center;gap:5px;margin:auto;display:grid}.event-log-empty svg{color:#3f9a75}.event-log-empty strong{color:#53606a;font-size:var(--font-body)}.experiment-event-log{align-content:start;gap:6px;display:grid;overflow-y:auto}.experiment-event-log__item{color:#39775f;background:#f6fbf8;border:1px solid #dde8e3;border-radius:8px;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:8px 10px;display:grid}.experiment-event-log__item>div{gap:2px;display:grid}.experiment-event-log__item strong{color:#46545d;font-size:var(--font-body)}.experiment-event-log__item span{color:var(--text-muted);font-size:var(--font-caption);line-height:1.4}.experiment-event-log__item--warning,.experiment-event-log__item--error{color:#ae5d35;background:#fff9f5;border-color:#f1d8cc}.experiment-event-log__item--error{color:#ad4646;background:#fff7f7;border-color:#efd1d1}.run-history__actions{justify-content:space-between;align-items:center;padding:2px 0 5px;display:flex}.run-history__actions button{color:#5f4fc2;height:28px;font-size:var(--font-caption);background:#f2f9fd;border:1px solid #ded8fb;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-weight:650;display:inline-flex}.run-history__actions span{color:var(--text-muted);font-size:var(--font-caption)}.run-row__comparison{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:16px 110px 1fr 46px;align-items:center;gap:8px;padding:0 4px;display:grid}.run-row__comparison[aria-pressed=true]{background:#f5f2ff}.run-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.run-row__dot{place-items:center;width:14px;height:14px;display:grid}.run-row__comparison time{color:var(--text-muted);font-size:var(--font-caption)}.run-row__evidence-actions{gap:1px;padding:0 3px;display:flex}.run-row__evidence-actions button:hover,.run-row__evidence-actions button:focus-visible,.run-evidence-shell__actions button:hover,.run-evidence-shell__actions button:focus-visible{color:#5f4fc2;background:#f3f0ff}.run-row__evidence-actions button:disabled{opacity:.35}.run-history__error{background:#fff0f0;border-radius:6px;padding:6px 8px;color:#a43e3e!important;text-align:left!important;margin:5px 0!important}.run-evidence-shell{gap:5px;margin:7px 0;display:grid}.run-evidence__technical>summary{cursor:pointer;color:#65727d;font-size:var(--font-caption);margin-bottom:8px;font-weight:700}.run-evidence-shell__actions{justify-content:flex-end;gap:3px;display:flex}.run-evidence-shell__actions button{width:auto;min-width:28px;font-size:var(--font-caption);align-items:center;gap:5px;padding:0 7px;display:inline-flex}.run-evidence{color:#5e6972;font-size:var(--font-caption);background:#fcfbff;border:1px solid #ddd8fa;border-radius:9px;gap:8px;padding:10px;display:grid}.run-evidence>header{justify-content:space-between;align-items:start;gap:8px;display:flex}.run-evidence>header>div,.run-evidence__checks th,.run-evidence__checks td[data-verdict]{flex-direction:column;gap:2px;display:flex}.run-evidence h3{color:#4e5962;font-size:var(--font-caption);margin:3px 0 0}.run-evidence code{overflow-wrap:anywhere;font-size:var(--font-caption)}.run-evidence__status{color:#32745b;background:#eaf8f1;border-radius:999px;padding:3px 6px;font-weight:700}.run-evidence__status[data-status=failed]{color:#a43e3e;background:#fff0f0}.run-evidence__metadata{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px 10px;margin:0;display:grid}.run-evidence__metadata>div{border-bottom:1px solid #ece9f8;min-width:0;padding-bottom:4px}.run-evidence__metadata dt{color:var(--text-muted);font-size:var(--font-caption)}.run-evidence__metadata dd{color:#47535c;font-variant-numeric:tabular-nums;margin:2px 0 0}.run-evidence__checks{overflow-x:auto}.run-evidence__checks table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:940px}.run-evidence__checks caption{color:var(--text-muted);text-align:left;padding:0 0 5px}.run-evidence__checks th,.run-evidence__checks td{text-align:left;white-space:nowrap;border:1px solid #e8e5f2;padding:5px}.run-evidence__checks td[data-verdict=pass] strong{color:#287251}.run-evidence__checks td[data-verdict=fail] strong,.run-evidence__checks td[data-verdict=error] strong{color:#a43e3e}.run-evidence__notice,.run-evidence__checks>p{color:var(--text-muted);margin:0}.run-evidence-delete{z-index:1000;background:#1f262d61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.run-evidence-delete>div{color:#4e5962;background:#fff;border-radius:10px;gap:10px;max-width:440px;padding:18px;display:grid;box-shadow:0 16px 50px #181f2640}.run-evidence-delete p{margin:0;line-height:1.5}.run-evidence-delete span{justify-content:flex-end;gap:7px;display:flex}.run-evidence-delete button{color:#5f4fc2;min-height:30px;font-size:var(--font-caption);background:#f2f9fd;border:1px solid #ded8fb;border-radius:7px;padding:0 9px;font-weight:650}.run-comparison{color:#69747d;font-size:var(--font-caption);background:#faf9ff;border:1px solid #ddd8fa;border-radius:9px;grid-template-columns:1.4fr 1fr 1fr .7fr;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;display:grid}.run-comparison strong{color:#5143a9}.run-comparison em{color:#b45b2c;font-style:normal;font-weight:700}.empty-results{color:var(--text-muted);font-size:var(--font-caption);grid-column:1/-1;place-items:center;display:grid}.electrical-workspace .react-flow{position:absolute;inset:0}.workspace-loading{color:var(--text-muted);font-size:var(--font-caption);place-items:center;display:grid}.electrical-node{--electrical-family-color:#26343c;width:72px;color:var(--electrical-family-color);box-shadow:none;text-align:center;background:0 0;border:0;grid-template-rows:28px 48px 28px;grid-template-columns:72px;place-items:center;gap:3px;padding:0;transition:color .14s;display:grid;position:relative}.electrical-node[data-color-family=source]{--electrical-family-color:#315a7d}.electrical-node[data-color-family=passive]{--electrical-family-color:#356b68}.electrical-node[data-color-family=control]{--electrical-family-color:#7a5a24}.electrical-node[data-color-family=measurement]{--electrical-family-color:#65527c}.electrical-node[data-color-family=sensor]{--electrical-family-color:#3f6b4f}.electrical-node[data-color-family=load]{--electrical-family-color:#7a4f48}.electrical-node[data-color-family=reference]{--electrical-family-color:#4c5a62}.electrical-node--controller{grid-template-rows:28px 48px 28px 16px;grid-template-columns:116px;width:116px}.electrical-node--family-reference{width:72px}.electrical-node--junction{grid-template:1fr/1fr;place-items:center;width:20px;height:20px;display:grid}.electrical-junction-dot{pointer-events:none;background:currentColor;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #fff}.electrical-node--junction.is-selected .electrical-junction-dot{box-shadow:0 0 0 2px #fff,0 0 0 6px #087dcc29}.arduino-node__pins,.arduino-node__port{display:contents}.arduino-node__port-label,.arduino-node__power-label{color:var(--violet-dark);font-size:var(--font-caption);pointer-events:none;font-weight:800;line-height:1;position:absolute}.arduino-node__port-label{transform:translateY(-50%)}.arduino-node__port-label--input{left:9px}.arduino-node__port-label--output{right:9px}.arduino-node__power-label{bottom:1px}.arduino-node__power-label--gnd{left:17px}.arduino-node__power-label--5v{right:23px}.peripheral-power-label,.signal-port-label{z-index:2;font-size:var(--font-caption);pointer-events:none;background:#ffffffe0;border-radius:4px;padding:1px 3px;font-weight:800;position:absolute}.peripheral-power-label{color:#8b5c3b;left:4px}.peripheral-power-label--5v{top:20%}.peripheral-power-label--gnd{color:#52616b;top:62%}.signal-port-label{color:#b05225;top:50%;right:4px;transform:translateY(-50%)}.signal-port-label--input{color:#5b4fc0;left:4px;right:auto}.electrical-node__symbol{width:72px;height:48px;color:inherit;isolation:isolate;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.electrical-node__symbol:before{z-index:-1;content:"";background:#087dcc00;border-radius:14px;transition:background .14s,transform .14s;position:absolute;inset:-6px 2px;transform:scale(.88)}.electrical-node.is-selected .electrical-node__symbol:before{background:#087dcc1f;transform:scale(1)}.electrical-node.is-selected .electrical-node__symbol{filter:drop-shadow(0 0 6px #087dcc4d)drop-shadow(0 2px 3px #087dcc2e)}.electrical-node__symbol{filter:drop-shadow(0 1px 1.5px #1f334429)}.electrical-node__symbol--interactive{cursor:pointer}.electrical-node__symbol--interactive:hover,.electrical-node__symbol--interactive:focus-visible{color:inherit;filter:drop-shadow(0 0 3px #087dcc52)}.electrical-node__symbol--interactive:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.electrical-schematic-symbol{width:72px;height:48px;display:block;overflow:visible}.electrical-schematic-symbol__geometry{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.electrical-schematic-symbol__geometry text{fill:currentColor;stroke:none;font-family:IBM Plex Sans,Inter,sans-serif;font-size:var(--font-caption);text-anchor:middle;font-weight:750}.electrical-schematic-symbol__effects{pointer-events:none}.electrical-schematic-symbol__light-glow,.electrical-schematic-symbol__light-core{stroke:none}.electrical-schematic-symbol__light-glow{fill:#ffd54a;opacity:calc(var(--electrical-activity) * .72);filter:blur(5px)}.electrical-schematic-symbol__light-core{fill:#fff3a8;opacity:calc(var(--electrical-activity) * .58)}.electrical-schematic-symbol__conduction{fill:none;stroke:#1aa5a5;stroke-linecap:round;stroke-width:6px;opacity:calc(var(--electrical-activity) * .58)}.electrical-schematic-symbol__heat-body{fill:#f39a3d;stroke:none;opacity:calc(var(--electrical-activity) * .46)}.electrical-schematic-symbol__heat-waves{fill:none;stroke:#e66a2c;stroke-linecap:round;stroke-width:1.6px;opacity:calc(var(--electrical-activity) * .82)}.electrical-schematic-symbol[data-motion=running] .electrical-schematic-symbol__heat-waves{animation:1.35s ease-in-out infinite electrical-heat-shimmer}.electrical-schematic-symbol__charge-marks{fill:#2b79ba;stroke:none;opacity:calc(var(--electrical-activity) * .92);text-anchor:middle;font-family:IBM Plex Sans,Inter,sans-serif;font-size:13px;font-weight:850}.electrical-schematic-symbol[data-current-direction="-1"] .electrical-schematic-symbol__charge-marks{fill:#d9683e}.electrical-schematic-symbol__magnetic-field{fill:none;stroke:#477cca;stroke-linecap:round;stroke-width:1.5px;opacity:calc(var(--electrical-activity) * .72)}.electrical-schematic-symbol[data-motion=running] .electrical-schematic-symbol__magnetic-field{animation:1.2s ease-in-out infinite alternate electrical-field-pulse}.electrical-schematic-symbol__rotor{fill:none;stroke:#d36d30;stroke-linecap:round;stroke-width:2.2px;opacity:calc(var(--electrical-activity) * .88);transform-box:view-box;transform-origin:36px 24px}.electrical-schematic-symbol[data-motion=running] .electrical-schematic-symbol__rotor{animation:electrical-rotor-spin var(--electrical-motion-duration) linear infinite}.electrical-schematic-symbol[data-current-direction="-1"] .electrical-schematic-symbol__rotor{animation-direction:reverse}.electrical-schematic-symbol[data-symbol-kind=controlledSource] text,.electrical-schematic-symbol[data-symbol-kind=controller] text,.electrical-schematic-symbol[data-symbol-kind=gearbox] text,.electrical-schematic-symbol[data-symbol-kind=drumLoad] text{font-size:var(--font-caption)}.electrical-schematic-symbol[data-visual-state=light][data-active=true]{filter:drop-shadow(0 0 calc(2px + var(--electrical-activity) * 5px) #ffc92db8)}.electrical-node__name,.electrical-node__value{pointer-events:none;z-index:3;width:max-content;line-height:13px;display:block;position:relative;overflow:visible}.electrical-node__name{width:120px;height:28px;font-size:var(--font-caption);overflow-wrap:anywhere;text-align:center;text-wrap:balance;white-space:normal;transform:scale(var(--electrical-label-scale,1));transform-origin:bottom;justify-content:center;align-items:flex-end;font-weight:750;display:flex}.electrical-node__name>span,.electrical-node__value>span{background:#fffffff0;border-radius:4px;max-width:100%;padding:1px 5px;display:inline-block;box-shadow:0 0 0 2px #ffffffb8}.electrical-node.is-selected .electrical-node__name>span{color:var(--brand-blue-dark);background:#edf7fd}.electrical-node__value{color:#64727c;width:140px;height:28px;font-size:var(--font-caption);font-variant-numeric:tabular-nums;transform:scale(var(--electrical-label-scale,1));transform-origin:top;justify-content:center;align-items:flex-start;font-weight:550;display:flex}.electrical-handle,.signal-handle,.power-handle,.shaft-handle{box-shadow:0 0 0 1px #34434e;background:#475966!important;border:2px solid #fff!important;width:12px!important;height:12px!important}.electrical-port-target{z-index:4;cursor:crosshair;background:0 0;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute}.electrical-port-target:disabled{cursor:not-allowed}.electrical-port-target>.react-flow__handle{position:absolute!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important}.electrical-handle:before,.signal-handle:before,.power-handle:before,.shaft-handle:before{content:"";position:absolute;inset:-7px}.electrical-port-target:focus-visible{z-index:4;outline:3px solid var(--focus-ring);outline-offset:1px}.electrical-port-target[aria-pressed=true]>.react-flow__handle{outline:3px solid var(--focus-ring);outline-offset:4px;filter:brightness(1.15)}.electrical-junction-handle{opacity:0;width:20px!important;height:20px!important;box-shadow:none!important;background:0 0!important;border:0!important;top:50%!important;left:50%!important}.power-handle--5v{box-shadow:0 0 0 1px #aa4627;background:#d9683e!important;width:13px!important;height:13px!important}.power-handle--gnd{box-shadow:0 0 0 1px #34414a;background:#52616b!important;border-radius:3px!important;width:13px!important;height:13px!important}.signal-handle--digital{box-shadow:0 0 0 1px #1f765b;background:#2d9b76!important;border-radius:3px!important}.signal-handle--pwm{box-shadow:0 0 0 1px #aa437f;background:#d462a5!important}.shaft-handle{box-shadow:0 0 0 1px #344e62;background:#547289!important;border-radius:2px!important;width:14px!important;height:14px!important}.signal-handle{box-shadow:0 0 0 1px #bd5c24;background:#e47735!important}.signal-handle--input{box-shadow:0 0 0 1px var(--brand-blue-dark);background:var(--brand-blue)!important}.signal-handle--control-source{top:79px!important;bottom:auto!important}.electrical-edge .electrical-edge__underlay{fill:none;stroke:#fffffff5;stroke-linecap:round;stroke-linejoin:round;stroke-width:7px;pointer-events:none;vector-effect:non-scaling-stroke}.electrical-edge--wire .react-flow__edge-path{stroke:#465762;stroke-width:2.4px}.electrical-edge--wire .electrical-edge__current-flow{fill:none;stroke:#f5b942;stroke-dasharray:1 13;stroke-linecap:round;stroke-width:4.4px;opacity:calc(.42 + var(--electrical-flow-level) * .52);animation:electrical-current-flow var(--electrical-flow-duration) linear infinite;pointer-events:none;vector-effect:non-scaling-stroke}.electrical-edge--wire .electrical-edge__current-flow[data-flow-direction="-1"]{animation-direction:reverse}@keyframes electrical-current-flow{to{stroke-dashoffset:-14px}}@keyframes electrical-rotor-spin{to{transform:rotate(360deg)}}@keyframes electrical-heat-shimmer{50%{opacity:calc(var(--electrical-activity) * .38);transform:translateY(-1px)}}@keyframes electrical-field-pulse{to{opacity:calc(var(--electrical-activity) * .34)}}@media (prefers-reduced-motion:reduce){.electrical-edge__current-flow,.electrical-schematic-symbol__heat-waves,.electrical-schematic-symbol__magnetic-field,.electrical-schematic-symbol__rotor{animation:none!important}}.electrical-edge--signal .react-flow__edge-path{stroke:#d36d30;stroke-width:2px;stroke-dasharray:6 4}.electrical-edge--power .react-flow__edge-path{stroke-width:2.2px}.electrical-edge--5v .react-flow__edge-path{stroke:#d9683e}.electrical-edge--gnd .react-flow__edge-path{stroke:#52616b}.electrical-edge--shaft .react-flow__edge-path{stroke:#56758b;stroke-width:5px;stroke-linecap:round}.electrical-edge.selected .react-flow__edge-path{filter:drop-shadow(0 0 3px #087dcc7a)}.electrical-legend i.shaft{border-width:4px;border-color:#56758b}.electrical-fit{z-index:6;color:#68757f;height:27px;font-size:var(--font-caption);background:#ffffffeb;border:1px solid #d7dfe3;border-radius:8px;padding:0 9px;font-weight:700;position:absolute;top:14px;right:15px}.electrical-connection-hint{z-index:7;color:#4f4596;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#faf9fff7;border:1px solid #cfc9f5;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(560px,100% - 40px);padding:9px 10px;display:grid;position:absolute;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 7px 24px #4a377d21}.electrical-connection-hint>svg{color:#6256c5}.electrical-connection-hint>div{gap:2px;min-width:0;display:grid}.electrical-connection-hint strong,.electrical-connection-hint span{font-size:var(--font-caption);line-height:1.35}.electrical-connection-hint button{height:32px;color:inherit;font-size:var(--font-caption);cursor:pointer;background:#fff;border:1px solid;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-weight:750;display:inline-flex}.electrical-connection-hint button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.electrical-legend{z-index:6;color:var(--text-muted);font-size:var(--font-caption);background:#ffffffeb;border:1px solid #dde4e7;border-radius:8px;gap:10px;padding:7px 9px;display:flex;position:absolute;bottom:14px;right:15px}.electrical-legend span{align-items:center;gap:5px;display:flex}.electrical-legend i{border-top:2px solid #465762;width:20px;display:inline-block}.electrical-legend i.signal{border-style:dashed;border-color:#d36d30}.electrical-legend i.power{border-color:#dc5f31}.property-section{border-bottom:1px solid #edf0f2;gap:8px;padding:13px 14px;display:grid}.electrical-model-level strong{width:fit-content;color:var(--violet-dark);background:var(--violet-soft);font-size:var(--font-caption);border:1px solid #d9d4fa;border-radius:999px;padding:3px 7px}.electrical-model-level span{color:var(--text-muted);font-size:var(--font-caption);line-height:1.35}.electrical-control-state{color:var(--text-muted);font-size:var(--font-caption);background:#f7faf9;border:1px solid #dce5e3;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.electrical-control-state strong{color:#35504c}.electrical-control-state.is-runtime{background:#edf9f7;border-color:#b9ded8}.electrical-control-state.is-runtime strong{color:#177b75}.property-section__title{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:6px;font-weight:750;display:flex}.inspector-field{color:#64717c;font-size:var(--font-ui-small);grid-template-columns:minmax(0,1fr) minmax(138px,145px);align-items:center;gap:8px;display:grid}.inspector-field__input{height:var(--control-height);background:#fafbfc;border:1px solid #dfe5e8;border-radius:8px;grid-template-columns:minmax(6ch,1fr) max-content;align-items:center;min-width:0;display:grid;overflow:hidden}.inspector-field__input input{min-width:0;height:100%;font-size:var(--font-ui-small);background:0 0;border:0;outline:0;padding:0 5px 0 8px}.inspector-field__input small{min-width:0;color:var(--text-muted);font-size:var(--font-caption);white-space:nowrap;padding-right:7px}.inspector-field__input:has(>small[role=alert]){height:auto;min-height:var(--control-height);grid-template-columns:minmax(0,1fr);align-items:stretch}.inspector-field__input:has(>small[role=alert]) input{height:var(--control-height)}.inspector-field__input>small[role=alert]{overflow-wrap:anywhere;white-space:normal;grid-column:1/-1;padding:0 8px 5px;line-height:1.25}@container inspector (width<=280px){.property-pair{grid-template-columns:minmax(0,1fr)}.property-field,.inspector-field{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.property-field>.number-input,.inspector-field>.inspector-field__input{width:100%}}.motor-mechanical-drive select{width:118px;height:var(--control-height);color:#46525c;min-width:0;font-size:var(--font-ui-small);background:#fafbfc;border:1px solid #dfe5e8;border-radius:8px;outline:0;padding:0 7px}.motor-mechanical-drive__note{color:var(--text-muted);font-size:var(--font-caption);margin:0;line-height:1.45}.motor-mechanical-drive__disconnect{min-height:var(--control-height);color:#6557b8;font-size:var(--font-caption);background:#faf9ff;border:1px solid #ded9f6;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.motor-mechanical-drive select:disabled,.motor-mechanical-drive__disconnect:disabled,.motor-mechanical-drive input:disabled{cursor:not-allowed;opacity:.5}.switch-control{height:var(--control-height);font-size:var(--font-caption);background:#f6f7f8;border:1px solid #dddfe4;border-radius:8px}.switch-control.is-on{color:#177b75;background:#edf9f7;border-color:#b9ded8}.live-readings{background:#fafbfc}.reading-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.reading-grid span{color:var(--text-muted);font-size:var(--font-caption);background:#fff;border:1px solid #e4e8eb;border-radius:7px;gap:2px;padding:6px;display:grid}.reading-grid strong{color:#42505b;font-size:var(--font-caption)}.inspector-empty{color:var(--text-muted);text-align:center;place-items:center;gap:7px;padding:50px 24px;display:grid}.inspector-empty strong{color:#55636e;font-size:var(--font-ui-small)}.inspector-empty p{font-size:var(--font-body);margin:0;line-height:1.5}.delete-item-button{min-height:var(--control-height);color:#bd4e57;font-size:var(--font-caption);background:#fff7f7;border:1px solid #f0d7d9;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:13px 14px;font-weight:700;display:flex}.blockly-editor{gap:5px;display:grid}.arduino-program-summary{background:#faf9ff;border:1px solid #ded9f6;border-radius:10px;gap:5px;padding:10px;display:grid}.arduino-program-summary>span{color:#7568c3;font-family:ui-monospace,Cascadia Code,monospace;font-size:var(--font-caption)}.arduino-program-summary>strong{color:#4c426f;font-size:var(--font-caption)}.arduino-program-summary>small{color:var(--text-muted);font-size:var(--font-caption);line-height:1.45}.arduino-program-summary button{color:#5b4db5;min-height:32px;font-size:var(--font-caption);background:#fff;border:1px solid #cfc8f1;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:3px;font-weight:750;display:inline-flex}.arduino-program-dialog__backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#19202894;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.arduino-program-dialog{background:#fff;border:1px solid #cfd5dd;border-radius:16px;grid-template-rows:62px auto minmax(0,1fr);width:min(1240px,100vw - 32px);height:min(840px,100dvh - 32px);min-height:520px;display:grid;overflow:hidden;box-shadow:0 24px 70px #10182047}.arduino-program-dialog__header{border-bottom:1px solid #e4e8eb;justify-content:space-between;align-items:center;padding:0 16px 0 20px;display:flex}.arduino-program-dialog__header h2{color:#3d4650;margin:0;font-size:.95rem}.arduino-program-dialog__header button{color:#69757f;background:#f2f4f6;border:0;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;display:grid}.arduino-program-dialog__guide{background:#f8f9fb;border-bottom:1px solid #e5e9ec;flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.arduino-program-dialog__guide span{color:var(--text-muted);font-size:var(--font-caption);background:#fff;border:1px solid #e0e3eb;border-radius:999px;padding:5px 8px}.arduino-program-dialog__guide strong{color:#5d50b3}.arduino-program-dialog__workspace{grid-template-columns:minmax(0,1fr) 240px;min-height:0;display:grid}.arduino-program-dialog__editor{min-height:0;padding:10px}.arduino-program-dialog__monitor{background:#f8f9fb;border-left:1px solid #e4e8eb;align-content:start;gap:10px;min-height:0;padding:14px 12px;display:grid;overflow:auto}.arduino-program-dialog__monitor h3{color:#3d4650;margin:2px 0 0;font-size:.78rem}.arduino-program-dialog__editor .blockly-editor{grid-template-rows:minmax(0,1fr) auto auto;height:100%;min-height:0}.arduino-program-dialog__editor .blockly-editor__canvas{height:auto;min-height:0}.arduino-program-dialog__editor .blockly-editor__status{font-size:var(--font-caption);padding:0 3px}.arduino-program-dialog__editor .arduino-code-preview pre{max-height:150px}.blockly-editor__canvas{border:1px solid #dfe4e8;border-radius:9px;height:310px;overflow:hidden}.blockly-editor__status{color:var(--text-muted);font-size:var(--font-caption);line-height:1.35}.blocklySvg{background:#f8fafb!important}.blocklyToolboxDiv{background:#eef1f3!important}.arduino-code-preview{background:#f8f9fb;border:1px solid #e2e5ea;border-radius:8px}.arduino-code-preview summary{color:#675bb4;cursor:pointer;font-size:var(--font-caption);padding:7px 9px;font-weight:700}.arduino-code-preview pre{color:#3c4852;max-height:220px;font-size:var(--font-caption);white-space:pre-wrap;border-top:1px solid #e2e5ea;margin:0;padding:9px;line-height:1.5;overflow:auto}.arduino-pin-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.arduino-runtime-monitor{gap:8px;display:grid}.arduino-runtime-monitor__group{gap:4px;display:grid}.arduino-runtime-monitor__group h4{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:750}.arduino-pin-table span{font-size:var(--font-caption);background:#fafbfc;border:1px solid #e2e5e8;border-radius:6px;justify-content:space-between;padding:5px 6px;display:flex}.serial-monitor{color:#d7e5df;max-height:150px;font-size:var(--font-caption);background:#26352f;border-radius:7px;gap:3px;padding:8px;display:grid;overflow:auto}.serial-monitor small{color:#8faaa0;font-weight:700}.connection-summary{color:var(--text-muted);font-size:var(--font-caption);grid-template-columns:minmax(0,1fr) auto;align-items:center}.run-comparison .height-chart,.run-comparison .comparison-stats,.run-comparison>button{grid-column:1/-1}.comparison-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.comparison-stats span{background:#fff;border-radius:6px;padding:5px 7px}.run-comparison>button{color:#5d50b4;min-height:28px;font-size:var(--font-caption);background:#fff;border:1px solid #ddd8fa;border-radius:7px;justify-self:end}@media (width<=1720px){.topbar{grid-template-columns:216px minmax(240px,1fr) auto auto}.experiment-context,.history-button__label{display:none}.history-button--undo{width:var(--target-min);padding:0}.simulation-controls{gap:6px;padding:0 10px}.step-button{width:var(--target-min);min-width:var(--target-min);padding:0}.step-button span,.topbar-actions .share-button span{display:none}.topbar-actions .share-button{width:var(--target-min);min-width:var(--target-min);justify-content:center;padding:0}}@media (width<=1320px){.topbar{grid-template-columns:210px minmax(210px,1fr) auto auto}.history-controls{padding-right:8px}.history-button__label{display:none}.history-button--undo{width:var(--target-min);padding:0}.domain-switch__label,.share-button span,.clear-scene-button span{display:none}.clear-scene-button{width:var(--target-min);padding:0}.run-button{width:auto;min-width:104px;padding:0 13px}.share-button{width:var(--target-min);justify-content:center;padding:0}.lab-layout{--toolbox-width:216px;--inspector-width:260px;grid-template-columns:var(--toolbox-track-width) minmax(320px, 1fr) var(--inspector-track-width)}.toolbox-view-tab span,.library-search kbd{display:none}.physics-domain-switcher .physics-domain-switcher__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbox-view-tab svg{display:block}.tool-list--family{grid-template-columns:minmax(0,1fr)}.problem-workspace{grid-template-columns:280px minmax(370px,1fr) 316px}.problem-detail{padding-left:26px;padding-right:26px}}@media (width<=1120px) and (width>=861px){.topbar{grid-template-columns:200px minmax(44px,1fr) auto auto;column-gap:6px;padding-left:10px;padding-right:10px}.object-edit-controls{display:none}.topbar-actions{gap:2px}}@media (width<=940px){.topbar{grid-template-columns:42px minmax(112px,1fr) auto auto;column-gap:6px;padding-left:10px;padding-right:10px}.brand-mark{width:42px;height:42px}.brand-mark__logo{width:150px;height:150px;transform:translate(-2px,-49px)}.catalog-mode-heading{display:none}.simulation-controls{justify-self:end;padding-right:0}.lab-layout{--toolbox-width:196px;--inspector-width:236px;grid-template-columns:var(--toolbox-track-width) minmax(300px, 1fr) var(--inspector-track-width)}.problem-workspace{grid-template-columns:250px minmax(360px,1fr) 286px}.problem-catalog-sidebar>header,.problem-run-panel>header{padding-left:14px;padding-right:14px}.problem-parameter-grid{grid-template-columns:1fr}.toolbox-view-tab{height:var(--control-height);font-size:var(--font-caption);gap:0;padding:0 2px}.toolbox-view-tab svg{display:block}.inspector-section{padding-left:12px;padding-right:12px}.selected-object{margin-left:11px;margin-right:11px}.measurements-panel__content{grid-template-columns:94px minmax(220px,1fr) 96px}}@media (width<=860px){.tool-list--family{grid-template-columns:minmax(0,1fr)}.arduino-program-dialog__workspace{grid-template-rows:minmax(360px,1fr) auto;grid-template-columns:minmax(0,1fr);overflow:auto}.arduino-program-dialog__monitor{border-top:1px solid #e4e8eb;border-left:0;grid-template-columns:minmax(0,1fr)}.topbar{grid-template-rows:52px 56px;grid-template-columns:42px minmax(112px,1fr) auto;gap:0 6px;height:108px;padding:0 10px}.lab-app{grid-template-rows:108px minmax(0,1fr)}.brand-mark{grid-area:1/1}.document-title{border:0;grid-area:1/2;min-width:0;padding:0;display:flex}.document-title .experiment-context,.document-title .save-status{display:none}.project-menu{width:100%;min-width:0;margin:0;position:static}.project-menu>summary{width:100%;min-width:0}.project-menu__panel{width:auto;max-height:calc(100dvh - 68px);position:fixed;top:58px;left:10px;right:10px;overflow-y:auto}.topbar-actions{grid-area:1/3;gap:2px;display:flex}.topbar-actions .help-button,.topbar-actions>.share-button:not(.workspace-toggle){display:inline-flex}.topbar-actions .workspace-toggle{display:none}.topbar-actions .share-button,.topbar-actions .icon-button{width:var(--target-min);min-width:var(--target-min);justify-content:center;padding:0}.topbar-actions .share-button span,.clear-scene-button span,.history-button__label{display:none}.simulation-controls{background:0 0;border:0;border-radius:0;grid-area:2/1/auto/-1;justify-content:space-between;gap:4px;width:100%;padding:0}.mobile-simulation-more__content{gap:4px}.playback-controls{gap:2px}.playback-rate-select{width:52px;padding-left:5px;padding-right:16px}.history-controls{gap:1px;padding-right:4px}.object-edit-controls{padding-right:3px}.model-time{align-items:center;min-width:56px;padding:3px 4px}.model-time small{display:none}.model-time strong{margin-top:0}.run-button{width:auto;min-width:84px;padding:0 10px}.run-button__label--full{display:none}.run-button__label--compact{display:inline}.lab-layout{grid-template-columns:var(--collapsed-rail-width) minmax(0, 1fr) var(--collapsed-rail-width);grid-template-rows:minmax(0, 1fr) var(--results-track-height);min-height:0}.shell-drawer{z-index:18;width:min(82vw,320px);max-width:calc(100% - var(--collapsed-rail-width));outline:0;display:block;position:absolute;top:0;bottom:0;box-shadow:0 12px 32px #2535422e}.shell-drawer--left{left:0}.shell-drawer--right{right:0}.shell-drawer>.toolbox,.shell-drawer>.inspector{width:100%;height:100%;box-shadow:none;grid-row:auto;position:static}.inspector-collapse-button{z-index:20;left:-36px;right:auto}.workspace-panel-rail{z-index:19;grid-row:1}.workspace-panel-rail span{font-size:var(--font-caption)}.drawing-hint{grid-template-columns:auto minmax(0,1fr);gap:8px;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);padding:8px;display:grid}.drawing-hint__title{min-width:0}.drawing-hint>button,.drawing-hint>.drawing-hint__counter,.drawing-hint>.drawing-hint__actions{text-align:center;grid-column:1/-1;justify-content:center;width:100%;min-height:36px}.measurements-panel__bar{grid-template-rows:var(--target-touch) var(--target-touch);min-height:88px;padding:0 5px;display:grid}.result-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin;gap:0;width:100%;min-width:0;overflow-x:auto}.result-tabs button{flex:none;gap:4px;padding:0 7px}.result-actions{border-top:1px solid var(--soft-line);justify-content:space-between;width:100%}.channel-picker>summary{min-height:var(--target-min)}.channel-picker>div{width:min(250px,100vw - 20px);left:0;right:auto}.measurements-panel{grid-column:1/-1}.measurements-panel__content{grid-template-columns:minmax(0,1fr);height:calc(100% - 88px);overflow:auto}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart]{grid-template-rows:max-content minmax(180px,1fr) max-content;align-content:start}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .chart-legend{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));min-height:max-content;overflow:visible}.measurements-panel--collapsed .measurements-panel__bar{height:47px;min-height:47px;display:flex}.measurements-panel--collapsed .result-tabs{flex:auto}.measurements-panel--collapsed .result-actions{border-top:0;width:auto}.measurements-panel__glance{display:none}.results-size-controls button{display:inline-flex}.workspace-tip,.electrical-legend--unified{display:none}.scene-preflight{width:calc(100% - 20px);right:10px}.scene-preflight__body{max-height:120px}}@media (width<=520px){.topbar{height:calc(108px + var(--safe-area-top));padding-top:var(--safe-area-top);grid-template-rows:52px 56px}.lab-app{grid-template-rows:calc(108px + var(--safe-area-top)) minmax(0, 1fr);min-height:100dvh}.simulation-controls{flex-wrap:nowrap;justify-content:space-between;gap:4px;height:56px}.experiment-hud{max-width:calc(100% - 36px);top:10px;bottom:auto;left:50%;transform:translate(-50%)}.lab-app--simulation-focused{grid-template-rows:calc(108px + var(--safe-area-top)) minmax(0, 1fr)}.lab-app--simulation-focused .topbar{height:calc(108px + var(--safe-area-top));grid-template-rows:52px 56px}.lab-app--simulation-focused .simulation-controls{flex-wrap:nowrap;height:56px}.lab-app--simulation-focused .history-controls,.lab-app--simulation-focused .object-edit-controls,.lab-app--simulation-focused .clear-scene-button{display:none}.experiment-hud__readouts{max-width:min(42vw,170px);display:flex}.experiment-hud__readout:not(:first-child),.experiment-hud__hint{display:none}.field-view-bar{right:auto;left:max(8px, var(--safe-area-left));justify-content:flex-start;width:auto;max-width:calc(100% - 112px);transform:none}.scene-vector-controls>summary strong{display:none}.unified-workspace:has(.measurement-instrument-dock__panel) .scene-viewport-controls{display:none}.scene-scale-bar{bottom:66px;left:10px}.result-tabs button:not([aria-selected=true]) .result-tab__label{display:none}}.project-controls{gap:6px}.project-menu{margin-left:0}.project-menu>summary{color:#566772;border-radius:10px;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:grid}.project-menu>summary:hover,.project-menu>summary:focus-visible,.project-menu[open]>summary{color:var(--brand-blue-dark);background:var(--brand-blue-soft);border-color:#b9d9ee}.project-menu__current{border-bottom:1px solid var(--soft-line);gap:2px;padding-bottom:9px;display:grid}.project-menu__current span{color:var(--muted);font-size:var(--font-caption)}.project-menu__current strong{overflow-wrap:anywhere;min-width:0;color:var(--text-strong)}.authoring-stage-ribbon{flex:none;min-width:0;padding:10px 11px 0}.authoring-stage-ribbon__tabs{background:#f3f6f8;border:1px solid #dfe6ea;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:0;padding:3px;display:grid}.authoring-stage-ribbon__tab{min-width:0;height:var(--target-min);color:#61717c;font-size:var(--font-caption);white-space:nowrap;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-weight:750;display:inline-flex;position:relative}.authoring-stage-ribbon__tab:hover{color:var(--brand-blue-dark);background:#ffffffb8}.authoring-stage-ribbon__tab[aria-selected=true]{color:var(--brand-blue-dark);background:#fff;box-shadow:0 2px 8px #1f2d3a1a}.authoring-stage-ribbon__tab[aria-selected=true]:after{background:linear-gradient(90deg, var(--brand-blue), var(--violet));content:"";border-radius:999px;height:2px;position:absolute;bottom:2px;left:9px;right:9px}.authoring-stage-ribbon__tab:focus-visible,.tool-category-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.physics-domain-switcher__tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-families{gap:0}.tool-categories{gap:12px;display:grid}.tool-category-list{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:7px;display:grid}.tool-category-button{color:#53636f;text-align:left;background:#fbfcfd;border:1px solid #e1e7ea;border-radius:12px;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:7px;min-width:0;min-height:72px;padding:8px 7px;display:grid}.tool-category-button:hover,.tool-category-button[aria-expanded=true]{color:var(--brand-blue-dark);background:#f1f9fd;border-color:#acd5ec}.tool-category-button.has-active-tool{box-shadow:inset 3px 0 0 var(--violet)}.tool-category-button__icon{width:34px;height:34px;color:var(--brand-blue-dark);background:#eaf6fc;border-radius:9px;place-items:center;display:grid}.tool-category-button__copy{gap:2px;min-width:0;display:grid}.tool-category-button__copy strong,.tool-category-button__copy small{min-width:0;line-height:1.18}.tool-category-button__copy strong{color:inherit;font-size:var(--font-caption);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.tool-category-button__copy small{color:var(--text-muted);font-size:10px}.tool-category-variants{background:linear-gradient(145deg,#f8fcfe,#fff);border:1px solid #cfe3ee;border-radius:13px;gap:8px;padding:11px;display:grid;box-shadow:0 8px 22px #25354214}.tool-category-variants__header{align-items:center;gap:8px;min-width:0;display:flex}.tool-category-variants__header h3{overflow-wrap:anywhere;color:#53636f;min-width:0;font-size:var(--font-caption);margin:0;font-weight:800}.tool-category-variants__back{min-height:36px;color:var(--brand-blue-dark);font-size:var(--font-caption);background:#fff;border:1px solid #d8e4ea;border-radius:9px;flex:none;align-items:center;gap:4px;padding:0 8px;font-weight:750;display:inline-flex}.tool-category-variants__back:hover{background:var(--brand-blue-soft);border-color:#acd5ec}.tool-list--variants{grid-template-columns:minmax(0,1fr)}.tool-list--variants .tool-card{min-height:56px}@media (width>=861px){.lab-layout{--toolbox-width:64px;--toolbox-palette-width:312px}.toolbox{overflow:visible}.toolbox-view-bar{border-right:1px solid var(--soft-line);border-bottom:0;flex-direction:column;width:64px;height:100%;display:flex}.toolbox-view-tabs{flex-direction:column;gap:4px;padding:7px 6px;display:flex}.toolbox-view-tab{flex:0 0 52px;width:52px;min-height:52px;padding:0}.toolbox-view-tab span{display:none}.toolbox-view-actions{flex-direction:column;gap:2px;width:64px;margin-top:auto;padding:6px}.toolbox-command-button,.toolbox-view-actions .context-help-button,.toolbox-collapse-button{width:52px;min-width:52px;height:48px;min-height:48px;box-shadow:none;border:0;border-radius:10px;margin:0}.toolbox-collapse-button{border:1px solid #dbe2e6}.toolbox-panel{z-index:4;top:0;bottom:var(--results-track-height);width:var(--toolbox-palette-width);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-right:1px solid #d7e0e5;border-radius:0 16px 16px 0;max-width:calc(100vw - 88px);position:absolute;left:64px;overflow:hidden;box-shadow:14px 0 34px #1f2d3a26}.lab-layout--toolbox-open .simulation-issue{left:calc(var(--toolbox-palette-width) + 16px);width:min(560px, calc(100% - var(--toolbox-palette-width) - 32px));grid-template-columns:auto minmax(0,1fr);padding-right:38px;transform:none}.lab-layout--toolbox-open .simulation-issue__action{grid-column:2;justify-self:start}.lab-layout--toolbox-open .simulation-issue__dismiss{position:absolute;top:5px;right:5px}}@media (width<=860px){.document-title{scrollbar-width:none;overflow-x:auto}.document-title::-webkit-scrollbar{display:none}.document-title .project-controls{flex:none}.document-title .project-menu{flex:none;width:auto}.document-title .project-menu>summary{width:var(--target-touch);min-width:var(--target-touch)}.authoring-stage-ribbon__tab{height:var(--target-touch)}.tool-category-button{min-height:76px}}@media (width<=360px){.topbar{grid-template-columns:42px minmax(108px,1fr) auto;column-gap:4px;padding-left:8px;padding-right:8px}.topbar-actions{gap:1px}.tool-category-list,.project-menu__mascots>div{grid-template-columns:minmax(0,1fr)}.project-menu__mascots button:last-child:nth-child(odd){grid-column:auto}.toolbox-view-tabs{gap:2px;padding-left:6px;padding-right:2px}.toolbox-view-tab{font-size:11px}.toolbox-view-tab span{overflow-wrap:normal;white-space:nowrap}.toolbox-view-tab span[data-short-label]{font-size:0}.toolbox-view-tab span[data-short-label]:after{content:attr(data-short-label);font-size:11px}.scene-vector-controls>summary strong{display:none}.scene-viewport-controls__tracking,.scene-viewport-controls__center{display:none!important}.scene-viewport-controls{right:8px}.scene-preflight__body{max-height:96px}}@media (width<=620px){.tool-shortcut-toast{max-width:calc(100vw - 32px);top:166px;left:52px;transform:none}.tool-command-palette-backdrop{padding:10px}.tool-command-palette{border-radius:16px;width:100%;max-height:calc(100dvh - 20px)}.tool-command-palette__header{padding:13px 12px 9px 16px}.tool-command-palette__search{margin:0 10px 8px}.tool-command-palette__search kbd,.tool-command-palette__footer{display:none}.tool-command-palette__results{padding:2px 7px 9px}.tool-command-palette__option{grid-template-columns:40px minmax(0,1fr) 18px;gap:9px;min-height:64px;padding:7px 9px}.tool-command-palette__meta{display:none}}@media (pointer:coarse){.lab-layout{--collapsed-rail-width:var(--target-touch)}.topbar .history-button,.topbar .icon-button,.topbar .share-button,.topbar .clear-scene-button,.topbar .step-button,.topbar .playback-rate-select{min-width:var(--target-touch);height:var(--target-touch)}.topbar .project-menu>summary{min-height:var(--target-touch)}.topbar .run-button{width:auto;min-width:84px;height:var(--target-touch)}.toolbox-collapse-button,.toolbox-command-button,.inspector-collapse-button,.workspace-panel-rail,.result-actions button,.scene-viewport-controls button,.toolbox-view-tab,.catalog-scope button,.physics-domain-switcher__tab,.library-tab{min-height:var(--target-touch)}.toolbox-collapse-button,.toolbox-command-button,.inspector-collapse-button,.result-actions button,.scene-viewport-controls button{min-width:var(--target-touch)}.result-tabs button{min-height:var(--target-touch)}.mechanics-transform-handle,.mechanics-transform-rotation,.mechanics-connector-target,.electrical-node:not(.electrical-node--controller)>.electrical-port-target{width:var(--target-touch);height:var(--target-touch)}.tool-card,.example-card{min-height:48px}.tool-card__favorite,.quick-tools .tool-card__favorite{width:var(--target-touch);height:var(--target-touch);opacity:.8;top:2px;right:2px}.tool-card-shell.has-favorite-action>.tool-card{padding-right:50px}.tool-command-palette__close{width:var(--target-touch);height:var(--target-touch)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.scene-preflight{z-index:6;color:#315c53;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);width:min(430px,100% - 32px);font-size:var(--font-ui-small);background:#fafffdf0;border:1px solid #cfded9;border-radius:10px;position:absolute;top:52px;right:16px;box-shadow:0 7px 24px #2b39451a}.scene-preflight--blocked{color:#8d343d;background:#fffafaf7;border-color:#ebc6c9}.scene-preflight>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 10px;font-weight:700;list-style:none;display:grid}.scene-preflight>summary::-webkit-details-marker{display:none}.scene-preflight>summary small{opacity:.7;font-size:var(--font-caption)}.scene-preflight__body{border-top:1px solid #55706924;max-height:230px;padding:0 10px 10px;overflow:auto}.unified-workspace--mechanics .scene-preflight[data-preflight-domain=electricity],.unified-workspace--electricity .scene-preflight[data-preflight-domain=mechanics],.unified-workspace--thermal .scene-preflight{display:none}.scene-preflight__body>p{margin:9px 0 0;line-height:1.45}.scene-preflight__body ul{gap:6px;margin:9px 0 0;padding:0;list-style:none;display:grid}.scene-preflight__diagnostic{background:#356b600f;border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:7px;padding:7px;display:grid}.scene-preflight__diagnostic--error{background:#a6384312}.scene-preflight__diagnostic>button{width:100%;min-height:36px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:3px 4px;display:grid}.scene-preflight__diagnostic>button:hover{background:#a6384312}.scene-preflight__diagnostic>button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.scene-preflight__diagnostic span{gap:2px;display:grid}.scene-preflight__diagnostic small,.scene-preflight__diagnostic em{font-size:var(--font-caption);font-style:normal;line-height:1.35}.scene-preflight__diagnostic small{font-variant-numeric:tabular-nums;opacity:.78}.scene-preflight__diagnostic>button small{color:var(--brand-blue-dark);font-weight:700}.property-field>select{width:145px;height:var(--control-height);color:#46525c;font-size:var(--font-ui-small);background:#fafbfc;border:1px solid #dfe5e8;border-radius:8px;padding:0 7px}.property-toggle{color:#56646e;font-size:var(--font-ui-small);align-items:center;gap:8px;display:flex}.geometry-inspector__warning,.geometry-inspector__note{color:var(--text-muted);font-size:var(--font-caption);margin:0;line-height:1.45}.geometry-inspector__warning{color:#9a4c30;background:#fff3ec;border-radius:7px;padding:8px}.geometry-inspector__note{padding:10px 15px}.contact-placement-button{width:100%;min-height:var(--control-height);color:var(--brand-blue-dark);background:var(--brand-blue-soft);font-size:var(--font-ui-small);border:1px solid #b7d9ef;border-radius:8px;font-weight:700}.contact-placement-button:disabled{cursor:not-allowed;opacity:.55}.mechanics-canvas--geometryPoint,.mechanics-canvas--geometryMaterialPoint,.mechanics-canvas--geometrySegment,.mechanics-canvas--geometryIncline,.mechanics-canvas--geometryCircle,.mechanics-canvas--geometryArc{cursor:crosshair}.problem-status-axis select:focus-visible,.property-field--select select:focus-visible,.property-field>select:focus-visible,.environment-field>select:focus-visible,.motor-mechanical-drive select:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.number-input:focus-within,.effect-input:focus-within,.environment-field__input:focus-within,.inspector-field__input:focus-within{background:#fff;border-color:#73b5df;box-shadow:0 0 0 3px #087dcc1c}.problem-search input:focus-visible,.tool-command-palette__search input:focus-visible,.library-search input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}@media (width<=760px){.scene-coordinate-system__label{display:none}.scene-preflight{width:min(430px,100% - 20px);top:64px;right:10px}}.welcome-screen{--welcome-ink:#17324d;min-height:100dvh;color:var(--welcome-ink);background:radial-gradient(circle at 12% 15%,#1c92dd29,#0000 28rem),radial-gradient(circle at 88% 88%,#f6844224,#0000 30rem),linear-gradient(#f8fbff 0%,#eef6fb 100%);overflow:auto}.welcome-screen:before{z-index:0;pointer-events:none;content:"";opacity:.34;background-image:linear-gradient(#4170941a 1px,#0000 1px),linear-gradient(90deg,#4170941a 1px,#0000 1px);background-size:36px 36px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.welcome-screen__header,.welcome-screen__main,.welcome-screen__credits{z-index:1;width:min(1180px,100% - 48px);margin-inline:auto;position:relative}.welcome-screen__header{justify-content:space-between;align-items:center;gap:24px;min-height:90px;display:flex}.welcome-screen__brand{width:min(255px,44vw);height:78px;display:block;overflow:hidden}.welcome-screen__logo{width:100%;max-width:none;height:auto;display:block;transform:translateY(-33%)}.welcome-screen__continue,.model-wizard__back{min-height:var(--target-touch);color:#385267;cursor:pointer;background:#ffffffd1;border:1px solid #c9d9e7;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:750;display:inline-flex;box-shadow:0 5px 18px #1c48680f}.welcome-screen__continue{white-space:nowrap}.welcome-screen__continue:hover,.model-wizard__back:hover{color:#09699f;background:#fff;border-color:#8ebbd9}.welcome-screen__main{grid-template-columns:minmax(280px,.82fr) minmax(560px,1.35fr);align-items:center;gap:clamp(38px,6vw,82px);min-height:calc(100dvh - 106px);padding:12px 0 34px;display:grid}.welcome-screen__credits{color:#667b8c;border-top:1px solid #587e992e;align-items:center;gap:18px;margin-top:-8px;padding:18px 2px 28px;display:flex}.welcome-screen__credits-logo{opacity:.78;flex:none;width:72px;height:auto;display:block}.welcome-screen__credits-copy{gap:3px;min-width:0;display:grid}.welcome-screen__credits p{margin:0;font-size:13px;line-height:1.45}.welcome-screen__credits strong{color:#425e73}.welcome-screen__credits a{color:#0875b7;text-underline-offset:3px;font-weight:750;text-decoration-thickness:1px}.welcome-screen__credits a:hover{color:#07538f}.welcome-hero__eyebrow,.model-wizard__eyebrow{color:#0875b7;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;font-weight:850;display:inline-flex}.welcome-hero h1,.model-wizard h1{color:#123553;letter-spacing:-.045em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(36px,5vw,64px);line-height:1.02}.welcome-hero h1:focus,.model-wizard h1:focus{outline:none}.welcome-hero>p,.model-wizard>p{color:#5b7083;max-width:570px;margin:24px 0 0;font-size:clamp(16px,1.8vw,19px);line-height:1.55}.welcome-guide{background:#fffaf1db;border:1px solid #dd84353d;border-radius:22px;grid-template-columns:78px 1fr;align-items:center;gap:15px;margin-top:32px;padding:13px 18px 13px 8px;display:grid;box-shadow:0 14px 40px #734c1a14}.welcome-guide__portrait{background-image:var(--assistant-portrait-1x);width:78px;height:78px;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:78px 78px}@supports (background-image:image-set(url("") 1x)){.welcome-guide__portrait{background-image:var(--assistant-portrait-set,var(--assistant-portrait-1x))}}.welcome-guide div{gap:4px;display:grid}.welcome-guide strong{color:#8f4a12;font-size:15px}.welcome-guide span:not(.welcome-guide__portrait){color:#745f4c;font-size:13px;line-height:1.4}.welcome-hero__facts{flex-wrap:wrap;gap:9px 16px;margin-top:22px;display:flex}.welcome-hero__facts span{color:#5b7183;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.welcome-hero__facts svg{color:#25a568}.welcome-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.welcome-action{--action-accent:#1789cb;--action-soft:#e9f5fc;color:#173955;text-align:left;cursor:pointer;background:#ffffffeb;border:1px solid #d9e4ed;border-radius:22px;flex-direction:column;align-items:stretch;min-height:210px;padding:22px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;overflow:hidden;box-shadow:0 14px 38px #1c486817}.welcome-action[data-accent=orange]{--action-accent:#e56d25;--action-soft:#fff0e7}.welcome-action[data-accent=green]{--action-accent:#218a67;--action-soft:#e9f7f1}.welcome-action[data-accent=violet]{--action-accent:#7166d8;--action-soft:#f0efff}.welcome-action:hover:not(:disabled),.welcome-action:focus-visible{z-index:1;border-color:color-mix(in srgb, var(--action-accent) 48%, white);transform:translateY(-4px);box-shadow:0 20px 46px #18436226}.welcome-action:disabled,.welcome-screen__continue:disabled,.model-wizard button:disabled{cursor:wait;opacity:.62}.welcome-action__top{justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.welcome-action__icon{width:48px;height:48px;color:var(--action-accent);background:var(--action-soft);border-radius:15px;place-items:center;display:grid}.welcome-action__badge{color:#a44b17;overflow-wrap:anywhere;text-align:right;background:#fff0df;border-radius:999px;max-width:calc(100% - 58px);padding:5px 9px;font-size:12px;font-weight:850;line-height:1.2}.welcome-action>strong{color:#173b57;margin-top:19px;font-size:21px;line-height:1.24}.welcome-action__description{color:#65798a;margin-top:9px;font-size:14px;line-height:1.45}.welcome-action__link{color:var(--action-accent);justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;font-size:14px;font-weight:850;display:inline-flex}.welcome-screen__error{color:#9e3030;background:#fff3f3;border:1px solid #f1b9b9;border-radius:12px;grid-column:1/-1;margin:2px 0 0;padding:11px 14px;font-size:13px}.model-wizard{background:#fffffff0;border:1px solid #d8e4ed;border-radius:30px;grid-column:1/-1;width:min(900px,100%);min-height:600px;margin:0 auto;padding:clamp(34px,6vw,68px);position:relative;box-shadow:0 28px 70px #18456521}.model-wizard__back{width:max-content;box-shadow:none;background:#f7fafc;margin-bottom:36px;display:flex}.model-wizard__progress{align-items:center;gap:8px;display:flex;position:absolute;top:44px;right:clamp(34px,6vw,68px)}.model-wizard__progress span{color:#718596;background:#edf2f6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:850;display:grid}.model-wizard__progress span.is-active{color:#fff;background:#1488c8}.model-wizard h1{font-size:clamp(34px,5vw,52px);line-height:1.04}.model-wizard__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px;display:grid}.model-wizard__options button{color:#1379b4;text-align:left;cursor:pointer;background:#fbfdff;border:1px solid #d9e5ee;border-radius:18px;grid-template-rows:auto auto 1fr;justify-items:start;gap:11px;min-height:180px;padding:22px;display:grid;position:relative}.model-wizard__options button:hover{background:#f3faff;border-color:#79badd;transform:translateY(-2px)}.model-wizard__options button strong{color:#173a55;font-size:17px}.model-wizard__options button span{color:#657a8b;padding-right:26px;font-size:14px;line-height:1.4}.model-wizard__options button>svg:last-child{position:absolute;bottom:18px;right:18px}.model-wizard__summary{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px;display:grid}.model-wizard__summary>div{background:#f8fbfd;border:1px solid #dde7ee;border-radius:16px;gap:5px;padding:18px;display:grid}.model-wizard__summary span{color:#50677a;font-size:12px}.lab-assistant-hint[data-mode=tutorial]{--cloud-enter-y:0px;pointer-events:none;animation:.26s ease-out both lab-assistant-cloud-enter}.lab-assistant-hint[data-mode=tutorial] :is(.lab-assistant-hint__close,.lab-assistant-hint__actions button){pointer-events:auto}.lab-assistant-hint[data-mode=tutorial] .lab-assistant-hint__content{overscroll-behavior-y:contain;pointer-events:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}.model-wizard__summary strong{color:#1b405b;font-size:15px}.model-wizard__summary .model-wizard__recommendation{color:#218a67;background:#effaf5;border-color:#b9deca;grid-column:1/-1;grid-template-columns:none;align-items:center;gap:12px;display:flex}.model-wizard__recommendation span{color:#527465;gap:4px;display:grid}.model-wizard__recommendation strong{color:#17664d}.model-wizard__actions{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.model-wizard__actions button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:800;display:inline-flex}.model-wizard__actions .is-secondary{color:#486276;background:#fff;border:1px solid #cbdbe7}.model-wizard__actions .is-primary{color:#fff;background:linear-gradient(#159bd9,#087dc0);border:1px solid #0879b7;box-shadow:0 9px 22px #0a7cbc33}.lab-assistant-hint__tutorial-progress{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;margin:13px 0 4px;display:grid}.lab-assistant-spotlight{z-index:60;border:2px solid var(--brand-blue);pointer-events:none;border-radius:12px;animation:.18s ease-out lab-assistant-spotlight-in;position:fixed;box-shadow:0 0 0 4px #087dcc29,0 10px 26px #0a7cbc2e}@keyframes lab-assistant-spotlight-in{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.lab-assistant-spotlight{animation:none}}.lab-assistant-hint__tutorial-progress span{background:#dce5eb;border-radius:999px;height:4px}.lab-assistant-hint__tutorial-progress span.is-active{background:#168dcc}@media (width<=960px){.welcome-screen__main{grid-template-columns:1fr;align-items:start;gap:34px;padding-top:22px}.welcome-hero{grid-template-columns:1fr minmax(260px,.65fr);gap:0 28px;display:grid}.welcome-hero__eyebrow,.welcome-hero h1,.welcome-hero>p,.welcome-hero__facts{grid-column:1}.welcome-guide{grid-area:1/2/span 4;align-self:center;margin-top:0}}@media (width<=680px){.welcome-screen__header,.welcome-screen__main,.welcome-screen__credits{width:min(100% - 28px,1180px)}.welcome-screen__header{gap:10px;min-height:84px}.welcome-screen__continue{gap:5px;min-width:116px;padding:0 11px;font-size:13px}.welcome-screen__continue-detail{display:none}.welcome-screen__brand{width:min(190px,100vw - 158px);height:59px}.welcome-hero{display:block}.welcome-hero h1{font-size:clamp(34px,11vw,48px);line-height:1.08}.welcome-guide{margin-top:25px}.welcome-actions{grid-template-columns:1fr}.welcome-action{min-height:205px}.welcome-screen__credits{align-items:flex-start;gap:12px;margin-top:4px;padding:17px 0 24px}.welcome-screen__credits-logo{width:56px}.welcome-screen__credits p{font-size:12px}.model-wizard{border-radius:22px;min-height:0;padding:26px 20px}.model-wizard__back{margin-bottom:32px}.model-wizard__progress{top:33px;right:20px}.model-wizard__progress span{width:24px;height:24px}.model-wizard__options,.model-wizard__summary{grid-template-columns:1fr}.model-wizard__options button{min-height:132px}.model-wizard__actions{flex-direction:column-reverse}.model-wizard__actions button{width:100%}}@media (width>=560px) and (width<=940px) and (height<=520px) and (orientation:landscape){.welcome-screen__header{min-height:64px}.welcome-screen__brand{width:min(180px,32vw);height:56px}.welcome-screen__main{grid-template-columns:minmax(190px,.72fr) minmax(320px,1.28fr);align-items:start;gap:14px;min-height:calc(100dvh - 64px);padding:2px 0 14px}.welcome-hero{display:block}.welcome-hero__eyebrow{margin-bottom:7px;font-size:11px}.welcome-hero h1{font-size:clamp(28px,5.4vw,38px);line-height:1.02}.welcome-hero>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.welcome-guide{border-radius:16px;grid-template-columns:52px minmax(0,1fr);gap:8px;margin-top:12px;padding:6px 9px 6px 4px}.welcome-guide__portrait{background-size:52px 52px;width:52px;height:52px}.welcome-guide strong{font-size:13px}.welcome-guide span:not(.welcome-guide__portrait){font-size:11px;line-height:1.25}.welcome-hero__facts{display:none}.welcome-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.welcome-action{border-radius:15px;min-height:138px;padding:10px 12px}.welcome-action__top{min-height:34px}.welcome-action__icon{border-radius:10px;width:34px;height:34px}.welcome-action__badge{max-width:calc(100% - 40px);padding:3px 6px;font-size:10px}.welcome-action>strong{margin-top:7px;font-size:16px}.welcome-action__description{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.welcome-action__link{padding-top:6px;font-size:11px}.model-wizard{border-radius:18px;min-height:0;padding:14px 18px 16px}.model-wizard__back{margin-bottom:10px}.model-wizard__progress{top:22px;right:18px}.model-wizard h1{font-size:30px}.model-wizard>p{margin-top:9px;font-size:13px;line-height:1.35}.model-wizard__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.model-wizard__options button{border-radius:13px;gap:5px;min-height:96px;padding:10px}.model-wizard__options button span{padding-right:16px;font-size:11px;line-height:1.25}.model-wizard__summary{grid-template-columns:minmax(0,.7fr) minmax(0,.9fr) minmax(0,1.4fr);gap:8px;margin-top:12px}.model-wizard__summary>div{border-radius:12px;gap:2px;min-width:0;padding:9px 10px}.model-wizard__summary .model-wizard__recommendation{grid-column:auto;gap:8px}.model-wizard__actions{flex-direction:row;gap:8px;margin-top:10px}.model-wizard__actions button{width:auto;min-height:44px;padding-inline:13px}}@media (width<=520px),(width<=940px) and (height<=520px) and (orientation:landscape){.lab-app,.lab-app--simulation-focused{--mobile-task-dock-height:calc(56px + var(--safe-area-bottom));--mobile-results-peek-height:44px;--mobile-bottom-stack:calc(var(--mobile-task-dock-height) + var(--mobile-results-peek-height));grid-template-rows:calc(108px + var(--safe-area-top)) minmax(0, 1fr);height:100dvh;min-height:100dvh}.topbar,.lab-app--simulation-focused .topbar{height:calc(108px + var(--safe-area-top));padding-top:var(--safe-area-top);padding-right:max(10px, var(--safe-area-right));padding-left:max(10px, var(--safe-area-left));grid-template-rows:52px 56px}.simulation-controls,.lab-app--simulation-focused .simulation-controls{flex-wrap:nowrap;justify-content:space-between;gap:4px;height:56px}.topbar-actions .feedback-button{display:none}.mobile-simulation-more{flex:0 0 var(--target-touch);display:block;position:relative}.mobile-simulation-more>summary{width:var(--target-touch);height:var(--target-touch);color:#526774;cursor:pointer;background:#fff;border:1px solid #d7e1e7;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;font-size:.625rem;font-weight:750;line-height:1;list-style:none;display:inline-flex}.mobile-simulation-more>summary::-webkit-details-marker{display:none}.mobile-simulation-more[open]>summary{color:var(--brand-blue-dark);background:var(--brand-blue-soft);border-color:#9ecae4}.mobile-simulation-more__content{z-index:80;top:calc(108px + var(--safe-area-top));right:max(8px, var(--safe-area-right));left:max(8px, var(--safe-area-left));max-height:calc(100dvh - 120px - var(--safe-area-top));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border:1px solid #cedce4;border-radius:0 0 14px 14px;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 14px 30px #192a352e}.mobile-simulation-more:not([open])>.mobile-simulation-more__content{display:none}.mobile-simulation-more__content .history-controls,.mobile-simulation-more__content .object-edit-controls{border:0;padding:0;display:inline-flex}.mobile-simulation-more__content button,.playback-controls .step-button,.playback-controls .playback-rate-select{min-width:var(--target-touch);min-height:var(--target-touch)}.playback-controls{flex:none}.project-menu__panel{top:calc(58px + var(--safe-area-top));right:max(10px, var(--safe-area-right));bottom:max(10px, var(--safe-area-bottom));left:max(10px, var(--safe-area-left));max-height:none}.lab-layout,.lab-layout--results-expanded{--results-track-height:0px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0}.lab-layout--results-collapsed,.lab-layout--results-compact,.lab-layout--results-expanded{--results-track-height:0px}.workspace{grid-area:1/1}.unified-workspace__ordinary-layers>.workspace__meta,.unified-workspace--cad-optics .field-view-bar,.molecular-scene[data-active=false] :is(.molecular-vessel__name,.molecular-vessel__state,.molecular-gas-charge__label,.molecular-piston-load__label,.molecular-thermal-contact__temperature),.optics-workspace-overlay[data-active=false] :is(.optics-element__name,.optics-object-image__label,.optics-reading,.optics-material-legend,.optics-medium__label),.molecular-scene[data-active=true] .molecular-vessel:not(.is-selected) .molecular-vessel__state,.molecular-scene[data-active=true] .molecular-gas-charge:not(.is-selected) .molecular-gas-charge__label,.optics-workspace-overlay[data-active=true] .optics-element:not(.is-selected) .optics-reading{display:none}.scene-vector-controls[open]{z-index:36;top:8px;right:max(8px, var(--safe-area-right));bottom:calc(var(--mobile-task-dock-height) + 8px);left:max(8px, var(--safe-area-left));width:auto;height:auto}.scene-vector-controls[open]>summary{top:0;bottom:auto;right:0}.scene-vector-controls[open] .scene-vector-controls__panel{background:#fff;border-radius:16px;width:100%;max-height:none;top:52px;bottom:0;right:0;box-shadow:0 18px 48px #192a353d}.unified-workspace:has(.scene-vector-controls[open]) :is(.field-view-bar,.scene-viewport-controls,.scene-scale-bar,.experiment-hud,.scene-preflight,.measurement-instrument-dock){display:none}:is(.lab-app:has(.scene-vector-controls[open]) .lab-assistant-anchor,.lab-app:has(.scene-vector-controls[open]) .measurements-panel--collapsed){display:none}.unified-workspace:has(.measurement-instrument-dock__panel) :is(.field-view-bar,.scene-vector-controls,.scene-viewport-controls,.scene-scale-bar,.experiment-hud,.scene-preflight){display:none}.lab-app:has(.measurement-instrument-dock__panel) .lab-assistant-anchor{display:none}.workspace-panel-rail{display:none}.mobile-task-dock{z-index:16;height:var(--mobile-task-dock-height);padding-top:4px;padding-right:max(8px, var(--safe-area-right));padding-bottom:max(4px, var(--safe-area-bottom));padding-left:max(8px, var(--safe-area-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border-top:1px solid #cedbe2;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1f34401a}.mobile-task-dock button{min-width:0;min-height:var(--target-touch);color:#566b78;background:0 0;border:1px solid #0000;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px 6px;font-size:.6875rem;font-weight:750;line-height:1;display:inline-flex}.mobile-task-dock button[aria-pressed=true]{color:var(--brand-blue-dark);background:var(--brand-blue-soft);border-color:#bfdced}.mobile-task-dock button:focus-visible{outline-offset:-2px}.lab-layout--toolbox-open .mobile-task-dock,.lab-layout--inspector-open .mobile-task-dock,.lab-layout--results-compact .mobile-task-dock,.lab-layout--results-expanded .mobile-task-dock{display:none}.shell-drawer-backdrop{z-index:89;position:fixed;inset:0}.shell-drawer,.shell-drawer--left,.shell-drawer--right{z-index:90;width:100vw;max-width:none;height:100dvh;padding-top:var(--safe-area-top);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);background:var(--panel);box-shadow:none;position:fixed;inset:0}.shell-drawer>.toolbox,.shell-drawer>.inspector{border:0;min-height:0}.toolbox-collapse-button{box-shadow:none;border:1px solid #dbe2e6;border-radius:10px;margin-right:0}.inspector-collapse-button{top:calc(var(--safe-area-top) + 8px);right:max(8px, var(--safe-area-right));box-shadow:none;border:1px solid #dbe2e6;border-radius:10px;left:auto}.toolbox-panel:not([hidden]){overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.toolbox-panel:not([hidden])>.toolbox__category{flex:none;min-height:max-content;overflow:visible}.toolbox__heading{height:52px;min-height:52px}.physics-domain-switcher{padding:6px 10px 4px}.physics-domain-switcher__tabs,.authoring-stage-ribbon__tabs{overscroll-behavior-inline:contain;scrollbar-width:none;display:flex;overflow-x:auto}.physics-domain-switcher__tabs::-webkit-scrollbar{display:none}.authoring-stage-ribbon__tabs::-webkit-scrollbar{display:none}.physics-domain-switcher__tab{min-width:72px;height:var(--target-touch);flex:1 0 72px}.authoring-stage-ribbon{padding:6px 10px 0}.authoring-stage-ribbon__tab{height:var(--target-touch);flex:1 0 max-content}.library-search{margin-top:8px;margin-bottom:7px}.measurements-panel{grid-area:1/1;width:100%;max-height:100%;position:absolute;left:0;right:0;overflow:hidden}.measurements-panel--collapsed{z-index:15;bottom:var(--mobile-task-dock-height);height:var(--mobile-results-peek-height);padding-right:var(--safe-area-right);padding-left:var(--safe-area-left)}.measurements-panel--compact{z-index:24;height:clamp(196px,46dvh,340px);max-height:calc(100% - 24px);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);border-radius:18px 18px 0 0;bottom:0;box-shadow:0 -16px 42px #192a3533}.measurements-panel--expanded{z-index:24;height:auto;max-height:none;padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);border-radius:0;inset:0}.measurements-panel--collapsed .measurements-panel__bar{height:var(--mobile-results-peek-height);min-height:var(--mobile-results-peek-height);padding:0 6px 0 8px;display:flex}.measurements-panel--collapsed .result-tabs,.measurements-panel--collapsed .result-actions>:not(.results-size-controls){display:none}.measurements-panel--collapsed .measurements-panel__glance{flex:auto;min-width:0;max-width:calc(100% - 52px);margin:0;display:inline-flex}.measurements-panel--collapsed .measurements-panel__glance strong{max-width:none}.measurements-panel--collapsed .result-actions{border:0;flex:none;width:auto}.measurements-panel__content{overscroll-behavior-y:contain;min-height:0}.lab-layout--toolbox-open .measurements-panel,.lab-layout--inspector-open .measurements-panel{display:none}.lab-layout--results-collapsed .scene-viewport-controls{bottom:calc(var(--mobile-bottom-stack) + 10px)}.lab-layout--results-collapsed .scene-scale-bar{bottom:calc(var(--mobile-bottom-stack) + 12px)}.lab-layout--results-compact .scene-viewport-controls,.lab-layout--results-expanded .scene-viewport-controls,.lab-layout--results-compact .scene-scale-bar,.lab-layout--results-expanded .scene-scale-bar,.lab-layout--results-compact .scene-vector-controls,.lab-layout--results-expanded .scene-vector-controls,.lab-layout--results-compact .experiment-hud,.lab-layout--results-expanded .experiment-hud{display:none}.experiment-hud{max-width:calc(100% - 20px);padding:5px 8px;top:10px;bottom:auto}.experiment-hud__readouts{max-width:min(42vw,170px);display:flex}.experiment-hud__readout:not(:first-child),.experiment-hud__hint{display:none}.lab-app:has(.unified-workspace--drawing-guidance) .lab-assistant-anchor{display:none}.lab-app:has(.unified-workspace--drawing-guidance) .measurements-panel--collapsed{display:none}}@media (width<=940px) and (height<=520px) and (orientation:landscape){.lab-app,.lab-app--simulation-focused{--mobile-results-peek-height:0px}.lab-assistant-anchor,.measurements-panel--collapsed{display:none}.field-view-bar{top:12px;right:max(14px, var(--safe-area-right));width:auto;max-width:min(310px,100% - 100px);left:auto;transform:none}.scene-vector-controls{top:76px;right:max(14px, var(--safe-area-right));height:44px;bottom:auto}.scene-vector-controls>summary{top:0;bottom:auto}.scene-vector-controls>summary strong{display:none}.unified-workspace:has(.measurement-instrument-dock__panel) .scene-viewport-controls{display:none}.scene-vector-controls__panel{max-height:calc(100dvh - 244px - var(--safe-area-bottom));top:52px;bottom:auto}}@media (width<=520px),(width<=940px) and (height<=520px) and (orientation:landscape){.lab-assistant-hint[data-mode=tutorial]{--tour-card-max-height:calc(100dvh - max(8px, var(--safe-area-top)) - calc(184px + var(--safe-area-bottom)));max-height:var(--tour-card-max-height);border-radius:22px;animation:none;overflow:hidden;top:max(8px, var(--safe-area-top))!important;bottom:auto!important;right:auto!important;left:max(8px, var(--safe-area-left))!important;width:calc(100vw - max(8px, var(--safe-area-left)) - max(8px, var(--safe-area-right)))!important}.lab-assistant-hint[data-mode=tutorial]:before,.lab-assistant-hint[data-mode=tutorial]:after{display:none}.lab-assistant-hint[data-mode=tutorial] .lab-assistant-hint__content{scrollbar-gutter:stable;border-radius:20px;padding:10px 12px;overflow:hidden auto;max-height:calc(var(--tour-card-max-height) - 4px)!important}.lab-assistant-hint[data-mode=tutorial] .lab-assistant-hint__header{min-height:var(--target-touch)}.lab-assistant-hint[data-mode=tutorial] .lab-assistant-hint__close,.lab-assistant-hint[data-mode=tutorial] .lab-assistant-hint__actions button{min-width:var(--target-touch);min-height:var(--target-touch)}.lab-assistant-hint[data-mode=tutorial] .lab-assistant-hint__actions{z-index:2;min-height:calc(var(--target-touch) + 10px);background:linear-gradient(#fff0,#fffffffa 10px);flex-wrap:nowrap;align-items:flex-start;padding-top:10px;padding-bottom:10px;position:sticky;bottom:-10px}.lab-app:has(.lab-assistant-hint[data-mode=tutorial]) .lab-assistant-anchor{display:block;transform:translate3d(calc(100vw - 120px - var(--safe-area-right)), calc(100dvh - 176px - var(--safe-area-bottom)), 0)!important}}@media (width<=940px) and (height<=520px) and (orientation:landscape){.lab-assistant-hint[data-mode=tutorial]{--tour-card-max-height:calc(100dvh - max(8px, var(--safe-area-top)) - max(8px, var(--safe-area-bottom)));width:calc(100vw - max(8px, var(--safe-area-left)) - max(136px, calc(128px + var(--safe-area-right))))!important}.lab-app:has(.lab-assistant-hint[data-mode=tutorial]) .lab-assistant-anchor{transform:translate3d(calc(100vw - 120px - var(--safe-area-right)), calc(50dvh - 56px), 0)!important}}@media (width>=861px) and (width<=1200px) and (pointer:coarse){.lab-layout--focus-mode.lab-layout--toolbox-collapsed{--toolbox-track-width:64px}}:root{--scene-text-scale:1}:root[data-interface-profile=school]{--font-caption:.8125rem;--font-ui-small:.875rem;--font-ui:.9375rem;--font-body:1.0625rem;--font-heading:1.25rem;--control-height:2.75rem;--target-min:2.5rem;--target-touch:2.75rem;--scene-text-scale:1.15;--shadow-float:0 10px 30px #1f2d3a26}:root[data-interface-profile=classroom]{--font-caption:1rem;--font-ui-small:1.0625rem;--font-ui:1.125rem;--font-body:1.25rem;--font-heading:1.625rem;--control-height:3.25rem;--target-min:3rem;--target-touch:3.25rem;--scene-text-scale:1.5;--line:#7d8d97;--soft-line:#b6c1c8;--text-muted:#455360;--muted:#455360;--text-subtle:#4c5a66;--shadow-float:0 2px 0 #1f2d3a38}@media (width<=860px){:root[data-interface-profile=classroom]{--font-caption:.875rem;--font-ui-small:.9375rem;--font-ui:1rem;--font-body:1.125rem;--font-heading:1.375rem;--control-height:2.75rem;--target-min:2.75rem;--target-touch:2.75rem}}:root[data-interface-profile=lab]{--shadow-float:0 4px 14px #1f2d3a1f}:root[data-interface-profile=engineering]{--font-caption:.75rem;--font-ui-small:.8125rem;--font-ui:.8125rem;--font-body:.8125rem;--font-heading:.9375rem;--control-height:2.25rem;--target-min:2.25rem;--target-touch:2.75rem;--line:#b3bfc7;--soft-line:#d7dee2;--text-muted:#4d5b65;--muted:#4d5b65;--shadow-float:0 1px 3px #1f2d3a33}.project-menu__interface-profiles{border:0;min-width:0;margin:0;padding:0}.project-menu__interface-profiles>legend{color:var(--muted);font-size:var(--font-caption);margin-bottom:5px}.project-menu__interface-profiles>div{gap:6px;display:grid}.project-menu__interface-profiles button{min-width:0;min-height:var(--target-min);cursor:pointer;border:1px solid var(--line);color:var(--ink);background:var(--canvas);text-align:left;border-radius:9px;align-items:center;padding:7px 9px;display:grid}.project-menu__interface-profiles button:hover{background:var(--brand-blue-soft);border-color:#adc9e5}.project-menu__interface-profiles button.is-selected{border-color:var(--brand-blue);background:var(--brand-blue-soft)}.project-menu__interface-profiles strong{font-size:var(--font-ui-small);display:block}.project-menu__interface-profiles small{color:var(--text-muted);font-size:var(--font-caption);margin-top:2px;line-height:1.35;display:block}:root[data-interface-profile=school] .tool-category-list,:root[data-interface-profile=classroom] .tool-category-list{grid-template-columns:minmax(0,1fr)}:root[data-interface-profile=classroom] .physics-domain-switcher__tab{font-size:.875rem}.study-switcher{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-subtle);align-items:center;gap:4px;margin:6px 0 0;padding:3px;display:flex}.study-switcher__tab{min-height:var(--target-min);cursor:pointer;border-radius:calc(var(--radius-control) - 2px);min-width:0;color:var(--text-muted);font-size:var(--font-ui-small);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;flex:1 1 0;padding:4px 10px;font-weight:600;overflow:hidden}.study-switcher__tab:hover{color:var(--ink);background:var(--panel)}.study-switcher__tab[aria-selected=true]{border-color:var(--brand-blue);color:var(--brand-blue-dark);background:var(--panel)}.lab-app{--inspector-control-bg:#fafbfc;--inspector-control-border:var(--line);--inspector-control-disabled-bg:var(--surface-subtle);--inspector-control-focus-border:#73b5df;--inspector-control-error-bg:#fff7f8;--inspector-control-error-border:#d9828b;--inspector-input-font-size:var(--font-ui-small);--inspector-input-focus-font-size:calc(var(--font-ui-small) + .0625rem);background:#e9eef2}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number){height:var(--control-height);border:1px solid var(--inspector-control-border);border-radius:var(--radius-control);background:var(--inspector-control-bg);grid-template-columns:minmax(6ch,1fr) max-content;align-items:center;gap:4px;min-width:0;padding:0 8px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid;box-shadow:inset 0 1px #ffffffb8}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number)>input{width:100%;min-width:0;height:100%;color:var(--ink);font-size:var(--inspector-input-font-size);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0;font-weight:650;transition:color .12s,font-size .12s,font-weight .12s}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number)>small{min-width:0;color:var(--text-muted);font-size:var(--font-caption);white-space:nowrap;padding:0;line-height:1.2}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number):focus-within{border-color:var(--inspector-control-focus-border);background:#fff;box-shadow:0 0 0 3px #087dcc1f}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number)>input:focus{color:var(--text-strong);font-size:var(--inspector-input-focus-font-size);font-weight:760}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number):has(input:disabled){border-color:var(--soft-line);background:var(--inspector-control-disabled-bg);box-shadow:none}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number):has(input:disabled)>:is(input,small){color:var(--text-subtle);cursor:not-allowed;opacity:.72}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number):has(input[aria-invalid=true]){height:auto;min-height:var(--control-height);border-color:var(--inspector-control-error-border);background:var(--inspector-control-error-bg);grid-template-columns:minmax(0,1fr);gap:3px;padding-block:5px;box-shadow:0 0 0 3px #a3434d17}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number)>small[role=alert]{color:var(--refusal-text);overflow-wrap:anywhere;white-space:normal;grid-column:1/-1;font-weight:700}.inspector :is(.property-field>select,.inspector-field>select,.environment-field>select,.thermal-inspector__select,.motor-mechanical-drive>.inspector-field>select){width:min(145px,100%);height:var(--control-height);border:1px solid var(--inspector-control-border);border-radius:var(--radius-control);min-width:0;color:var(--ink);background-color:var(--inspector-control-bg);font-size:var(--font-ui-small);padding:0 30px 0 9px}.inspector :is(.property-field>select,.inspector-field>select,.environment-field>select,.thermal-inspector__select):focus-visible{border-color:var(--inspector-control-focus-border);background-color:#fff;box-shadow:0 0 0 3px #087dcc1f}.inspector :is(.property-field>select,.inspector-field>select,.environment-field>select,.thermal-inspector__select):disabled{color:var(--text-subtle);border-color:var(--soft-line);background-color:var(--inspector-control-disabled-bg);cursor:not-allowed;opacity:.72}.inspector :is(.property-toggle,.toggle-row){min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text-muted);background:var(--canvas);font-size:var(--font-ui-small);align-items:center;gap:9px;padding:8px 10px;display:flex}.inspector :is(.property-toggle,.toggle-row) input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-blue);flex:none}.secondary-button{min-height:var(--control-height);border-radius:var(--radius-control);color:var(--brand-blue-dark);font-size:var(--font-ui-small);background:#f5fbff;border:1px solid #bfd9e8;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:700;display:inline-flex}.secondary-button:hover:not(:disabled){background:var(--brand-blue-soft);border-color:#8fc4e2}.secondary-button:disabled{color:var(--text-subtle);border-color:var(--soft-line);background:var(--surface-subtle);cursor:not-allowed;opacity:.68}.arduino-program-summary button,.switch-control,.motor-mechanical-drive__disconnect,.thermal-inspector__coupling-action{min-height:var(--control-height);border-radius:var(--radius-control)}#study-inspector-layer,#study-inspector-layer>.conductive-sheet-host{height:100%;min-height:0}#study-inspector-layer{background:var(--panel);overflow:hidden}#study-inspector-layer>.conductive-sheet-host{overscroll-behavior:contain;overflow-y:auto}.selected-object__icon--electric{color:#1768a0;background:#e8f4fb}.selected-object__icon--thermal{color:#ad5529;background:#fff0e7}.selected-object__icon--molecular{color:#16786f;background:#e8f7f4}.inspector :is(.delete-object,.delete-item-button,.danger-button){width:calc(100% - 28px);min-height:var(--control-height);border-radius:var(--radius-control);color:var(--refusal-text);font-size:var(--font-caption);background:#fff7f8;border:1px solid #e8c7ca;justify-content:center;align-self:auto;align-items:center;gap:7px;margin:13px 14px 4px;padding:0 10px;font-weight:700;display:inline-flex}.inspector :is(.delete-object,.delete-item-button,.danger-button):hover:not(:disabled){background:#fff0f1;border-color:#d99fa5}.inspector :is(.delete-object,.delete-item-button,.danger-button):disabled{color:var(--text-subtle);border-color:var(--soft-line);background:var(--surface-subtle);cursor:not-allowed;opacity:.68}.mode-switch{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.mode-switch button,.surface-rounding-presets button{min-height:var(--target-min)}.central-attractor__remove{color:var(--refusal-text);background:#fff7f8;border-color:#e8c7ca}.optics-spectrum-editor__line{grid-template-columns:minmax(0, 1.35fr) minmax(68px, .65fr) var(--target-min)}.optics-spectrum-editor__line>.icon-button{width:var(--target-min);height:var(--target-min)}@container inspector (width<=360px){.property-field,.inspector-field,.environment-field{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:5px;display:grid}.inspector .property-field>.number-input,.inspector .inspector-field>:is(.number-input,.inspector-field__input),.inspector .environment-field>:is(.number-input,.environment-field__input),.inspector .property-field>select:not([multiple]),.inspector .inspector-field>select:not([multiple]),.inspector .environment-field>select:not([multiple]),.inspector select.thermal-inspector__select:not([multiple]){width:100%;max-width:none}.parameter-slider-field__heading{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:5px}.parameter-slider-field__number{width:100%}}.topbar{background:#fdfefffa;border-bottom-color:#cfdbe2;box-shadow:inset 0 1px #ffffffe6,0 3px 12px #21374512}.brand-mark{filter:drop-shadow(0 2px 2px #1c3c5214)}.simulation-controls{background:#f4f7f8;border-color:#dce5e9;box-shadow:inset 0 1px #ffffffeb}.model-time,.playback-rate-select{border-color:#d5e0e5;box-shadow:0 1px 1px #1d34420a}.run-button{background:linear-gradient(#178fd5 0%,#0877bd 100%);border-color:#076ba9;transition:background .14s,box-shadow .14s,transform .14s;box-shadow:inset 0 1px #ffffff3d,0 7px 16px #086ba938}.run-button--pause{background:linear-gradient(#ef985f 0%,#dc7540 100%);border-color:#c96a38;box-shadow:inset 0 1px #ffffff38,0 7px 16px #be582530}.workspace.unified-workspace{background:radial-gradient(circle at 52% 44%,#fffffffa 0 28%,#0000 72%),linear-gradient(#f9fbfc 0%,#f4f7f9 100%)}.workspace.unified-workspace:before{z-index:0;content:"";pointer-events:none;background-image:linear-gradient(#49708609 1px,#0000 1px),linear-gradient(90deg,#49708609 1px,#0000 1px),linear-gradient(#4970860d 1px,#0000 1px),linear-gradient(90deg,#4970860d 1px,#0000 1px);background-position:50%;background-size:24px 24px,24px 24px,120px 120px,120px 120px;position:absolute;inset:0}.lab-layout--focus-mode .workspace.unified-workspace{box-shadow:inset 0 0 0 1px #087dcc1f,inset 0 0 90px #087dcc0a}.workspace-panel-rail{background:linear-gradient(#fff,#f9fbfc);border-color:#d4e0e6;transition:color .14s,background .14s,box-shadow .14s;box-shadow:0 0 16px #2336420a}.workspace-panel-rail:hover,.workspace-panel-rail:focus-visible{color:var(--brand-blue-dark);background:linear-gradient(#f5fbff,#ebf6fc);box-shadow:0 0 20px #087dcc17}.workspace-panel-rail svg{background:#ffffffd6;border:1px solid #d8e5eb;border-radius:9px;padding:5px;box-shadow:0 2px 6px #2539460f}.workspace-panel-rail span{color:currentColor;letter-spacing:.045em}.scene-viewport-controls,.scene-vector-controls>summary,.experiment-hud{background:#fbfdfee8;border-color:#9fb8c694;box-shadow:inset 0 1px #ffffffeb,0 4px 14px #1d344217}.scene-viewport-controls,.scene-vector-controls>summary{opacity:.88;border-radius:14px;transition:opacity .14s,border-color .14s,background .14s,box-shadow .14s}.scene-viewport-controls:hover,.scene-viewport-controls:focus-within,.scene-vector-controls>summary:hover,.scene-vector-controls>summary:focus-visible,.scene-vector-controls[open]>summary{opacity:1;background:#fffffffa;border-color:#7aa6bfb8;box-shadow:inset 0 1px #fffffff2,0 7px 20px #1d34421f}.scene-viewport-controls button:hover:not(:disabled),.scene-viewport-controls button:focus-visible,.scene-viewport-controls .scene-viewport-controls__tracking[aria-pressed=true],.scene-viewport-controls .scene-viewport-controls__pan[aria-pressed=true],.scene-vector-controls[open]>summary{color:var(--brand-blue-dark);background:var(--brand-blue-soft)}.experiment-hud{border-color:#087dcc4d;box-shadow:inset 0 1px #ffffffeb,0 10px 28px #1d435b29}.measurements-panel{background:#fffffffa;border-top-color:#ccd9df;box-shadow:0 -5px 18px #1f34400f}.measurements-panel__bar{background:linear-gradient(#fff,#fbfcfd);border-bottom-color:#e1e9ed}.result-tabs button{min-height:max(34px, var(--target-min));border:1px solid #0000;border-radius:9px;transition:color .12s,background .12s,border-color .12s}.result-tabs button:hover:not([aria-selected=true]){color:#405766;background:#f2f6f8}.result-tabs button[aria-selected=true]{color:var(--brand-blue-dark);background:var(--brand-blue-soft);box-shadow:inset 0 -2px 0 var(--brand-blue);border-color:#c8e2f2}.measurements-panel__glance:not([data-empty=true]){background:#f2f9fd;border-color:#d1e3ed;box-shadow:0 1px 2px #2242540d}.tool-category-button,.authoring-stage-ribbon__tab{transition:border-color .13s,color .13s,background .13s,box-shadow .13s,transform .13s}.authoring-stage-ribbon__tabs{background:0 0;border:0;border-bottom:1px solid #dfe7eb;border-radius:0;gap:0;padding:0}.authoring-stage-ribbon__tab,.authoring-stage-ribbon__tab:hover,.authoring-stage-ribbon__tab[aria-selected=true]{box-shadow:none;background:0 0;border-radius:0}.authoring-stage-ribbon__tab[aria-selected=true]:after{bottom:-1px;left:10px;right:10px}.tool-category-list{gap:2px}.tool-category-button{background:0 0;border-color:#0000;border-radius:9px;min-height:64px;box-shadow:inset 0 -1px #edf1f3}.tool-category-button:hover{box-shadow:inset 0 -1px #dbe8ef}.stationary-study-status{color:#31586f;background:#f6f9fa;border-color:#d8e4ea;border-radius:9px;align-items:center;gap:6px;min-width:0;min-height:38px;padding:0 10px;line-height:1.2;display:inline-flex}.stationary-study-status:before{content:"";background:#4b9ac4;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #4b9ac41f}.stationary-study-status small{display:none}.stationary-study-status strong,.stationary-study-status span{white-space:nowrap}.stationary-study-status span{color:#6a808e;font-size:11px}.scene-scale-bar{box-shadow:none;background:#ffffffc2;border-color:#526a7a29;padding:4px 7px 5px}.mobile-command-label{display:none}@media (hover:hover) and (prefers-reduced-motion:no-preference){.run-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff3d,0 9px 20px #086ba945}}@media (width<=860px){.workspace.unified-workspace:before{background-size:20px 20px,20px 20px,100px 100px,100px 100px}.simulation-controls{box-shadow:none;border:0}.scene-viewport-controls .scene-viewport-controls__action{width:var(--target-min);padding:0}.scene-viewport-controls__action span,.scene-vector-controls>summary small{display:none}}@media (width<=520px){.topbar{box-shadow:0 4px 16px #1f344014}.lab-layout--results-collapsed .scene-scale-bar{bottom:calc(var(--mobile-bottom-stack) + 68px)}.scene-viewport-controls{border-radius:15px}.result-tabs button{min-width:36px}.measurements-panel:not(.measurements-panel--collapsed) .result-actions{gap:2px}.measurements-panel:not(.measurements-panel--collapsed) .channel-picker>summary{width:var(--target-touch);min-width:var(--target-touch);justify-content:center;gap:3px;padding:0}.measurements-panel:not(.measurements-panel--collapsed) .channel-picker__label,.measurements-panel:not(.measurements-panel--collapsed) .channel-picker>summary>svg:last-child{display:none}.measurements-panel:not(.measurements-panel--collapsed) .results-size-controls{gap:0;margin-left:auto;padding-left:0}.lab-assistant{transform:scale(.58)}.lab-assistant-anchor:hover .lab-assistant,.lab-assistant-anchor:focus-within .lab-assistant,.lab-assistant-anchor[data-hint-open=true] .lab-assistant{transform:scale(.7)}}@media (pointer:coarse){.lab-app{--inspector-input-font-size:1rem;--inspector-input-focus-font-size:1.0625rem}.result-tabs button,.authoring-stage-ribbon__tab,.geometry-selection-mode,.library-search,.project-menu>summary,.channel-picker>summary,.field-view-bar__modes button,.field-view-bar__vectors select{min-height:var(--target-touch)}.project-menu>summary{min-width:var(--target-touch)}.lab-assistant__dismiss{width:var(--target-touch);height:var(--target-touch)}.inspector :is(.number-input,.inspector-field__input,.environment-field__input,.parameter-slider-field__number,.property-field>select,.inspector-field>select,.environment-field>select,.thermal-inspector__select){height:var(--target-touch);min-height:var(--target-touch)}.inspector :is(.property-toggle,.toggle-row,.secondary-button,.delete-object,.delete-item-button,.danger-button,.motor-mechanical-drive__disconnect,.thermal-inspector__coupling-action,.switch-control,.arduino-program-summary button,.arduino-program-dialog__header button,.arduino-code-preview>summary,.electrical-advanced-fields>summary),.mode-switch button,.surface-rounding-presets button,.scene-preflight>summary,.scene-preflight__diagnostic>button{min-height:var(--target-touch)}.inspector .toggle{height:var(--target-touch)}.optics-spectrum-editor__line{grid-template-columns:minmax(0, 1.35fr) minmax(68px, .65fr) var(--target-touch)}.optics-spectrum-editor__line>.icon-button,.molecular-gas-charge-swatches__swatch{width:var(--target-touch);height:var(--target-touch)}}@media (width<=940px) and (height<=520px) and (orientation:landscape){.arduino-program-dialog__backdrop{padding:0}.arduino-program-dialog{border:0;border-radius:0;grid-template-rows:52px auto minmax(0,1fr);width:100vw;height:100dvh;min-height:0}.arduino-program-dialog__guide{overscroll-behavior-x:contain;flex-wrap:nowrap;overflow-x:auto}.arduino-program-dialog__guide span{flex:none}.arduino-program-dialog__workspace{grid-template-rows:minmax(0,1fr) auto;min-height:0}}@media (width<=520px),(width<=940px) and (height<=520px) and (orientation:landscape){.topbar-actions .share-button,.topbar-actions .icon-button,.scene-viewport-controls button,.result-actions button,.channel-picker>summary,.field-view-bar__modes button,.field-view-bar__vectors select{min-width:var(--target-touch);min-height:var(--target-touch)}.scene-viewport-controls{height:52px}.workspace__meta>small{display:none}.field-view-bar:not(:has(.field-view-bar__vectors)){width:max-content;max-width:calc(100% - 20px)}.authoring-stage-ribbon__tabs{scroll-snap-type:x proximity}.authoring-stage-ribbon__tab{scroll-snap-align:start}.mobile-task-dock button:focus-visible{outline:0}.mobile-task-dock button:focus-visible svg{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:6px}.mobile-simulation-more__content{align-items:stretch;gap:6px;display:grid}.mobile-simulation-more__content>.history-controls,.mobile-simulation-more__content>.object-edit-controls{display:contents}.mobile-simulation-more__content button{flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-width:0;height:58px;padding:4px 3px}.mobile-simulation-more__content .history-button__label,.mobile-simulation-more__content .mobile-command-label,.mobile-simulation-more__content .clear-scene-button span{font-size:10px;font-weight:700;line-height:1.05;display:inline}.mobile-simulation-more__content .clear-scene-button{color:#a84c55;background:#fff7f8;border-color:#efdadd}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart]{grid-template-rows:minmax(164px,1fr) max-content max-content;align-content:start}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .height-chart{grid-row:1;min-height:164px}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .chart-legend{scroll-snap-type:x proximity;grid-row:2;grid-template-columns:none;grid-auto-columns:minmax(150px,220px);grid-auto-flow:column;gap:10px;min-height:0;padding:7px 2px 9px;display:grid;overflow:auto hidden}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .chart-legend__item{scroll-snap-align:start}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .chart-legend__item strong{text-overflow:ellipsis;overflow-wrap:normal;white-space:nowrap;overflow:hidden}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .measurement-summary{grid-row:3}}@media (width<=520px){.mobile-simulation-more__content{grid-template-columns:repeat(4,minmax(0,1fr))}.measurements-panel__content[aria-labelledby=measurement-results-tab-chart] .chart-legend{grid-auto-columns:minmax(150px,72vw)}}@media (width<=940px) and (height<=520px) and (orientation:landscape){.mobile-simulation-more__content{grid-template-columns:repeat(7,minmax(0,1fr))}.mobile-simulation-more__content button{height:52px}.measurements-panel--compact{border-radius:0;height:100%;max-height:100%}}
