@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");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{font-family:Geist Variable,sans-serif;color:#e8e7e2;background:#181818;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;--surface:#181818;--raised:#1f1f1f;--inset:#272727;--line:rgba(255,255,255,.085);--muted:#9e9e97;--faint:#777970;--accent:#edac66;--mint:#a3c8ab;--ease:cubic-bezier(.32,.72,0,1)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.36}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}a{color:inherit;text-decoration:none}p{margin:0;text-wrap:pretty}h1,h2,h3{margin:0;font-weight:600;text-wrap:balance}svg{flex-shrink:0}button svg{vertical-align:middle}input,select{min-width:0}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;height:16px;margin:0}input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent);flex-shrink:0}input:disabled{cursor:not-allowed}kbd{font-family:inherit;font-size:12px;line-height:16px;font-weight:400;color:#b3b4ab;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:0 4px;white-space:nowrap}.app-shell{height:100dvh;display:flex;flex-direction:column;isolation:isolate;min-height:480px;overflow:hidden;font-size:14px;line-height:20px}.skip-link{position:fixed;top:8px;left:50%;transform:translateY(-150%);background:var(--accent);color:#181818;padding:8px 16px;z-index:100;border-radius:4px}.skip-link:focus{transform:translateY(0)}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;border-bottom:1px solid var(--line);background:#181818;flex-shrink:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:208px}.brand>svg{color:var(--accent);transform:rotate(-6deg)}.brand>div{display:flex;flex-direction:column;gap:0}.brand strong{font-size:20px;line-height:24px;letter-spacing:.045em;font-weight:650}.brand span{font-size:12px;line-height:16px;letter-spacing:.2em;color:#a4a59c}.main-nav{display:flex;align-items:stretch;align-self:stretch;gap:24px;flex:1}.nav-link{font-size:14px;font-weight:500;color:var(--muted);position:relative;padding:0 4px}.nav-link.active{color:#eeeae1}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.nav-link:hover{color:#fff}.top-actions{display:flex;align-items:center;gap:12px}.local-status{display:flex;gap:8px;align-items:center;color:#b9baaf;font-size:12px;line-height:16px;white-space:nowrap;padding-right:12px}.local-status i,.dot{width:6px;height:6px;border-radius:50%;background:#9fa391;display:inline-block;flex-shrink:0}.local-status i,.dot.ready{background:#a5c79d}.dot.warning{background:#e3ab70}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;min-height:36px;border-radius:6px;font-size:14px;line-height:20px;font-weight:550;white-space:nowrap}.button.primary{background:var(--accent);color:#272016;border:1px solid var(--accent)}.button.primary:hover{background:#f6bd80}.button.primary kbd{margin-left:8px;border-color:#674d2b66;color:#654a2a;font-size:12px}.button.secondary{background:#1f1f1f;border:1px solid rgba(255,255,255,.14);color:#dfdfd6}.button.secondary:hover{background:#313131;border-color:#fff3}.full-width{width:100%}.icon-button{height:32px;width:32px;display:inline-flex;align-items:center;justify-content:center;color:#b5b6ae;border-radius:4px}.icon-button:hover{background:#313131;color:#eee}.workspace{display:flex;flex:1;min-height:0;min-width:0}.side-panel{display:flex;flex-direction:column;background:#181818;flex-shrink:0;z-index:10}.library{width:240px;border-right:1px solid var(--line)}.panel-heading{height:56px;display:flex;align-items:center;gap:8px;padding:0 16px;flex-shrink:0}.panel-heading h2{font-size:14px;line-height:20px;font-weight:550;flex:1}.panel-heading>svg{color:#888d82}.count{font-size:12px;line-height:16px;color:var(--faint);font-variant-numeric:tabular-nums}.library-tabs{display:flex;border-bottom:1px solid var(--line);margin:0 16px;flex-shrink:0}.library-tabs button{font-size:12px;line-height:16px;color:#9c9f94;padding:8px 0 12px;flex:1;position:relative;white-space:nowrap}.library-tabs button.active{color:#eae8df}.library-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#d5be98}.library-tabs button span{font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:12px;margin-left:4px}.search{margin:16px 16px 12px;display:flex;align-items:center;gap:8px;background:#1f1f1f;border:1px solid #ffffff12;border-radius:6px;padding:8px;color:#84877d}.search input{width:100%;border:0;background:none;color:#dddcd3;font-size:12px;line-height:16px;outline:none}.search:focus-within{outline:1px solid var(--accent)}.search input::placeholder{color:#92948b}.search kbd{font-size:12px;color:#696e61;border-color:#ffffff10}.category-tabs{display:flex;gap:4px;padding:0 16px 16px;flex-shrink:0}.category-tabs button{border-radius:4px;padding:4px 8px;color:#a2a497;font-size:12px;line-height:16px}.category-tabs button:first-child{padding-left:8px;padding-right:8px}.category-tabs button.active{background:#313131;color:#eee9db}.category-tabs button:hover{background:#272727;color:#fff}.scroll-area{overflow:auto;scrollbar-width:thin;scrollbar-color:#44483e transparent;min-height:0}.part-library{padding:0 12px 16px;flex:1}.part-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.part-card{display:flex;flex-direction:column;text-align:left;border:1px solid #ffffff0d;background:#1f1f1f;border-radius:8px;overflow:hidden;min-width:0;padding:0;transition:transform .18s var(--ease)}.part-card:hover:not(:disabled){background:#272727;border-color:#ffffff38;transform:translateY(-2px)}.part-card.chosen{border-color:var(--accent);background:#272727}.part-preview{height:76px;position:relative;display:flex;align-items:center;justify-content:center;width:100%}.part-preview img{width:100%;height:100%;object-fit:contain;pointer-events:none}.add-indicator{position:absolute;top:8px;right:8px;color:#7d8476;opacity:0}.part-card:hover .add-indicator,.part-card.chosen .add-indicator{opacity:1}.part-card.chosen .add-indicator{color:var(--accent)}.part-card-copy{display:flex;flex-direction:column;gap:2px;padding:0 8px 12px;width:100%;font-size:12px;line-height:16px}.part-card-copy strong{font-weight:500;color:#e3e3d9}.part-card-copy small{font-size:12px;color:#8f9485;line-height:16px}.thumb-skeleton{height:32px;width:64px;border-radius:6px;background:#313131;animation:loading-pulse 1.2s var(--ease) infinite alternate}.library-footer{padding:16px;display:flex;gap:8px;border-top:1px solid var(--line);align-items:flex-start;color:#9caa90;flex-shrink:0}.library-footer p{font-size:12px;line-height:16px;color:#91988a}.library-footer strong{font-weight:500;display:block;color:#c0c6b6;padding-bottom:4px}.library-footer>svg{margin-top:0}.assembly-list{padding:8px;flex:1}.assembly-row{display:flex;width:100%;align-items:center;gap:8px;text-align:left;padding:8px;border-radius:4px;font-size:12px;color:#abb2a1;min-height:36px}.assembly-row span{flex:1}.assembly-row.attached{padding-left:16px}.assembly-row:hover{background:#272727}.assembly-row.selected{background:#313131;color:#efdab5}.empty-copy{padding:16px;color:#a1a696;font-size:14px;line-height:20px}.empty-search{display:flex;align-items:center;flex-direction:column;gap:12px;padding:32px 8px;color:var(--muted)}.empty-search p{font-size:14px}.text-button{color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:4px}.viewport{position:relative;flex:1;min-width:0;overflow:hidden;background:#272727}.canvas-host{position:absolute;inset:0}.canvas-host canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.canvas-host canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.project-heading{position:absolute;left:24px;top:24px;max-width:calc(100% - 180px);pointer-events:none;display:flex;flex-direction:column;gap:8px}.eyebrow{font-size:12px;line-height:16px;letter-spacing:.1em;font-variant-numeric:tabular-nums;font-weight:500;color:#acb0a1;display:flex;align-items:center;gap:8px}.project-heading .eyebrow{color:#d1d5c4;font-size:12px}.project-square{display:inline-block;width:5px;height:5px;background:#d5c299}.project-slash{color:#9fa792}.project-name{font-size:30px;line-height:36px;font-weight:550;letter-spacing:-.035em;color:#f1eee3;background:transparent;border:0;padding:0;width:100%;max-width:360px;pointer-events:auto;outline-offset:4px}.project-name:hover:not(:disabled){background:#18181833;border-radius:4px}.project-name:disabled{opacity:1;-webkit-text-fill-color:#f1eee3}.project-meta{display:flex;align-items:center;gap:8px;color:#d2d5c7;font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.project-meta i{width:2px;height:2px;border-radius:50%;background:#9aab93}.view-top-actions{position:absolute;right:16px;top:24px;display:flex;gap:4px}.view-button{height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center;color:#d0d2c7;background:#181818cc;border:1px solid #ffffff12;border-radius:4px}.view-button:hover{background:#313131;color:#fff}.view-button.on{color:#e7c295;background:#272727e6}.view-controls{position:absolute;right:16px;bottom:64px;display:flex;flex-direction:column;gap:4px}.view-label{font-size:12px;line-height:16px;padding:0 4px}.build-toolbar{position:absolute;left:50%;top:160px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 8px;background:#181818ed;border:1px solid #ffffff14;border-radius:8px}.toolbar-group{display:flex;gap:4px}.tool{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;color:#b1b8a7}.tool:hover{background:#313131;color:#eee7d4}.tool.active{background:#313131;color:#edc792}.toolbar-divider{width:1px;height:16px;background:#ffffff17}.danger-tool:hover{color:#e4a78d}.action-prompt{position:absolute;left:16px;right:16px;bottom:64px;display:flex;align-items:center;justify-content:center;gap:12px;color:#dfdcd1;background:#181818f0;padding:12px;border:1px solid #edac6655;border-radius:8px;font-size:14px;line-height:20px;z-index:5}.action-prompt>svg{color:var(--accent)}.action-prompt strong{font-weight:500;color:var(--accent)}.action-prompt button{color:#aaa;padding:4px;margin-left:auto;display:flex}.viewport-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;color:#d1d6c8;font-size:12px;line-height:16px;background:#18181840;pointer-events:none}.orbit-hint{display:flex;align-items:center;gap:8px}.orbit-hint b{font-weight:400;color:#a7b19d;padding:0 4px}.scale-reference{display:flex;gap:8px;align-items:center;font-variant-numeric:tabular-nums}.scale-reference i{width:40px;height:6px;border:1px solid #c3cdb3;border-top:0;display:block}.loading-workshop,.viewport-error{position:absolute;inset:0;background:#272727;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.loading-workshop p,.viewport-error p{color:#a7ae9c;max-width:440px;font-size:14px;line-height:20px}.loading-object{width:96px;height:64px;background:#313131;border:1px solid #ffffff0f;transform:skewY(-8deg);border-radius:8px;animation:loading-pulse 1.2s var(--ease) infinite alternate}.viewport-error h2{font-size:20px;line-height:28px}.viewport-error>svg{color:var(--accent)}.inspector{width:280px;border-left:1px solid var(--line)}.inspector .panel-heading{border-bottom:1px solid var(--line)}.inspector-content{flex:1}.inspector-part{padding:16px}.part-identification{display:flex;justify-content:space-between;align-items:center;gap:8px}.part-identification .eyebrow{font-size:12px;line-height:16px;letter-spacing:.075em;color:#939c8a}.part-id{font-size:12px;line-height:16px;color:#7d8575;font-variant-numeric:tabular-nums}.inspector-preview{height:112px;display:flex;align-items:center;justify-content:center}.inspector-preview img{height:100%;max-width:200px;object-fit:contain}.inspector-part h2{font-size:18px;line-height:28px;font-weight:500;letter-spacing:-.02em;padding-bottom:8px}.inspector-part p{font-size:12px;line-height:20px;color:#9ca592}.part-properties,.connections-section,.electrical-section,.motor-readings{padding:16px;border-top:1px solid var(--line)}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;line-height:16px;color:#c0c7b6;font-weight:500;padding-bottom:12px}.section-label>span{color:#717b68;font-weight:400}.part-properties dl,.motor-readings dl{margin:0;display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:16px}.part-properties dl>div,.motor-readings dl>div{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.part-properties dt,.motor-readings dt{font-weight:450;color:#c2c8ba}.part-properties dd,.motor-readings dd{margin:0;font-weight:400;color:#9ba693;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.motor-settings{display:flex;flex-direction:column;gap:12px;padding-top:16px}.field-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:16px}.field-label label{color:#acb4a1}.field-label output{color:#d4c4a4;font-variant-numeric:tabular-nums}.select-field{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:16px;color:#adb5a2}.select-field select{font-size:12px;color:#d9decf;border:1px solid var(--line);padding:4px;border-radius:4px;background:#272727;max-width:136px}.check-field{display:flex;gap:8px;align-items:center;font-size:12px;line-height:16px;color:#a7b09c;cursor:pointer;min-height:24px}.anchor-field{padding-top:16px}.connection-input{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:16px;color:#7e8b73;padding-bottom:12px}.connection-input strong{color:#a5b198;font-weight:450}.port-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid #ffffff0a;background:#1f1f1f;border-radius:4px;padding:8px;margin-bottom:4px}.port-row:hover{background:#272727;border-color:#ffffff20}.port-symbol{display:inline-flex;width:18px;height:18px;border:1px solid #a3c8ab80;color:#afd0b1;border-radius:50%;align-items:center;justify-content:center}.port-symbol.rotary{border-color:#dbb37380;color:#dbb373}.port-row div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:16px}.port-row strong{font-weight:450;color:#d6dccc}.port-row small{font-size:12px;color:#8d9b81;line-height:16px}.port-row>svg{color:#7f8b73}.terminal-row{display:flex;gap:8px}.terminal{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#1f1f1f;border-radius:4px;padding:8px;flex:1;min-width:0;font-size:12px;line-height:16px;color:#abb5a0}.terminal span{flex:1}.terminal b{font-weight:500}.terminal.positive svg,.positive-text{color:#e5a382}.terminal.negative svg,.negative-text{color:#8cb8c4}.terminal.selected{border-color:var(--accent);background:#313131}.terminal:hover{background:#272727}.circuit-status{display:flex;align-items:center;gap:8px;font-size:12px;line-height:16px;padding:12px 0 8px}.circuit-status.good{color:#a8cba5}.circuit-status.warn{color:#dda870}.electrical-section .full-width{font-size:12px;line-height:16px;min-height:32px}.wire-list{display:flex;flex-direction:column;gap:4px;padding-top:8px}.wire-row{display:flex;align-items:center;gap:8px;font-size:12px;line-height:16px;color:#69765e;min-height:24px}.wire-row>span{width:8px;font-weight:600}.wire-target{flex:1;text-align:left;color:#a3ae97;font-size:12px;line-height:16px;padding:0}.wire-target:hover{color:var(--accent)}.wire-remove{display:flex;color:#6f7d61;padding:4px}.wire-remove:hover{color:#e3a085}.remove-component{padding:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:#949e87;font-size:12px;line-height:16px;width:100%}.remove-component:hover{color:#dfa181;background:#1f1f1f}.assembly-health{border-top:1px solid var(--line);padding:16px;flex-shrink:0}.assembly-health>div{display:flex;align-items:center;gap:8px;font-size:12px;line-height:16px;color:#c6cfba}.assembly-health strong{font-weight:450}.assembly-health p{font-size:12px;line-height:16px;color:#7f8b72;padding-top:4px}.inspector-empty{display:flex;align-items:flex-start;flex-direction:column;gap:16px;padding:32px 24px;color:#a4b195}.inspector-empty h2{font-size:18px;line-height:28px;color:#dce4cf}.inspector-empty p{font-size:14px;line-height:20px}.test-console{position:absolute;left:24px;right:24px;bottom:24px;border:1px solid #ffffff1f;border-radius:12px;background:#181818f5;padding:12px 16px;max-width:680px;margin:0 auto}.test-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.test-label{display:flex;align-items:center;gap:8px;color:#c3cbb8;font-size:12px;line-height:16px}.test-label>span{color:#7e8e70;padding-left:8px;font-variant-numeric:tabular-nums}.test-actions{display:flex;gap:4px}.telemetry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:8px 0 16px;font-variant-numeric:tabular-nums}.telemetry-grid>div{display:flex;flex-direction:column;gap:4px;min-width:0}.telemetry-grid>div>span{font-size:12px;line-height:16px;color:#96a586;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-grid strong{font-size:24px;line-height:32px;color:#efe9d8;display:flex;align-items:baseline;gap:4px;font-weight:450;white-space:nowrap}.telemetry-grid small{font-size:12px;line-height:16px;color:#9bab89;font-weight:400}.drive-controls{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:12px}.drive-pad{display:flex;align-items:flex-end;gap:4px;flex-shrink:0}.drive-pad>div{display:flex;flex-direction:column;gap:4px}.drive-key{width:32px;height:28px;background:#272727;border:1px solid #ffffff17;border-radius:4px;color:#c9d4bb;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.drive-key:hover,.drive-key.pressed{border-color:#d7ac68;background:#313131;color:#ecca98}.throttle-control{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.throttle-control>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:12px;line-height:16px;color:#c4ceb8}.throttle-control output{font-variant-numeric:tabular-nums;color:#e2bd83}.throttle-hints{display:flex;justify-content:space-between;font-size:12px;line-height:16px;color:#768868}.throttle-hints button{font-size:12px;line-height:16px;padding:0;color:#acbd9b}.throttle-hints button:hover{color:var(--accent)}.drive-hint{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:12px;line-height:16px;color:#899e76}.drive-hint p{display:flex;gap:4px}.simulating .view-controls{bottom:280px}.simulating .project-meta{color:#dce4cc}.statusbar{height:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;background:#181818;border-top:1px solid var(--line);font-size:12px;line-height:16px;color:#838a78;flex-shrink:0;z-index:15}.statusbar>div{display:flex;align-items:center;gap:12px}.statusbar>div>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.footer-divider{height:12px;width:1px;background:#ffffff10}.statusbar button{font-size:12px;line-height:16px;display:flex;gap:4px;align-items:center;color:#9da78f;padding:0}.statusbar button:hover{color:#ddd5ba}.toast{position:fixed;left:50%;bottom:48px;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#272727;border:1px solid #ffffff20;color:#d5dec7;padding:12px 16px;border-radius:8px;z-index:60;max-width:min(620px,calc(100vw - 32px));font-size:14px;line-height:20px;animation:toast-in .2s var(--ease)}.toast>svg{color:#bad0a5}.toast.error{border-color:#cc9b5366}.toast.error>svg{color:#e4b57c}.toast button{display:flex;align-items:center;padding:4px;color:#a3b191}.workshop-dialog{border:1px solid #ffffff20;border-radius:16px;background:#1f1f1f;color:#e8e9dd;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 64px);padding:0}.workshop-dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-content{padding:32px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:16px}.dialog-header>div{display:flex;flex-direction:column;gap:8px}.dialog-header .eyebrow{color:#ad9f83}.dialog-header h2{font-size:30px;line-height:36px;letter-spacing:-.035em;color:#efede4}.dialog-intro{font-size:14px;line-height:20px;color:#a7b09b;max-width:560px;padding-bottom:24px}.blueprint-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.blueprint-card{text-align:left;border:1px solid #ffffff12;border-radius:8px;padding:0;background:#272727;overflow:hidden}.blueprint-card:hover{border-color:#dfb471;background:#313131}.blueprint-art{height:128px;display:flex;justify-content:center;position:relative}.blueprint-art img{height:100%;max-width:100%;object-fit:contain}.blueprint-art>span{position:absolute;left:16px;top:16px;font-size:12px;line-height:16px;color:#aaae9a;letter-spacing:.1em}.blueprint-info{padding:0 16px 16px}.blueprint-info h3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;line-height:24px;font-weight:500}.blueprint-info h3 svg{color:#a5b18f}.blueprint-info p{font-size:12px;line-height:20px;color:#a5af97;padding-top:8px}.blueprint-file-actions{padding-top:24px;display:flex;justify-content:space-between;gap:16px}.guide ol{padding:0 0 0 24px;margin:0;display:flex;flex-direction:column;gap:16px}.guide li{color:#d4bd98;padding-left:8px;font-size:14px;line-height:20px}.guide li strong{font-weight:500;color:#e3e6d7}.guide li p{padding-top:4px;color:#a5b299}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:24px 0}.shortcut-grid>span{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:16px;color:#a8b59a}.prototype-note{display:flex;gap:12px;align-items:flex-start;background:#272727;border-radius:8px;padding:16px}.prototype-note>svg{color:#d3b784}.prototype-note strong{font-size:14px;line-height:20px;font-weight:500;color:#e3e4d6}.prototype-note p{font-size:12px;line-height:20px;color:#a6b198;padding-top:8px}.hidden-input,.mobile-tabs,.mobile-close,.panel-scrim{display:none}@keyframes loading-pulse{0%{opacity:.35}to{opacity:1}}@keyframes toast-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(min-width:1650px){.library{width:264px}.inspector{width:304px}.part-preview{height:96px}.part-card-copy{padding:0 12px 12px}.project-heading{left:32px;top:32px}.project-name{font-size:36px;line-height:40px}.build-toolbar{top:168px}.inspector-preview{height:136px}}@media(max-width:1200px){.library{width:216px}.inspector{width:256px}.topbar{padding:0 16px;gap:16px}.brand{min-width:184px}.main-nav{gap:16px}.local-status{display:none}.category-tabs{padding:0 8px 12px;gap:2px}.category-tabs button{padding:4px 8px}.part-library{padding:0 8px 12px}.project-heading{left:16px;top:24px;max-width:calc(100% - 48px)}.view-top-actions{top:136px;right:12px;flex-direction:column}.build-toolbar{top:144px}.project-name{font-size:24px;line-height:32px}.orbit-hint span{font-size:12px}.orbit-hint b{padding:0}.scale-reference{display:none}.viewport-bottom{padding:16px}.test-console{left:12px;right:12px;bottom:12px;padding:8px 12px}.telemetry-grid{gap:8px}.telemetry-grid strong{font-size:20px;line-height:28px}.drive-controls{gap:12px}.drive-hint{display:none}.simulating .view-controls{bottom:248px}.select-field{flex-wrap:wrap;gap:8px}.select-field select{max-width:none}}@media(max-width:980px){.library{width:200px}.inspector{width:232px}.part-card-copy{padding:0 8px 8px}.part-preview{height:64px}.part-card-copy small{font-size:12px}.brand{min-width:168px}.brand strong{font-size:18px;line-height:24px}.brand span{font-size:12px;letter-spacing:.1em}.topbar{gap:16px;height:64px}.main-nav{gap:12px}.space-shortcut{display:none}.library-footer,.inspector-part,.part-properties,.connections-section,.electrical-section,.motor-readings{padding:12px}.inspector-part p{line-height:16px}.panel-heading{padding:0 12px}.telemetry-grid{grid-template-columns:1fr 1fr;gap:4px 16px;padding:4px 0 8px}.telemetry-grid>div{flex-direction:row;align-items:baseline;justify-content:space-between;gap:4px}.telemetry-grid>div>span{font-size:12px}.telemetry-grid strong{font-size:18px;line-height:28px}.telemetry-grid small{font-size:12px}.drive-pad{display:none}.test-console{bottom:12px}.orbit-hint>svg{display:none}.orbit-hint span{max-width:260px;line-height:16px}.statusbar{gap:8px}.statusbar>div{gap:8px}.gravity-label{display:none!important}.build-toolbar{gap:4px;padding:4px}.tool{width:28px;height:32px}.toolbar-group{gap:0}}@media(max-width:800px){.app-shell{font-size:16px;line-height:24px;min-height:560px}.topbar{height:64px;gap:12px;padding:0 16px}.brand{min-width:0;flex:1;gap:8px}.brand>svg{width:24px}.brand strong{font-size:18px;line-height:24px}.brand span{font-size:12px;line-height:16px}.main-nav,.save-button{display:none}.top-actions{gap:8px}.button{font-size:14px;min-height:40px;padding:8px 12px}.mobile-tabs{display:flex;background:#1f1f1f;border-bottom:1px solid var(--line);height:44px;flex-shrink:0;z-index:20}.mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;font-size:14px;line-height:20px;color:#a9b29a}.mobile-tabs button.active{background:#313131;color:#eee0c5}.workspace{position:relative}.library,.inspector{position:absolute;top:0;bottom:0;display:none;width:min(320px,88vw);z-index:30;border:1px solid var(--line)}.library{left:0}.inspector{right:0}.side-panel.mobile-open,.mobile-close{display:flex}.panel-scrim{display:block;position:absolute;inset:0;width:100%;height:100%;background:#0006;z-index:25}.panel-heading{height:56px;padding:0 16px}.panel-heading h2{font-size:16px;line-height:24px}.panel-heading>.count,.panel-heading>svg{display:none}.part-grid{grid-template-columns:1fr 1fr}.part-preview{height:100px}.part-card-copy{font-size:16px;line-height:24px;padding:0 12px 12px}.part-card-copy small{font-size:14px;line-height:20px}.category-tabs{padding:0 16px 16px}.category-tabs button{font-size:14px;line-height:20px;flex:1}.library-tabs button{font-size:14px;line-height:20px}.search input{font-size:16px;line-height:24px}.search kbd{display:none}.search{margin:16px}.part-library{padding:0 16px 16px}.library-footer p{font-size:14px;line-height:20px}.assembly-row{font-size:16px;line-height:24px;min-height:44px}.inspector-part,.part-properties,.connections-section,.electrical-section,.motor-readings{padding:16px}.inspector-preview{height:128px}.inspector-part p{font-size:16px;line-height:24px}.part-properties dl,.motor-readings dl,.section-label,.field-label,.select-field,.check-field{font-size:14px;line-height:20px}.select-field select{font-size:16px;padding:8px}.check-field{min-height:40px}.check-field input{width:20px;height:20px}.port-row{padding:12px}.port-row div{font-size:16px;line-height:24px}.port-row small{font-size:14px;line-height:20px}.terminal{font-size:14px;line-height:20px;min-height:44px}.circuit-status{font-size:14px;line-height:20px}.wire-row{min-height:36px}.wire-target{font-size:14px;line-height:20px}.wire-remove{padding:8px}.project-heading{left:16px;top:16px;max-width:calc(100% - 64px);gap:4px}.project-heading .eyebrow{font-size:12px;line-height:16px}.project-name{font-size:24px;line-height:32px;max-width:260px}.project-meta{font-size:12px;line-height:16px}.view-top-actions{top:16px;right:12px}.view-button{min-width:36px;height:36px}.build-toolbar{top:124px;gap:8px;padding:4px 8px}.tool{height:36px;width:36px}.view-controls{right:12px;bottom:56px;gap:8px}.view-controls .view-label{display:none}.viewport-bottom{padding:12px 16px;min-height:40px}.orbit-hint span{max-width:none;font-size:12px;line-height:16px}.action-prompt{bottom:56px;right:56px;font-size:14px;line-height:20px;align-items:flex-start;padding:12px}.action-prompt>svg{display:none}.action-prompt button{padding:4px}.statusbar{height:28px;padding:0 12px;font-size:12px;line-height:16px}.statusbar>div:first-child>.footer-divider,.statusbar>div:first-child>span:nth-last-child(-n+3),.statusbar>div:last-child>button,.statusbar>div:last-child>.footer-divider{display:none}.test-console{left:12px;right:12px;bottom:12px;padding:8px 12px}.test-label{font-size:12px}.telemetry-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 0 12px}.telemetry-grid>div{flex-direction:column;gap:4px}.telemetry-grid strong{font-size:20px;line-height:28px}.telemetry-grid>div>span{font-size:12px;line-height:16px}.telemetry-grid small{font-size:12px}.drive-controls{gap:16px;padding-top:12px}.drive-pad{display:flex}.drive-key{width:40px;height:32px}.throttle-control>div:first-child{font-size:14px;line-height:20px}.throttle-hints,.throttle-hints button{font-size:12px}.simulating .view-controls{bottom:264px}.toast{bottom:40px;font-size:14px;line-height:20px;width:calc(100vw - 32px)}.dialog-content{padding:24px}.dialog-header{gap:12px}.dialog-header h2{font-size:24px;line-height:32px}.dialog-intro{font-size:16px;line-height:24px}.blueprint-grid{gap:12px}.blueprint-art{height:96px}.blueprint-art>span{font-size:12px;top:8px;left:8px}.blueprint-info{padding:0 12px 12px}.blueprint-info h3{font-size:16px;line-height:24px}.blueprint-info p{font-size:14px;line-height:20px}.blueprint-info svg{display:none}.blueprint-file-actions{flex-direction:column;gap:12px}.guide li{font-size:16px;line-height:24px}.shortcut-grid{grid-template-columns:1fr;gap:12px}.shortcut-grid>span{font-size:14px;line-height:20px}.prototype-note p{font-size:14px;line-height:20px}.prototype-note{padding:12px}.prototype-note>svg{display:none}.inspector-empty p{font-size:16px;line-height:24px}.remove-component{font-size:14px;line-height:20px;min-height:48px}}@media(max-width:420px){.topbar{padding:0 12px}.brand>svg{width:20px}.brand strong{font-size:16px;line-height:20px}.brand span{font-size:12px;line-height:16px;letter-spacing:.06em}.top-actions .button{font-size:14px;line-height:20px;padding:8px}.top-actions .button svg{width:14px}.project-heading .eyebrow{letter-spacing:.025em}.project-meta,.telemetry-grid{gap:4px}.telemetry-grid strong{font-size:18px;line-height:28px}.telemetry-grid>div>span{max-width:72px}.test-console{left:8px;right:8px}.build-toolbar{gap:4px}.tool{width:32px}.drive-controls{gap:12px}.drive-key{width:32px}.workshop-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 32px)}.dialog-content{padding:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.connection-input button{color:#b9c5a9;font-size:12px;line-height:16px;padding:0;text-decoration:underline;text-underline-offset:3px}.connection-input button:hover{color:var(--accent)}.paste-import-action{padding-top:16px;text-align:center}.paste-import-action button{font-size:12px;line-height:16px;color:#b7baa7}.blueprint-json{display:flex;flex-direction:column;gap:12px;padding-top:24px}.blueprint-json h3{font-size:18px;line-height:28px}.blueprint-json p,.blueprint-json label{font-size:14px;line-height:20px;color:#a8b49b}.blueprint-json textarea{font:12px/20px monospace;background:#181818;border:1px solid var(--line);border-radius:6px;padding:12px;color:#bcc9ac;resize:vertical;width:100%;min-height:120px}.blueprint-json .button{align-self:flex-start}.blueprint-json .import-error{color:#edb081}:root{--accent:#85cdd7;--muted:#a3acad;--faint:#788789;--mint:#a8c8b2;color:#e3e9e8}.brand>svg{color:#d4ab76}.brand strong{letter-spacing:.075em}.brand span{color:#85cdd7;letter-spacing:.3em}.topbar{box-shadow:0 1px #85cdd708}.local-status{color:#9dacad}.local-status i{background:#85cdd7}.button.primary{color:#182527}.button.primary:hover{background:#a0dbe2}.button.primary kbd{border-color:#25474b66;color:#365c60}.nav-link.active:after{background:#85cdd7}.library-tabs button.active:after{background:#85cdd7}.part-card:hover,.part-card.chosen{border-color:#85cdd770}.part-card.chosen{background:#272727}.part-preview{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M20 0H0V20' fill='none' stroke='%2385cdd7' stroke-opacity='.035'/%3E%3C/svg%3E")}.category-tabs{flex-wrap:wrap;justify-content:flex-start}.category-tabs button{flex:0 0 auto}.category-tabs button.active{color:#b4e0e4;background:#313131}.library-footer{background:#1f1f1f}.library-footer>svg{color:#85cdd7}.project-heading .eyebrow{color:#b8d0d1}.project-square{background:#85cdd7!important}.project-name{color:#f0eeee;text-shadow:0 2px 16px #181818}.project-meta{color:#d2d6cc}.view-button.on,.tool.active{color:#a3dce3;background:#313131}.tool:hover{color:#b4e0e4}.view-controls,.view-top-actions{filter:drop-shadow(0 2px 8px #18181855)}.part-id{color:#94b7bb}.current-build-note{padding:16px;background:#1f1f1f;border-bottom:1px solid var(--line)}.current-build-note>span{font-size:12px;line-height:16px;letter-spacing:.065em;color:#9ac9cf}.current-build-note p{font-size:12px;line-height:20px;color:#a7b1b0;margin-top:8px}.statusbar{color:#a4b1b0}.part-identification .eyebrow{color:#9bbdc0}.part-card-copy strong{overflow-wrap:anywhere}.artifact-controls{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.artifact-rule{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.artifact-rule>span{font-size:12px;line-height:16px;letter-spacing:.075em;color:#a4dce3}.artifact-rule small{font-size:12px;line-height:16px;color:#97a6a8}.artifact-buttons{display:flex;gap:8px;flex-wrap:wrap}.artifact-button{border:1px solid #85cdd755;background:#272727;color:#c1e5e8}.artifact-button:hover,.artifact-button.deployed{border-color:#85cdd7;background:#313131}.probe-count{font-size:12px;color:#b9bfae;margin-left:4px;font-variant-numeric:tabular-nums}.artifact-hint{font-size:12px;line-height:16px;color:#d0b18a}.recording-meter{display:flex;align-items:center;gap:12px}.recording-meter>div{flex:1;height:4px;background:#313131;overflow:hidden}.recording-meter i{height:100%;background:#85cdd7;display:block}.recording-meter>span{display:flex;align-items:center;gap:4px;font-size:12px;line-height:16px;color:#a9b9b8}.recording-meter svg{color:#85cdd7}.simulating:has(.artifact-controls) .view-controls{bottom:360px}.test-console{background:#181818ef;border-color:#85cdd71c}.telemetry-grid strong{font-variant-numeric:tabular-nums}.test-label .ready{background:#85cdd7}.archive-dialog{width:min(1120px,calc(100vw - 64px));max-height:calc(100dvh - 64px);background:#181818;border-color:#85cdd72b}.archive-dialog .dialog-content{padding:32px}.archive-dialog .dialog-header{align-items:flex-start;margin-bottom:24px}.archive-dialog .dialog-header .eyebrow{color:#95c6cd;letter-spacing:.15em}.archive-dialog .dialog-header h2{font-size:36px;line-height:40px;letter-spacing:-.04em;margin-top:8px}.archive-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}.archive-intro>p{font-size:16px;line-height:24px;color:#9facad}.archive-intro strong{font-weight:500;color:#d7e2e2}.archive-stamp{display:flex;align-items:center;gap:12px;color:#b6a185;flex-shrink:0}.archive-stamp>span{display:flex;flex-direction:column;font-size:12px;line-height:20px;letter-spacing:.065em}.archive-stamp strong{color:#c5c5b7;font-size:12px;font-weight:500}.archive-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0}.archive-filters{display:flex;flex-wrap:wrap;gap:4px}.archive-filters button{color:#9cacaf;font-size:12px;line-height:16px;border-radius:4px;padding:8px 12px;transition:color .2s var(--ease),background .2s var(--ease)}.archive-filters button:hover{background:#272727;color:#d5e1df}.archive-filters button.active{background:#313131;color:#b2dce1}.archive-search{display:flex;gap:8px;align-items:center;padding:8px 12px;background:#1f1f1f;border:1px solid var(--line);border-radius:4px;max-width:240px;color:#82999d}.archive-search input{width:100%;border:0;background:none;color:#d1dcdc;font-size:12px;line-height:16px;outline-offset:4px}.archive-search input:focus-visible{outline-offset:4px}.archive-search input::placeholder{color:#8c9a9b}.archive-count{display:flex;justify-content:space-between;color:#718b8f;font-size:12px;line-height:16px;letter-spacing:.08em;padding-bottom:12px}.movie-blueprint-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.movie-blueprint{display:flex;flex-direction:column;background:#1f1f1f;border:1px solid #ffffff0c;border-radius:8px;overflow:hidden;transition:border-color .2s var(--ease)}.movie-blueprint:has(.blueprint-open:hover){border-color:#85cdd755}.blueprint-open{padding:0;text-align:left;flex:1;display:flex;flex-direction:column;width:100%}.movie-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:176px;background-color:#272727;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M24 0H0V24' fill='none' stroke='%2385cdd7' stroke-opacity='.055'/%3E%3C/svg%3E")}.movie-preview:after{content:"";position:absolute;inset:8px;border:1px solid #85cdd710;pointer-events:none}.movie-preview img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}.blueprint-open:hover .movie-preview img{transform:scale(1.055)}.blueprint-number{position:absolute;top:12px;left:16px;z-index:1;font-size:12px;line-height:16px;letter-spacing:.065em;color:#8da1a3}.blueprint-spec{position:absolute;bottom:12px;left:16px;font-size:12px;line-height:16px;letter-spacing:.045em;color:#a1b8b9}.blueprint-open-icon{position:absolute;bottom:8px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#91b9bf}.movie-blueprint-copy{padding:16px;width:100%}.blueprint-scene{font-size:12px;line-height:16px;color:#af9472;padding-bottom:8px}.movie-blueprint-copy h3{font-size:20px;line-height:28px;letter-spacing:-.025em;color:#e3ebea}.movie-blueprint-copy p{font-size:14px;line-height:20px;color:#9eadae;padding-top:8px;min-height:48px}.load-label{display:flex;align-items:center;gap:8px;font-size:12px;line-height:16px;color:#a2d5dc;padding-top:16px}.blueprint-build-note{padding:16px;border-top:1px solid var(--line);background:#181818}.blueprint-build-note>span{font-size:12px;line-height:16px;letter-spacing:.08em;color:#738f94}.blueprint-build-note>p{font-size:12px;line-height:20px;color:#aab6b6;padding-top:8px}.blueprint-build-note small{display:block;font-size:12px;line-height:20px;color:#7f8e90;padding-top:8px}.blueprint-build-note a{display:inline-block;margin-top:8px;font-size:12px;line-height:16px;color:#9fadae;text-decoration:underline;text-underline-offset:3px}.blueprint-build-note a:hover{color:#bde0e5}.archive-footnote{color:#85989b;font-size:12px;line-height:20px;margin-top:24px}.archive-empty{min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:#a0b1b4}.archive-empty h3{font-size:20px;line-height:28px;color:#d6e3e5}.archive-empty p{font-size:14px;line-height:20px}.archive-empty svg{color:#85cdd7}.archive-dialog .blueprint-file-actions{border-top:1px solid var(--line);margin-top:24px}@media(max-width:1100px){.archive-tools{align-items:stretch;flex-direction:column;gap:12px}.archive-search{max-width:none}.movie-blueprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-status{display:none}}@media(max-width:800px){.brand span{letter-spacing:.22em}.category-tabs button{flex:0 0 auto}.current-build-note p{font-size:14px;line-height:20px}.archive-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.archive-dialog .dialog-content{padding:24px}.archive-dialog .dialog-header h2{font-size:30px;line-height:36px}.archive-stamp{display:none}.archive-filters button{padding:8px;font-size:14px;line-height:20px}.archive-search input{font-size:16px;line-height:24px}.archive-search{padding:8px 12px}.archive-intro>p{font-size:14px;line-height:20px}.movie-blueprint-copy h3{font-size:18px;line-height:28px}.movie-preview{height:160px}.artifact-rule{flex-direction:column;gap:4px}.artifact-buttons .button{min-height:40px}.simulating:has(.artifact-controls) .view-controls{bottom:360px}.recording-meter{gap:8px}}@media(max-width:540px){.archive-dialog .dialog-content{padding:16px}.archive-dialog .dialog-header{margin-bottom:16px}.archive-dialog .dialog-header h2{font-size:24px;line-height:32px}.archive-tools{padding:16px 0}.movie-blueprint-grid{grid-template-columns:1fr}.movie-preview{height:200px}.movie-blueprint-copy h3{font-size:20px;line-height:28px}.movie-blueprint-copy p{min-height:0}.blueprint-build-note{padding:12px 16px}.blueprint-build-note>p,.blueprint-build-note small{font-size:14px;line-height:20px}.artifact-buttons .button{padding:8px;font-size:12px}.artifact-rule small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simulating:has(.artifact-controls) .view-controls{bottom:384px}}.artifact-controls:has(.recording-meter):not(:has(.probe-count)){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:8px}.artifact-controls:has(.recording-meter):not(:has(.probe-count)) .artifact-rule{grid-column:1;grid-row:1}.artifact-controls:has(.recording-meter):not(:has(.probe-count)) .artifact-rule small{display:none}.artifact-controls:has(.recording-meter):not(:has(.probe-count)) .recording-meter{grid-column:1;grid-row:2}.artifact-controls:has(.recording-meter):not(:has(.probe-count)) .artifact-buttons{grid-column:2;grid-row:1 / 3;align-items:center}.artifact-controls:has(.recording-meter):not(:has(.probe-count)) .recording-meter>span{white-space:nowrap}.graphics-controls{position:absolute;right:16px;top:64px;z-index:12;font-size:12px;color:#d2d3ce;max-width:256px}.graphics-controls summary{display:flex;align-items:center;gap:8px;cursor:pointer;background:#1f1f1fed;border:1px solid #ffffff18;border-radius:4px;padding:8px 12px;list-style:none;min-height:32px}.graphics-controls summary::-webkit-details-marker{display:none}.graphics-controls summary small{font-variant-numeric:tabular-nums;color:#a3b7b5}.graphics-panel{background:#1f1f1f;border:1px solid #ffffff1a;padding:16px;border-radius:4px;margin-top:4px;width:256px;box-shadow:0 8px 24px #0005}.graphics-panel label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.graphics-panel select{width:100%;background:#313131;color:#ecebe6;border:1px solid #ffffff24;padding:8px;border-radius:4px}.graphics-panel p{line-height:1.5;margin:12px 0;color:#aaa}.graphics-panel dl{margin:16px 0 0;font-variant-numeric:tabular-nums}.graphics-panel dl>div{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.graphics-panel dt{display:flex;align-items:center;gap:4px;color:#aaa}.graphics-panel dd{margin:0;color:#e3e5df}.graphics-panel .graphics-note{border-top:1px solid #ffffff16;padding-top:12px;margin-bottom:0}.workspace.immersive{grid-template-columns:1fr}.workspace.immersive>.side-panel{display:none}.view-controls .view-button:disabled{opacity:.4;cursor:default}.view-controls .view-label{font-size:12px}.viewport .view-controls{bottom:80px}.graphics-controls summary:focus-visible{outline:2px solid #85cdd7;outline-offset:2px}@media(max-width:800px){.graphics-controls{top:120px;right:12px}.graphics-panel{width:232px}.viewport .view-controls{bottom:64px}.workspace.immersive>.side-panel.mobile-open{display:flex}.graphics-controls summary{padding:8px}.project-heading{max-width:calc(100% - 16px)}}.viewport.simulating .view-controls{bottom:280px}.simulating .view-controls .camera-primary,.simulating .view-controls .expand-control{display:none}@media(max-width:800px){.view-controls{display:grid;grid-template-columns:repeat(2,40px);gap:4px}.view-controls .camera-primary{display:inline-flex}.viewport.simulating .view-controls{bottom:280px}.graphics-controls{top:120px}.scale-reference{max-width:144px;text-align:right;font-size:12px}.viewport-bottom .orbit-hint{max-width:50%}}.hall-view .build-toolbar{display:none}@media(max-width:800px){.graphics-controls{top:176px}.hall-view .graphics-controls{top:128px}}
