@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-italic-CBjNughH.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-italic-B4oTjJdl.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-italic-CBJ8pzag.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-italic-2syK4fUT.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-italic-DRuN92E5.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-italic-D6eaYXMU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-italic-B7_fu1kp.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-italic-Bg0ZHwF4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-italic-BqAiT5Ww.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-italic-66oory27.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--surface-viewport: #e6e6e9;--surface-base: #e6e6e9;--surface-bar: #e6e6e9;--surface-bar-alt: #edecee;--surface-float: #f8f7f8;--surface-panel: #f8f7f8;--surface-raised: #f8f7f8;--surface-raised-hover: #edecee;--ink: #1c1814;--ink-2: #4b4642;--ink-3: #635e5a;--ink-on-accent: #0a0a0c;--rule: #b4b2b9;--rule-strong: #848289;--rule-heavy: #4a484f;--accent: #ffb000;--accent-press: #a87400;--danger: #a8341c;--danger-ink: #8a1f10;--warn: #8a5a00;--ok: #00734c;--param: #0065b4;--param-ink: #004a85;--axis-x: #c81e2a;--axis-y: #17742a;--axis-z: #1f5fd2;--construction: #b4138f;--construction-strong: #7a0a61;--construction-locked: #b0559c;--viewport-ink: #1c1814;--viewport-ink-2: #605e65;--viewport-mark: #48464d;--viewport-mode: #605e65;--graticule-line: #adadb3;--graticule-axis: #9c9ca2;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-3xs: 9px;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-flat: 1;--leading-tight: 1.25;--leading-snug: 1.4;--leading-normal: 1.55;--tracking-3xs: .16em;--tracking-2xs: .13em;--tracking-xs: .1em;--tracking-sm: .08em;--tracking-md: .06em;--tracking-lg: .04em;--unit: 4px;--hairline: 1px;--stroke-active: 2px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--space-7: 24px;--radius: 0px;--control-tag: 16px;--control-sm: 24px;--control-lg: 32px;--control-xl: 40px;--dur-fast: 90ms;--dur-base: .16s;--dur-slow: .26s;--ease: cubic-bezier(.2, 0, 0, 1);--ease-inout: cubic-bezier(.4, 0, .2, 1);--alpha-wash: .06;--alpha-tint: .12;--alpha-tint-strong: .18;--alpha-veil: .28;--alpha-edge: .55;--alpha-mark: .85;--gap: 4px;--inset: 8px;--section: 16px;--col-label: 96px;--col-unit: 40px;--line: var(--hairline) solid var(--rule-strong);--line-active: var(--stroke-active) solid var(--ink);--line-pending: var(--hairline) dashed var(--rule-strong);--plane-ground: var(--surface-base);--plane-sheet: var(--surface-float);--plane-step: var(--surface-bar-alt);--block-current: var(--accent);--block-current-ink: var(--ink-on-accent);--block-kind: var(--ink);--block-kind-ink: var(--surface-float);--text-caps: 600 11px / 12px var(--font-mono);--track-caps: .08em;--case-caps: uppercase;--numeric-caps: normal;--text-body: 400 12px / 16px var(--font-mono);--track-body: normal;--case-body: none;--numeric-body: tabular-nums;--text-title: 600 15px / 20px var(--font-mono);--track-title: .04em;--case-title: uppercase;--numeric-title: normal;--text-prose: 400 12px / 20px var(--font-sans);--track-prose: normal;--case-prose: none;--numeric-prose: normal;--surface-viewport-94: rgba(230, 230, 233, .94);--surface-float-00: rgba(248, 247, 248, 0);--shade-none: rgba(28, 24, 20, 0);--shade-soft: rgba(28, 24, 20, .1);--shade-scroll: rgba(28, 24, 20, .22);--scrim: rgba(28, 24, 20, .42);--divider: rgba(28, 24, 20, .09);--accent-rgb: 255, 176, 0;--ink-rgb: 28, 24, 20;--danger-rgb: 168, 52, 28;--param-rgb: 0, 101, 180;--ok-rgb: 0, 115, 76;--viewport-mark-rgb: 72, 70, 77;--viewport-mode-rgb: 96, 94, 101;color-scheme:light}.t-caps{font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.t-body{font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.t-title{font:var(--text-title);letter-spacing:var(--track-title);text-transform:var(--case-title);font-variant-numeric:var(--numeric-title)}.t-prose{font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.l-inset{padding:var(--inset)}.l-stack{display:grid;align-content:start;gap:var(--section)}.l-ruled{display:grid}.l-ruled>*+*{border-top:var(--line)}.l-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap)}.l-row{display:grid;grid-template-columns:var(--col-label) minmax(0,1fr) var(--col-unit);align-items:baseline;gap:var(--inset);min-height:var(--control-sm)}.l-split{display:flex;align-items:center;justify-content:space-between;gap:var(--inset)}.app[data-mode=model],.app[data-mode=sketch],.app[data-mode=simulate]{--mode-accent-rgb: var(--accent-rgb);--viewport-accent-rgb: var(--viewport-mode-rgb)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}b,strong{font-weight:inherit}small{font-size:inherit}body{background:var(--plane-ground);color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);overflow:hidden}.dialog p{font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}:focus-visible{outline:var(--line-active);outline-offset:var(--hairline)}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}::-webkit-scrollbar{width:var(--unit);height:var(--unit)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:0;background:var(--rule-strong)}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}::-webkit-scrollbar-corner{background:transparent}.dock,.dock *,.render-popover *,.dialog *{overscroll-behavior:contain}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}.app{display:grid;grid-template-rows:var(--control-lg) var(--control-xl) 1fr;height:100%}.menu-bar{position:relative;z-index:1000;display:flex;height:var(--control-lg);align-items:stretch;gap:var(--gap);padding:0 var(--inset);border-bottom:var(--line);background:var(--plane-ground)}.menu{position:relative;display:flex}.menu-title{height:100%;margin:0;padding:0 var(--inset);border:0;background:transparent;color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.menu-title:hover{background:var(--plane-step);color:var(--ink)}.menu-title.active,.menu-title.active:hover{background:var(--block-current);color:var(--block-current-ink)}.menu-dropdown{position:absolute;top:calc(100% + var(--gap));left:0;z-index:60;display:flex;flex-direction:column;min-width:calc(var(--unit) * 52);padding:var(--gap) 0;border:var(--line);background:var(--plane-sheet);animation:pop-in var(--dur-base) var(--ease);transform-origin:top left}.menu-dropdown button,.menu-dropdown a{display:grid;grid-template-columns:calc(var(--unit) * 6) minmax(0,1fr) auto;align-items:center;gap:0 var(--inset);width:100%;height:var(--control-sm);padding:0 var(--inset) 0 0;border:0;background:transparent;color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.menu-dropdown button:hover:not(:disabled),.menu-dropdown a:hover,.menu-dropdown button:focus-visible,.menu-dropdown a:focus-visible{background:var(--plane-step);outline:none}.menu-dropdown button:disabled{opacity:.4}.menu-dropdown small{color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.menu-dropdown hr{height:var(--hairline);margin:var(--gap) 0;border:0;background:var(--rule)}.menu-dropdown button>span,.menu-dropdown a>span{grid-column:2}.menu-dropdown button>small,.menu-dropdown a>small{grid-column:3}.menu-check{grid-column:1;color:var(--ink);font-style:normal;text-align:center}.menu-scene{align-self:center;margin-left:auto;overflow:hidden;max-width:32ch;color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);text-overflow:ellipsis;white-space:nowrap}.toolbar,.tool-rail,.view-controls{user-select:none;-webkit-user-select:none}.toolbar{position:relative;display:flex;align-items:center;gap:var(--section);padding:0 var(--inset);border-bottom:var(--line);background:var(--plane-step)}.toolbar-busy{position:absolute;right:0;bottom:calc(var(--hairline) * -1);left:0;height:var(--stroke-active);overflow:hidden;background:var(--ink)}.toolbar-busy i{position:absolute;top:0;bottom:0;width:22%;background:var(--ink-3);animation:toolbar-busy-sweep 1.4s var(--ease-inout) infinite}@keyframes toolbar-busy-sweep{0%{left:-22%}to{left:100%}}@media(prefers-reduced-motion:reduce){.toolbar-busy i{display:none}}.brand{display:flex;align-items:center;gap:var(--inset);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.brand .mark{display:grid;place-items:center;width:calc(var(--unit) * 6);height:calc(var(--unit) * 6);background:var(--block-current);color:var(--block-current-ink)}.spacer{flex:1}.mode-switcher{display:flex;margin-left:var(--inset);border:var(--line)}.mode-switcher button{display:inline-flex;align-items:center;gap:var(--gap);height:var(--control-xl);padding:0 var(--inset);border:0;border-left:var(--line);background:transparent;color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);transition:background-color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}.mode-switcher button svg{width:calc(var(--unit) * 4);height:calc(var(--unit) * 4)}.mode-switcher button:hover:not(.active){background:var(--plane-step);color:var(--ink)}.mode-switcher button:first-child{border-left:0}.mode-switcher button.active{background:var(--block-current);color:var(--block-current-ink)}button{height:var(--control-sm);padding:0 var(--inset);border:var(--line);background:var(--plane-sheet);color:var(--ink);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}button:hover:not(:disabled){border-color:var(--rule-strong)}button:disabled{opacity:.45;cursor:default}button.active,button.primary,.sim-run,.opt-player button.opt-replay{border-color:var(--accent);background:var(--block-current);color:var(--block-current-ink)}input[type=number],input[type=text]{height:var(--control-sm);min-width:0;padding:0 var(--inset);border:var(--line);background:var(--plane-sheet);color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);transition:border-color var(--dur-fast) var(--ease)}input[type=number]:hover:not(:disabled),input[type=text]:hover:not(:disabled){border-color:var(--rule-strong)}input:disabled{opacity:.45;cursor:default}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;-webkit-appearance:none;margin:0}input[type=range]{height:var(--control-sm);margin:0;accent-color:var(--ink)}input[type=checkbox]{width:calc(var(--unit) * 3);height:calc(var(--unit) * 3);accent-color:var(--ink)}.sim-row input,.sim-args input,.sim-builder-vector input[type=number],.sim-bcs li input[type=number],.solver-controls input{height:var(--control-sm)}.sim-kind,.object-tree-panel>header small,.demo-parameters>header small,.properties-panel>header small,.sketch-panel header small,.material-panel-title small,.sim-panel header small,.render-panel header small,.properties-section h3 small{flex:0 0 auto;display:inline-flex;align-items:center;height:var(--control-tag);padding:0 var(--gap);background:var(--block-kind);color:var(--block-kind-ink);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);white-space:nowrap}.history-chips>span,.tree-badge,.tree-material,.selection-chip,.plane-label,.shortcut-groups kbd,.tier-tag,.scene-materials .sim-kind{flex:0 0 auto;display:inline-flex;align-items:center;height:var(--control-tag);padding:0 var(--gap);border:var(--line);background:var(--plane-sheet);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);white-space:nowrap}.tool-rail{position:absolute;top:var(--section);left:var(--section);z-index:10;display:flex;flex-direction:column;align-items:center;gap:var(--gap);padding:var(--gap);border:var(--line);background:var(--plane-sheet)}.tool-rail .rail-word{display:none}.view-controls{position:absolute;top:var(--section);right:var(--section);z-index:11;display:flex;justify-content:center;gap:var(--gap);width:calc(var(--unit) * 31)}.viewport-bar-button{flex:none;display:grid;place-items:center;width:var(--control-lg);height:var(--control-lg);padding:0;border:var(--line);background:var(--plane-sheet);color:var(--ink-2)}.viewport-bar-button .rail-word{display:none}.viewport-bar-button:hover:not(:disabled){background:var(--plane-step);color:var(--ink)}.viewport-bar-button.active,.viewport-bar-button.active:hover:not(:disabled){border-color:var(--ink);background:var(--plane-sheet);color:var(--ink)}.tool-rail button{display:grid;place-items:center;width:var(--control-lg);height:var(--control-lg);padding:0;border-color:transparent;background:transparent;color:var(--ink-2)}.tool-rail button:hover:not(:disabled){border-color:var(--rule);color:var(--ink);background:var(--plane-step)}.tool-rail button.active{border-color:var(--block-kind);background:var(--block-kind);color:var(--block-kind-ink)}.tool-rail button:disabled{opacity:.3}.tool-rail button.danger:hover:not(:disabled){border-color:rgba(var(--danger-rgb),var(--alpha-edge));color:var(--danger);background:rgba(var(--danger-rgb),var(--alpha-tint))}.tool-rail hr{width:calc(var(--unit) * 6);height:var(--hairline);margin:calc((var(--unit) - var(--hairline)) / 2) 0;border:0;background:var(--rule)}.rail-hint{color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.tool-group{position:relative;display:flex}.tool-rail .tool-group-parent{position:relative}.tool-group-caret{position:absolute;right:var(--gap);bottom:var(--gap);width:var(--unit);height:var(--unit);background:var(--ink-3);clip-path:polygon(100% 0,100% 100%,0 100%)}.tool-group-parent.active .tool-group-caret{background:var(--block-kind-ink)}.tool-flyout{display:none;position:absolute;top:calc((var(--gap) + var(--hairline)) * -1);left:calc(100% + var(--gap) + var(--hairline) + var(--section));z-index:11;gap:var(--gap);padding:var(--gap);border:var(--line);background:var(--plane-sheet)}.tool-flyout:before{content:"";position:absolute;top:calc(50% - var(--gap));left:calc(var(--gap) * -1 - var(--hairline));width:var(--inset);height:var(--inset);border-left:var(--line);border-bottom:var(--line);background:var(--plane-sheet);transform:rotate(45deg)}.tool-flyout button{border:0}.tool-group.open>.tool-group-parent:not(.active){border-color:transparent;background:var(--plane-step);color:var(--ink)}.tool-group.open .tool-flyout{display:flex;animation:slide-in-left var(--dur-base) var(--ease)}.tool-group.open:after{content:"";position:absolute;top:0;left:100%;width:calc(var(--gap) + var(--hairline) + var(--section));height:100%}.plane-picks{display:flex;flex-direction:column;align-items:stretch;gap:var(--gap);padding-top:var(--gap)}.plane-picks-label{color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);text-align:center}.tool-rail .plane-picks button{width:var(--control-lg);height:var(--control-sm)}.sketch-panel{padding:var(--inset);overflow:auto}.sketch-panel header{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);margin-bottom:var(--inset)}.sketch-panel header small{display:flex;gap:var(--gap)}.sketch-panel header small b{color:inherit;font:inherit}.history-chips{display:flex;flex-wrap:wrap;gap:var(--gap);margin-bottom:var(--inset)}.history-chips>span{color:var(--ink-2)}.history-chips .constraint-chip{display:inline-flex;align-items:center;gap:var(--gap)}.history-chips .chip-label{padding:0}.history-chips .chip-label.editable{cursor:pointer;text-decoration:underline dotted var(--ink-3);text-underline-offset:var(--gap)}.history-chips .chip-value{width:calc(var(--unit) * 12);height:auto;padding:0 var(--gap);border:var(--line);background:var(--plane-sheet);color:inherit;font:inherit}.history-chips .chip-delete{height:auto;padding:0;border:none;background:none;color:var(--ink-3);cursor:pointer}.history-chips .chip-delete:hover:not(:disabled){color:var(--danger-ink)}.history-chips .chip-delete:disabled{cursor:default;opacity:.3}.empty-history{margin:0 0 var(--inset);color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.sketch-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.sketch-actions button{height:var(--control-sm);min-width:0;padding:0 var(--inset)}.solver-panel{display:grid;gap:var(--inset);margin-top:var(--section);padding-top:var(--section);border-top:var(--line)}.solver-controls{display:grid;grid-template-columns:minmax(0,1fr) calc(var(--unit) * 18) calc(var(--unit) * 12);align-items:end;gap:var(--gap)}.solver-controls label{display:grid;gap:var(--gap);min-width:0}.solver-controls label>span{color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.solver-controls input,.solver-controls button{width:100%;height:var(--control-sm);min-width:0;padding:0 var(--inset)}.solver-empty{margin:0;padding:var(--inset);border:var(--line-pending);color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose);text-align:center}.solver-chart{padding:var(--inset);border:var(--line);background:var(--plane-step)}.solver-chart>div,.solver-chart footer{display:flex;align-items:center;justify-content:space-between;gap:var(--inset)}.solver-chart>div span,.solver-chart footer{color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.solver-chart>div b{color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.solver-chart svg{display:block;width:100%;height:calc(var(--unit) * 16);margin:var(--gap) 0 var(--gap);overflow:visible}.solver-chart line{stroke:var(--rule);stroke-width:1}.solver-chart polyline{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.dock{position:absolute;top:calc(var(--unit) * 38);right:var(--section);bottom:calc(var(--unit) * 10);z-index:9;display:flex;flex-direction:column;align-items:stretch;gap:var(--section);width:calc(var(--unit) * 73);pointer-events:none}.dock>*{flex:0 1 auto;min-height:0;pointer-events:auto}.dock>button{flex:0 0 auto}.dock .object-tree-panel{min-height:calc(var(--unit) * 33)}.dock .sketch-panel,.dock .material-panel{min-height:calc(var(--unit) * 30)}.dock .sim-panel{min-height:calc(var(--unit) * 38)}.render-popover-anchor{position:relative;display:flex}.render-popover{position:absolute;top:calc(100% + var(--gap));right:0;z-index:40;width:calc(var(--unit) * 75);animation:pop-in var(--dur-base) var(--ease);transform-origin:top right}.render-popover .render-panel{max-height:min(72vh,calc(var(--unit) * 160));border-top-color:var(--rule)}.object-tree-panel,.material-panel,.sim-panel,.sketch-panel,.render-panel{width:100%;border:var(--line);background:var(--plane-sheet);animation:panel-in var(--dur-slow) var(--ease)}.object-tree-panel>header,.demo-parameters>header,.material-panel>header,.sim-panel>header,.sketch-panel>header,.render-panel>header{padding-left:0}.object-tree-panel>header>span,.demo-parameters>header>span,.properties-panel>header>span,.sim-panel header span,.sketch-panel header>span,.render-panel>header>span,.material-panel-title>span:not(.material-panel-icon){display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap);min-width:0;margin-right:auto;font:var(--text-title);letter-spacing:var(--track-title);text-transform:var(--case-title);font-variant-numeric:var(--numeric-title)}.section-head{display:flex;align-items:center;gap:0;margin:0;padding-bottom:var(--gap);border-bottom:var(--line)}.section-head b,.render-settings h4,.shortcut-groups h4,.sim-section-head b,.material-section-head{color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.section-head b{margin-right:auto}.section-count{flex:0 0 auto;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.section{display:flex;flex-direction:column;gap:var(--gap)}.object-tree-panel{display:flex;flex-direction:column;overflow:hidden}.object-tree-panel>header,.demo-parameters>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--inset);flex:0 0 auto;padding:var(--inset);background:var(--plane-sheet)}.object-tree-rows{display:flex;flex-direction:column;gap:0;min-height:0;padding:0 0 var(--inset);overflow:auto}.object-tree-row>*,.material-inspector-head>*,.render-preset-heading>*,.render-customize>*{line-height:calc(var(--unit) * 4)}.object-tree-row{display:flex;align-items:center;gap:var(--gap);min-height:var(--control-sm);padding:0 var(--inset);color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);cursor:pointer;user-select:none;transition:background-color var(--dur-fast) var(--ease)}.object-tree-row:hover,.object-tree-row.hovered{background:var(--plane-step)}.object-tree-row.active{background:var(--block-current);color:var(--block-current-ink)}.object-tree-row.active .tree-detail,.object-tree-row.active .tree-material,.object-tree-row.active .tree-caret,.object-tree-row.active .tree-icon{color:var(--block-current-ink)}.object-tree-row.operator{color:var(--ink);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.tree-caret{display:grid;place-items:center;flex:0 0 auto;width:calc(var(--unit) * 4);height:calc(var(--unit) * 4);padding:0;border:0;background:none;color:var(--ink-3);cursor:pointer}.tree-caret-space{flex:0 0 auto;width:calc(var(--unit) * 4)}.tree-icon{display:grid;place-items:center;flex:0 0 auto;color:var(--ink-3)}.tree-icon svg{width:calc(var(--unit) * 3);height:calc(var(--unit) * 3)}.tree-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-detail{flex:0 0 auto;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);white-space:nowrap}.tree-badge{margin-left:auto;color:var(--ink)}.tree-badge+.tree-material{margin-left:0}.tree-material{display:block;flex:0 1 auto;max-width:calc(var(--unit) * 18);margin-left:auto;line-height:calc(var(--control-tag) - var(--hairline) * 2);overflow:hidden;text-overflow:ellipsis}.material-panel{max-height:100%;overflow:auto}.material-panel>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--gap);padding:var(--inset);background:var(--plane-sheet)}.material-panel-title{display:flex;flex:1;align-items:center;gap:var(--inset);min-width:0;padding:0;border-color:transparent;background:transparent;text-align:left}.material-panel-title b{flex:0 0 auto;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.material-add{flex:0 0 auto;width:var(--control-sm);padding:0;border-color:transparent;background:transparent;color:var(--ink)}.material-add,.material-panel-title>b{align-self:stretch;display:grid;align-content:start;justify-items:center;height:auto}.material-add:hover:not(:disabled){color:var(--ink);background:var(--plane-step)}.material-help{margin:0;padding:0 var(--inset) var(--inset);color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.material-browser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding:0 var(--inset) var(--inset)}.material-card{min-width:0;height:calc(var(--unit) * 27);padding:var(--inset) var(--gap);border:var(--line);background:var(--plane-sheet);cursor:grab;outline:none;text-align:center;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.material-card:hover,.material-card:focus-visible{border-color:var(--rule-strong);background:var(--plane-step)}.material-card.active,.material-card.active:hover{border-color:var(--rule-strong);background:var(--plane-sheet)}.material-card.active .material-name{background:var(--block-current);color:var(--block-current-ink)}.material-card:active{cursor:grabbing}.material-panel-icon{flex:0 0 auto;width:calc(var(--unit) * 4);height:calc(var(--unit) * 4)}.material-panel-icon img{display:block;width:100%;height:100%}.material-preview{width:calc(var(--unit) * 12);height:calc(var(--unit) * 12);margin:0 auto var(--gap);border:var(--line);background:var(--plane-ground)}.material-preview img{display:block;width:100%;height:100%}.material-name,.material-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-name{margin:0 calc(var(--gap) * -1);padding:var(--gap) var(--gap);color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.material-card small{color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.material-inspector{display:grid;gap:var(--gap);padding:var(--inset);border-top:var(--line);background:var(--plane-step)}.material-section-head{display:flex;align-items:center;gap:var(--gap);margin-top:var(--gap);padding-top:var(--inset);border-top:var(--line)}.material-physical{display:grid;gap:var(--gap);margin:0}.material-physical-row{display:grid;grid-template-columns:var(--col-label) minmax(0,1fr);align-items:center;gap:var(--gap) var(--inset);min-width:0}.material-physical-row dt{color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);white-space:normal}.material-physical-row dd{display:grid;grid-template-columns:minmax(0,1fr) var(--control-sm) var(--col-unit);align-items:center;gap:var(--gap);margin:0;white-space:nowrap}.material-physical-row input[type=number]{height:var(--control-sm);padding:0 var(--gap);text-align:right}.material-physical-row dd small{color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);overflow:hidden;text-overflow:ellipsis}.material-physical-row dd em{padding:0 var(--gap);border:var(--line-pending);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);font-style:normal;line-height:calc(var(--control-sm) - var(--hairline) * 2);text-align:right}.material-physical-state,.material-physical-clear{height:var(--control-sm);padding:0;border-color:transparent;background:transparent;color:var(--ink-3)}.material-physical-state{grid-column:1 / span 2;justify-self:stretch;border-color:var(--rule);color:var(--ink-3)}.material-physical-state:hover:not(:disabled),.material-physical-clear:hover:not(:disabled){border-color:var(--rule-strong);background:var(--plane-step);color:var(--ink)}.material-physical-row.free dt:after{content:" free";color:var(--ink-3)}.material-physical-error{grid-column:1 / -1;margin:0;padding:var(--gap) 0 var(--gap);border-top:var(--line);color:var(--ink-2);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose);white-space:normal}.material-physical-error button{height:var(--control-sm);margin-top:var(--gap);padding:0 var(--inset)}.material-inspector-head,.material-inspector label,.material-inspector label>span{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);min-width:0}.material-inspector-head strong{min-width:0;overflow:hidden;font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.material-inspector-head label{flex:0 0 auto;color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.material-inspector input[type=color]{width:var(--control-sm);height:var(--control-sm);padding:var(--gap);border:var(--line);background:var(--plane-sheet)}.material-inspector>label{display:grid;grid-template-columns:var(--col-label) minmax(0,1fr);color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.material-inspector label b{color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.material-inspector>label>*{min-width:0}.material-inspector label>span{overflow:hidden;white-space:nowrap}.material-inspector input[type=range]{width:100%;accent-color:var(--ink)}.material-empty{margin:0;padding:var(--inset);border-top:var(--line);color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.view-cube{position:absolute;top:calc(var(--section) + var(--control-lg) + var(--gap));right:var(--section);z-index:10;display:flex;flex-direction:column;align-items:center;gap:var(--gap);pointer-events:none}.cube-stage{width:calc(var(--unit) * 31);height:calc(var(--unit) * 31);cursor:grab;touch-action:none;overflow:visible;pointer-events:auto}.cube-stage,.cube-triad{font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.cube-stage:active{cursor:grabbing}.cube-facet{fill:var(--plane-sheet);stroke:var(--rule-strong);stroke-width:1;stroke-linejoin:round;cursor:pointer;transition:fill var(--dur-fast) var(--ease)}.cube-facet:hover{fill:var(--plane-step)}.cube-facet.active,.cube-facet.active:hover{fill:var(--plane-step);stroke:var(--viewport-ink);stroke-width:2}.cube-label{letter-spacing:var(--track-caps);fill:var(--ink-3);pointer-events:none;user-select:none}.cube-label.active{fill:var(--viewport-ink)}.cube-triad{position:absolute;left:var(--section);bottom:var(--section);z-index:10;width:calc(var(--unit) * 16);height:calc(var(--unit) * 16);overflow:visible;pointer-events:none}.cube-axis{stroke-width:1.5;stroke-linecap:square}.cube-axis.axis-x{stroke:var(--axis-x)}.cube-axis.axis-y{stroke:var(--axis-y)}.cube-axis.axis-z{stroke:var(--axis-z)}.cube-axis-label{pointer-events:none;user-select:none}.cube-axis-label.axis-x{fill:var(--axis-x)}.cube-axis-label.axis-y{fill:var(--axis-y)}.cube-axis-label.axis-z{fill:var(--axis-z)}button.icon{display:grid;place-items:center;width:var(--control-sm);padding:0}.toolbar button.icon.active{border-color:var(--accent);background:var(--block-current);color:var(--block-current-ink)}button.primary,button.icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap);line-height:1}.render-panel{display:flex;flex-direction:column;overflow:hidden}.render-panel>header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--inset);padding:var(--inset)}.render-settings{display:flex;flex-direction:column;gap:var(--section);min-height:0;padding:0 var(--inset) var(--inset);overflow:auto}.render-settings section{display:flex;flex-direction:column;gap:var(--gap)}.render-settings h4{margin:0}.render-preset-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--inset)}.render-preset-heading small{flex:0 0 auto;color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.render-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.render-sdf{gap:var(--gap);padding-top:var(--inset);border-top:var(--line)}.render-sdf .sim-legend-values{align-items:center}.sdf-axis-ramp{background:linear-gradient(to right,red,#0f0,#00f)}.sdf-depth-ramp{background:linear-gradient(to right,#fff,#000)}.render-sdf-zero{height:var(--control-sm);padding:0 var(--inset);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.render-preset-card{position:relative;display:flex;flex-direction:column;align-items:stretch;height:auto;min-width:0;padding:var(--gap);border-color:var(--rule);background:var(--plane-sheet);text-align:left}.render-preset-card:hover{background:var(--plane-step)}.render-preset-card.selected{border-color:var(--rule-strong)}.render-preset-card.active,.render-preset-card.active:hover{border-color:var(--rule-strong);background:var(--plane-sheet);color:var(--ink)}.render-preset-card strong{margin:0 calc(var(--gap) * -1);padding:var(--gap) var(--gap);overflow:hidden;color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.render-preset-card.active strong{background:var(--block-current);color:var(--block-current-ink)}.render-preset-preview{display:flex;align-items:center;justify-content:center;height:var(--control-xl);margin-bottom:var(--gap);border:var(--line);background:var(--plane-ground);color:var(--ink-2)}.render-preset-card.active .render-preset-preview{color:var(--ink)}.render-preset-card small{margin-top:var(--gap);overflow-wrap:anywhere;color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.render-customize{display:flex;align-items:center;line-height:calc(var(--unit) * 4);justify-content:space-between;gap:var(--inset);height:var(--control-lg);padding:0 var(--inset);border-color:var(--rule-strong);background:var(--plane-sheet);text-align:left}.render-customize>span{display:flex;align-items:baseline;gap:var(--gap);min-width:0;overflow:hidden}.render-customize b{flex:0 0 auto}.render-customize small{min-width:0;overflow:hidden;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.render-customize>i{flex:0 0 auto;color:var(--ink)}.render-preset-editor{display:flex;flex-direction:column;gap:var(--section);padding-top:var(--section);border-top:var(--line)}.render-preset-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--gap)}.render-preset-actions span{min-width:0;overflow:hidden;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.render-preset-actions button{height:var(--control-sm);padding:0 var(--inset)}.segmented{display:flex;padding:var(--gap);border:var(--line);background:var(--plane-sheet)}.segmented button{white-space:nowrap;flex:1;min-width:0;height:var(--control-sm);padding:0 var(--gap);border:0;background:transparent;color:var(--ink-2);transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--block-current);color:var(--block-current-ink)}.switch{display:flex;align-items:flex-start;gap:var(--inset);padding:var(--gap);cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.switch:hover{background:var(--plane-step)}.switch input{flex:0 0 auto;margin-top:var(--gap);accent-color:var(--ink)}.switch span{display:flex;flex-direction:column;gap:var(--gap);min-width:0;font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.switch small{color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.annotation-options{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-left:var(--section);padding-left:var(--inset);border-left:var(--line)}.annotation-options.disabled{opacity:.45}.switch.compact{min-height:var(--control-sm);padding-block:var(--gap)}.selection-chip{color:var(--ink)}.status{display:block;flex:0 1 auto;min-width:0;max-width:46ch;overflow:hidden;color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);text-overflow:ellipsis;white-space:nowrap}.status .dot{display:inline-block;margin-right:var(--gap);vertical-align:middle;width:calc(var(--unit) * 2);height:calc(var(--unit) * 2);border-radius:50%;background:var(--ink-3);transition:background-color var(--dur-base) var(--ease)}.status.ready .dot{background:var(--ok)}.status.error .dot{background:var(--danger)}.status.stale .dot{background:var(--warn)}.job-chip{display:flex;align-items:stretch;height:calc(var(--control-sm) + var(--hairline) * 2);border:var(--line);animation:pop-in var(--dur-base) var(--ease)}.job-chip-open,.job-chip-cancel{height:100%;border-color:transparent;background:transparent;color:var(--ink-2)}.job-chip-open{display:flex;align-items:center;gap:var(--gap);max-width:28ch;padding:0 var(--inset);overflow:hidden;white-space:nowrap}.job-chip-cancel{width:var(--control-sm);padding:0;border-left:var(--line)}.job-chip-open:hover,.job-chip-cancel:hover{background:var(--plane-step);color:var(--ink)}.job-chip-open b{color:var(--ink);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.job-chip-open span{min-width:0;overflow:hidden;color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis}[data-testid=job-chip-others]{flex:0 0 auto;overflow:visible;white-space:nowrap}.job-chip-open>*:nth-child(n+3):before{content:"·";margin-right:var(--gap);color:var(--ink-3)}.job-chip-open time{color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.job-chip .dot{flex:0 0 auto;width:calc(var(--unit) * 2);height:calc(var(--unit) * 2);border-radius:50%;background:var(--ok);animation:job-pulse 1.4s var(--ease-inout) infinite}.job-chip.failed .dot{background:var(--danger);animation:none}@keyframes job-pulse{50%{opacity:.28}}@media(prefers-reduced-motion:reduce){.job-chip .dot{animation:none}}.editor-collapse{display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);padding:0;border-color:transparent;background:transparent;color:var(--ink-3)}.editor-collapse:hover{color:var(--ink);background:var(--plane-step)}.pane{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.editor-pane{z-index:30;border-right:var(--line);background:var(--plane-sheet)}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);height:calc(var(--unit) * 10);padding:0 var(--inset);border-bottom:var(--line)}.pane-title{min-width:0;overflow:hidden;color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.editor-head-actions{display:flex;align-items:center;gap:var(--inset)}.pane-hint{color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);white-space:nowrap}.editor-host{flex:1;min-height:0;overflow:hidden}.console{max-height:32%;margin:0;padding:var(--inset);overflow:auto;border-top:var(--line);background:var(--plane-ground);color:var(--danger-ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);white-space:pre-wrap}.viewer-pane{background:var(--surface-viewport)}.viewer-pane:after{content:"";position:absolute;inset:0;z-index:6;border:var(--line);pointer-events:none}.viewer-canvas{flex:1;width:100%;min-height:0;display:block;cursor:grab;touch-action:none}.viewer-canvas.material-drop-active{outline:var(--line-pending);outline-color:var(--viewport-ink);outline-offset:calc(var(--unit) * -2)}.graticule-gain{position:absolute;top:var(--section);left:calc(var(--unit) * 16);z-index:5;display:flex;align-items:center;gap:var(--gap);pointer-events:none}.graticule-gain>span{color:var(--viewport-ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.graticule-gain>span:not(:first-child){margin-left:var(--section)}.graticule-gain b{color:var(--viewport-ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.graticule-gain i{color:var(--viewport-ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);font-style:normal}.graticule-contour{top:calc(var(--unit) * 8)}.graticule-gain.plated{padding:var(--gap) var(--inset);background:var(--surface-viewport);outline:var(--line)}.sdf-key{padding:var(--gap) var(--inset);background:var(--surface-viewport);outline:var(--line);position:absolute;top:calc(var(--unit) * 14);left:calc(var(--unit) * 16);z-index:5;width:calc(var(--unit) * 50);pointer-events:none}.sdf-key-ramp{height:calc(var(--unit) * 2.5);border:var(--line)}.sdf-key-values{display:flex;justify-content:space-between;gap:var(--gap);margin-top:var(--gap);color:var(--viewport-ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.title-block{position:absolute;right:calc(var(--unit) * 10);bottom:calc(var(--unit) * 10);z-index:5;display:grid;grid-template-columns:calc(var(--unit) * 16) calc(var(--unit) * 34);margin:0;border:var(--line);background:var(--surface-viewport);pointer-events:none}.title-block dt,.title-block dd{margin:0;padding:var(--gap) var(--inset);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.title-block dt{border-right:var(--line);color:var(--viewport-ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.title-block dd{color:var(--viewport-ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.title-block dt:nth-of-type(n+2),.title-block dd:nth-of-type(n+2){border-top:var(--line)}.constraint-overlay{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible;pointer-events:none}.properties-panel{display:flex;flex-direction:column;min-height:0;overflow:auto}.properties-panel>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--inset);flex:0 0 auto;padding:var(--inset);background:var(--plane-sheet)}.properties-follow{height:var(--control-tag);padding:0 var(--inset);color:var(--ink-2)}.properties-empty,.properties-note{margin:0;padding:0 var(--inset) var(--inset);color:var(--ink-2);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.properties-section{padding:0 var(--inset) var(--inset)}.properties-section+.properties-section{border-top:var(--line);padding-top:var(--inset)}.properties-section h3{display:flex;align-items:baseline;gap:var(--gap);margin:0 0 var(--gap);font:inherit}.properties-section h3 i{margin-left:auto;font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);font-style:normal;color:var(--ink-3)}.properties-row{display:grid;grid-template-columns:var(--col-label) minmax(0,1fr);align-items:center;gap:var(--gap);margin-bottom:var(--gap)}.properties-row>span{font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);color:var(--ink-2)}.properties-row input{min-width:0;width:100%}.properties-vector{grid-template-columns:var(--col-label) 1fr 1fr 1fr}.properties-parameter{grid-column:2 / -1;font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);color:var(--ink-2)}.properties-readonly code{overflow:hidden;padding:0 var(--inset);border:var(--line-pending);text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);line-height:calc(var(--control-sm) - var(--hairline) * 2)}.object-tree-row.boolean .tree-label{color:var(--ink-2)}.object-tree-row.reference .tree-label{color:var(--ink-3)}.object-tree-row.heading .tree-label{color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps)}.tree-badge+.tree-badge{margin-left:0}.object-tree-row.active .tree-label{color:var(--block-current-ink)}.plane-labels{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none}.plane-label{position:absolute;transform:translate(var(--unit),-100%);border-color:var(--rule-strong);background:var(--surface-viewport-94);color:var(--viewport-ink);cursor:pointer;pointer-events:auto}.plane-label:hover{background:var(--plane-sheet)}.plane-label.derived{border-style:dashed;color:var(--viewport-ink-2);border-color:var(--rule)}.plane-label.preview{border-style:dashed;pointer-events:none}.constraint-distance{fill:var(--viewport-mark);stroke:rgba(var(--viewport-mark-rgb),var(--alpha-edge));stroke-width:1;vector-effect:non-scaling-stroke}.constraint-distance .dimension{stroke:var(--viewport-mark);stroke-width:1.35}.constraint-distance circle{stroke:var(--surface-viewport);stroke-width:1}.constraint-distance text{fill:var(--viewport-ink);stroke:var(--surface-viewport-94);stroke-width:5px;paint-order:stroke fill;font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-anchor:middle}.constraint-fixed circle{fill:var(--surface-viewport-94);stroke:var(--viewport-mode);stroke-width:1.2}.constraint-fixed rect{fill:var(--viewport-mode);stroke:none}.constraint-fixed path{fill:none;stroke:var(--viewport-mode);stroke-width:1.4;stroke-linecap:round}.viewer-hint{position:absolute;right:var(--section);bottom:var(--section);left:calc(var(--unit) * 16);z-index:5;margin:0;overflow:hidden;text-align:right;color:var(--viewport-ink-2);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.viewer-pane.sdf-data .viewer-hint{left:auto;max-width:calc(100% - var(--unit) * 19);padding:var(--gap) var(--inset);background:var(--surface-viewport);outline:var(--line)}.mode-simulate-slot{display:contents}.viewer-error{position:absolute;bottom:calc(var(--unit) * 10);right:var(--section);left:calc(var(--unit) * 16);z-index:12;padding:var(--inset);border:var(--line);border-color:rgba(var(--danger-rgb),var(--alpha-edge));background:var(--plane-sheet);color:var(--danger-ink);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose);animation:rise-in var(--dur-slow) var(--ease)}.viewer-error p{margin:0 0 var(--inset)}.dialog-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:var(--scrim);animation:fade-in var(--dur-base) var(--ease)}.dialog{display:flex;flex-direction:column;min-height:0;width:min(calc(var(--unit) * 220),calc(100% - var(--unit) * 12));height:min(calc(var(--unit) * 170),calc(100% - var(--unit) * 12));border:var(--line);background:var(--plane-sheet);animation:rise-in var(--dur-slow) var(--ease)}.dialog header{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);padding:var(--inset);border-bottom:var(--line);font:var(--text-title);letter-spacing:var(--track-title);text-transform:var(--case-title);font-variant-numeric:var(--numeric-title)}.dialog pre{flex:1;min-height:0;margin:0;padding:var(--inset);overflow:auto;font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.dialog-compact{width:min(calc(var(--unit) * 115),calc(100% - var(--unit) * 12));height:auto;max-height:min(calc(var(--unit) * 145),calc(100% - var(--unit) * 12))}.dialog-body{display:flex;flex-direction:column;gap:var(--inset);min-height:0;padding:var(--inset);overflow:auto}.dialog-note{margin:0;color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.dialog-note code{color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.dialog-error{margin:0;color:var(--danger-ink);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.save-as-form label{display:grid;gap:var(--gap);color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.save-as-form input[type=text]{height:var(--control-sm);padding:0 var(--inset);border:var(--line);background:var(--plane-sheet);color:var(--ink)}.save-as-form button.primary{justify-self:start}.shortcut-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section)}.shortcut-groups h4{margin:0 0 var(--gap)}.shortcut-groups ul{display:grid;gap:var(--gap);margin:0;padding:0;list-style:none}.shortcut-groups li{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.shortcut-groups li span{min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.shortcut-groups kbd{color:var(--ink)}.sim-panel{max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:var(--section);padding:var(--inset)}.sim-panel>*{flex:0 0 auto}.sim-panel header{display:flex;align-items:center;justify-content:space-between;gap:var(--inset)}.sim-row{display:flex;align-items:flex-end;gap:var(--inset)}.sim-row label{display:flex;flex-direction:column;gap:var(--gap);min-width:0;color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.sim-row input[type=number]{width:calc(var(--unit) * 19)}.sim-help{display:flex;flex-direction:column;gap:var(--gap);margin:0;color:var(--ink-2);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.sim-studies{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--inset)}.sim-study{display:flex;flex-direction:column;gap:var(--gap);padding:calc(var(--inset) - var(--hairline));border:var(--line);background:var(--plane-sheet)}.sim-study-head{display:flex;align-items:center;gap:var(--gap);min-width:0}.sim-study-head strong{flex:1 1 auto;min-width:0;overflow:hidden;font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.sim-delete{flex:0 0 auto;display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);padding:0;border-color:transparent;background:transparent;color:var(--ink-3)}.sim-delete:hover:not(:disabled){border-color:var(--danger);color:var(--danger-ink)}.sim-args{display:grid}.sim-args label{display:grid;grid-template-columns:var(--col-label) minmax(0,1fr) var(--col-unit);align-items:center;gap:var(--inset);min-width:0;min-height:calc(var(--control-sm) + var(--gap) * 2);border-bottom:var(--line);color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.sim-args input[type=number],.sim-args .ui-select{width:100%}.sim-bcs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--gap)}.sim-bcs li{display:grid;grid-template-columns:minmax(0,1fr) auto var(--control-sm);align-items:start;gap:var(--inset);min-width:0;padding:calc(var(--gap) - var(--hairline)) var(--inset);border:var(--line);background:var(--plane-sheet);transition:background-color var(--dur-fast) var(--ease)}.sim-bcs li:hover{background:var(--plane-step)}.sim-bcs li.sim-bc-readonly{border-style:dashed}.sim-bc-main{display:flex;flex-direction:column;gap:var(--gap);flex:1 1 auto;min-width:0}.sim-bc-type{display:flex;align-items:center;font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.sim-bc-main code{max-width:100%;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);overflow:hidden;overflow-wrap:anywhere}.sim-bcs li input[type=number]{flex:0 0 auto;width:calc(var(--unit) * 14)}.sim-bcs li .sim-vector input[type=number]{width:calc(var(--unit) * 10)}.sim-bcs li>.sim-delete,.sim-bcs li>small{align-self:stretch;display:grid;align-content:start;justify-items:center;height:auto;line-height:calc(var(--unit) * 4)}.sim-bcs li>small{flex:0 0 auto}.sim-bc-readonly .sim-bc-type{color:var(--ink-3)}.sim-add-bc{height:var(--control-sm);border-style:dashed;color:var(--ink-2)}.sim-add-study{gap:var(--gap)}.sim-add-study button{flex:1;min-width:0;height:var(--control-sm);white-space:nowrap}.sim-builder{display:flex;flex-direction:column;gap:var(--gap);padding:var(--inset);border:var(--line-pending);animation:rise-in var(--dur-base) var(--ease)}.sim-builder-row{display:flex;gap:var(--inset)}.sim-builder-row label{display:flex;flex-direction:column;gap:var(--gap);min-width:0;color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);flex:1}.sim-sides{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gap)}.sim-sides button{height:var(--control-sm);min-width:0;padding:0}.sim-builder-vector{display:flex;align-items:center;gap:var(--gap);min-width:0;color:var(--ink-2)}.sim-builder-vector>span{flex:0 0 auto;font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);width:var(--col-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-builder-vector input[type=number]{flex:1 1 0;min-width:0}.sim-builder-actions{display:flex;gap:var(--gap)}.sim-builder-actions button{flex:1;min-width:0;height:var(--control-sm)}.sim-vector{display:flex;gap:var(--gap);min-width:0}.sim-legend{display:flex;flex-direction:column;gap:var(--gap)}.sim-ramp{height:calc(var(--unit) * 2.5);border:var(--line)}.sim-legend-values{display:flex;justify-content:space-between;gap:var(--inset);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.sim-view-control{align-items:center;justify-content:space-between}.sim-view-control .switch,.sim-slice .switch{flex-direction:row!important;align-items:center}.sim-slice,.sim-deform,.sim-view-control{align-items:center}.sim-slice .segmented button{min-width:var(--control-sm)}.sim-slice input[type=range]{flex:1;min-width:calc(var(--unit) * 15);accent-color:var(--ink)}.sim-note,.sim-error{margin:0;font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.sim-note{color:var(--ink-3)}.sim-error{color:var(--danger-ink);white-space:pre-wrap}.dock .optimize-panel{min-height:calc(var(--unit) * 30)}.opt-objective{margin:0;color:var(--ink-2);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose);overflow-wrap:anywhere}.opt-objective code{color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.opt-parameters{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--gap)}.opt-parameters li{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);min-width:0;padding:var(--gap) var(--inset);background:var(--plane-step);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.opt-parameters code{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--param-ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-overflow:ellipsis;white-space:nowrap}.opt-parameter-values{flex:0 0 auto;display:flex;align-items:center;gap:var(--gap);color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.opt-parameter-values i{font-style:normal;color:var(--ink-3)}.opt-result{display:flex;flex-direction:column;gap:var(--gap)}.opt-spark svg{display:block;width:100%;height:calc(var(--unit) * 11);border:var(--line);background:var(--plane-sheet)}.opt-spark polyline{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.opt-spark .opt-cursor{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.opt-summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--inset);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.opt-summary b{color:var(--ink)}.opt-player{display:flex;align-items:center;gap:var(--gap)}.opt-player button{flex:0 0 auto;display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);padding:0}.opt-player input[type=range]{flex:1;min-width:calc(var(--unit) * 12);accent-color:var(--ink)}.opt-frame-label{flex:0 0 auto;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);white-space:nowrap}.opt-player button.opt-replay{width:auto;padding:0 var(--inset);white-space:nowrap}.opt-player-hint{display:block;color:var(--ink-3);font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.opt-live{display:flex;flex-direction:column;gap:var(--gap)}.opt-progress{position:relative;height:calc(var(--unit) * 1.5);overflow:hidden;background:var(--plane-step)}.opt-progress i{display:block;height:100%;background:var(--ink);transition:width var(--dur-slow) var(--ease)}.opt-progress.indeterminate i{width:35%!important;animation:opt-progress-sweep 1.3s var(--ease-inout) infinite;opacity:.75}@keyframes opt-progress-sweep{0%{margin-left:0}50%{margin-left:65%}to{margin-left:0}}@media(prefers-reduced-motion:reduce){.opt-progress.indeterminate i{animation-duration:3s!important}}.opt-live-stats{display:flex;align-items:baseline;justify-content:space-between;gap:var(--inset);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.opt-live-stats b{color:var(--ink)}.sim-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--inset);min-width:0}.sim-section-head b{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-add-inline{flex:0 0 auto;height:var(--control-sm);padding:0 var(--inset);border-style:dashed;color:var(--ink-2)}.sim-inspect{display:flex;flex-direction:column;gap:var(--gap)}.sim-stats{display:flex;flex-wrap:wrap;gap:var(--gap) var(--inset);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.sim-stats span{font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps)}.sim-stats b{font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);color:var(--ink)}.sim-histogram{display:block;width:100%;height:calc(var(--unit) * 10);border:var(--line);background:var(--plane-sheet)}.sim-histogram rect{fill:rgba(var(--ok-rgb),var(--alpha-mark))}.sim-result-summary{display:flex;flex-direction:column;gap:var(--gap)}.sim-field-table{width:100%;table-layout:fixed;border-collapse:collapse}.sim-field-table th{text-align:left;color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);padding:var(--gap) var(--gap);border-bottom:var(--line)}.sim-field-table td{padding:var(--gap) var(--gap);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);border-bottom:var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-field-picker{align-self:stretch}.sim-deform input[type=range]{flex:1;min-width:calc(var(--unit) * 12);accent-color:var(--ink)}.sim-bc-swatch{flex:0 0 auto;display:inline-block;width:calc(var(--unit) * 1.5);height:calc(var(--unit) * 1.5);margin-right:var(--gap)}.sim-bc-legend{display:flex;flex-wrap:wrap;gap:var(--gap) var(--inset);color:var(--ink-2);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.sim-bc-legend span{display:inline-flex;align-items:center;gap:var(--gap)}.sim-bc-legend i{flex:0 0 auto;width:calc(var(--unit) * 2);height:calc(var(--unit) * 2)}.sim-pick{height:var(--control-sm)}.bc-pick-rect{position:absolute;z-index:6;border:var(--line-pending);border-color:rgba(var(--viewport-accent-rgb, var(--viewport-mode-rgb)),var(--alpha-mark));background:rgba(var(--viewport-accent-rgb, var(--viewport-mode-rgb)),var(--alpha-tint));pointer-events:none}.sim-probe{position:absolute;z-index:7;transform:translate(calc(var(--unit) * 2),-100%);display:flex;flex-direction:column;gap:var(--gap);padding:var(--gap) var(--inset);border:var(--line);background:var(--plane-sheet);pointer-events:none;animation:fade-in var(--dur-fast) var(--ease)}.sim-probe b{font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);color:var(--viewport-ink)}.sim-probe span{color:var(--ink-2)}.sim-probe small{font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);color:var(--ink-3)}.sim-method{align-self:stretch}.sim-method-hint{font:var(--text-prose);letter-spacing:var(--track-prose);text-transform:var(--case-prose);font-variant-numeric:var(--numeric-prose)}.sim-help p{margin:0}.sim-probe-row{padding:var(--gap) var(--inset);background:var(--plane-step)}.opt-parameters-toggle{height:var(--control-sm);border:none;background:transparent;color:var(--ink-3);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps);font-variant-numeric:var(--numeric-caps);text-align:left;padding:0 var(--gap)}.opt-parameters-toggle:hover{color:var(--ink-2)}.opt-player-strip{display:flex;flex-direction:column;gap:var(--gap)}.opt-spark .opt-cursor-point{fill:var(--ink);stroke:var(--surface-float);stroke-width:1}.object-tree-rows,.render-settings,.material-panel,.sim-panel,.sketch-panel,.dialog-body,.dialog pre{background:linear-gradient(var(--surface-float),var(--surface-float-00)) local top / 100% calc(var(--unit) * 4) no-repeat,linear-gradient(var(--surface-float-00),var(--surface-float)) local bottom / 100% calc(var(--unit) * 4) no-repeat,linear-gradient(var(--shade-scroll),var(--shade-none)) scroll top / 100% calc(var(--unit) * 5) no-repeat,linear-gradient(var(--shade-none),var(--shade-scroll)) scroll bottom / 100% calc(var(--unit) * 5) no-repeat,var(--scroll-base, transparent)}.material-panel,.sim-panel,.sketch-panel,.dialog-body,.dialog pre{--scroll-base: var(--plane-sheet)}.sim-panel>header{position:sticky;top:calc(var(--inset) * -1);z-index:3;margin:calc(var(--inset) * -1) calc(var(--inset) * -1) 0;padding:var(--inset);background:var(--plane-sheet)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}}@keyframes panel-in{0%{opacity:0;transform:translate(8px)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-6px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.menu-dropdown,.render-popover,.tool-group.open .tool-flyout,.object-tree-panel,.material-panel,.sim-panel,.sketch-panel,.render-panel,.sim-builder,.sim-probe,.viewer-error,.dialog,.dialog-backdrop{animation:none}}.brep-inspector{position:absolute;top:calc(var(--unit) * 12);left:calc(var(--unit) * 17);z-index:5;display:flex;flex-direction:column;gap:var(--gap);max-width:calc(100% - var(--unit) * 27)}.brep-inspector .title-block{position:static}.brep-card{grid-template-columns:calc(var(--unit) * 20) calc(var(--unit) * 56)}.brep-card dd{white-space:normal;overflow-wrap:anywhere}.brep-inspector dd small,.brep-legend small{color:var(--viewport-ink-2)}.brep-legend{display:grid;width:calc(var(--unit) * 76);box-sizing:border-box;padding:var(--gap) var(--inset);border:var(--line);background:var(--surface-viewport);color:var(--viewport-ink);font:var(--text-body);letter-spacing:var(--track-body)}.brep-legend-row{display:grid;grid-template-columns:auto calc(var(--unit) * 4) 1fr auto;gap:var(--gap);align-items:center;min-height:calc(var(--unit) * 6);cursor:pointer}.brep-legend-row input{margin:0}.brep-legend-row small{font-variant-numeric:tabular-nums}.brep-swatch{height:2px}.brep-off-surface{margin-top:var(--gap);padding-top:var(--gap);border-top:var(--line)}.brep-alert{color:var(--danger-ink)}.brep-step-detail{font-variant-numeric:tabular-nums}.tier-tag{margin-left:var(--gap);vertical-align:middle}.tier-tag.tier-public{border-style:dashed;border-color:var(--rule-strong)}.tier-reason{display:block;color:var(--ink-3);font:var(--text-body);letter-spacing:var(--track-body);white-space:normal}.switch .tier-tag{display:inline-flex;flex-direction:row;align-self:flex-start;margin-left:0;font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body)}.switch .tier-reason{color:var(--ink-3)}.ui-select{position:relative;display:inline-flex;min-width:0}.ui-select-field{display:flex;align-items:center;width:100%;min-width:0;height:var(--control-sm);padding:0 calc(var(--unit) * 7) 0 var(--inset);border:var(--line);border-radius:var(--radius);background-color:var(--plane-sheet);background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - calc(var(--unit) * 3)) 50%,calc(100% - calc(var(--unit) * 2)) 50%;background-size:var(--unit) var(--unit);background-repeat:no-repeat;color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);text-align:left;cursor:pointer}.ui-select-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-field:hover:not(:disabled){background-color:var(--plane-step)}.ui-select.open .ui-select-field,.ui-select-field:focus-visible{outline:var(--line-active);outline-offset:calc(var(--hairline) * -1)}.ui-select-field:disabled{border-color:var(--rule);color:var(--ink-3);cursor:default}.ui-select-list{position:absolute;top:calc(100% + var(--gap));left:0;z-index:70;min-width:100%;max-height:calc(var(--control-sm) * 12);margin:0;padding:var(--gap) 0;overflow-y:auto;list-style:none;border:var(--line);background:var(--plane-sheet)}.ui-select-list li{display:grid;grid-template-columns:calc(var(--unit) * 6) minmax(0,1fr);align-items:center;height:var(--control-sm);padding-right:var(--inset);color:var(--ink);font:var(--text-body);letter-spacing:var(--track-body);text-transform:var(--case-body);font-variant-numeric:var(--numeric-body);white-space:nowrap;cursor:pointer}.ui-select-list li.cursor{background:var(--plane-step)}.ui-select-list li.disabled{color:var(--ink-3);cursor:default}.ui-select-list li>i{color:var(--ink);font-style:normal;text-align:center}.app.demo{grid-template-rows:var(--control-xl) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.demo-toolbar{gap:var(--inset);min-width:0}.demo-toolbar button{flex:0 0 auto;white-space:nowrap}.demo-toolbar .ui-select{min-width:calc(var(--unit) * 40)}.demo-toolbar .status{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-badge,.demo-device{flex:0 0 auto;color:var(--ink-2);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps)}.demo-badge{padding:0 var(--gap);border:var(--line);line-height:calc(var(--control-tag) - 2px)}.demo-download{color:var(--ink-2);font:var(--text-body)}.demo-desk{display:grid;grid-template-columns:calc(var(--unit) * 72) minmax(0,1fr) calc(var(--unit) * 92);min-height:0}.demo-desk>.object-tree-panel{border-right:var(--line);background:var(--plane-sheet);overflow:auto}.demo-viewport{position:relative;display:grid;min-width:0;min-height:0}.demo-viewport>.viewer-pane{min-height:0}.demo-side{display:flex;flex-direction:column;min-height:0;border-left:var(--line);background:var(--plane-sheet)}.demo-about{flex:0 0 auto;padding:var(--inset);border-bottom:var(--line)}.demo-about h1{margin:0 0 var(--gap);font:var(--text-title);letter-spacing:var(--track-title);text-transform:var(--case-title)}.demo-about p{margin:0 0 var(--gap);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-snug)}.demo-about .demo-note{color:var(--ink-3);font-size:var(--text-xs)}.demo-about a{color:inherit}.demo-parameters{display:flex;flex-direction:column;min-height:0;overflow:auto}.demo-parameter-groups{display:flex;flex-direction:column;gap:var(--section);padding:0 var(--inset) var(--inset)}.demo-parameter{display:flex;flex-direction:column;gap:var(--gap);padding:var(--gap) 0;border-left:var(--line-active);border-left-color:transparent;padding-left:var(--gap)}.demo-parameter.owned{border-left-color:var(--construction)}.demo-parameter-head{display:flex;align-items:baseline;gap:var(--gap);font-size:var(--text-sm)}.demo-parameter-head code{color:var(--param-ink);margin-right:auto}.demo-parameter.locked .demo-parameter-head code{color:var(--ink-3)}.demo-lock{color:var(--construction-locked);font:var(--text-caps);letter-spacing:var(--track-caps);text-transform:var(--case-caps)}.demo-lock-reason{color:var(--ink-3);font-size:var(--text-xs);line-height:var(--leading-snug)}.demo-component{display:grid;grid-template-columns:var(--control-tag) minmax(0,1fr) calc(var(--unit) * 18);align-items:center;gap:var(--gap);font-size:var(--text-xs);color:var(--ink-3)}.demo-component input[type=range]{width:100%;accent-color:var(--param)}.demo-component input[type=number]{width:100%}.demo-select{height:var(--control-tag);padding:0 var(--gap)}.demo-nogpu{position:absolute;inset:25% 15% auto;z-index:5;padding:var(--section);border:var(--line);background:var(--plane-sheet);font-size:var(--text-sm);line-height:var(--leading-snug)}.demo-nogpu p{margin:var(--gap) 0 0;color:var(--ink-2)}.demo-error{position:absolute;left:var(--inset);bottom:var(--inset);z-index:5;margin:0;color:var(--danger-ink);font-size:var(--text-xs)}@media(max-width:1100px){.demo-desk{grid-template-columns:calc(var(--unit) * 52) minmax(0,1fr) calc(var(--unit) * 76)}.demo-device{display:none}}
