:root{color-scheme:dark;--bg:#0d0f11;--panel:#14171a;--panel2:#181c20;--line:#2a3036;--line2:#343b42;--text:#edf0f2;--muted:#8a949d;--soft:#b7bec5;--hover:#23282d;--active:#30363d;--accent:#f1f4f6;--danger:#c96b6b}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font:13px/1.35 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow:hidden}button,input,select{font:inherit}.appbar{height:48px;display:flex;align-items:center;gap:18px;padding:0 14px;border-bottom:1px solid var(--line);background:#111416}.brand{display:flex;align-items:center;gap:8px;white-space:nowrap}.brand strong{font-weight:650}.brand>span:last-child{color:var(--muted);font-weight:450}.brandMark{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line2);border-radius:6px;font-weight:700}.filemeta{flex:1;min-width:0;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primaryButton,.primaryPanelButton{border:0;background:#eceff1;color:#141719;border-radius:7px;padding:8px 12px;font-weight:650;cursor:pointer}.primaryButton input{display:none}#workspace{height:calc(100% - 48px);display:grid;grid-template-columns:68px 0 minmax(0,1fr);transition:grid-template-columns .16s ease}#workspace.inspectorOpen{grid-template-columns:68px 360px minmax(0,1fr)}.rail{grid-column:1;display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 8px;background:#101214;border-right:1px solid var(--line)}.rail button,.iconButton,.viewbar button{display:grid;place-items:center;border:0;background:transparent;color:#b6bec5;cursor:pointer}.rail button{width:48px;height:48px;border-radius:10px;position:relative}.rail button:hover,.rail button.active{background:var(--hover);color:#fff}.rail button.active:before{content:"";position:absolute;left:-8px;width:2px;height:24px;background:#edf0f2;border-radius:99px}.rail svg,.iconButton svg,.viewbar svg,.drop svg,.linkButton svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.inspector{grid-column:2;min-width:0;background:var(--panel);border-right:1px solid var(--line);overflow:hidden}.panel{display:none;height:100%;overflow:auto;padding:0 18px 30px}.panel.active{display:block}.panelHead{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;margin:0 -18px 18px;padding:17px 18px 15px;background:#14171af5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.panelHead small,.modalHead small,.loadingTop small{font-size:8px;letter-spacing:1.5px;color:#69737c}.panelHead h2,.modalHead h2,.loadingTop h2{margin:2px 0 0;font-size:18px;font-weight:590}.iconButton{width:31px;height:31px;border-radius:6px}.iconButton:hover{background:var(--hover);color:#fff}.sectionBlock{padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid var(--line)}.sectionBlock:last-child{border-bottom:0}.sectionTitle{margin:0 0 11px;color:#7d8790;font-size:9px;letter-spacing:1.25px;font-weight:700;text-transform:uppercase}label{display:grid;gap:6px;margin:11px 0;color:#aeb6bd;font-size:11px}select,input[type=number],input[type=text],button.subtleButton,.panel button:not(.iconButton):not(.linkButton):not(.primaryPanelButton){width:100%;min-height:34px;border:1px solid var(--line2);border-radius:6px;background:#202429;color:var(--text);padding:7px 9px;outline:none}select:focus,input:focus{border-color:#68737d}.frameRow{display:grid;grid-template-columns:34px 1fr 34px;gap:7px;align-items:end}.frameRow label{margin:0}.frameRow .iconButton{border:1px solid var(--line2);background:#202429}.animationRow{display:grid;grid-template-columns:34px 1fr 56px auto;gap:7px;align-items:center;margin-top:10px}.animationRow .iconButton{border:1px solid var(--line2);background:#202429}.animationRow input{min-width:0}.animationRow select{min-height:30px;padding:4px 6px}.unit{color:var(--muted);font-size:10px}.pauseIcon{display:none}.playing .playIcon{display:none}.playing .pauseIcon{display:block}.outputList,.queryResult,.pathList{border:1px solid var(--line);background:#101315;border-radius:7px;overflow:hidden}.outputItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border-bottom:1px solid #22272b;cursor:pointer;color:#b4bcc3}.outputItem:last-child{border-bottom:0}.outputItem:hover,.outputItem.active{background:#20252a;color:#fff}.outputItem small{color:#707a83}.infoGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;color:#8f99a1;font-size:10px}.infoGrid b{color:#dce1e5;font-weight:550}.switchRow{display:flex;align-items:center;justify-content:space-between;gap:14px}.switchRow input{appearance:none;width:33px;height:18px;border-radius:99px;background:#343a40;position:relative;cursor:pointer;transition:.15s}.switchRow input:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#9aa3aa;transition:.15s}.switchRow input:checked{background:#dfe3e6}.switchRow input:checked:after{left:17px;background:#17191b}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line2);border-radius:7px;padding:3px;background:#101315;overflow:hidden}.segmented button{border:0!important;background:transparent!important;min-height:30px!important;padding:5px!important;color:#929ca4}.segmented button.active{background:#272d32!important;color:#fff}.help{margin:10px 0 0;color:#727c84;font-size:10px;line-height:1.55}.rangeWithValue{display:grid;grid-template-columns:1fr 36px;gap:8px;align-items:center}.rangeWithValue output{text-align:right;color:#c4cbd1}.buttonGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.subtleButton{cursor:pointer}.subtleButton:hover,.panel button:not(.iconButton):not(.linkButton):not(.primaryPanelButton):hover{background:#292f34}.boundBlock{display:grid;grid-template-columns:1fr 92px;gap:8px;align-items:end}.boundBlock label{margin:0}.miniActions{display:grid;gap:5px}.miniActions button{min-height:28px!important;padding:4px!important;font-size:9px}.linkButton{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:8px 0;border:0;background:transparent;color:#7f8991;cursor:pointer}.linkButton.active{color:#fff}.linkButton svg{width:17px;height:17px}.colorPreview{height:17px;border-radius:4px;border:1px solid var(--line2);margin-top:8px}.colorRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.colorRow input[type=color]{width:100%;height:35px;padding:3px;border:1px solid var(--line2);background:#202429;border-radius:6px}.queryResult{padding:10px;color:#b7bec5;font-size:11px;line-height:1.55}.queryResult.empty,.pathList.empty{padding:12px;color:#6f7981}.queryResult table{width:100%;border-collapse:collapse;margin-top:8px}.queryResult td,.queryResult th{padding:5px;border-top:1px solid #24292d;text-align:left;font-weight:400}.queryResult th{color:#77818a}.vector3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.axisButtons{margin-bottom:12px}.pathList{margin:8px 0}.pathRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;border-bottom:1px solid #22272b}.pathRow:last-child{border-bottom:0}.pathRow button{width:auto!important;min-height:26px!important;padding:3px 7px!important}.viewport{grid-column:3;position:relative;min-width:0;overflow:hidden;background:#0e1012}.viewport canvas#gl{width:100%;height:100%;display:block;touch-action:none}.viewbar{position:absolute;z-index:5;top:10px;left:50%;transform:translateX(-50%);height:39px;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #2c3237;border-radius:9px;background:#14181be8;backdrop-filter:blur(10px);box-shadow:0 6px 20px #0004}.viewbar button{width:31px;height:29px;border-radius:5px}.viewbar button:hover,.viewbar button.active{background:#2a3035;color:#fff}.viewbar>span{width:1px;height:19px;background:#31373c;margin:0 3px}.viewbar svg{width:17px;height:17px}.pivot{display:none;position:absolute;z-index:6;width:20px;height:20px;border:3px solid #edf0f2;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 2px #15181b,0 2px 8px #0008}.drop{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#e4e8eb}.drop svg{width:38px;height:38px;margin-bottom:14px;color:#77818a}.drop strong{font-size:16px;font-weight:580}.drop span{margin-top:7px;color:#747e86;font-size:11px}.legend{display:none;position:absolute;right:16px;top:62px;z-index:4;width:112px;min-height:250px;padding:11px;border:1px solid #2d3338;border-radius:8px;background:#14181be8;backdrop-filter:blur(8px)}.legend.left{left:16px;right:auto}.legendTitle{font-size:9px;line-height:1.35;color:#bec5ca;margin-bottom:9px;word-break:break-word}.legendBar{position:absolute;left:11px;top:49px;width:15px;height:185px;border-radius:2px;border:1px solid #30363b}.legendTicks{position:absolute;left:34px;top:43px;height:197px;display:flex;flex-direction:column;justify-content:space-between;color:#aab2b8;font-size:9px;white-space:nowrap}.axisTriad{position:absolute;right:20px;bottom:20px;width:58px;height:58px;pointer-events:none;color:#8d969d;font-size:9px}.axisTriad span{position:absolute}.axisTriad .x{right:0;bottom:19px}.axisTriad .y{left:27px;top:0}.axisTriad .z{left:0;bottom:3px}.statusHint{position:absolute;bottom:11px;left:50%;transform:translateX(-50%);color:#626c74;font-size:10px;pointer-events:none}.toast{display:none;position:absolute;left:16px;bottom:16px;z-index:7;max-width:420px;padding:9px 11px;border:1px solid #353b40;border-radius:7px;background:#171b1eea;color:#c5cbd0;font-size:11px}.loading,.modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;background:#07090bdd;backdrop-filter:blur(4px)}.loading.active,.modal.active{display:flex}.loadingCard{width:min(470px,calc(100vw - 40px));padding:22px 24px;border:1px solid #30363c;border-radius:11px;background:#171a1d;box-shadow:0 24px 90px #000a}.loadingTop,.modalHead{display:flex;align-items:flex-start;justify-content:space-between}.loadingPhase{margin:19px 0 9px;color:#b9c0c6;font-size:12px}.progressTrack{height:6px;overflow:hidden;border-radius:99px;background:#2a3035}.progressBar{height:100%;width:0;background:#e5e9ec;border-radius:99px;transition:width .12s ease}.loadingMeta{display:flex;justify-content:space-between;gap:14px;margin-top:9px;color:#737d85;font-size:10px}.loadingMeta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loadingMeta strong{color:#aeb6bc;font-weight:550}.modal{z-index:900}.modalCard{width:min(860px,calc(100vw - 60px));height:min(620px,calc(100vh - 60px));display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:18px;border:1px solid #30363c;border-radius:11px;background:#171a1d;box-shadow:0 24px 90px #000a}.modalHead{border-bottom:1px solid var(--line);padding-bottom:12px}.modalCard canvas{width:100%;height:100%;min-height:0;background:#101315;border:1px solid var(--line);border-radius:7px}.plotMeta{color:#808a92;font-size:10px}@media(max-width:900px){#workspace.inspectorOpen{grid-template-columns:60px min(330px,45vw) minmax(0,1fr)}#workspace{grid-template-columns:60px 0 minmax(0,1fr)}.rail{padding-inline:6px}.rail button{width:46px}.legend{display:none!important}}
.axisTriad i{position:absolute;left:0;top:0;height:1px;transform-origin:0 50%;opacity:.8}.axisTriad i.x{background:#d56b6b}.axisTriad i.y{background:#73b979}.axisTriad i.z{background:#6f91d4}.axisTriad span{transform:translate(-50%,-50%);font-weight:650}.axisTriad span.x{color:#d56b6b}.axisTriad span.y{color:#73b979}.axisTriad span.z{color:#6f91d4}

.rangeWithValue output.disabled{opacity:.38}input:disabled,select:disabled{opacity:.42;cursor:not-allowed}

/* Calmer OpenCAE visual pass */
:root{--bg:#1b1f23;--panel:#23282d;--panel2:#282e34;--line:#353c43;--line2:#414a52;--text:#e6eaed;--muted:#99a3ab;--soft:#bcc4ca;--hover:#2d343a;--active:#363e45;--accent:#dfe4e7}
html,body{background:var(--bg);font-size:14px}
.appbar{height:52px;padding:0 16px;background:#23282d;border-bottom-color:#353c43}
#workspace{height:calc(100% - 52px);grid-template-columns:64px 0 minmax(0,1fr)}
#workspace.inspectorOpen{grid-template-columns:64px 360px minmax(0,1fr)}
.brandMark{border-color:#49515a;background:#2a3036}
.primaryButton{background:#30363c;color:#e7ebee;border:1px solid #48515a;padding:7px 12px;font-weight:560}
.primaryButton:hover{background:#394149}
.rail{padding:10px 7px;background:#20252a;border-right-color:#343b42}
.rail button{width:46px;height:46px;border-radius:9px;color:#aab3ba}
.rail button:hover,.rail button.active{background:#30363c;color:#edf0f2}
.rail button.active:before{left:-7px;background:#cdd3d7}
.inspector{background:#23282d;border-right-color:#353c43}
.panelHead{background:#23282df5;border-bottom-color:#353c43}
.panelHead small,.modalHead small,.loadingTop small{color:#7f8a93;letter-spacing:1.2px}
.sectionTitle{color:#8b969e;letter-spacing:1.05px}
select,input[type=number],input[type=text],button.subtleButton,.panel button:not(.iconButton):not(.linkButton):not(.primaryPanelButton){background:#2a3036;border-color:#414a52}
.outputList,.queryResult,.pathList,.segmented{background:#1e2327;border-color:#353c43}
.outputItem{border-bottom-color:#30363c}.outputItem:hover,.outputItem.active{background:#30363c}
.switchRow input{background:#424a51}.switchRow input:checked{background:#c7cdd1}
.viewport{background:#1b1f23}
.viewbar{top:12px;height:41px;padding:5px;background:#282e34e8;border-color:#3b434a;box-shadow:0 5px 18px #0003}
.viewbar button{width:32px;height:30px;color:#abb4bb}.viewbar button:hover,.viewbar button.active{background:#394149;color:#f0f2f4}
.drop svg{color:#8c969e}.drop strong{font-weight:560}.drop span{color:#8d979f}
.legend{background:#252b30eb;border-color:#3c444b}
.loading,.modal{background:#111417cc}
.loadingCard,.modalCard{background:#242a2f;border-color:#3c444b}
.progressTrack{background:#394047}.progressBar{background:#cfd5d9}
.toast{background:#262c31ee;border-color:#414950}

:root{--bg:#1b1f23;--panel:#23282d;--panel2:#282e34;--line:#353c43;--line2:#414a52;--text:#e6eaed;--muted:#99a3ab;--soft:#bcc4ca;--hover:#2d343a;--active:#363e45;--accent:#dfe4e7}
html,body{background:var(--bg);font-size:14px}
.appbar{height:52px;padding:0 16px;background:#23282d;border-bottom-color:#353c43}
#workspace{height:calc(100% - 52px);grid-template-columns:64px 0 minmax(0,1fr)}
#workspace.inspectorOpen{grid-template-columns:64px 360px minmax(0,1fr)}
.brandMark{border-color:#49515a;background:#2a3036}
.primaryButton{background:#30363c;color:#e7ebee;border:1px solid #48515a;padding:7px 12px;font-weight:560}
.primaryButton:hover{background:#394149}
.rail{padding:10px 7px;background:#20252a;border-right-color:#343b42}
.rail button{width:46px;height:46px;border-radius:9px;color:#aab3ba}
.rail button:hover,.rail button.active{background:#30363c;color:#edf0f2}
.rail button.active:before{left:-7px;background:#cdd3d7}
.inspector{background:#23282d;border-right-color:#353c43}
.panelHead{background:#23282df5;border-bottom-color:#353c43}
.panelHead small,.modalHead small,.loadingTop small{color:#7f8a93;letter-spacing:1.2px}
.sectionTitle{color:#8b969e;letter-spacing:1.05px}
select,input[type=number],input[type=text],button.subtleButton,.panel button:not(.iconButton):not(.linkButton):not(.primaryPanelButton){background:#2a3036;border-color:#414a52}
.outputList,.queryResult,.pathList,.segmented{background:#1e2327;border-color:#353c43}
.outputItem{border-bottom-color:#30363c}.outputItem:hover,.outputItem.active{background:#30363c}
.switchRow input{background:#424a51}.switchRow input:checked{background:#c7cdd1}
.viewport{background:#1b1f23}
.viewbar{top:12px;height:41px;padding:5px;background:#282e34e8;border-color:#3b434a;box-shadow:0 5px 18px #0003}
.viewbar button{width:32px;height:30px;color:#abb4bb}.viewbar button:hover,.viewbar button.active{background:#394149;color:#f0f2f4}
.drop svg{color:#8c969e}.drop strong{font-weight:560}.drop span{color:#8d979f}
.legend{background:#252b30eb;border-color:#3c444b}
.loading,.modal{background:#111417cc}
.loadingCard,.modalCard{background:#242a2f;border-color:#3c444b}
.progressTrack{background:#394047}.progressBar{background:#cfd5d9}
.toast{background:#262c31ee;border-color:#414950}

/* Contour editor v2 */
.sectionTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.sectionTitleRow .sectionTitle{margin:0}
.compactToggle{width:auto!important;min-height:28px!important;display:flex;align-items:center;gap:6px;padding:4px 8px!important;background:transparent!important;border-color:transparent!important;color:#9da7af!important}.compactToggle.active{background:#30373d!important;border-color:#424a52!important;color:#edf0f2!important}.compactToggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rangeBound{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:9px}.rangeBound label{margin:0}.boundScopes{display:grid;grid-template-columns:repeat(2,48px);gap:5px}.boundScopes button{min-height:34px!important;padding:5px!important;font-size:10px}
.fitGroup{margin-top:12px;padding-top:10px;border-top:1px solid #343b42}.fitGroup>span{display:block;margin-bottom:6px;color:#7f8a93;font-size:9px;text-transform:uppercase;letter-spacing:.9px}.fitGroup>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.fitGroup button{min-height:32px!important;padding:5px 6px!important;font-size:10px}
.settingRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;color:#b5bdc3}.miniSwitch{display:block!important;margin:0!important}.miniSwitch input{display:none}.miniSwitch i{display:block;width:31px;height:18px;border-radius:99px;background:#444d55;position:relative;cursor:pointer}.miniSwitch i:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;left:2px;top:2px;background:#aab3ba;transition:.15s}.miniSwitch input:checked+i{background:#c7cdd1}.miniSwitch input:checked+i:after{left:15px;background:#202428}.colorbarRow{margin-top:7px}
.advancedGroup{border-top:1px solid var(--line);padding:2px 0}.advancedGroup summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:12px 0;color:#a6afb6;cursor:pointer;font-size:11px}.advancedGroup summary::-webkit-details-marker{display:none}.advancedGroup summary:after{content:"›";font-size:16px;color:#7e8890;transform:rotate(0deg);transition:.15s}.advancedGroup[open] summary:after{transform:rotate(90deg)}.advancedBody{padding:0 0 12px}
.frameScrubber{width:100%;margin:10px 0 4px}.timeManagerOpen{display:grid!important;grid-template-columns:28px 1fr 18px;align-items:center;text-align:left;gap:9px;padding:9px!important;margin-top:8px}.timeManagerOpen>svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}.timeManagerOpen span{display:flex;flex-direction:column;gap:1px}.timeManagerOpen b{font-size:11px;font-weight:580}.timeManagerOpen small{font-size:9px;color:#7f8991}.timeManagerOpen .chevron{width:14px;height:14px}

/* ViewCube */
.viewCube{position:absolute;z-index:6;right:18px;top:16px;width:118px;height:118px;background:transparent;cursor:pointer;touch-action:none}
.viewbar{left:18px;transform:none;top:14px}

/* Time Manager dock */
.timeManagerTab{position:absolute;z-index:6;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;width:auto;border:1px solid #3b434a;border-bottom:0;border-radius:8px 8px 0 0;background:#252b30e8;color:#b8c0c6;padding:7px 12px;cursor:pointer;backdrop-filter:blur(8px)}.timeManagerTab svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.timeManagerDock{position:absolute;z-index:8;left:10px;right:10px;bottom:10px;height:238px;background:#23282df7;border:1px solid #3b434a;border-radius:10px;box-shadow:0 18px 50px #0005;display:none;grid-template-rows:auto 1fr;backdrop-filter:blur(12px)}.timeManagerDock.open{display:grid}.tmHeader{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #363d44}.tmHeader>div{display:flex;flex-direction:column;gap:1px}.tmHeader small{font-size:8px;letter-spacing:1.2px;color:#7e8991}.tmHeader b{font-size:13px;font-weight:580}.tmBody{display:grid;grid-template-columns:270px 1fr;min-height:0}.tmControls{padding:11px 13px;border-right:1px solid #363d44;overflow:auto}.tmLabel{margin:7px 0 6px;color:#7f8991;font-size:8px;text-transform:uppercase;letter-spacing:1px}.tmMedia{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.tmMedia button{min-width:0;height:31px;border:0;border-radius:5px;background:transparent;color:#aeb7be;display:grid;place-items:center;cursor:pointer}.tmMedia button:hover,.tmMedia button.active{background:#343b42;color:#fff}.tmMedia svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.tmPauseIcon{display:none}.tmMedia.playing .tmPlayIcon{display:none}.tmMedia.playing .tmPauseIcon{display:block}.tmSpeed{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px}.tmSpeed output{color:#adb5bb;text-align:right;font-size:10px}.tmTimeline{padding:10px 14px 12px;display:grid;grid-template-rows:auto 1fr auto auto;min-width:0;min-height:0}.tmTimelineTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px;color:#8f99a1;font-size:10px}.tmTimelineTop select{min-height:26px;padding:3px 22px 3px 7px;background:#2a3036;border:1px solid #404850;color:#d7dce0;border-radius:5px}.tmTimeline canvas{width:100%;height:100%;min-height:78px;background:#1f2428;border:1px solid #343b42;border-radius:6px}.tmRangeControls{position:relative;height:25px;margin-top:2px}.tmRangeControls input{position:absolute;left:0;right:0;top:5px;width:100%;pointer-events:none;background:transparent}.tmRangeControls input::-webkit-slider-thumb{pointer-events:auto}.tmRangeControls input::-moz-range-thumb{pointer-events:auto}.tmRangeLabels{display:flex;justify-content:space-between;color:#727d85;font-size:9px}.tmRangeLabels span:nth-child(2){text-align:center}
@media(max-width:1000px){.tmBody{grid-template-columns:220px 1fr}.timeManagerDock{height:250px}.viewCube{width:96px;height:96px}}

/* Results playback v3: compact inspector-native controls */
.timeManagerTab,.timeManagerDock,.timeManagerOpen{display:none!important}
.playbackBlock{padding-bottom:14px}.playbackMode{margin-bottom:10px}
.playRange{display:grid;grid-template-columns:1fr 1fr;gap:8px}.playRange label{margin:0 0 8px}
.playTimeRow{display:flex;align-items:center;justify-content:space-between;margin-top:2px;color:#9ba5ad;font-size:10px}.playTimeRow output{color:#d6dce0;font-variant-numeric:tabular-nums}
.playTimeSlider{width:100%;margin:7px 0 11px}
.tmMedia{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:9px 0 8px}
.tmMedia button{width:100%!important;min-width:0!important;height:31px!important;min-height:31px!important;padding:0!important;border:0!important;border-radius:5px!important;background:transparent!important;color:#aeb7be!important;display:grid!important;place-items:center;cursor:pointer}
.tmMedia button:hover,.tmMedia button.active{background:#343b42!important;color:#fff!important}.tmMedia svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.tmPauseIcon{display:none}.tmMedia.playing .tmPlayIcon{display:none}.tmMedia.playing .tmPauseIcon{display:block}
.tmSpeed{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px;margin-top:4px}.tmSpeed output{text-align:right;color:#aeb7be;font-size:10px}
.playbackSummary{margin-top:7px;color:#78838c;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rangeBound{grid-template-columns:1fr 58px}.boundAuto{width:58px!important;min-height:34px!important;padding:5px!important;font-size:10px}
.legend{top:156px}.legend.left{top:62px}

/* Inspector spacing + rail affordances */
.rail{position:relative;z-index:20;overflow:visible}
.rail button[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  left:calc(100% + 10px);
  top:50%;
  transform:translate(-4px,-50%);
  z-index:50;
  padding:6px 9px;
  border:1px solid #414a52;
  border-radius:6px;
  background:#2a3036f7;
  color:#e7ebee;
  box-shadow:0 7px 20px #0005;
  font-size:10px;
  font-weight:520;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .11s ease,transform .11s ease,visibility .11s;
}
.rail button[data-tooltip]:hover::after,.rail button[data-tooltip]:focus-visible::after{
  opacity:1;visibility:visible;transform:translate(0,-50%);
}
.sectionBlock{padding-bottom:19px;margin-bottom:19px}
.sectionBlock>label:first-of-type{margin-top:0}
.buttonGrid{gap:9px;margin-top:10px}
.sectionBlock>.buttonGrid+.subtleButton{margin-top:9px}
.sectionBlock>.subtleButton+.subtleButton{margin-top:8px}
.sectionBlock>.primaryPanelButton{margin-top:8px}
.sectionBlock>.pathList+.buttonGrid{margin-top:9px}
.sectionBlock>.segmented+label{margin-top:14px}
.deformAutoGrid{margin-top:2px}
.deformAutoGrid+.subtleButton{margin-top:9px!important}
.playbackMode{margin-bottom:14px}
.tmMedia{margin-top:12px;margin-bottom:11px}
.playRange{gap:10px}
.rangeBound{margin-bottom:12px}
.rangeBound:last-child{margin-bottom:0}
.colorPreview{margin-top:10px}

/* Live waypoint editor + inspect spacing */
#clearSelection{margin-top:10px}
.waypointList{margin-top:10px;background:transparent;border:0;overflow:visible}
.waypointRow{min-height:36px;padding:7px 8px;border:1px solid #353d44;border-radius:6px;background:#252b30;margin-bottom:6px}
.waypointRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c7ced3}
.waypointRow span b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#343c43;color:#e5e9ec;font-size:9px;font-weight:650}
.waypointRemove{width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;border:1px solid #6c4144!important;background:#422c2f!important;color:#ef8b91!important;border-radius:5px!important;font-size:18px!important;line-height:1!important}
.waypointRemove:hover{background:#563338!important;color:#ffc0c4!important;border-color:#8b4e53!important}
.waypointAddSlot{width:100%!important;min-height:39px!important;margin-top:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px dashed #59636b!important;background:transparent!important;color:#8f9aa2!important;border-radius:7px!important;cursor:pointer}
.waypointAddSlot:hover,.waypointAddSlot.active{border-color:#84919a!important;background:#293036!important;color:#dce2e6!important}
.waypointAddSlot.active{border-style:solid!important}
.waypointAddIcon{font-size:17px;line-height:1}

.viewport.pivotPicking #gl{cursor:crosshair}

/* Global color styles */
.themeControl{display:flex;align-items:center;gap:8px;margin-left:auto;color:#98a2aa;font-size:10px}
.themeControl span{white-space:nowrap}
.themeControl select{min-width:142px;height:32px;padding:4px 28px 4px 9px;background:#2a3036;border:1px solid #414a52;border-radius:6px;color:#e5e9ec;font-size:10px}

html[data-theme="white"]{
  --bg:#ffffff;--panel:#f6f8f9;--panel2:#eef1f3;--line:#d5dadd;--line2:#c6cdd2;--text:#1c2227;--muted:#68737c;--soft:#4f5a63;--hover:#e9edef;--active:#dde3e6;--accent:#1f252a
}
html[data-theme="white"],html[data-theme="white"] body{background:#fff;color:var(--text)}
html[data-theme="white"] .appbar{background:#f7f8f9;border-bottom-color:#d5dadd;color:#1d2328}
html[data-theme="white"] .brandMark{background:#fff;border-color:#b9c1c7;color:#20262b}
html[data-theme="white"] .brand span,html[data-theme="white"] .filemeta{color:#6d7880}
html[data-theme="white"] .primaryButton{background:#fff;border-color:#bfc7cd;color:#252b30}
html[data-theme="white"] .primaryButton:hover{background:#eef1f3}
html[data-theme="white"] .themeControl{color:#66717a}
html[data-theme="white"] .themeControl select{background:#fff;border-color:#c6cdd2;color:#20262b}
html[data-theme="white"] .rail{background:#f2f4f5;border-right-color:#d5dadd}
html[data-theme="white"] .rail button{color:#59656e}
html[data-theme="white"] .rail button:hover,html[data-theme="white"] .rail button.active{background:#e1e6e9;color:#1e252a}
html[data-theme="white"] .rail button.active:before{background:#48545d}
html[data-theme="white"] .rail button[data-tooltip]::after{background:#fff;border-color:#cbd1d5;color:#20262b;box-shadow:0 7px 20px #0002}
html[data-theme="white"] .inspector,html[data-theme="white"] .panelHead{background:#f7f8f9;border-color:#d5dadd}
html[data-theme="white"] .panelHead small,html[data-theme="white"] .modalHead small,html[data-theme="white"] .loadingTop small,html[data-theme="white"] .sectionTitle{color:#74808a}
html[data-theme="white"] select,html[data-theme="white"] input[type=number],html[data-theme="white"] input[type=text],html[data-theme="white"] button.subtleButton,html[data-theme="white"] .panel button:not(.iconButton):not(.linkButton):not(.primaryPanelButton){background:#fff;border-color:#cbd2d7;color:#242a2f}
html[data-theme="white"] .outputList,html[data-theme="white"] .queryResult,html[data-theme="white"] .pathList,html[data-theme="white"] .segmented{background:#fff;border-color:#d2d7db}
html[data-theme="white"] .outputItem{border-bottom-color:#e1e5e8}
html[data-theme="white"] .outputItem:hover,html[data-theme="white"] .outputItem.active{background:#e9edf0}
html[data-theme="white"] .switchRow input{background:#c3cbd0}
html[data-theme="white"] .switchRow input:checked{background:#616d76}
html[data-theme="white"] .viewport{background:#fff}
html[data-theme="white"] .viewbar{background:#ffffffee;border-color:#cbd2d7;box-shadow:0 5px 18px #0002}
html[data-theme="white"] .viewbar button{color:#5d6972}
html[data-theme="white"] .viewbar button:hover,html[data-theme="white"] .viewbar button.active{background:#e7ecef;color:#1f252a}
html[data-theme="white"] .drop strong{color:#283037}
html[data-theme="white"] .drop span{color:#727e87}
html[data-theme="white"] .legend{background:#fffffff0;border-color:#cbd2d7;color:#22282d}
html[data-theme="white"] .legendTicks,html[data-theme="white"] .legendTitle{color:#30373d}
html[data-theme="white"] .axisTriad{color:#30373d}
html[data-theme="white"] .statusHint{color:#66727b}
html[data-theme="white"] .loading,html[data-theme="white"] .modal{background:#eef1f3d9}
html[data-theme="white"] .loadingCard,html[data-theme="white"] .modalCard{background:#fff;border-color:#c8d0d5;color:#22282d}
html[data-theme="white"] .progressTrack{background:#dfe4e7}
html[data-theme="white"] .progressBar{background:#4d5962}
html[data-theme="white"] .toast{background:#fff;border-color:#c8d0d5;color:#242a2f;box-shadow:0 8px 28px #0002}
html[data-theme="white"] .waypointRow{background:#fff;border-color:#d5dadd}
html[data-theme="white"] .waypointRow span{color:#30373d}
html[data-theme="white"] .waypointRow span b{background:#e6eaed;color:#2c3338}
html[data-theme="white"] .waypointAddSlot{border-color:#aeb8bf!important;color:#68747d!important}
html[data-theme="white"] .waypointAddSlot:hover,html[data-theme="white"] .waypointAddSlot.active{background:#edf1f3!important;color:#263038!important;border-color:#7e8991!important}
html[data-theme="white"] .advancedGroup{border-color:#d8dde0}
html[data-theme="white"] .advancedGroup summary{color:#5f6b74}
html[data-theme="white"] .tmMedia button{color:#66727b!important}
html[data-theme="white"] .tmMedia button:hover,html[data-theme="white"] .tmMedia button.active{background:#e5eaed!important;color:#20262b!important}
html[data-theme="white"] .playbackSummary{color:#78838b}
html[data-theme="white"] .pivot{filter:drop-shadow(0 0 2px #fff)}

/* Canvas axis triad */
.axisTriad{position:absolute;right:18px;bottom:18px;width:72px;height:72px;pointer-events:none;background:transparent}
html[data-theme="white"]{color-scheme:light}
html[data-theme="white"] .modalCard canvas{background:#fff}
html[data-theme="white"] .colorPreview{border-color:#cbd2d7}
html[data-theme="white"] .legendBar{border-color:#bfc7cd}

/* Keep the provider identification available outside viewer panels. */
.imprintLink{color:var(--muted);font-size:11px;white-space:nowrap;text-underline-offset:3px}.imprintLink:hover{color:var(--text)}
@media(max-width:640px){.appbar{gap:9px;padding:0 10px}.appbar .filemeta,.appbar .brand>span:last-child,.appbar .themeControl>span{display:none}.appbar .themeControl{margin-left:auto}.appbar .themeControl select{min-width:0;width:74px}.appbar .primaryButton{padding:7px;font-size:11px}.appbar .brand{gap:5px;font-size:12px}.appbar .brandMark{width:22px;height:22px}}
