:root{--bg: #f7f7f5;--bg-raised: #ffffff;--bg-input: #f5f5f3;--border: #ebebe9;--border-strong: #dddddb;--text: #141414;--text-muted: #454545;--text-faint: #6b6b6b;--accent: #ff716b;--accent-wash: #ffe9e7;--accent-warm: #d98a00;--construction: #cc6a2e;--construction-wash: #fdf1e7;--driving: #0a6ad4;--driving-wash: #eaf4ff;--solved: #00a699;--solved-wash: #e2f7f5;--warn: #d9304a;--warn-wash: #fdecef;--datum: #6f4fd0;--radius-sm: 9px;--radius-md: 12px;--radius-lg: 18px;--radius-pane: 22px;--glass: color-mix(in srgb, #ffffff 54%, transparent);--glass-strong: color-mix(in srgb, #ffffff 68%, transparent);--glass-blur: blur(32px) saturate(190%);--glass-edge: rgba(255, 255, 255, .7);--glass-rim: rgba(20, 20, 20, .08);--shadow-sm: 0 1px 2px rgba(20, 20, 20, .05), 0 1px 1px rgba(20, 20, 20, .04);--shadow-md: 0 8px 24px rgba(20, 20, 20, .1), 0 2px 6px rgba(20, 20, 20, .06);--shadow-float: 0 16px 48px rgba(20, 20, 20, .13), 0 2px 8px rgba(20, 20, 20, .07);--ease: cubic-bezier(.32, .72, 0, 1);--pane-inset: 16px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}.app{position:relative;height:100%;overflow:hidden}.stage{position:absolute;inset:0;overflow:hidden}.float-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.float-layer>*{pointer-events:auto}.app-badge{position:absolute;top:var(--pane-inset);left:var(--pane-inset);display:flex;width:40px;height:40px;border-radius:12px}.app-badge .cad-mark,.app-badge .cad-mark-badge{width:40px;height:40px}.demo-banner{position:absolute;top:var(--pane-inset);left:calc(var(--pane-inset) + 40px + 10px);right:calc(var(--pane-inset) + 56px);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:8px 10px 8px 16px;border-radius:14px}.demo-banner-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.demo-banner-copy strong{font-size:13px;font-weight:650}.demo-banner-copy span{font-size:12px;color:var(--text-faint)}.demo-banner-actions{display:flex;align-items:center;gap:8px;flex:none}.demo-banner-back{font-size:13px;font-weight:550;color:var(--text-muted);text-decoration:none;padding:6px 10px}.demo-banner-import{font:inherit;font-size:13px;font-weight:650;color:#fff;background:var(--accent);border:none;border-radius:999px;padding:7px 14px;cursor:pointer}@media(max-width:640px){.demo-banner{left:var(--pane-inset);right:var(--pane-inset);top:calc(var(--pane-inset) + 40px + 8px);flex-wrap:wrap}}.isolate-dock{position:absolute;top:var(--pane-inset);left:calc(var(--pane-inset) + 40px + 10px);display:flex;align-items:center;gap:12px;min-height:40px;padding:6px 8px 6px 14px;border-radius:14px}.app:has(.demo-banner) .isolate-dock{top:calc(var(--pane-inset) + 40px + 8px)}.isolate-dock-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.isolate-dock-copy strong{font-size:13px;font-weight:650}.isolate-dock-copy span{font-size:12px;color:var(--text-faint)}.isolate-dock-actions{display:flex;align-items:center;gap:6px;flex:none}.isolate-dock-actions button{margin:0;padding:6px 10px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:550;cursor:pointer}.isolate-dock-actions button:hover{background:var(--bg-input);color:var(--text)}.isolate-dock-actions button.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}.isolate-dock-exit{background:var(--bg-input)!important;color:var(--text)!important;font-weight:650!important}@media(max-width:640px){.isolate-dock{left:var(--pane-inset);right:var(--pane-inset);top:calc(var(--pane-inset) + 40px + 8px);flex-wrap:wrap}.app:has(.demo-banner) .isolate-dock{top:calc(var(--pane-inset) + 40px + 8px + 56px)}}.glass{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-rim);border-top-color:var(--glass-edge);box-shadow:var(--shadow-float);border-radius:var(--radius-pane)}.dock-stack{position:absolute;left:var(--pane-inset);right:var(--pane-inset);bottom:calc(var(--pane-inset) + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.dock-stack>*,.dock-row>*{pointer-events:auto}.dock-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;width:100%;pointer-events:none}.history-slot{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.toolbar{display:flex;align-items:center;gap:4px;padding:6px;flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:visible}.mini-dock{display:flex;align-items:center;gap:2px;padding:6px;flex:0 0 auto}.mini-dock .tool-button{width:auto;min-width:44px;height:auto;padding:5px 7px 4px;border-radius:11px}.mini-dock .tool-label{display:block;font-size:9px;font-weight:550;line-height:1.15;letter-spacing:0}.mini-dock .tool-key{display:none}.toolbar-group{display:flex;align-items:center;gap:2px}.toolbar-group+.toolbar-group,.toolbar-group--pinned{margin-left:6px;padding-left:8px;border-left:1px solid var(--glass-rim)}.toolbar-scroll{display:contents}.toolbar-group--end{margin-top:auto}.toolbar-group-title{margin:0 1px 4px;font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.tool-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:54px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);transition:background .12s ease,color .12s ease}.tool-button:hover:not(:disabled){background:var(--bg-input);color:var(--text);box-shadow:var(--shadow-sm)}.tool-button:disabled{opacity:.35;cursor:default}.tool-button.is-active{background:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.tool-button.is-construction{background:var(--construction-wash);border-color:var(--construction);color:var(--construction)}.tool-icon{display:block;width:22px;height:22px}.tool-icon svg{display:block;width:100%;height:100%}.tool-glyph{font-size:21px;line-height:1}.tool-glyph--text{font-size:11px;font-weight:600;letter-spacing:.03em}.tool-label{font-size:10px;font-weight:550;line-height:1.1;letter-spacing:.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-more{position:absolute;top:1px;right:5px;font-size:11px;line-height:1;color:var(--text-faint);pointer-events:none}.tool-button.is-active .tool-more{color:inherit}.tool-button.is-dim .tool-icon,.tool-button.is-dim .tool-label{opacity:.35}.tool-key{position:absolute;top:3px;right:4px;padding:0 3px;border-radius:3px;background:#0000000f;font-family:var(--mono);font-size:9px;font-weight:500;line-height:1.4;color:var(--text-faint)}@media(hover:none){.tool-key{display:none}}@media(max-width:640px){.dock-row{flex-wrap:wrap;row-gap:8px}.toolbar{order:1;flex:1 1 100%;padding:4px}.mini-dock{padding:4px}.mini-dock .tool-button{width:52px;height:48px;padding:4px 2px}.toolbar .toolbar-group .tool-label,.mini-dock .tool-label{display:block;font-size:8.5px;font-weight:550;line-height:1.15;letter-spacing:0}.toolbar{overflow:visible}.toolbar-scroll{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.toolbar-scroll::-webkit-scrollbar{display:none}.toolbar-scroll .tool-button{flex:0 0 auto;width:50px;scroll-snap-align:center}.toolbar .tool-button{height:50px;padding:4px 3px}.toolbar-group--pinned{flex:0 0 auto}}.viewport{position:absolute;inset:0;touch-action:none;cursor:default}.viewport.is-sketch-editing{cursor:crosshair}.viewport.is-navigating{cursor:grabbing}.viewport-canvas{display:block;width:100%;height:100%}.viewport-error{position:absolute;inset:0;display:grid;place-items:center;padding:40px;max-width:460px;margin:0 auto;text-align:center;color:var(--warn);line-height:1.6}.overlay{position:absolute;inset:0;pointer-events:none}.overlay>*{pointer-events:auto}.view-cube-control{position:absolute;top:84px;right:var(--pane-inset);width:92px;overflow:hidden;border:1px solid var(--glass-rim);border-radius:14px;background:var(--glass);box-shadow:var(--shadow-sm);backdrop-filter:var(--glass-blur)}.view-cube-control.is-locked{border-color:color-mix(in srgb,var(--accent) 28%,var(--glass-rim))}.view-cube-control.has-advanced{right:calc(var(--pane-inset) + 272px + 12px)}@media(max-width:900px){.view-cube-control.has-advanced{right:var(--pane-inset)}}@media(max-width:640px){.view-cube-control{top:76px;width:72px}}.view-cube{display:block;overflow:visible;touch-action:none;cursor:grab}.view-cube:active{cursor:grabbing}.view-cube-modes{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;border-top:1px solid var(--glass-rim)}.view-cube-modes button{min-width:0;padding:4px 0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-faint);font:inherit;font-size:9px;font-weight:750;letter-spacing:.06em;cursor:pointer}.view-cube-modes button:hover,.view-cube-modes button:focus-visible{border-color:var(--border-strong);color:var(--text);outline:none}.view-cube-modes button.is-active{border-color:color-mix(in srgb,var(--accent) 36%,var(--glass-rim));background:var(--accent-wash);color:var(--accent)}.view-cube-face{stroke:var(--border-strong);stroke-width:1;cursor:pointer;transition:fill .1s ease,opacity .1s ease}.view-cube-face.is-visible{fill:#ffffffeb}.view-cube-face.is-hidden{fill:#dce1e65c;opacity:.42}.view-cube [data-viewcube-target]:focus{outline:none}.view-cube-face.is-active,.view-cube-face:hover,.view-cube-face:focus-visible{fill:var(--accent-wash);stroke:var(--accent);opacity:1;outline:none}.view-cube-label{fill:var(--text-muted);font-size:9px;font-weight:650;pointer-events:none}.view-cube-edge-target{fill:none;stroke:transparent;stroke-width:12px;stroke-linecap:round;pointer-events:stroke;cursor:pointer}.view-cube-edge-target.is-hidden,.view-cube-corner-target.is-hidden{pointer-events:none}.view-cube-edge-target.is-active,.view-cube-edge-target:hover,.view-cube-edge-target:focus-visible{stroke:var(--accent);stroke-opacity:.72;outline:none}.view-cube-corner-target{fill:transparent;stroke:transparent;stroke-width:2px;cursor:pointer}.view-cube-corner-target.is-active,.view-cube-corner-target:hover,.view-cube-corner-target:focus-visible{fill:var(--accent);stroke:#fff;outline:none}.face-context{position:absolute;z-index:4;transform:translate(44px,12px);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.face-context-action{padding:6px 10px;border:1px solid var(--accent-warm);border-radius:9px;color:var(--text);font-size:11px;font-weight:600;white-space:nowrap}.face-context-action:hover{background:var(--accent-wash)}.face-context-action.is-active{background:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.sketch-look{position:absolute;z-index:4}.card-handle{position:absolute;z-index:6;width:12px;height:12px;margin:-6px 0 0 -6px;padding:0;border:1.5px solid var(--accent-warm);border-radius:3px;background:var(--bg-raised);cursor:nwse-resize}.sticky-note{position:absolute;z-index:5;display:flex;flex-direction:column;padding:10px 10px 8px;border-radius:2px 2px 3px 3px;box-shadow:0 1px #ffffff59 inset,0 8px 18px #281c082e;transform:rotate(-1.2deg)}.sticky-note-text{flex:1;width:100%;min-height:0;border:none;resize:none;background:transparent;color:#3a3220;font:inherit;font-weight:550;line-height:1.25}.sticky-note-text:focus{outline:none}.sticky-note-swatches{display:flex;align-items:center;gap:4px;margin-top:6px}.sticky-note-done{margin-right:auto;padding:2px 8px;border:1px solid rgba(40,32,16,.3);border-radius:99px;background:#ffffff73;color:#3a3220;font-size:11px;font-weight:600}.sticky-swatch{width:12px;height:12px;padding:0;border:1px solid rgba(40,32,16,.25);border-radius:99px}.sticky-swatch.is-on{outline:2px solid var(--accent);outline-offset:1px}.image-scale-start,.note-edit-start{position:absolute;left:50%;top:64px;z-index:6;transform:translate(-50%)}.image-scale-card{position:absolute;left:50%;top:64px;z-index:7;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px}.image-scale-card label{display:flex;align-items:center;gap:8px;font-size:12px}.image-scale-card input{width:88px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-input);color:var(--text);font:inherit}.image-scale-card button{border:none;border-radius:999px;padding:6px 12px;background:var(--accent);color:#fff;font:inherit;font-weight:650}.extrusion-manipulator{position:absolute;inset:0;z-index:3;overflow:visible;pointer-events:none;touch-action:none}.extrusion-arrow-line{stroke:var(--accent-warm);stroke-width:2.2px;stroke-linecap:round;pointer-events:none}.extrusion-arrow-head,.extrusion-centre{fill:var(--accent-warm);stroke:#fff;stroke-width:1.2px;pointer-events:none}.extrusion-stub{opacity:.72}.extrusion-depth-readout{fill:var(--text);paint-order:stroke;stroke:#fffffff0;stroke-width:4px;stroke-linejoin:round;font-family:var(--mono);font-size:11px;pointer-events:none}.extrusion-arrow-target{pointer-events:all;cursor:ns-resize;outline:none;touch-action:none}.extrusion-arrow-target line{stroke:transparent;stroke-width:30px;stroke-linecap:round}.extrusion-arrow-target circle{fill:transparent;stroke:transparent}.placement-gizmo{position:absolute;inset:0;z-index:3;overflow:visible;pointer-events:none;touch-action:none}.gizmo-arm{stroke-width:2.2px;stroke-linecap:round;fill:none}.gizmo-head{stroke:#ffffffe6;stroke-width:1px}.gizmo-arm.is-x{stroke:#c8443f}.gizmo-arm.is-y{stroke:#2f8f5b}.gizmo-arm.is-z{stroke:#4a6fc4}.gizmo-head.is-x{fill:#c8443f}.gizmo-head.is-y{fill:#2f8f5b}.gizmo-head.is-z{fill:#4a6fc4}.gizmo-ring{fill:none;stroke:#4a6fc4;stroke-width:1.8px;opacity:.85}.gizmo-centre{fill:var(--bg-raised);stroke:var(--accent-warm);stroke-width:2px}.gizmo-locked-dot{fill:var(--bg-raised);stroke:var(--text-faint);stroke-width:2px}.gizmo-readout{fill:var(--text-muted);paint-order:stroke;stroke:#fffffff0;stroke-width:4px;stroke-linejoin:round;font-family:var(--mono);font-size:11px;pointer-events:none}.gizmo-target-group,.gizmo-locked{pointer-events:all;cursor:grab;outline:none;touch-action:none}.gizmo-locked{cursor:not-allowed}.gizmo-target-group:active{cursor:grabbing}.gizmo-target{fill:transparent;stroke:transparent;stroke-width:20px}.gizmo-ring-target{fill:none;stroke:transparent;stroke-width:16px}.gizmo-target-group:focus-visible .gizmo-target,.gizmo-target-group:focus-visible .gizmo-ring-target{stroke:var(--accent-warm);stroke-width:2px}.dimension-label{position:absolute;top:0;left:0;padding:1px 5px;border:1px solid transparent;border-radius:6px;background:#ffffffeb;box-shadow:var(--shadow-sm);font-family:var(--mono);font-size:10.5px;font-weight:500;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;backdrop-filter:blur(4px)}.dimension-label.is-preview{color:var(--text-muted);border-color:var(--border);border-style:dashed;opacity:.75;pointer-events:none}.dimension-label.is-driving{color:var(--driving);border-color:#cfe6ff}.dimension-label.is-reference{color:var(--text-muted);border-color:var(--border);font-style:italic}.dimension-label.is-selected{border-color:var(--accent-warm);color:var(--accent-warm)}.dimension-input{position:absolute;top:0;left:0;width:132px;padding:2px 6px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text);font-family:var(--mono);font-size:11px;outline:none;box-shadow:var(--shadow-sm)}.dof-badge{position:absolute;right:12px;bottom:12px;padding:4px 10px;border:1px solid var(--border-strong);border-radius:999px;background:#ffffffeb;box-shadow:var(--shadow-sm);color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:500}.dof-badge.is-solved{color:var(--solved);border-color:#a9e6df}.datum-label{position:absolute;transform:translate(-50%,-50%);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--datum);text-shadow:0 0 3px rgba(255,255,255,.95),0 0 6px rgba(255,255,255,.85);pointer-events:none;white-space:nowrap}.datum-label.is-hover{color:var(--accent);font-weight:700}.panel{position:absolute;right:var(--pane-inset);top:var(--pane-inset);width:272px;max-height:calc(100% - var(--pane-inset) * 2 - 84px);display:flex;flex-direction:column;gap:2px;padding:6px 0 0;overflow-y:auto;overscroll-behavior:contain}.panel--advanced{top:calc(var(--pane-inset) + 48px + 10px);max-height:calc(100% - var(--pane-inset) * 2 - 84px - 58px)}.panel-section{padding:8px 12px 12px;border-bottom:1px solid var(--border)}.panel-section--footer{margin-top:auto;border-bottom:none;color:var(--text-muted)}.panel h2{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.panel-count{padding:1px 6px;border-radius:999px;background:var(--bg-input);color:var(--text-muted);font-family:var(--mono);font-size:10px;letter-spacing:0}.panel-empty{margin:0;color:var(--text-muted);font-size:12px}.panel-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.panel-row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:6px;font-size:12px}.panel-row:hover{background:var(--bg-input)}.panel-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-row-value{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.panel-row-value--muted{color:var(--text-muted)}.panel-row-value.is-solved{color:var(--solved)}.panel-chip{flex:none;padding:1px 7px;border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:550;letter-spacing:.01em}.panel-chip.is-driving{color:var(--driving);background:var(--driving-wash);border-color:#cfe6ff}.panel-chip.is-reference{color:var(--text-muted);font-style:italic}.panel-remove{border:none;background:transparent;color:var(--text-muted);font-size:14px;line-height:1;padding:0 2px}.panel-remove:hover{color:var(--warn)}.panel-row--stacked{flex-direction:column;align-items:stretch;gap:4px}.panel-row-line{display:flex;align-items:center;gap:8px;min-width:0}.panel-action{border:1px solid var(--border-strong);border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;padding:2px 8px}.panel-action:hover{color:var(--text);background:var(--bg-input)}.panel-action--warn:hover{color:var(--warn)}.placement-group+.placement-group{margin-top:10px}.placement-row .extent-name{width:18px;flex:none;font-family:var(--mono);font-size:10.5px}.status-bar{display:flex;align-items:center;gap:10px;max-width:100%;padding:5px 12px;border-radius:var(--radius-lg);font-size:11.5px;color:var(--text-faint);opacity:.9}.status-isolate{flex:0 0 auto;margin:0;padding:2px 8px;border:none;border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text);font:inherit;cursor:pointer}.status-isolate:hover{background:color-mix(in srgb,var(--accent) 26%,transparent)}.status-message{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-stat,.status-dof{font-family:var(--mono);font-size:11px;white-space:nowrap}.status-dof{color:var(--accent)}.status-dof.is-quiet{color:var(--text-muted)}.status-message.is-warn{color:var(--warn)}.status-right{display:flex;align-items:center;gap:14px}.status-toggle,.status-field{display:flex;align-items:center;gap:5px;color:var(--text-muted);cursor:pointer}.status-field select,.status-field input{border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-input);color:var(--text);font:inherit;padding:1px 4px}.status-field input[type=number]{width:48px}.status-toggle input{accent-color:var(--accent);margin:0}.status-stat{font-family:var(--mono);color:var(--text-muted)}.status-dof{font-family:var(--mono);color:var(--accent)}.status-dof.is-solved{color:var(--solved)}@media(max-width:900px){.panel--advanced{display:none}}.selection-popup{position:absolute;top:0;left:0;display:flex;flex-direction:column;gap:6px;padding:7px;border:1px solid var(--glass-rim);border-top-color:var(--glass-edge);border-radius:var(--radius-lg);background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);z-index:5}.selection-popup-section+.selection-popup-section{border-top:1px solid var(--border);padding-top:6px}.selection-popup-title{margin:0 2px 5px;font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.selection-popup-row{display:flex;gap:4px}.selection-popup-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:58px;padding:6px 8px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text);transition:background .12s ease,color .12s ease}.selection-popup-btn:hover{background:var(--bg-input);border-color:var(--border-strong);color:var(--text)}.selection-popup-btn.is-active{background:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.selection-popup-btn--dimension,.selection-popup-btn--dimension:hover{color:var(--accent)}.selection-popup-icon{display:block;width:18px;height:18px}.selection-popup-icon svg{display:block;width:100%;height:100%}.selection-popup-glyph{font-size:16px;line-height:1}.selection-popup-label{font-size:11px;font-weight:550;line-height:1.15;text-align:center;white-space:nowrap}@media(max-width:640px){.selection-popup.is-sheet:not(.is-feature){max-height:fit-content}.selection-popup.is-sheet .selection-popup-row{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 14px),transparent 100%)}.selection-popup.is-sheet .selection-popup-row::-webkit-scrollbar{display:none}.selection-popup.is-sheet .selection-popup-btn{flex:0 0 auto;min-height:52px}}.selection-popup-dismiss{position:absolute;top:6px;right:8px;z-index:3;display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:999px;background:var(--bg-input);color:var(--text-muted);font-size:17px;line-height:1}.tooltip{position:fixed;z-index:50;width:240px;padding:9px 11px;border:1px solid var(--glass-rim);border-radius:var(--radius-md);background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float);pointer-events:none}.tooltip-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.tooltip-name{font-size:12px;font-weight:650;color:var(--text)}.tooltip-key{padding:1px 5px;border-radius:4px;background:var(--bg-input);color:var(--text-muted);font-family:var(--mono);font-size:10px;line-height:1.4}.tooltip-body{margin:0;font-size:12px;line-height:1.45;color:var(--text-muted)}.selection-popup-btn.is-armed{background:var(--accent);border-color:var(--accent);color:#fff}.dimension-toggle{position:absolute;top:0;left:0;display:flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg-raised);box-shadow:var(--shadow-sm);white-space:nowrap}.dimension-toggle-btn{padding:2px 9px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:550;line-height:1.5}.dimension-toggle-btn:hover{color:var(--text)}.dimension-toggle-btn.is-on{background:var(--driving-wash);color:var(--driving)}.dimension-toggle-btn:last-child.is-on{background:var(--bg-input);color:var(--text);font-style:italic}.constraint-badge{position:absolute;top:0;left:0;display:grid;place-items:center;width:19px;height:19px;padding:0;border:1px solid var(--border-strong);border-radius:6px;background:#fffffff0;color:var(--text-muted);box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,transform .12s ease}.constraint-badge.is-inert{pointer-events:none}.constraint-badge:hover{border-color:var(--accent);color:var(--accent)}.constraint-badge.is-selected{border-color:var(--accent);background:var(--accent-wash);color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash),var(--shadow-sm)}.constraint-badge-icon{display:block;width:13px;height:13px}.constraint-badge-icon svg{display:block;width:100%;height:100%}.panel-row--pick{cursor:pointer}.panel-row--pick.is-selected{background:var(--accent-wash);box-shadow:inset 2px 0 0 var(--accent)}.panel-row-button{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;text-align:left;font:inherit;color:inherit}.dimension-input.is-invalid{border-color:var(--warn)}.selection-popup-btn--delete{min-width:62px;min-height:44px;color:var(--warn)}.selection-popup-btn--delete:hover{background:#fdecef;border-color:var(--warn);color:var(--warn)}.selection-popup-btn--delete.is-armed{background:var(--warn);border-color:var(--warn);color:#fff}.selection-popup-btn--delete.is-armed:hover{background:#c02840;border-color:#c02840;color:#fff}.selection-popup-btn{min-height:44px}.status-mode{padding:1px 8px;border:1px solid var(--construction);border-radius:999px;background:var(--construction-wash);color:var(--construction);font-size:11px;font-weight:550;line-height:1.5;white-space:nowrap}.fillet-radius{align-self:center;width:84px;padding:4px 7px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:var(--mono);font-size:11px;outline:none}.fillet-radius:focus{border-color:var(--accent)}.hold-progress{position:absolute;z-index:6;transform:translate(-50%,26px);width:46px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text) 14%,transparent);overflow:hidden;pointer-events:none}.hold-progress-fill{display:block;height:100%;width:100%;border-radius:inherit;background:var(--accent);transform-origin:left center;animation:hold-fill 1.8s cubic-bezier(.25,.85,.45,1) forwards}@keyframes hold-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.extend-chip{position:fixed;left:50%;z-index:61;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:3px 3px 3px 9px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--glass-rim));border-radius:999px;background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-sm);font-size:10px;color:var(--text);min-width:0}.extend-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.extend-chip-dot{width:6px;height:6px;flex:none;border-radius:999px;background:var(--accent)}.extend-chip-done{display:grid;place-items:center;width:22px;height:22px;flex:none;padding:0;border:none;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:14px;line-height:1}@media(hover:none){.extend-chip-done{position:relative}.extend-chip-done:after{content:"";position:absolute;inset:-9px;border-radius:inherit}}.extrusion-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:1px 2px 3px}.extrusion-popup-heading{display:grid;gap:1px;min-width:0}.extrusion-popup-heading strong{overflow:hidden;color:var(--text);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.extrusion-popup-heading em{color:var(--text-muted);font-size:10.5px;font-style:normal;font-weight:550}.extrusion-popup-close{display:grid;place-items:center;width:22px;height:22px;flex:none;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-faint);font-size:16px;line-height:1}.extrusion-popup-close:hover{border-color:var(--border);background:var(--bg-input);color:var(--text)}.selection-popup.is-feature,.feature-edit-popup{width:min(290px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto}.feature-profile-list{display:grid;gap:5px}.feature-profile-chip{display:flex;align-items:center;gap:5px;min-width:0;padding:4px 5px 4px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-size:10.5px}.feature-profile-chip>span{flex:1}.feature-profile-chip em{color:var(--text-faint);font-style:normal}.feature-profile-chip.is-unresolved{border-color:#f3c4cc;color:var(--warn)}.feature-profile-chip button,.feature-edit-footer button{padding:3px 7px;border:1px solid var(--border);border-radius:6px;background:var(--bg-raised);color:var(--text-muted);font-size:10.5px;font-weight:600}.feature-profile-chip button.is-armed,.feature-edit-footer button.is-primary{border-color:var(--accent);background:var(--accent);color:#fff}.feature-edit-footer button:disabled{border-color:var(--border);background:var(--bg-input);color:var(--text-faint);cursor:not-allowed}.feature-edit-warning{margin:0;color:var(--warn);font-size:10.5px;line-height:1.35}.feature-edit-footer{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-top:6px;border-top:1px solid var(--border)}.selection-popup-btn--add{touch-action:none}.selection-popup-btn--add.is-armed{background:var(--driving-wash);border-color:var(--driving);color:var(--driving)}.segmented{display:flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.segmented-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px 4px;border:none;border-radius:7px;background:transparent;color:var(--text-muted);transition:background .12s ease,color .12s ease}.segmented-btn:hover{color:var(--text)}.segmented-btn.is-on{background:var(--bg-raised);box-shadow:var(--shadow-sm);color:var(--text)}.segmented-btn.is-on .segmented-icon{color:var(--accent)}.segmented-icon{display:block;width:22px;height:22px}.segmented-icon svg{display:block;width:100%;height:100%}.segmented-label{font-size:10px;font-weight:550;white-space:nowrap}.extrude-controls{display:grid;gap:7px}.solid-hint{margin:0;padding-top:2px}.scrub-field{display:flex;flex:1;min-width:0;align-items:stretch;border:1px solid var(--driving);border-radius:var(--radius-sm);background:var(--bg-raised);overflow:hidden}.scrub-field:focus-within{border-color:var(--accent)}.scrub-field .extent-value{border:none;border-radius:0;background:transparent;padding:4px 2px}.scrub-grip{display:grid;place-items:center;width:20px;flex:none;padding:0;border:none;background:var(--bg-input);color:var(--text-muted);font-size:14px;line-height:1;cursor:ew-resize;touch-action:none;user-select:none}.scrub-grip:hover{background:var(--accent-wash);color:var(--accent)}.extent-flip{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted);font-size:11px;font-weight:600}.extent-flip.is-on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}.extent-flip:disabled{opacity:.55}.extent-row{display:flex;align-items:center;gap:6px;margin-top:7px}.extent-name{font-size:11.5px;font-weight:550;color:var(--text-muted)}.extent-side{padding:1px 6px;border-radius:999px;background:var(--bg-input);color:var(--text-faint);font-size:10px;font-weight:550;white-space:nowrap}.extent-value{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--driving);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--driving);font-family:var(--mono);font-size:12px;text-align:right;outline:none}.extent-value:focus{border-color:var(--accent)}.extent-value.is-dragging{background:var(--driving-wash);font-weight:650}.extent-target{display:flex;align-items:center;gap:7px;margin-top:7px}.extent-target-chip{min-width:0;padding:3px 7px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-wash);color:var(--accent);font-size:10.5px;font-weight:600}.extent-target-chip.is-waiting{border-color:var(--border-strong);border-style:dashed;background:transparent;color:var(--text-muted)}.fillet-edges{align-items:start}.fillet-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.fillet-chips .selection-popup-icon{width:11px;height:11px;vertical-align:-1px;margin-right:3px}.fillet-card{width:268px}.fillet-refusal{color:var(--warn)}.extent-hint{margin:7px 0 0;color:var(--text-faint);font-size:10.5px;line-height:1.35}.part-target{display:grid;gap:6px}.part-target-select{width:100%;min-width:150px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font:inherit;outline:none}.part-target-select:focus{border-color:var(--accent)}.scrub-field.is-disabled{opacity:.55}.scrub-field.is-disabled .scrub-grip{cursor:default}.mate-card{min-width:226px}.mate-row{display:flex;align-items:center;gap:8px}.mate-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10.5px}.mate-choice{max-width:118px;overflow:hidden;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:10.5px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.mate-choice:hover,.mate-choice.is-active{border-color:var(--accent);color:var(--accent)}@media(max-width:640px){.selection-popup.is-sheet{position:fixed;inset:auto 0 0;width:auto;max-width:none;max-height:100vh;gap:5px;padding:0 10px calc(8px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow-y:auto;overscroll-behavior:contain}.selection-popup.is-sheet .sheet-handle{position:sticky;top:0;z-index:2;margin:0 -10px;background:var(--bg-raised)}.selection-popup.is-sheet .feature-edit-footer{position:sticky;bottom:0;z-index:2;margin:0 -10px;padding:6px 10px calc(2px + env(safe-area-inset-bottom));background:var(--bg-raised)}.selection-popup.is-sheet .feature-edit-footer button{min-height:38px;padding:6px 16px;font-size:12px}}.sheet-handle{display:flex;align-items:center;justify-content:center;flex:none;height:26px;cursor:grab;touch-action:none}.sheet-handle:active{cursor:grabbing}.sheet-handle-bar{width:40px;height:4px;border-radius:999px;background:var(--text-faint);opacity:.5}.sheet-handle:focus-visible{outline:none}.sheet-handle:focus-visible .sheet-handle-bar{opacity:1;background:var(--accent)}.toolbar .tool-button{width:auto;min-width:50px;padding:5px 9px 4px;border-radius:12px;gap:1px}.toolbar .tool-icon{width:18px;height:18px}.toolbar .tool-key{display:none}.toolbar .tool-label{font-size:10px;letter-spacing:.01em}.toolbar-group-title{display:none}.menu-panel{position:fixed;z-index:60;min-width:210px;max-width:300px;max-height:calc(100vh - 16px);overflow-y:auto;padding:7px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:2px;animation:menu-in .16s var(--ease)}@keyframes menu-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}.menu-panel.is-sheet{inset:auto 0 0;min-width:0;max-width:none;max-height:70vh;padding-bottom:calc(7px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:sheet-in .2s var(--ease)}@keyframes sheet-in{0%{transform:translateY(100%)}}@media(hover:none){.menu-item{min-height:44px}.menu-item-key{display:none}}.tooltip{animation:menu-in .16s var(--ease)}.menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:none;border-radius:11px;background:none;text-align:left;color:var(--text);font-size:13px}.menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--text) 7%,transparent)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item.is-current{color:var(--accent);font-weight:600}.menu-item.is-current .menu-item-icon{color:var(--accent)}.menu-item-icon{display:flex;width:17px;height:17px;color:var(--text-muted)}.menu-item-icon svg{width:100%;height:100%}.menu-item-label{flex:1}.menu-item-key{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.menu-rule{height:1px;margin:5px 4px;background:var(--glass-rim)}.menu-section{display:flex;flex-direction:column;gap:5px;padding:7px 8px 9px}.menu-section+.menu-section{border-top:1px solid var(--glass-rim)}.menu-section-title{font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.menu-swatches{display:grid;grid-template-columns:repeat(7,22px);gap:5px;padding:2px 2px 6px}.menu-swatch{width:22px;height:22px;padding:0;border:1px solid color-mix(in srgb,#000 20%,transparent);border-radius:6px;cursor:pointer}.menu-swatch.is-current{outline:2px solid var(--accent);outline-offset:1px}.menu-swatch--custom{display:block;overflow:hidden;background:linear-gradient(45deg,#bbb 25%,transparent 25%,transparent 75%,#bbb 75%),linear-gradient(45deg,#bbb 25%,#eee 25% 75%,#bbb 75%);background-position:0 0,5px 5px;background-size:10px 10px}.menu-swatch--custom input{display:block;width:220%;height:220%;margin:-40%;padding:0;border:none;background:none;cursor:pointer}.menu-field,.menu-toggle{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}.menu-field select,.menu-field input{margin-left:auto;padding:4px 7px;border:1px solid var(--glass-rim);border-radius:var(--radius-sm);background:var(--glass-strong);font:inherit;color:var(--text)}.menu-toggle input{accent-color:var(--accent)}.menu-note{margin:2px 0 0;font-size:11.5px;line-height:1.45;color:var(--text-faint)}.menu-item--sub .menu-item-more{color:var(--text-faint);font-size:15px;line-height:1}.menu-item--sub.is-open{background:color-mix(in srgb,var(--text) 7%,transparent)}.menu-item-detail{flex:none;max-width:55%;overflow:hidden;font-size:11.5px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.menu-panel--sub{min-width:246px}.menu-search{padding:2px 2px 6px}.menu-search-field{width:100%;min-height:34px;padding:6px 10px;border:1px solid var(--glass-rim);border-radius:var(--radius-sm);background:var(--glass-strong);font:inherit;font-size:13px;color:var(--text)}.menu-search-field::placeholder{color:var(--text-faint)}.menu-search-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.menu-material{gap:9px}.menu-material-chip{flex:none;width:15px;height:15px;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:5px}.menu-card{display:flex;flex-direction:column;gap:4px;padding:8px 9px;border:1px solid var(--glass-rim);border-radius:var(--radius-md);background:color-mix(in srgb,var(--text) 4%,transparent)}.menu-card-head{display:flex;align-items:center;gap:8px;font-size:13px}.menu-card-head strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-card-chip{flex:none;width:17px;height:17px;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:6px}.menu-card-note{margin:0;font-size:11.5px;line-height:1.4;color:var(--text-muted)}.menu-card-mass{display:flex;align-items:baseline;gap:8px;margin-top:3px;padding-top:6px;border-top:1px solid var(--glass-rim)}.menu-card-mass strong{font-family:var(--mono);font-size:16px;color:var(--text)}.menu-card-mass span{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.menu-card-refusal{margin:3px 0 0;padding-left:8px;border-left:2px solid var(--warn);font-size:11.5px;line-height:1.4;color:var(--text-muted)}.colour-picker{display:flex;flex-direction:column;gap:10px;padding:4px 3px 2px}.colour-wheel{position:relative;width:100%;aspect-ratio:1}.colour-wheel-disc{display:block;width:100%;height:100%;border-radius:50%;box-shadow:var(--shadow-sm);touch-action:none;cursor:crosshair}.colour-wheel-disc:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.colour-wheel-mark{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #1414148c;transform:translate(-50%,-50%);pointer-events:none}.colour-value{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--text-faint)}.colour-value-name{font-weight:650;letter-spacing:.07em;text-transform:uppercase}.colour-value input[type=range]{width:100%;height:22px;margin:0;padding:0;border-radius:11px;background:var(--track, linear-gradient(to right, #000, #fff));box-shadow:inset 0 0 0 1px var(--glass-rim);appearance:none;-webkit-appearance:none;touch-action:none;cursor:pointer}.colour-value input[type=range]::-webkit-slider-thumb{width:20px;height:20px;border:2px solid #fff;border-radius:50%;background:transparent;box-shadow:0 0 0 1px #1414148c;appearance:none;-webkit-appearance:none}.colour-value input[type=range]::-moz-range-thumb{width:20px;height:20px;border:2px solid #fff;border-radius:50%;background:transparent;box-shadow:0 0 0 1px #1414148c}.colour-value input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.colour-readout{display:flex;align-items:center;gap:8px}.colour-preview{flex:none;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:var(--radius-sm)}.colour-hex{flex:1;min-width:0;min-height:30px;padding:5px 8px;border:1px solid var(--glass-rim);border-radius:var(--radius-sm);background:var(--glass-strong);font-family:var(--mono);font-size:12.5px;color:var(--text)}.colour-hex:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.colour-readout .menu-swatch--custom{flex:none;width:30px;height:30px;border-radius:var(--radius-sm)}.assistant-bubble{position:static;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:var(--text-muted);transition:transform .16s var(--ease)}.assistant-bubble:hover{transform:scale(1.06);color:var(--text)}.assistant-bubble-icon{display:flex;width:21px;height:21px}.assistant-bubble-icon svg{width:100%;height:100%}.assistant{position:absolute;left:var(--pane-inset);top:calc(var(--pane-inset) + 40px + 10px);bottom:calc(var(--pane-inset) + 104px);width:320px;display:flex;flex-direction:column;overflow:hidden;animation:pane-in .18s var(--ease)}@keyframes pane-in{0%{opacity:0;transform:translate(-12px)}}.assistant.is-dropping{outline:2px dashed var(--driving);outline-offset:-6px}.assistant-head{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--glass-rim)}.assistant-head-icon{display:flex;width:16px;height:16px;color:var(--text-muted)}.assistant-head-icon svg{width:100%;height:100%}.assistant-title{flex:1;font-weight:620}.assistant-close{border:none;background:none;font-size:19px;line-height:1;color:var(--text-faint)}.assistant-log{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.assistant-empty{color:var(--text-faint);font-size:12.5px;line-height:1.5}.assistant-hint{font-family:var(--mono);font-size:11px}.assistant-msg{padding:9px 11px;border-radius:14px;font-size:12.5px;line-height:1.5;white-space:pre-wrap}.assistant-msg p{margin:0}.assistant-msg.is-user{align-self:flex-end;max-width:88%;background:var(--driving);color:#fff}.assistant-msg.is-assistant{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.assistant-msg.is-thinking{color:var(--text-faint)}.assistant-image{display:block;max-width:100%;border-radius:10px;margin-bottom:6px}.assistant-tray{display:flex;gap:6px;padding:0 14px 8px}.assistant-thumb{width:44px;height:44px;padding:0;border:1px solid var(--glass-rim);border-radius:10px;overflow:hidden;background:none}.assistant-thumb img{width:100%;height:100%;object-fit:cover}.assistant-compose{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;border-top:1px solid var(--glass-rim)}.assistant-compose textarea{flex:1;resize:none;padding:8px 10px;border:1px solid var(--glass-rim);border-radius:12px;background:var(--glass-strong);font:inherit;font-size:12.5px;color:var(--text)}.assistant-send{padding:8px 14px;border:none;border-radius:12px;background:var(--driving);color:#fff;font-weight:600}.assistant-send:disabled{opacity:.4}.sheet-backdrop{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 16px max(8px,env(safe-area-inset-bottom));background:color-mix(in srgb,#2f3238 88%,transparent);backdrop-filter:blur(8px)}.sheet-bar{display:flex;align-items:center;gap:14px;padding:8px 14px;border-radius:var(--radius-lg)}.sheet-tools-dock{flex:0 1 auto;max-width:min(100%,560px);min-height:66px;padding-bottom:6px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.sheet-tools-dock .toolbar-group{min-width:max-content}.sheet-tools-dock .tool-button{min-width:62px}.sheet-tool-status{flex:0 0 auto;min-height:18px;max-width:min(100%,680px);padding:2px 10px;border-radius:999px;background:#14181f9e;color:#ffffffd1;font-size:11.5px;text-align:center}.sheet-btn{padding:6px 12px;border:1px solid var(--glass-rim);border-radius:var(--radius-sm);background:var(--glass-strong);font-size:12.5px}.sheet-btn--close{margin-left:6px;border-color:transparent;background:var(--text);color:#fff}.sheet-tool-group{display:flex;align-items:center;gap:4px;padding-left:6px;border-left:1px solid var(--glass-rim)}.sheet-image-picker{display:none}.sheet-btn--save{border-color:transparent;background:var(--accent, #2f6feb);color:#fff}.sheet-name{display:flex;align-items:baseline;gap:8px;padding-right:4px;font-weight:600;font-size:13px}.sheet-unsaved{font-style:normal;font-weight:500;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--warn, #b0762f)}.sheet-scroll{flex:1;min-height:0;width:100%;display:grid;place-items:center;overflow:auto}.sheet-paper{position:relative;container-type:inline-size;width:min(100%,1180px);background:#fff;border-radius:3px;box-shadow:0 24px 60px #00000073}.sheet-paper.is-authoring{cursor:crosshair;touch-action:none}.sheet-svg{display:block;width:100%;height:100%}.sheet-page{fill:#fff}.sheet-frame{fill:none;stroke:#1d1d1f;stroke-width:.5}.sheet-frame-thin{stroke:#1d1d1f;stroke-width:.25}.sheet-line{stroke:#16326b;stroke-width:.45;stroke-linecap:round}.sheet-construction{stroke:#b0762f;stroke-width:.28;stroke-dasharray:1.6 1.2}.sheet-leader{stroke:#6b7280;stroke-width:.18}.sheet-dim-text{fill:#1d1d1f;font-size:3.1px;font-family:var(--mono);text-anchor:middle}.sheet-zone-text{fill:#1d1d1f;font-size:3.2px;font-weight:600;text-anchor:middle;font-family:var(--font)}.sheet-title-label{fill:#6b7280;font-size:2.2px;letter-spacing:.08em;font-family:var(--font)}.sheet-title-value{fill:#1d1d1f;font-size:3.4px;font-family:var(--font)}.sheet-dim{cursor:pointer}.sheet-dim-hit{fill:transparent}.sheet-dim:hover .sheet-dim-text{fill:var(--accent, #2f6feb)}.sheet-dim.is-reference .sheet-dim-text{fill:#6b7280}.sheet-view-label{fill:#6b7280;font-size:3px;letter-spacing:.04em;font-family:var(--font)}.sheet-view{cursor:move}.sheet-annotations{pointer-events:auto}.sheet-annotation-hit{cursor:move;pointer-events:all}.sheet-text-box,.sheet-image-frame{fill:#ffffff05;stroke:transparent;stroke-width:.5}.sheet-annotation-hit.is-selected .sheet-text-box,.sheet-annotation-hit.is-selected .sheet-image-frame{stroke:var(--accent, #2f6feb);stroke-dasharray:2 1}.sheet-annotation-text{fill:#1d1d1f;font-family:var(--font);font-size:3.5px;pointer-events:none}.sheet-annotation-text.size-S{font-size:2.8px}.sheet-annotation-text.size-L{font-size:5px}.sheet-annotation-line,.sheet-annotation-dimension{fill:none;stroke:#566173;stroke-width:.35}.sheet-dimension-witness{fill:none;stroke:#566173;stroke-width:.28}.sheet-annotation-dimension{stroke:#16326b;stroke-width:.45}.sheet-annotation-dimension-text{fill:#16326b;font:3.3px var(--mono);text-anchor:middle}.sheet-balloon{fill:#fff;stroke:#16326b;stroke-width:.5}.sheet-balloon-text{fill:#16326b;font:3.4px var(--mono);text-anchor:middle}.sheet-leader-line{fill:none;pointer-events:none}.sheet-leader-line.is-dangling{stroke:#8b2525;stroke-dasharray:2.5 1.5}.sheet-leader-grip{fill:#fff;stroke:var(--accent, #2f6feb);stroke-width:.5;pointer-events:all;cursor:move}.sheet-leader-grip.is-dangling{stroke:#8b2525}.sheet-leader-grip:hover{fill:#2f6feb3d}.sheet-leader-add{pointer-events:all;cursor:pointer}.sheet-leader-add-disc{fill:#fffffff0;stroke:var(--accent, #2f6feb);stroke-width:.4}.sheet-leader-add-mark{fill:none;stroke:var(--accent, #2f6feb);stroke-width:.5;stroke-linecap:round;stroke-linejoin:round}.sheet-leader-add:hover .sheet-leader-add-disc,.sheet-leader-add:focus-visible .sheet-leader-add-disc{fill:var(--accent, #2f6feb)}.sheet-leader-add:hover .sheet-leader-add-mark,.sheet-leader-add:focus-visible .sheet-leader-add-mark{stroke:#fff}.sheet-leader-add:focus-visible{outline:none}.sheet-leader-add:focus-visible .sheet-leader-add-disc{stroke-width:.8}.sheet-inspector{position:fixed;right:18px;bottom:max(96px,calc(86px + env(safe-area-inset-bottom)));z-index:8;display:flex;flex-direction:column;gap:6px;width:220px;padding:10px;border-radius:var(--radius-md);font-size:11px}.sheet-authoring-preview{opacity:.78}.sheet-authoring-highlight,.sheet-authoring-rubber{fill:none;stroke:var(--accent, #2f6feb);stroke-width:.8;stroke-linecap:round}.sheet-authoring-rubber{stroke-width:.4;stroke-dasharray:2 1.4}.sheet-authoring-snap{fill:#2f6feb29;stroke:var(--accent, #2f6feb);stroke-width:.65}.sheet-authoring-box{fill:#2f6feb0f;stroke:var(--accent, #2f6feb);stroke-width:.35;stroke-dasharray:2 1.4}.sheet-authoring-preview .is-preview,.sheet-image-frame.is-preview{stroke-dasharray:2 1.4}.sheet-inspector label{display:flex;align-items:center;justify-content:space-between;gap:6px}.sheet-inspector input,.sheet-inspector textarea,.sheet-inspector select{min-width:0;max-width:130px;border:1px solid var(--glass-rim);border-radius:3px;background:#ffffffe0;color:#1d1d1f;font-size:11px}.sheet-inspector textarea{min-height:36px}.sheet-inspector-close{position:absolute;top:4px;right:6px;border:none;background:transparent;font-size:16px}.sheet-inspector-danger{border:1px solid #c86b6b;border-radius:3px;background:#fff4f4;color:#8b2525;font-size:11px}.sheet-view-empty{fill:#b0762f;font-size:3.2px;font-family:var(--font);text-anchor:middle}.sheet-title-edit{position:absolute;display:flex;flex-direction:column}.sheet-title-row{flex:1;display:flex;align-items:center;gap:2px;min-height:0;padding-left:2%}.sheet-title-input{min-width:0;border:none;background:none;font:inherit;font-size:10px;color:transparent;caret-color:#1d1d1f}.sheet-title-input.is-label{flex:0 0 38%}.sheet-title-input.is-value{flex:1}.sheet-title-input:focus{color:#1d1d1f;background:#fffffff5;outline:1px solid var(--accent, #2f6feb)}.sheet-title-remove,.sheet-title-add{border:none;background:none;font-size:10px;line-height:1;color:#9aa1ab;opacity:0}.sheet-title-standard{position:absolute;right:0;bottom:-34px;border:1px solid var(--glass-rim);border-radius:3px;background:#fff;color:#6b7280;font-size:10px}.sheet-title-add{position:absolute;right:0;bottom:-16px}.sheet-title-edit:hover .sheet-title-remove,.sheet-title-edit:hover .sheet-title-add{opacity:1}.sheet-note{position:absolute;padding:4px 6px;border:1px solid #c9ced6;border-radius:4px;background:#fffffff0;font-size:11px;line-height:1.4;color:#1d1d1f;overflow:hidden}.sheet-note-grip{position:absolute;inset:0 14px 0 0;cursor:move}.sheet-note-body>:first-child{margin-top:0}.sheet-note-body>:last-child{margin-bottom:0}.sheet-note-body h1,.sheet-note-body h2,.sheet-note-body h3{font-size:12px;margin:4px 0 2px}.sheet-note-body ul,.sheet-note-body ol{margin:2px 0;padding-left:16px}.sheet-note-body code{font-family:var(--mono);font-size:10px}.sheet-note-input{position:relative;width:100%;height:100%;min-height:40px;border:none;background:none;resize:none;font:inherit;color:inherit}.sheet-note-remove{position:absolute;top:1px;right:3px;border:none;background:none;font-size:13px;line-height:1;color:#9aa1ab}.sheet-note-sizes{position:absolute;right:3px;bottom:2px;display:flex;gap:1px;opacity:0}.sheet-note:hover .sheet-note-sizes{opacity:1}.sheet-note.is-selected{border-color:var(--accent, #2f6feb)}.sheet-note-leader{position:absolute;left:2px;bottom:2px;display:flex;width:15px;height:15px;padding:0;border:none;border-radius:3px;background:none;opacity:0;color:var(--accent, #2f6feb)}.sheet-note-leader svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.sheet-note:hover .sheet-note-leader,.sheet-note.is-selected .sheet-note-leader,.sheet-note-leader:focus-visible{opacity:1}.sheet-note-leader:hover{background:#e6ebf3}.sheet-note-size{width:15px;border:none;border-radius:3px;background:none;font-size:9px;line-height:1.4;color:#9aa1ab}.sheet-note-size.is-on{background:#e6ebf3;color:#16326b}.sheet-note-resize{position:absolute;right:0;bottom:0;width:12px;height:12px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#c9ced6 50%)}.sheet-caption{margin:0;font-size:11.5px;color:#fff9}@media(max-width:1140px){.toolbar .tool-button{min-width:44px;padding:6px 5px 4px}}@media(max-width:640px){.sheet-backdrop{gap:8px;padding-inline:8px}.sheet-bar{width:100%;max-width:100%;gap:8px;overflow-x:auto}.sheet-tools-dock{width:100%;max-width:100%}.sheet-tools-dock .toolbar-scroll{display:flex}.sheet-tools-dock .tool-button{min-width:54px}}@media(max-width:820px){.status-stat{display:none}}.profile-dock{position:absolute;right:var(--pane-inset);top:var(--pane-inset);padding:5px;border-radius:50%}.profile-dock .tool-button{width:38px;height:38px;padding:0;border-radius:50%}.profile-dock .tool-label,.profile-dock .tool-key{display:none}.profile-card{display:flex;align-items:center;gap:10px;padding:8px 9px 6px}.profile-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text-muted)}.profile-avatar-icon{display:flex;width:18px;height:18px}.profile-avatar-icon svg{width:100%;height:100%}.profile-who{display:flex;flex-direction:column;line-height:1.35}.profile-who strong{font-size:12.5px;font-weight:620}.profile-who em{font-size:11px;font-style:normal;color:var(--text-faint)}.panel--tree{right:auto;left:var(--pane-inset);top:var(--pane-inset);width:326px;gap:0;padding:0;overflow:hidden}.panel--tree.is-previews{width:348px}@media(max-width:640px){.panel--tree{width:min(326px,calc(100vw - var(--pane-inset) - 96px))}.panel--tree.is-previews{width:min(348px,calc(100vw - var(--pane-inset) - 96px))}.panel--tree .tree-head{padding:8px 10px 6px}.panel--tree .tree-body{padding:0 10px 9px}.panel--tree h2{margin-bottom:5px}.panel--tree .tree-row{min-height:24px;gap:5px}.panel--tree .tree-name{min-width:4.5em}.panel--tree .tree-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.panel--tree .tree-head{flex:0 0 auto;padding:11px 13px 8px;background:var(--glass)}.panel--tree .tree-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 13px 12px}.panel--tree h2{margin-left:3px}.tree-crumb-bar{display:flex;align-items:flex-start;gap:4px;margin:6px 0 0}.tree-crumb-back{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin-top:1px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--text-muted)}.tree-crumb-back svg{display:block;width:12px;height:12px;transform:rotate(180deg)}.tree-crumb-back:hover:not(:disabled){background:var(--bg-input);color:var(--text)}.tree-crumb-back:disabled{opacity:.35}.tree-crumb{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 0;min-width:0;font-size:11px;line-height:1.4;color:var(--text-muted)}.tree-crumb-sep{margin:0 4px;color:var(--text-faint)}.tree-crumb-step{margin:0;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer}.tree-crumb-step:hover{color:var(--text)}.tree-crumb-step.is-here{color:var(--text);font-weight:620}.tree-crumb-step.is-folder:not(.is-here){color:var(--accent)}.panel-h2-spacer{flex:1}.panel-h2-btn{display:grid;place-items:center;width:20px;height:20px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--text-faint)}.panel-h2-btn:hover{background:var(--bg-input);color:var(--text)}.panel-h2-btn svg{display:block;width:14px;height:14px}.panel-h2-btn.is-on{background:var(--bg-input);color:var(--text)}.tree,.tree-children{list-style:none;margin:0;padding:0}.tree-children{margin-left:8px;padding-left:9px;border-left:1px solid var(--glass-rim)}.tree-item{position:relative;border-radius:var(--radius-md)}.tree-row{display:flex;align-items:center;gap:6px;min-height:26px;padding:2px 5px 2px 3px;border-radius:var(--radius-sm);font-size:12px;cursor:default;touch-action:none}.tree-row:hover{background:var(--bg-input)}.tree-twisty{display:grid;place-items:center;width:15px;height:15px;flex:none;padding:0;border:none;background:none;color:var(--text-faint)}.tree-twisty svg{display:block;width:11px;height:11px;transition:transform .16s var(--ease)}.tree-twisty.is-open svg{transform:rotate(90deg)}.tree-twisty.is-leaf{visibility:hidden}.tree-icon{display:block;width:15px;height:15px;flex:none;color:var(--text-muted)}.tree-icon svg{display:block;width:100%;height:100%}.tree-preview{display:block;flex:none;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:color-mix(in srgb,var(--text) 6%,var(--bg-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 10%,transparent);overflow:hidden;cursor:zoom-in}.tree-preview img,.tree-preview-ph{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.tree-preview-ph{background:var(--look, #e3ddd2)}.tree-row.has-preview{align-items:center;min-height:52px;padding-top:4px;padding-bottom:4px}.tree-copy{flex:1;min-width:0;display:flex;align-items:center}.tree-copy.is-stacked{flex-direction:column;align-items:stretch;justify-content:center;gap:1px}.tree-copy .tree-name,.tree-copy .tree-rename{flex:1}.tree-copy.is-stacked .tree-name,.tree-copy.is-stacked .tree-rename{flex:0 1 auto}.tree-copy.is-stacked .tree-value{flex:none;align-self:flex-start}.tree-row.is-dimmed .tree-preview,.tree-row.is-hidden .tree-preview,.tree-row.is-suppressed .tree-preview{opacity:.45}.tree-preview-card{position:fixed;z-index:40;display:flex;flex-direction:column;gap:8px;width:236px;padding:10px;border:1px solid var(--glass-rim);border-top-color:var(--glass-edge);border-radius:var(--radius-lg);background:var(--glass-strong);box-shadow:var(--shadow-md)}.tree-preview-card img,.tree-preview-card-empty{display:block;width:100%;aspect-ratio:1;border-radius:10px;background:color-mix(in srgb,var(--text) 6%,var(--bg-raised));object-fit:cover}.tree-preview-card strong{display:block;padding:0 2px;font-size:12px;font-weight:620;color:var(--text)}.tree-look{flex:none;width:10px;height:10px;border-radius:3px;background:var(--look, color-mix(in srgb, var(--text) 18%, transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 22%,transparent)}.tree-look.has-material:not([style]){display:grid;place-items:center;font-size:7px;font-weight:700;color:var(--text)}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500}.tree-rename{flex:1;min-width:0;padding:1px 5px;border:1px solid var(--driving);border-radius:6px;background:var(--bg-raised);color:var(--text);font:inherit;font-weight:500}.tree-value{flex:none;font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.01em;color:var(--text-faint)}.tree-eye{display:grid;place-items:center;width:20px;height:20px;flex:none;padding:0;border:none;border-radius:6px;background:none;color:#14141457}.tree-eye svg{display:block;width:15px;height:15px}.tree-eye:hover{color:var(--text)}.tree-edit{display:grid;place-items:center;width:20px;height:20px;flex:none;padding:0;border:none;border-radius:6px;background:none;color:var(--text-faint)}.tree-edit svg{display:block;width:14px;height:14px}.tree-edit:hover{background:var(--bg-raised);color:var(--text)}.tree-edit.is-active{display:inline-flex;width:auto;gap:3px;padding:0 6px 0 5px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.tree-edit-label{font-size:10px;font-weight:650;line-height:1}.tree-eye.is-off{color:var(--text-faint);background:var(--bg-input)}.tree-remove{flex:none;padding:0 2px;border:none;background:transparent;color:var(--text-faint);font-size:14px;line-height:1;opacity:0}.tree-row:hover .tree-remove,.tree-row:focus-within .tree-remove{opacity:1}.tree-remove:hover{color:var(--warn)}.tree-chip{flex:none;padding:1px 7px;border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:550;letter-spacing:.01em}.tree-chip.is-suppressed{border-style:dashed}.tree-chip.is-unresolved{border-color:#f3c4cc;background:var(--bg-raised);color:var(--warn)}.tree-row.is-root .tree-name{font-weight:620}.tree-row.is-selected{background:color-mix(in srgb,var(--accent-warm) 13%,transparent);box-shadow:inset 2px 0 0 var(--accent-warm)}.tree-row.is-selected .tree-icon{color:#a56a00}.tree-row.is-active .tree-icon{color:var(--accent)}.tree-row.is-viewing:not(.is-selected){box-shadow:inset 2px 0 0 var(--accent)}.tree-row.is-isolated:not(.is-selected){box-shadow:inset 2px 0 0 var(--accent)}.tree-row.is-dimmed .tree-name,.tree-row.is-dimmed .tree-value{color:var(--text-faint)}.tree-row.is-dimmed .tree-icon{opacity:.4}.tree-row.is-suppressed .tree-name,.tree-row.is-suppressed .tree-value{color:var(--text-faint)}.tree-row.is-suppressed .tree-icon{opacity:.5}.tree-row.is-hidden .tree-name{color:var(--text-muted)}.tree-row.is-hidden .tree-icon{opacity:.5}.tree-row.is-unresolved{background:var(--warn-wash);box-shadow:inset 2px 0 0 var(--warn)}.tree-row.is-unresolved .tree-icon{color:var(--warn)}.tree-row.is-datum .tree-icon{color:var(--datum)}.tree-row.is-dragging{opacity:.45;outline:1px dashed var(--border-strong);outline-offset:-1px}.tree-item.is-drop{outline:1.5px dashed var(--driving);outline-offset:3px;background:color-mix(in srgb,var(--driving-wash) 70%,transparent)}.drop-caret{position:relative;height:0;margin:0;list-style:none;overflow:visible}.drop-caret:after{content:"";position:absolute;left:4px;right:6px;top:-1px;height:2px;border-radius:2px;background:var(--driving)}.drop-caret:before{content:"";position:absolute;left:0;top:-4px;width:8px;height:8px;border:2px solid var(--driving);border-radius:50%;background:var(--bg-raised);z-index:1}.drag-chip{position:fixed;z-index:20;display:flex;align-items:center;gap:7px;padding:6px 11px 6px 8px;border:1px solid var(--glass-rim);border-top-color:var(--glass-edge);border-radius:var(--radius-md);background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float);font-size:12px;white-space:nowrap;pointer-events:none}.drag-chip svg{display:block;width:14px;height:14px;color:var(--text-faint)}.drag-chip strong{font-weight:600}.drag-chip em{font-style:normal;color:var(--driving);font-weight:550}.tree-fix{display:flex;flex-direction:column;gap:7px;margin:4px 4px 5px 21px;padding:9px 10px 10px;border:1px solid #f3c4cc;border-radius:var(--radius-md);background:var(--warn-wash)}.tree-fix p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;margin:0;font-size:11.5px;line-height:1.4;color:var(--text-muted)}.tree-fix-note{color:var(--text-faint)}.tree-fix-btn{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:5px 11px 5px 9px;border:1px solid var(--warn);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--warn);font-size:11.5px;font-weight:600}.tree-fix-btn svg{display:block;width:14px;height:14px}.tree-fix-btn.is-armed{background:var(--warn);color:var(--bg-raised)}.tree-lock{display:grid;place-items:center;width:14px;height:14px;flex:none;color:var(--text-faint)}.tree-lock svg{display:block;width:12px;height:12px}.tree-drawings{border-left-style:dashed}.tree-row--drawing{cursor:pointer}.tree-row--drawing .tree-name{font-style:italic}.sample-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;overscroll-behavior:contain}.sample-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:7px 9px;border:none;border-radius:11px;background:none;text-align:left;color:var(--text)}.sample-item:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.sample-name{font-size:13px}.sample-blurb{font-size:11.5px;line-height:1.35;color:var(--text-faint)}.sample-warning{margin:2px 0 0;font-size:12px;line-height:1.45;color:var(--text)}.sample-note{margin:0;font-size:11.5px;line-height:1.4;color:var(--text-faint)}.sample-actions{display:flex;flex-direction:column;gap:4px;margin-top:4px}.sample-action{padding:7px 9px;border:1px solid var(--glass-rim);border-radius:10px;background:var(--glass-strong);font:inherit;font-size:12.5px;text-align:left;color:var(--text)}.sample-action:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.sample-action--primary{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.site--landing{position:relative;isolation:isolate;min-height:100%;color:var(--text);background-color:var(--bg);background-image:radial-gradient(ellipse 70% 42% at 50% -8%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 62%),radial-gradient(ellipse 40% 28% at 100% 18%,color-mix(in srgb,var(--accent-warm) 12%,transparent),transparent 70%),linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:auto,auto,56px 56px,56px 56px;background-position:0 0,0 0,0 0,0 0}.site--app,.site--app .app-frame,.site--app .app-frame-window,.site--app .landing-window-body{height:100%}.site--app .app-frame-window{display:flex;flex-direction:column}.landing-nav{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:22px 28px 0}.landing-brand{display:flex;align-items:center;color:inherit;text-decoration:none}.cad-mark{position:relative;display:inline-flex;align-items:center;line-height:0}.cad-mark-badge{display:block;width:40px;height:40px;object-fit:contain}.landing-logo .cad-mark-badge{width:44px;height:44px}.landing-logo--foot{display:inline-flex;margin:0 auto 10px}.landing-logo--foot .cad-mark-badge{width:36px;height:36px}.landing-cta,.landing-window-full{border:none;cursor:pointer}.landing-cta{height:38px;padding:0 16px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:650;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}.landing-cta:hover{filter:brightness(1.04)}.landing-hero{max-width:780px;margin:56px auto 40px;padding:0 28px;text-align:center}.landing-kicker{margin:0 0 14px;font-size:11.5px;font-weight:680;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.landing-hero h1{margin:0;font-size:clamp(40px,7vw,72px);font-weight:700;letter-spacing:-.045em;line-height:.98}.landing-hero-break{display:block}.landing-dim{display:flex;align-items:center;justify-content:center;gap:10px;width:min(420px,72%);margin:18px auto 22px;color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:650;letter-spacing:.04em}.landing-dim-rule{flex:1;height:1px;background:var(--accent)}.landing-dim-end{width:8px;height:8px;border:1.5px solid var(--accent);border-radius:1px;transform:rotate(45deg)}.landing-lede{margin:0 auto;max-width:36em;font-size:18px;line-height:1.45;color:var(--text-muted)}.landing-stage{display:flex;justify-content:center;padding:4px 28px 64px}.landing-window{display:flex;flex-direction:column;width:75vw;height:72vh;min-height:540px;max-width:1280px;border:1px solid var(--glass-rim);border-radius:26px;background:var(--bg-raised);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent),0 28px 80px #14141429,0 4px 14px #1414140f;overflow:hidden}.landing-window-bar[hidden]{display:none}.landing-window-bar{display:flex;align-items:center;justify-content:center;flex:0 0 52px;padding:0 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-raised) 70%,var(--bg))}.landing-window-full{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:650;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}.landing-window-full:hover{filter:brightness(1.04)}.landing-window-full-icon{display:block;width:14px;height:14px}.landing-window-body{position:relative;flex:1;min-height:0}.landing-window-body .app{height:100%}.landing-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:0 auto;padding:0 28px 56px}.landing-points article{padding:22px 22px 24px;border:1px solid var(--glass-rim);border-radius:var(--radius-lg);background:color-mix(in srgb,#ffffff 78%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(16px)}.landing-point-n{display:block;margin-bottom:14px;font-family:var(--mono);font-size:12px;font-weight:650;letter-spacing:.08em;color:var(--accent)}.landing-points h2{margin:0 0 8px;font-size:17px;font-weight:670;letter-spacing:-.025em}.landing-points p{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted)}.landing-foot-seo{margin:8px 0 0;font-size:13px;color:var(--text-faint)}.landing-foot{max-width:1180px;margin:0 auto;padding:8px 28px 56px;text-align:center;color:var(--text-faint);font-size:13px}.landing-foot p{margin:0}.landing-foot p.landing-foot-seo{margin-top:8px}@media(max-width:800px){.landing-window{width:calc(100vw - 32px);height:64vh}.landing-points{grid-template-columns:1fr;padding-bottom:36px}.landing-hero{margin-top:36px}}html[data-shell=landing],html[data-shell=landing] body,html[data-shell=landing] #root{height:auto;min-height:100%}html[data-shell=landing] body{overflow:auto}.explorer{position:fixed;inset:0;background:var(--bg);color:var(--text);overflow:hidden}.explorer-top{position:absolute;top:var(--pane-inset);left:var(--pane-inset);right:var(--pane-inset);display:flex;align-items:flex-start;gap:10px;pointer-events:none}.explorer-top>*{pointer-events:auto}.explorer-top .profile-dock{position:static;flex:none}.explorer-bar{flex:1;min-width:0;display:flex;align-items:center;gap:16px;padding:9px 10px 9px 16px;border-radius:24px}.explorer-brand{display:inline-flex;align-items:center;text-decoration:none}.explorer-logo .cad-mark-badge{width:32px;height:32px}.explorer-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.explorer-chip,.explorer-view-btn{font:inherit;white-space:nowrap;font-size:13px;font-weight:500;color:var(--text-muted);background:var(--bg-input);border:1px solid transparent;border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.explorer-chip:hover,.explorer-view-btn:hover{background:var(--border)}.explorer-views{display:inline-flex;gap:2px;padding:2px;background:var(--bg-input);border-radius:999px}.explorer-views .explorer-view-btn{background:transparent;padding:6px 13px}.explorer-view-btn[aria-pressed=true]{background:var(--bg-raised);color:var(--text);box-shadow:var(--shadow-sm)}.explorer-new{font:inherit;white-space:nowrap;font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:999px;padding:8px 18px;cursor:pointer}.explorer-new:hover{filter:brightness(.95)}.explorer-body{position:absolute;inset:0;overflow-y:auto;margin:0;padding:var(--pane-inset);padding-top:calc(var(--pane-inset) * 2 + 48px);list-style:none;overscroll-behavior:contain}.explorer-section{margin:0 0 28px}.explorer-section>.explorer-grid,.explorer-section>.explorer-list{margin:0;padding:0;list-style:none}.explorer-heading{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;font-weight:650;color:var(--text-muted)}.explorer-lock{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:3px 8px}.explorer-lede{margin:-4px 0 16px;max-width:40em;font-size:14px;line-height:1.45;color:var(--text-faint)}.explorer-empty--inline{padding:8px 0 12px}.explorer-empty--inline p{margin:0 0 12px;color:var(--text-faint)}.explorer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;align-content:start}.explorer-list{display:flex;flex-direction:column;gap:8px}.project-card{position:relative;border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:var(--shadow-sm);transition:box-shadow .18s var(--ease),transform .18s var(--ease)}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-open{display:block;width:100%;padding:0;border:none;background:none;border-radius:inherit;text-align:left;cursor:pointer;font:inherit;color:inherit}.project-thumb{display:block;aspect-ratio:4 / 3;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;background:var(--bg-input)}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-thumb-empty{display:block;width:100%;height:100%;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:22px 22px}.project-thumb--folder,.project-thumb--demo{display:grid;place-items:center;background:var(--accent-wash)}.project-folder-icon{display:flex;width:36px;height:36px;color:var(--accent)}.project-folder-icon svg{width:100%;height:100%}.project-card--folder .project-when,.project-thumb img+.project-line .project-when{white-space:normal}.project-thumb img{background:var(--bg-input)}.project-line{display:block;padding:12px 14px 14px}.project-name{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-when{display:block;margin-top:2px;font-size:12px;font-style:normal;color:var(--text-faint)}.project-more{position:absolute;top:8px;right:8px}.project-more-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:999px;background:var(--glass-strong);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-sm);cursor:pointer;opacity:.85}.project-more-btn:hover{opacity:1}.project-more-icon{width:16px;height:16px;color:var(--text-muted)}.explorer-list .project-card{display:flex;align-items:center;border-radius:var(--radius-md)}.explorer-list .project-open{display:flex;align-items:center;gap:14px;padding:8px 12px;flex:1;min-width:0}.explorer-list .project-thumb{flex:none;width:64px;aspect-ratio:4 / 3;border-radius:var(--radius-sm)}.explorer-list .project-line{padding:0;min-width:0;flex:1}.explorer-list .project-more{position:static;flex:none;padding-right:10px}.explorer-list .project-more-btn{background:transparent;backdrop-filter:none;box-shadow:none}.explorer-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--text-faint)}.explorer-empty h1{margin:0;font-size:22px;font-weight:600;color:var(--text)}.explorer-empty p{margin:0 0 8px;font-size:14px}.explorer-undo{position:absolute;bottom:var(--pane-inset);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:10px 10px 10px 18px;font-size:13px;border-radius:999px;white-space:nowrap}.explorer-undo button{font:inherit;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:999px;padding:6px 14px;cursor:pointer}@media(max-width:560px){.explorer-brand{display:none}.explorer-bar{padding:8px 8px 8px 12px;gap:8px}.explorer-controls{width:100%;margin-left:0;justify-content:space-between}.explorer-chip,.explorer-view-btn{padding:7px 11px}.explorer-new{padding:8px 14px}.explorer-body{padding-top:calc(var(--pane-inset) * 2 + 44px)}.explorer-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}}.changelog{position:fixed;inset:0;background:var(--bg);color:var(--text)}.changelog-body{position:absolute;inset:0;overflow-y:auto;margin:0;padding:var(--pane-inset);padding-top:calc(var(--pane-inset) * 2 + 48px);padding-bottom:64px}.changelog-head,.changelog-entry{max-width:620px;margin-left:auto;margin-right:auto}.changelog-head{padding:32px 8px 28px}.changelog-kicker{margin:0 0 10px;font-size:11.5px;font-weight:680;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.changelog-head h1{margin:0 0 10px;font-size:30px;font-weight:700;letter-spacing:-.02em}.changelog-lede{margin:0;font-size:15px;line-height:1.45;color:var(--text-muted)}.changelog-entry{padding:20px 22px;margin-bottom:16px}.changelog-entry-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0 0 12px;font-size:15px}.changelog-version{font-weight:700;color:var(--accent)}.changelog-title{font-weight:620}.changelog-date{margin-left:auto;font-size:12px;font-weight:400;color:var(--text-faint)}.changelog-changes{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--text-muted)}.changelog-changes li+li{margin-top:5px}
