.app-shell .project-home{isolation:isolate;background:#090c0f;grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);min-height:640px;position:relative;overflow:hidden}.project-home>:not(.home-hero-demo){z-index:1;position:relative}.project-home .project-home-hero{border:0;grid-column:1;align-items:center;min-height:0;padding-bottom:16px}.project-home .project-home-hero>div{max-width:100%}.project-home .project-home-hero h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(32px,3.4vw,50px);line-height:1.2}.project-home .project-home-hero p:not(.panel-kicker){font-size:14px}.project-home .project-home-library-count{display:none}.project-home .project-home-actions{grid-column:1;align-self:start}.project-home .project-home-recent,.project-home .project-home-empty{grid-column:1;margin-top:26px;padding:18px}.project-home .project-home-boundary{grid-column:1}.project-home .site-footer{color:#9da6ad;border-top:1px solid #293136;grid-column:1;margin-top:12px;padding-top:16px;font-size:11px;line-height:1.65}.site-footer p{margin:0}.site-footer p+p{margin-top:5px}.site-footer a{color:#d9dee1;text-underline-offset:3px}.site-footer a:hover{color:#fff}.site-footer a:focus-visible{outline:2px solid var(--ui-text);outline-offset:3px}.site-footer-title{color:#d9dee1;letter-spacing:.04em;font-size:12px;font-weight:650}.site-footer-compliance{margin-top:12px}.home-hero-demo{z-index:0;min-height:370px;position:absolute;inset:0 0 0 39%}.home-hero-canvas{position:absolute;inset:30px 0 160px}.home-hero-canvas canvas{width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000),linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000),linear-gradient(#0000,#000 12% 88%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.home-hero-caption{color:var(--ui-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex;position:absolute;bottom:115px;left:7%;right:7%}.home-hero-caption strong{color:var(--ui-text);margin-right:14px;font-weight:500}.home-hero-pause{border:1px solid var(--ui-border);background:var(--ui-control-bg);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:12px}.home-hero-pause:hover{background:var(--ui-hover)}.home-hero-pause:focus-visible{outline:2px solid var(--ui-text);outline-offset:3px}.home-hero-phases{color:var(--ui-muted);gap:16px;margin:0;padding:0;font-size:11px;list-style:none;display:flex;position:absolute;bottom:78px;left:7%;right:7%}.home-hero-phases li{border-top:1px solid var(--ui-border);white-space:nowrap;flex:1;padding-top:9px}.home-hero-phases li[data-current=true]{color:var(--ui-text);border-color:var(--ui-text)}.home-hero-phases span{font-variant-numeric:tabular-nums;margin-right:6px}.home-hero-note{color:var(--ui-muted);margin:0;font-size:10px;position:absolute;bottom:45px;left:7%}@media (width<=850px){.app-shell .project-home{flex-direction:column;min-height:auto;padding:24px 20px;display:flex;overflow:visible}.home-hero-demo{flex:0 0 365px;order:0;width:100%;min-height:0;position:relative;inset:auto}.home-hero-canvas{inset:0 0 85px}.project-home .project-home-hero{order:1;min-height:0;padding:20px 0 0}.project-home-hero>div{max-width:100%}.project-home .project-home-library-count{display:none}.project-home-actions{order:2;margin-top:4px}.project-home .project-home-recent,.project-home .project-home-empty{order:3;margin-top:12px}.project-home-boundary{order:4}.project-home .site-footer{order:5;margin-top:18px;display:block}.site-footer-compliance{text-align:left;margin-top:12px}.home-hero-phases{gap:7px;font-size:10px;bottom:30px;left:0;right:0}.home-hero-phases span{display:none}.home-hero-caption,.home-hero-note{left:0;right:0}.home-hero-caption{bottom:66px}.home-hero-note{bottom:0}}.articulated-editor{color:var(--ui-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.articulated-editor button:not(.button){min-height:var(--ui-control-height);cursor:pointer;border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font:inherit;padding:0 12px}.articulated-editor button:not(.button):disabled{opacity:.45;cursor:default}.articulated-editor button:not(.button):hover{background:var(--ui-hover)}.articulated-object-workspace .grouped-controls{min-height:0}.articulated-model-brief{gap:14px;display:grid}.articulated-model-brief h2{font-size:var(--ui-heading-size);margin:0}.articulated-model-brief>p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:0;line-height:1.65}.articulated-model-brief dl{gap:8px;margin:0;display:grid}.articulated-model-brief dl>div{border-top:1px solid var(--ui-border);grid-template-columns:56px minmax(0,1fr);gap:8px;padding:10px 0;display:grid}.articulated-model-brief dt{color:var(--ui-muted);font-size:12px}.articulated-model-brief dd{text-align:right;margin:0;font-size:12px}.articulated-controls{gap:18px;display:grid}.articulated-controls fieldset{border:0;gap:12px;margin:0;padding:0;display:grid}.articulated-controls fieldset+fieldset{border-top:1px solid var(--ui-border);padding-top:18px}.articulated-controls legend{color:var(--ui-text);font-size:var(--ui-section-size);padding:0;font-weight:700}.articulated-controls label{color:var(--ui-label);font-size:var(--ui-label-size);gap:5px;display:grid}.articulated-controls input:not([type=checkbox]):not([type=range]),.articulated-controls select{width:100%;min-width:0;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);font:inherit;padding:7px 9px}.articulated-controls input[type=range]{width:100%;accent-color:var(--ui-accent);background:0 0;border:0;padding:0}.articulated-bounded-control{border-bottom:1px solid #252b2f;gap:6px;padding:9px 0;display:grid}.articulated-bounded-control small{color:var(--ui-muted);font-variant-numeric:tabular-nums;font-size:11px}.articulated-joint-control{border-top:1px solid var(--ui-border);gap:10px;padding-top:12px;display:grid}.articulated-joint-control h4{margin:0;font-size:14px}.articulated-note{color:var(--ui-muted);margin:8px 0;font-size:13px;line-height:1.65}.articulated-measurements{border-top:1px solid var(--ui-border);margin-top:18px;padding-top:14px}.articulated-measurements>summary{min-height:36px;color:var(--ui-label);font-size:13px}.articulated-measurements>.articulated-controls{margin-top:12px}.articulated-viewport-panel .articulated-viewport-shell{height:100%;min-height:0;color:var(--ui-text);background:#10191e;position:relative}.articulated-viewport-shell.is-fill .articulated-canvas-frame{height:100%!important}.articulated-viewport-shell canvas{display:block}.articulated-viewport-shell .field-help{z-index:2;border:1px solid var(--ui-border);max-width:min(560px,100% - 190px);color:var(--ui-muted);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08121ee6;border-radius:7px;margin:0;padding:8px 10px;font-size:11px;line-height:1.5;position:absolute;bottom:14px;left:14px}.articulated-view-controls{background:var(--ui-panel);flex-wrap:wrap;gap:8px;padding:10px;display:flex}.articulated-notice{color:#e9cd98;background:#242116;border:1px solid #675735;border-radius:8px;margin:12px 0;padding:12px 14px;line-height:1.6}.articulated-error{color:#ffb6b8;background:#2b1719;border-color:#774347}.articulated-summary{border-bottom:1px solid var(--ui-border);margin:0;padding:0 0 16px}.articulated-summary details{border-top:1px solid var(--ui-border);margin-top:14px;padding-top:12px}.articulated-confirm{width:100%;margin-top:18px}.articulated-project-library{overflow-y:auto}.articulated-library{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.articulated-card{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:10px;gap:10px;padding:14px;display:grid;overflow:hidden}.articulated-card img{aspect-ratio:16/9;object-fit:contain;background:var(--ui-control-bg);width:100%}.articulated-card h2{margin:0;font-size:17px}.articulated-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.articulated-compare{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.articulated-compare article{border:1px solid var(--ui-border);border-radius:10px;min-width:0;padding:14px}.articulated-card canvas{max-height:180px}.articulated-compare canvas{max-height:360px}.articulated-thumbnail-placeholder{aspect-ratio:16/9;background:var(--ui-control-bg);color:var(--ui-muted);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.articulated-thumbnail-generator{pointer-events:none;width:320px;height:240px;position:fixed;top:0;left:-10000px;overflow:hidden}.articulated-thumbnail-generator .articulated-canvas-frame{height:180px!important}.articulated-editor [role=dialog]{z-index:100;border:2px solid var(--ui-selected-border);background:var(--ui-panel);border-radius:12px;padding:24px;position:fixed;inset:25% max(16px,50vw - 250px) auto;box-shadow:0 10px 100px #0005}.articulated-editor input,.articulated-editor select,.articulated-editor option{color:var(--ui-text);background:var(--ui-control-bg)}.articulated-editor input::placeholder{color:var(--ui-muted)}.articulated-editor input[type=checkbox]{accent-color:var(--ui-accent)}.articulated-editor :is(button,input,select,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.articulated-editor summary{cursor:pointer;color:var(--ui-text);font-weight:600;line-height:1.6}@media (width<=760px){.articulated-viewport-shell .field-help{max-width:none;position:absolute;bottom:58px;left:10px;right:10px}.articulated-compare{grid-template-columns:1fr}}@media (width>=761px) and (pointer:fine){.object-inspector .articulated-controls{gap:12px}.object-inspector .articulated-controls fieldset{gap:8px}.object-inspector .articulated-controls fieldset+fieldset{padding-top:12px}.object-inspector .articulated-note{margin:5px 0;font-size:11px;line-height:1.45}.object-inspector .articulated-joint-control{gap:6px;padding-top:8px}.object-inspector .articulated-joint-control h4{font-size:13px}.object-inspector .articulated-bounded-control{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:7px 0}.object-inspector .articulated-bounded-control>label{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:10px;font-size:12px;display:grid}.object-inspector .articulated-bounded-control>label input{grid-column:2;min-height:32px;padding:4px 7px;font-size:13px}.object-inspector .articulated-bounded-control>input[type=range]{grid-column:1;margin:0}.object-inspector .articulated-bounded-control>small{color:#939da4;white-space:nowrap;grid-column:2;align-self:center;font-size:10px;line-height:1.3}.object-inspector .articulated-measurements{margin-top:12px;padding-top:9px}}.articulated-hardware-editor{border:0;min-width:0;margin:0;padding:0}.articulated-hardware-editor label{color:var(--ui-label);font-size:var(--ui-label-size);gap:5px;display:grid}.articulated-hardware-editor input:not([type=checkbox]),.articulated-hardware-editor select{width:100%;min-width:0;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);font:inherit;padding:7px 9px}.articulated-hardware-slot{border-top:1px solid var(--ui-border);padding:10px 0}.articulated-hardware-slot>summary{font-size:13px}.articulated-hardware-fields{gap:10px;min-width:0;margin-top:10px;display:grid}.articulated-hardware-fields>details[open]{gap:10px;display:grid}.articulated-hardware-actions{flex-wrap:wrap;gap:8px;display:flex}:root{--ui-page:#0b0d0f;--ui-panel:#121619;--ui-surface:#181c1f;--ui-hover:#22282c;--ui-text:#edf0f2;--ui-muted:#a4adb4;--ui-label:#d4d9dd;--ui-border:#30373c;--ui-control-border:#566067;--ui-control-bg:#0d1114;--ui-accent:#aeb7bd;--ui-accent-ink:#101315;--ui-selected-border:#8f9aa1;--ui-selected-bg:#20262a;--ui-selected-text:#f0f3f5;--ui-info:#7f9db8;--ui-info-bg:#14212d;--ui-info-border:#415b70;--ui-note:#d9b56f;--ui-success:#6dcb9b;--ui-error:#e7797c;--ui-heading-size:17px;--ui-section-size:14px;--ui-label-size:13px;--ui-caption-size:12px;--ui-field-size:14px;--ui-control-height:40px;--ui-compact-height:36px;--ui-control-radius:6px;--ui-field-space:16px;--ui-group-space:20px;color:var(--ui-text);background:var(--ui-page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--ui-page);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.app-shell{flex-direction:column;height:100dvh;min-height:480px;padding:clamp(12px,1.6vw,22px);display:flex}.topbar{flex:none;grid-template-columns:auto minmax(0,1fr);justify-content:space-between;align-items:center;gap:10px 20px;min-height:58px;margin-bottom:14px;display:grid}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-mark{flex:none;width:clamp(68px,5vw,80px);height:auto;display:block}.eyebrow{color:#90999f;letter-spacing:.15em;margin:0 0 2px;font-size:9px;font-weight:700}.brand-title-row{align-items:baseline;gap:8px;display:flex}.web-release{color:#8f9aa1;white-space:nowrap;font-size:10px;font-weight:650;line-height:1.4}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.03em;margin-bottom:0;font-size:clamp(22px,1.8vw,28px)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.project-navigation{align-items:center;gap:12px;display:flex}.project-primary-actions{align-items:center;gap:2px;display:flex}.topbar .topbar-action,.topbar .file-actions-trigger{color:#d4d9dd;background:0 0;border-color:#0000;border-radius:3px;min-height:32px;padding-inline:9px;font-size:12px}.topbar .topbar-action:hover,.topbar .file-actions-trigger:hover{color:var(--ui-text);background:#1a1f23;border-color:#394248}.project-reference-links{border-left:1px solid #343a3f;align-items:center;gap:8px;padding-left:12px;display:flex}.project-reference-links a{color:#919aa1;font-size:11px;line-height:1.5;text-decoration:none}.project-reference-links a:after{content:" ↗";color:#707980}.project-reference-links a:hover{color:#d8dde0}.file-actions{flex:none;position:relative}.file-actions[data-state=open]{z-index:20}.file-actions-trigger{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.file-actions-caret{color:var(--ui-accent);font-size:11px;transition:transform .16s}.file-actions-trigger[data-state=open] .file-actions-caret{transform:rotate(90deg)}.file-actions-trigger:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.file-actions-panel{z-index:60;border:1px solid var(--ui-control-border);background:var(--ui-surface);border-radius:8px;width:min(300px,100vw - 24px);padding:14px;box-shadow:0 16px 34px #00000047}.file-actions-panel[data-state=closed]{display:none}.file-actions-panel[data-state=open]{animation:.16s ease-out file-menu-in}.file-actions-panel>div+div{border-top:1px solid #26394b;margin-top:12px;padding-top:12px}.file-actions-panel .button{text-align:left;width:100%}.file-actions-panel p{color:#9daebe;margin:6px 0 0;font-size:12px;line-height:1.6}@keyframes file-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.import-feedback{color:#c8ccca;background:#171b1e;border:1px solid #30363a;border-radius:8px;width:fit-content;max-width:min(100%,520px);margin:-6px 0 12px auto;padding:9px 12px;font-size:12px;line-height:1.45}.import-feedback.success{border-color:#52734b}.import-feedback.error{border-color:#994f47}.button{min-height:var(--ui-control-height);border-radius:var(--ui-control-radius);cursor:pointer;color:var(--ui-text);font-size:var(--ui-label-size);border:1px solid #2d4052;padding:0 15px;font-weight:650;line-height:1.5}.button.secondary{background:var(--ui-surface)}.button.primary{border-color:var(--ui-accent);background:var(--ui-accent);color:var(--ui-accent-ink)}.button:hover{filter:brightness(1.08)}.button:disabled{cursor:not-allowed;opacity:.45}.compact-button{min-height:var(--ui-compact-height);font-size:var(--ui-label-size);white-space:nowrap;flex:none;padding:0 10px;line-height:1.5}.workspace{flex:1 1 0;grid-template-columns:clamp(240px,21vw,290px) minmax(0,1fr) clamp(260px,22vw,310px);gap:14px;min-width:0;min-height:0;display:grid}.object-editor-workspace{flex:1 1 0;min-width:0;min-height:0;display:flex}.object-editor-workspace.workspace{grid-template-rows:none;grid-template-columns:none;gap:0}.object-workspace-root{flex:1 1 0;gap:0;min-width:0;min-height:0}.object-workspace-fallback{grid-template-columns:minmax(220px,22%) minmax(0,1fr);gap:8px;display:grid}.object-workspace-fallback-tree,.object-workspace-fallback-main,.object-workspace-fallback-top{min-width:0;min-height:0}.object-workspace-fallback-main{grid-template-rows:minmax(0,72%) minmax(0,28%);gap:8px;display:grid}.object-workspace-fallback-top{grid-template-columns:minmax(0,68%) minmax(240px,32%);gap:8px;display:grid}.object-workspace-root [data-panel]{min-width:0;min-height:0}.object-workspace-resize{touch-action:none;background:0 0;flex:0 0 8px;position:relative}.object-workspace-resize:after{content:"";background:#293238;border-radius:999px;transition:background .14s;position:absolute;inset:0 3px}.object-workspace-resize:hover:after,.object-workspace-resize[data-resize-handle-active]:after{background:var(--ui-accent)}.object-workspace-resize.vertical{min-height:8px}.object-workspace-resize.vertical:after{inset:3px 0}.layout-canvas-left .object-workspace-root>#canvas{order:1}.layout-canvas-left .object-workspace-root>#canvas-inspector{order:2}.layout-canvas-left .object-workspace-root>#objects{order:3}.layout-canvas-left .object-workspace-root>#objects-canvas{order:4}.layout-canvas-left .object-workspace-root>#inspector{order:5}.layout-parameters .object-workspace-root>#objects{order:1}.layout-parameters .object-workspace-root>#objects-canvas{order:2}.layout-parameters .object-workspace-root>#inspector{order:3}.layout-parameters .object-workspace-root>#canvas-inspector{order:4}.layout-parameters .object-workspace-root>#canvas{order:5}.editor-object-tree,.object-inspector,.results-panel,.viewport-panel{box-sizing:border-box;width:100%;height:100%}.editor-object-tree{flex-direction:column;padding:0;display:flex;overflow:hidden}.editor-object-tree-heading,.object-inspector-heading{border-bottom:1px solid var(--ui-border);background:linear-gradient(135deg,#151b1f,#101417);padding:12px 13px 10px}.editor-object-tree-heading span,.object-inspector-heading span{color:#8195a0;letter-spacing:.14em;font-size:9px;font-weight:750}.editor-object-tree-heading h2,.object-inspector-heading h2{margin:3px 0;font-size:16px}.editor-object-tree-heading p,.object-inspector-heading p{color:var(--ui-muted);margin:0;font-size:11px;line-height:1.42}.editor-object-tree-list{scrollbar-width:thin;outline:0;flex:1 1 0;min-height:0;padding:5px 5px 8px;overflow:auto}.editor-object-tree-row{width:100%;min-height:32px;color:var(--ui-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;padding-block:3px;padding-inline-end:6px;display:flex}.editor-object-tree-row:hover{background:#1b2429}.editor-object-tree-row.is-selected{box-shadow:inset 2px 0 0 var(--ui-accent);background:#233946}.editor-object-tree-row:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.editor-object-tree-chevron{color:#8fa6b1;text-align:center;width:11px}.editor-object-tree-copy{flex:1;gap:0;min-width:0;display:grid}.editor-object-tree-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.editor-object-tree-copy small{color:var(--ui-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.editor-object-tree-warning{color:var(--ui-note);text-shadow:0 0 10px #d9b56f47;flex:none;font-size:14px;line-height:1}.object-inspector{flex-direction:column;padding:0;display:flex;overflow:hidden}.object-inspector .grouped-controls{background:0 0;border:0;border-radius:0;flex:1 1 0}.object-inspector .workspace-group-scroll{padding:16px}.object-inspector-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.object-reset-icon{color:#d8e0e4;cursor:pointer;background:#0d1114cc;border:1px solid #5c6970;border-radius:5px;flex:none;place-items:center;width:29px;height:29px;margin-top:1px;font-size:19px;line-height:1;display:inline-grid}.object-reset-icon:hover{border-color:var(--ui-selected-border);color:var(--ui-selected-text);background:#202a2f}.object-reset-icon:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}@media (width<=760px){.object-editor-workspace{flex:none;height:auto;min-height:auto;display:block}.object-workspace-root,.object-workspace-root [data-group]{touch-action:pan-y!important;flex:none!important;height:auto!important;min-height:0!important;display:block!important}.object-workspace-root [data-panel]{margin:0 0 12px;flex:none!important;width:auto!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}.object-workspace-resize{display:none}.object-workspace-mobile{flex-direction:column;gap:12px;display:flex}.object-workspace-mobile-region{width:100%;min-width:0;min-height:0}.editor-object-tree,.object-inspector,.results-panel{height:auto;max-height:none}.editor-object-tree-list{max-height:320px}.object-inspector{overflow:visible}}.panel,.viewport-panel{border:1px solid var(--ui-border);background:var(--ui-panel);border-radius:11px;min-width:0;min-height:0;overflow:hidden}.panel{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#3a4044 transparent;scrollbar-gutter:stable;padding:20px;overflow-y:auto}.grouped-controls{scrollbar-gutter:auto;flex-direction:column;padding:0;display:flex;overflow:hidden}.workspace-group-navigation{border-bottom:1px solid var(--ui-border);background:#111417;flex:none;padding:9px 10px 8px}.workspace-group-identity{justify-content:space-between;align-items:baseline;margin:0 2px 7px;display:flex}.workspace-group-identity span,.viewport-toolbar-identity span,.panel-kicker{color:#858f96;letter-spacing:.14em;font-size:9px;font-weight:750;line-height:1.4}.workspace-group-identity strong,.viewport-toolbar-identity strong{color:#c9d0d5;letter-spacing:.08em;font-size:10px;font-weight:700;line-height:1.4}.workspace-group-tabs{background:#0d1114;border:1px solid #30373c;border-radius:4px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;padding:0;display:grid}.workspace-group-tabs button{color:#a8bacb;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:44px;padding:7px 3px 6px;font-size:12px;font-weight:600;display:flex}.workspace-group-tabs button:hover{color:var(--ui-text);background:#1c2226}.workspace-group-tabs button[aria-selected=true]{border-bottom-color:var(--ui-selected-border);color:var(--ui-selected-text);background:#20262a;font-weight:650;box-shadow:inset 0 -1px #e1ecff17}.workspace-group-tabs button:focus-visible,.workspace-group-panel:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.workspace-group-error-badge{color:var(--ui-error);font-size:10px}.workspace-group-errors{color:var(--ui-error);margin:9px 2px 0;font-size:12px;line-height:1.5}.workspace-group-scroll{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#3a4044 transparent;scrollbar-gutter:stable;flex:1 1 0;min-height:0;padding:18px;overflow-y:auto}.workspace-group-panel{min-width:0}.workspace-group-panel:not([hidden]){animation:.18s ease-out workspace-panel-in}.workspace-group-panel[hidden]{display:none}.workspace-group-guide{border-top:1px solid var(--ui-border);margin-top:24px;padding-top:16px}.workspace-group-guide .usage-guide{border:0;margin:0;padding:0}@media (width<=760px){.grouped-controls{overflow:visible}.workspace-group-navigation{z-index:2;border-radius:11px 11px 0 0;position:sticky;top:0}.workspace-group-scroll{overscroll-behavior-y:auto;scrollbar-gutter:auto;flex:none;overflow:visible}.body-range-field .range-number input{min-height:44px}}@media (prefers-reduced-motion:reduce){.workspace-group-panel:not([hidden]),.body-range-field,.workspace-group-tabs button{transition:none;animation:none}}.panel-heading{margin-bottom:var(--ui-group-space);align-items:flex-start;gap:11px;display:flex}.panel-heading.compact{margin-bottom:var(--ui-group-space)}.panel-heading>span{color:#aab1b5;border:1px solid #3a4044;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:10px;font-weight:750;display:grid}.panel-heading h2{font-size:var(--ui-heading-size);margin-bottom:8px;line-height:1.4}.panel-heading p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-bottom:0;line-height:1.6}.analysis-heading{border-bottom:1px solid #30373c;margin-bottom:14px;padding-bottom:13px}.panel-kicker{margin:0 0 5px;display:block}.analysis-heading h2{margin-bottom:4px}.body-editor-heading{border-bottom:1px solid #30373c;margin-bottom:14px;padding:2px 0 13px;position:relative}.body-editor-kicker{color:var(--ui-accent);letter-spacing:.12em;margin-bottom:5px;font-size:10px;font-weight:750;line-height:1.4;display:block}.body-editor-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.body-editor-heading h2{margin-bottom:4px}.body-editor-count{color:#c7ced3;font-variant-numeric:tabular-nums;border:1px solid #566067;border-radius:999px;flex:none;padding:3px 7px;font-size:10px;line-height:1.4}.body-editor-heading p{max-width:24ch}.range-field{margin-bottom:var(--ui-field-space);display:block}.range-label{color:var(--ui-label);font-size:var(--ui-label-size);justify-content:space-between;gap:12px;margin-bottom:8px;line-height:1.5;display:flex}.range-label output{color:#f1f3ed;font-variant-numeric:tabular-nums;font-weight:650}.body-range-field .range-label,.lip-range-field .range-label,.ballast-position-range .range-label,.ballast-size-range .range-label{font-size:var(--ui-label-size);color:var(--ui-label);flex-wrap:wrap;align-items:center;gap:6px 10px;line-height:1.5}.body-input-hint{color:#939da4;margin:0 0 10px;font-size:11px;line-height:1.55}.body-live-preview-note{color:var(--ui-note);margin:0 0 10px;font-size:11px;line-height:1.55}.body-range-field{background:0 0;border:0;border-bottom:1px solid #30373c;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0;padding:12px 1px 11px;transition:border-color .15s,background .15s;display:grid}.body-range-field:hover{background:linear-gradient(90deg,#22282c99,#0000);border-bottom-color:#667078}.body-range-field:focus-within{border-bottom-color:var(--ui-selected-border)}.body-range-field .range-label{display:contents}.body-range-field .range-label>label{color:var(--ui-text);grid-area:1/1;align-self:center;font-size:13px;font-weight:650}.body-range-field .range-number{grid-area:1/2;gap:5px;margin-left:0}.body-range-field .range-number input{background:#0d1114;border-color:#5b656c;border-radius:3px;width:88px;min-height:38px;font-size:14px;font-weight:650}.body-range-field .range-number>span{color:#b6bec4;width:2.2ch;font-size:11px;font-weight:650}.body-range-field input[type=range]{grid-area:2/1/auto/-1;align-self:center;margin:0}.body-range-field .range-hint{color:#939da4;letter-spacing:.01em;grid-area:3/1/auto/-1;margin:0;font-size:11px}.body-range-field .range-error{grid-area:4/1/auto/-1;margin:0}@keyframes workspace-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fixed-body-specs{border:1px solid var(--ui-border);border-radius:8px;gap:0;margin:0;display:grid;overflow:hidden}.fixed-body-specs>div{background:var(--ui-surface);grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr);gap:12px;padding:12px;display:grid}.fixed-body-specs>div+div{border-top:1px solid var(--ui-border)}.fixed-body-specs dt{color:var(--ui-muted);font-size:var(--ui-caption-size);line-height:1.6}.fixed-body-specs dd{color:var(--ui-text);font-size:var(--ui-label-size);font-variant-numeric:tabular-nums;margin:0;line-height:1.6}.fixed-body-note{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:14px 0 0;line-height:1.65}.range-number{color:#abb6bc;align-items:center;gap:6px;min-width:0;max-width:100%;margin-left:auto;font-size:12px;display:flex}.range-number input{width:100px;min-width:0;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:var(--ui-field-size);font-variant-numeric:tabular-nums;text-align:right;appearance:textfield;padding:7px 8px;line-height:1.5}.range-number>span{width:2.5ch;color:var(--ui-muted);font-size:var(--ui-caption-size);flex-shrink:0}.range-number input::-webkit-inner-spin-button{appearance:none;margin:0}.range-number input::-webkit-outer-spin-button{appearance:none;margin:0}.range-number input:hover{border-color:var(--ui-info)}.range-number input:focus-visible,.body-range-field input[type=range]:focus-visible,.lip-range-field input[type=range]:focus-visible,.ballast-position-range input[type=range]:focus-visible,.ballast-size-range input[type=range]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.range-number input[aria-invalid=true]{border-color:#e18d6e}.ballast-position-field{margin-bottom:var(--ui-field-space);scroll-margin-block:24px}.ballast-position-range{margin-bottom:4px}.ballast-size-fields{gap:var(--ui-field-space);margin-bottom:var(--ui-field-space);display:grid}.ballast-size-range{margin:0}.hook-range-field{margin-bottom:var(--ui-field-space)}.hook-range-field .range-label{flex-wrap:wrap;align-items:center}.hook-range-field input[type=range]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.hook-legacy-notice,.hook-assembly-total{border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);padding:12px}.hook-legacy-notice p,.hook-source{font-size:var(--ui-caption-size);color:var(--ui-muted);line-height:1.7}.hook-mounts{margin-bottom:var(--ui-field-space)}.hook-reference{color:var(--ui-muted);font-size:var(--ui-caption-size);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.hook-dimensions{margin-top:14px}.hook-source a{color:var(--ui-accent)}.hook-assembly-total{font-size:var(--ui-label-size)}.ballast-position-direction{color:var(--ui-muted);font-size:var(--ui-caption-size);justify-content:space-between;gap:12px;display:flex}.ballast-position-issue{color:#ffb49b;font-size:var(--ui-caption-size);margin-top:7px;display:block}.range-hint,.range-error{font-size:var(--ui-caption-size);margin-top:7px;line-height:1.6;display:block}.range-hint{color:var(--ui-muted);font-size:var(--ui-caption-size)}.range-error{color:var(--ui-error)}.editor-range-field:not(.body-range-field){background:0 0;border:0;border-bottom:1px solid #30373c;border-radius:0;margin:0;padding:11px 1px 10px;transition:border-color .15s,background .15s}.editor-range-field:not(.body-range-field):hover{background:linear-gradient(90deg,#22282c99,#0000);border-bottom-color:#667078}.editor-range-field:not(.body-range-field):focus-within{border-bottom-color:var(--ui-accent)}.editor-range-field:not(.body-range-field) .range-label{margin-bottom:7px}.editor-range-field:not(.body-range-field) .range-number input{background:#0d1114;border-color:#5b656c;border-radius:3px}.editor-range-field:not(.body-range-field) .range-hint{color:#939da4;margin-top:6px}@media (width<=760px){.range-number input{width:112px}}input[type=range]{appearance:none;width:100%;height:3px;accent-color:var(--ui-accent);background:#314253;border-radius:999px;outline:none;margin:0}input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--ui-panel);background:var(--ui-accent);width:15px;height:15px;box-shadow:0 0 0 1px var(--ui-accent);cursor:pointer;border-radius:50%}.section-divider{background:var(--ui-border);height:1px;margin:22px 0}.viewport-panel{height:100%;position:relative}.viewport-panel canvas{display:block}.viewport-scene{min-width:0;min-height:0;position:absolute;inset:0}.viewport-panel.is-tank{flex-direction:column;display:flex}.viewport-panel.is-tank .viewport-scene{flex:1;position:relative;overflow-y:auto}.viewport-panel.is-tank>.viewport-toolbar{flex-shrink:0;order:-1;padding:12px;position:static}.viewport-asset-status{z-index:3;border:1px solid var(--ui-info-border);width:min(300px,100% - 40px);color:var(--ui-text);text-align:center;background:#08121ef2;border-radius:10px;gap:9px;padding:22px;font-size:13px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewport-asset-status span{color:var(--ui-muted);line-height:1.5}.viewport-asset-status button{border:1px solid var(--ui-info-border);background:var(--ui-info-bg);color:#dbe6e3;cursor:pointer;border-radius:5px;justify-self:center;padding:7px 15px}.viewport-asset-status button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.viewport-geometry-state{z-index:3;border:1px solid var(--ui-info-border);color:#d5e0dc;text-align:center;pointer-events:none;background:#08121ee6;border-radius:7px;gap:3px;width:min(560px,100% - 32px);padding:9px 12px;font-size:12px;line-height:1.45;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%)}.viewport-geometry-state span{color:#b7c6c2}.viewport-geometry-state.error{color:#f0c8bc;border-color:#a86d60}.viewport-geometry-state.error span{color:#e3b9ad}.viewport-note,.preview-warning{z-index:2;border:1px solid var(--ui-border);color:var(--ui-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08121ee6;border-radius:7px;font-size:11px;position:absolute}.viewport-note{flex-wrap:wrap;gap:14px;max-width:calc(100% - 28px);padding:8px 10px;display:flex;top:14px;left:14px}.viewport-note span{align-items:center;gap:6px;display:flex}.dot{border-radius:50%;width:7px;height:7px}.dot-cg{background:#c98270}.dot-cb{background:var(--ui-info)}.dot-ballast{background:#9d9b75}.ballast-explanation{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-bottom:0;line-height:1.6}.ballast-label{border:1px solid var(--ui-info-border);color:#d5e0dc;white-space:nowrap;text-align:center;background:#1e2a2bf0;border-radius:5px;gap:3px;padding:7px 9px;font-size:11px;display:grid;position:relative;transform:translateY(-47px)}.ballast-label.active{border-color:var(--ui-accent);color:var(--ui-selected-text)}.ballast-label.center-slot{transform:translateY(-99px)}.ballast-label.center-slot i{height:74px}.ballast-label span{color:#9bb1b1;font-size:10px}.ballast-label i{background:var(--ui-info);width:1px;height:22px;position:absolute;top:100%;left:50%}.ballast-label.active i{background:var(--ui-accent)}.mass-projection-label{color:#d18a78;white-space:nowrap;font-size:10px;display:block;transform:translateY(48px)}.ballast-view-caption{color:#9bb1b1;text-align:right;pointer-events:none;font-size:11px;position:absolute;bottom:54px;left:14px;right:14px}.ballast-layout-error{color:#edc1ad;background:#241e1a;border:1px solid #8d6658;border-radius:6px;width:260px;padding:14px;font-size:12px;line-height:1.6}.preview-warning{max-width:calc(100% - 28px);padding:8px 10px;bottom:14px;right:14px}.buoyancy-status{background:var(--ui-surface);border:1px solid #30363a;border-left-width:3px;border-radius:8px;gap:5px;margin-bottom:18px;padding:14px;display:grid}.buoyancy-status span,.buoyancy-status small{color:var(--ui-muted);font-size:var(--ui-caption-size);line-height:1.6}.buoyancy-status strong{letter-spacing:-.03em;font-size:24px}.buoyancy-status.positive{border-left-color:#8c9b78}.buoyancy-status.negative{border-left-color:#c98270}.buoyancy-status.caution{border-left-color:var(--ui-accent)}.result-list{gap:11px;display:grid}.result-row{color:var(--ui-muted);font-size:var(--ui-label-size);justify-content:space-between;align-items:baseline;gap:16px;line-height:1.6;display:flex}.result-row strong{color:#e7e9e5;font-size:var(--ui-field-size);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:60%;line-height:1.5}.results-panel h3{font-size:var(--ui-section-size);letter-spacing:.04em;margin-bottom:14px;line-height:1.5}.result-list.subtle .result-row strong{color:#c5cac7}.shell-distribution{color:#bdcdcf;border-top:1px solid #2c3439;margin-top:16px;padding-top:12px;font-size:11px}.shell-distribution summary{cursor:pointer}.shell-distribution summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}.shell-distribution .result-list{margin-top:14px}.shell-distribution p{color:var(--ui-muted);line-height:1.6;font-size:var(--ui-caption-size);margin:12px 0 0}.assembly-status-note{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:13px 0 0;line-height:1.6}.assembly-status-note.incomplete,.estimate-boundary-note{color:var(--ui-note)}.estimate-boundary-note{margin:10px 0 14px;font-size:12px;line-height:1.6}.result-details{border-top:1px solid var(--ui-border);margin:16px 0 0;padding:0}.result-details>summary{color:#dce3cc;min-height:44px;font-size:var(--ui-label-size);cursor:pointer;padding:10px 0;font-weight:650;line-height:1.5}.result-details>summary::marker{color:var(--ui-accent)}.result-details>summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.result-details>summary small{color:var(--ui-error);font-size:var(--ui-caption-size);margin-left:8px;font-weight:400;line-height:1.6}.result-details[open]>summary{margin-bottom:8px}.result-details>.result-list{margin-bottom:14px}.result-details .estimate-boundary-note{color:var(--ui-note);margin:8px 0 14px}.ballast-location-context{color:#f0c0a9;background:#241d18;border:1px solid #805541;border-radius:6px;margin:0 0 16px;padding:10px;font-size:12px;line-height:1.6}.ballast-editor :is([data-ballast-field],[data-ballast-slot],[role=tab]){scroll-margin-block:24px}.results-panel .assembly-invalid ul{padding:0;list-style:none}.results-panel .assembly-invalid li{border-top:1px solid #694d42;padding:12px 0}.results-panel .assembly-invalid li p{margin-bottom:8px}.results-panel .assembly-invalid .button{min-height:var(--ui-compact-height);font-size:var(--ui-label-size);line-height:1.5}@media (width<=760px){.ballast-editor :is([data-ballast-field],[data-ballast-slot],[role=tab]){scroll-margin-top:144px}}.assembly-invalid{color:#ecc6bc;background:#251c19;border:1px solid #a86d60;border-radius:7px;padding:13px;font-size:12px;line-height:1.6}.assembly-invalid h3,.assembly-invalid p{margin-bottom:9px}.assembly-invalid ul{margin:0;padding-left:16px}.comparison-section{gap:13px;display:grid}.comparison-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.comparison-heading h3{letter-spacing:.04em;margin-bottom:4px;font-size:13px}.comparison-heading p,.comparison-empty,.comparison-explanation{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-bottom:0;line-height:1.6}.comparison-empty{color:#cbd1bb;border-left:2px solid #8c9b78;padding-left:9px}.comparison-section h4{color:#959da1;letter-spacing:.04em;margin:3px 0 -4px;font-size:11px;font-weight:650}.comparison-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.comparison-list li{color:#91989c;justify-content:space-between;gap:16px;font-size:12px;display:flex}.comparison-list strong,.comparison-results strong{color:#dbe1d3;font-variant-numeric:tabular-nums;text-align:right}.comparison-explanation{border-left:2px solid var(--ui-accent);color:#c2c9bd;padding-left:9px}.segmented-control{background:#0b1520;border:1px solid #294258;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented-control button{height:var(--ui-compact-height);color:var(--ui-muted);cursor:pointer;font-size:var(--ui-label-size);background:0 0;border:0;border-radius:5px;line-height:1.5}.segmented-control button.active{background:var(--ui-selected-bg);color:var(--ui-selected-text);box-shadow:inset 0 0 0 1px #5790ff1f}.honesty-note{color:var(--ui-muted);font-size:var(--ui-caption-size);border-top:1px solid #272c30;margin:18px 0 0;padding-top:16px;line-height:1.6}@media (width<=1200px){.workspace{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:clamp(250px,30vw,290px) minmax(0,1fr)}.viewport-panel{grid-area:1/2/-1}.results-panel{grid-area:2/1}.object-editor-workspace.workspace{grid-template-rows:none;grid-template-columns:none;display:flex}}@media (width<=760px){.app-shell{height:auto;min-height:100dvh;padding:12px}.topbar{flex-direction:column;align-items:flex-start;gap:16px}.topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.topbar-actions .primary{grid-column:1/-1}.workspace{flex-direction:column;flex:none;display:flex}.viewport-panel{order:-1;align-self:stretch;height:clamp(320px,55dvh,480px)}.panel{overscroll-behavior-y:auto;scrollbar-gutter:auto;overflow:visible}.button,.segmented-control button,.shell-distribution summary{min-height:44px}.shell-distribution summary{align-content:center}input[type=range]{background:0 0;height:44px}input[type=range]::-webkit-slider-runnable-track{background:#343a3e;border-radius:999px;height:3px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px}input[type=range]::-moz-range-track{background:#343a3e;border-radius:999px;height:3px}}@media (width<=480px){.ballast-label:not(.active){display:none}}.ballast-editor{min-width:0}.ballast-editor-mode{border-bottom:1px solid var(--ui-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.ballast-editor-mode button{min-height:var(--ui-control-height);color:var(--ui-muted);font-size:var(--ui-label-size);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px}.ballast-editor-mode button[aria-pressed=true]{border-bottom-color:var(--ui-accent);color:var(--ui-accent);font-weight:650}.ballast-editor-mode button:hover,.ballast-component-list button:hover{background:var(--ui-hover);color:var(--ui-text)}.ballast-component-heading{font-size:var(--ui-section-size);justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.ballast-component-heading>span{color:var(--ui-muted);font-size:var(--ui-caption-size);font-variant-numeric:tabular-nums}.ballast-component-actions{flex-wrap:wrap;gap:8px;display:flex}.ballast-component-actions .button{flex:auto}.ballast-component-note{color:var(--ui-muted);font-size:var(--ui-caption-size);overflow-wrap:anywhere;margin:8px 0 16px;line-height:1.6}.ballast-component-list{border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);scrollbar-color:var(--ui-control-border) var(--ui-control-bg);background:#0b1520;gap:4px;max-height:290px;margin-bottom:16px;padding:4px;display:grid;overflow-y:auto}.ballast-component-list button{border-radius:var(--ui-control-radius);min-width:0;min-height:60px;color:var(--ui-label);font-size:var(--ui-label-size);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:8px 10px;line-height:1.5;display:grid}.ballast-component-name{overflow-wrap:anywhere}.ballast-component-list .ballast-component-name{font-weight:650}.ballast-component-list button small{color:var(--ui-muted);font-size:var(--ui-caption-size);font-variant-numeric:tabular-nums;grid-column:1/-1}.ballast-component-list button[aria-selected=true]{border-color:var(--ui-selected-border);background:var(--ui-selected-bg);color:var(--ui-selected-text)}.ballast-component-list button[aria-selected=true] small{color:#b9d7ff}.ballast-component-list button[aria-selected=true] .ballast-slot-issue{color:var(--ui-error)}.ballast-component-visibility{border-bottom:1px solid var(--ui-border);margin-bottom:12px}.ballast-component-visibility .ballast-config-toggle{margin-bottom:0}.ballast-component-visibility .ballast-component-note{margin-top:0}.ballast-component-empty{border-block:1px solid var(--ui-border);justify-items:start;gap:8px;margin-bottom:16px;padding:20px 0;display:grid}.ballast-component-empty p{color:var(--ui-label);font-size:var(--ui-section-size);margin:0}.ballast-component-empty small{color:var(--ui-muted);font-size:var(--ui-caption-size);line-height:1.6}.ballast-editor-tabs{border:1px solid var(--ui-border);background:#0b1520;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:16px;padding:4px;display:grid}.ballast-editor-tabs button{color:#a8b1b5;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-content:center;gap:4px;min-width:0;min-height:52px;padding:7px 2px;font-size:12px;font-weight:650;display:grid}.ballast-editor-tabs button small{font-size:var(--ui-caption-size);font-variant-numeric:tabular-nums;font-weight:450;line-height:1.6}.ballast-editor-tabs button[aria-selected=true]{border-color:var(--ui-selected-border);background:var(--ui-selected-bg);color:var(--ui-selected-text)}.ballast-config-section{min-width:0;margin:17px 0 0;margin-top:var(--ui-group-space);border:0;border-top:1px solid #30363a;padding:13px 0 0}.ballast-config-section legend{color:#d4d9d6;font-size:var(--ui-section-size);padding:0 9px 0 0;font-weight:650;line-height:1.5}.ballast-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 9px;display:grid}.ballast-disclosure{border-top:1px solid #30363a;margin-top:8px}.ballast-disclosure>summary{color:#d4d9d6;min-height:44px;font-size:var(--ui-label-size);cursor:pointer;padding:10px 0;line-height:1.5}.ballast-disclosure-title{font-weight:650}.ballast-disclosure-value{color:var(--ui-muted);font-size:var(--ui-caption-size);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:3px;line-height:1.6;display:block}.ballast-disclosure-content{padding-top:4px}.ballast-disclosure-error,.ballast-slot-issue{color:var(--ui-error);font-size:var(--ui-caption-size);font-weight:650;line-height:1.6;display:inline-block}.ballast-disclosure>summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.ballast-clearance-range{margin-top:3px;margin-bottom:16px}.ballast-config-field{min-width:0;margin-bottom:var(--ui-field-space)}.ballast-config-field label{color:var(--ui-label);font-size:var(--ui-label-size);flex-wrap:wrap;justify-content:space-between;gap:4px;margin-bottom:6px;line-height:1.5;display:flex}.ballast-config-field label span{color:var(--ui-muted);font-size:var(--ui-caption-size)}.ballast-config-field input,.ballast-config-field select{width:100%;min-width:0;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);font:inherit;font-size:var(--ui-field-size);font-variant-numeric:tabular-nums;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:8px;line-height:1.5}.ballast-config-field input[aria-invalid=true]{border-color:#e18d6e}.ballast-config-field small{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-top:6px;line-height:1.6;display:block}.ballast-config-field .ballast-config-input-error{color:var(--ui-error)}.ballast-config-toggle{color:#ced5d2;cursor:pointer;align-items:center;gap:9px;min-height:40px;margin-bottom:8px;font-size:12px;display:flex}.ballast-config-toggle input{width:17px;height:17px;accent-color:var(--ui-accent);flex:none;margin:0}.ballast-config-note,.ballast-editor-issues{color:#ecc4a6;overflow-wrap:anywhere;background:#28231e;border:1px solid #88654f;border-radius:6px;margin:0 0 16px;padding:10px 11px;font-size:11px;line-height:1.6}.ballast-editor-issues ul{margin:7px 0 0;padding-left:16px}.ballast-editor-issues li+li{margin-top:5px}.ballast-editor :is(button,input,select):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}@media (pointer:coarse){.ballast-editor :is(button,select,input[type=number]),.ballast-config-toggle{min-height:44px}}.solid-ballast-label{border:1px solid var(--ui-info-border);color:#d5e0dc;white-space:nowrap;text-align:center;background:#1e2a2bf0;border-radius:5px;gap:3px;padding:7px 9px;font-size:11px;display:grid;position:relative;transform:translateY(-58px)}.solid-ballast-label span{color:#b2c3c1;font-size:10px}.solid-ballast-label i{background:var(--ui-info);width:1px;height:32px;position:absolute;top:100%;left:50%}.solid-ballast-label.center-slot{transform:translateY(-109px)}.solid-ballast-label.center-slot i{height:83px}.solid-ballast-label.active{border-color:var(--ui-selected-border);color:var(--ui-selected-text)}.solid-ballast-label.invalid{color:#ffb6aa;background:#311917f5;border-color:#ca7668}.solid-ballast-label.invalid i{background:#ca7668}.solid-ballast-label em{color:#f4a295;font-size:10px;font-style:normal}.assembly-view-caption{color:#9ab0b4;text-align:right;pointer-events:none;gap:3px;font-size:10px;line-height:1.5;display:grid;position:absolute;bottom:58px;left:14px;right:14px}.assembly-view-invalid{color:#f1a08f;font-weight:500}@media (width<=1000px){.solid-ballast-label:not(.active){display:none}.solid-ballast-label{font-size:10px}}.project-strip{color:var(--ui-label);border-block:1px solid #252b2f;flex-wrap:wrap;flex:none;grid-column:1/-1;align-items:center;gap:10px;margin:2px 0 0;padding:8px 0;font-size:12px;display:flex}.project-save-controls{flex:570px;align-items:center;gap:9px;min-width:0;display:flex}.project-save-controls>label{color:#879198;letter-spacing:.08em;flex-shrink:0;font-size:11px;font-weight:700}.project-save-controls>.button{flex-shrink:0}.project-save-state{flex-direction:row;flex-shrink:0;align-items:baseline;gap:7px;display:flex}.project-save-state small{color:var(--ui-muted);font-size:var(--ui-caption-size);line-height:1.6}.project-secondary-actions{align-items:center;gap:12px;display:flex}.project-history{border-right:1px solid #343a3f;gap:3px;padding-right:10px;display:flex}.workspace-layout-picker{color:#879198;letter-spacing:.07em;align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.workspace-layout-picker select{border:1px solid var(--ui-control-border);background:var(--ui-control-bg);min-height:30px;color:var(--ui-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;letter-spacing:0;border-radius:4px;padding:4px 22px 4px 7px}.project-strip input{min-width:0;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);color:var(--ui-text);background:var(--ui-control-bg);font-size:var(--ui-field-size);border-radius:3px;flex:0 280px;padding:8px 12px;line-height:1.5}.project-strip input[aria-invalid=true]{border-color:#d18176}.save-state{color:#b9c2c8}.project-library{flex:1 1 0}@media (width>=761px){.app-shell{padding:clamp(10px,1vw,16px)}.topbar{gap:6px 14px;min-height:46px;margin-bottom:8px}.brand-lockup{gap:8px}.brand-mark{width:clamp(50px,3.6vw,58px)}.eyebrow{margin-bottom:1px;font-size:8px}.web-release{font-size:9px}.topbar h1{font-size:clamp(20px,1.5vw,24px)}.topbar-actions{gap:5px}.project-navigation{gap:8px}.topbar .topbar-action,.topbar .file-actions-trigger{min-height:28px;padding-inline:7px;font-size:11px}.project-reference-links{gap:6px;padding-left:8px}.project-reference-links a{font-size:10px}.project-strip{gap:8px;margin:0;padding:4px 0}.project-save-controls{flex-basis:460px;gap:7px}.project-save-controls>label{font-size:10px}.project-strip input{flex-basis:240px;min-height:34px;padding:5px 9px;font-size:13px}.project-strip .button{min-height:34px;padding-block:5px}.project-save-state{gap:5px}.project-save-state small{font-size:11px;line-height:1.35}.project-secondary-actions{gap:8px}.project-history{padding-right:7px}.workspace-layout-picker select{min-height:28px}}.project-home{background:linear-gradient(135deg,#11191d 0%,#0d1114 58%,#101b20 100%);flex:1 1 0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-content:center;gap:18px;padding:clamp(28px,5vw,72px);display:grid}.project-home-hero{border-bottom:1px solid var(--ui-border);grid-column:1/-1;justify-content:space-between;align-items:end;gap:28px;padding-bottom:clamp(22px,4vw,48px);display:flex}.project-home-hero h2{max-width:620px;color:var(--ui-text);letter-spacing:-.045em;margin:6px 0 12px;font-size:clamp(30px,4vw,52px);line-height:1.03}.project-home-hero p:not(.panel-kicker){max-width:590px;color:var(--ui-muted);margin:0;font-size:15px;line-height:1.75}.project-home-library-count{border-left:2px solid var(--ui-accent);min-width:132px;color:var(--ui-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;padding:6px 0 6px 14px;font-size:11px;font-weight:700;line-height:1.5}.project-home-library-count strong{color:var(--ui-text);letter-spacing:-.04em;font-size:30px;font-weight:700}.project-home-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-home-actions .button{min-height:48px;padding-inline:20px}.project-home-recent,.project-home-empty{border:1px solid var(--ui-info-border);background:#071016a3;border-radius:10px;min-width:0;padding:22px}.project-home-recent{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-home-recent h3,.project-home-empty h3{color:var(--ui-text);margin:5px 0 7px;font-size:18px}.project-home-recent p:not(.panel-kicker),.project-home-empty p:not(.panel-kicker){color:var(--ui-label);margin:0;font-size:13px;line-height:1.65}.project-home-recent small{color:var(--ui-muted);margin-top:8px;font-size:11px;display:block}.project-home-recent .button{flex:none}.project-home-boundary{color:var(--ui-muted);grid-column:1/-1;margin:2px 0 0;font-size:12px;line-height:1.6}.library-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.library-heading h2{margin-bottom:8px}.library-heading p,.project-list p,.library-empty p{color:#aab1b5;font-size:13px;line-height:1.6}.library-empty{max-width:540px;padding:48px 0}.project-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-items:stretch;gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid}.project-list li{background:#15181b;border:1px solid #435058;border-radius:10px;flex-direction:column;align-items:stretch;min-width:0;padding:0;display:flex;overflow:hidden}.project-list li>div{min-width:0}.project-list h3{min-width:0;font-size:var(--ui-heading-size);overflow-wrap:anywhere;margin:0;line-height:1.5}.project-list p{margin:0}.project-list button{flex:none;min-height:44px;margin:0 16px 16px}.project-list li:focus-within{border-color:var(--ui-accent)}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-file-version{border:1px solid var(--ui-border);color:var(--ui-muted);font-size:var(--ui-caption-size);border-radius:4px;flex:none;padding:2px 6px;line-height:1.5}.project-card-meta{font-size:var(--ui-caption-size);font-variant-numeric:tabular-nums;gap:8px;margin:16px 0 0;line-height:1.6;display:grid}.project-card-meta>div{grid-template-columns:42px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.project-card-meta dt{color:var(--ui-muted)}.project-card-meta dd{color:var(--ui-label);overflow-wrap:anywhere;margin:0}.storage-warning{border:1px solid #994f47;border-radius:8px;flex:none;margin-bottom:12px;padding:12px}.storage-warning p{margin-bottom:8px;font-size:13px}.project-dialog{width:min(540px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ui-text);background:#171b1e;border:1px solid #50595f;border-radius:12px;padding:24px;overflow:auto}.project-dialog::backdrop{background:#000000b3}.project-dialog p{overflow-wrap:anywhere;color:#c8ccca;line-height:1.65}.project-dialog h2{font-size:21px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.print-export-option{align-items:center;gap:10px;margin-block:18px;display:flex}.print-export-dialog li{overflow-wrap:anywhere;line-height:1.65}.button:focus-visible,.project-strip input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}@media (width<=600px){.project-strip input{min-height:var(--ui-control-height);font-size:var(--ui-field-size);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);flex:180px;line-height:1.5}.library-heading{flex-wrap:wrap;gap:6px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{min-height:44px}}.preset-picker{flex:1 1 0}.preset-picker h2{margin-bottom:8px}.preset-note{color:#aab1b5;max-width:75ch;font-size:13px;line-height:1.65}.preset-step{border:0;min-width:0;margin:22px 0 0;padding:0}.preset-step legend,.preset-step-label{color:var(--ui-label);font-size:var(--ui-section-size);margin:0 0 10px;padding:0;font-weight:700;line-height:1.5}.preset-step legend>span,.preset-step-label>span{background:var(--ui-accent);color:#15180d;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:7px;font-size:12px;display:inline-grid}.preset-type-options,.preset-mode-options,.preset-start-options{gap:10px;display:grid}.preset-type-options,.preset-mode-options{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-start-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.preset-type-options label,.preset-mode-options label,.preset-start-options label{border:1px solid var(--ui-control-border);background:var(--ui-surface);min-width:0;color:var(--ui-muted);cursor:pointer;font-size:var(--ui-caption-size);border-radius:8px;align-content:start;gap:7px;padding:14px;line-height:1.55;display:grid}.preset-type-options label:hover,.preset-mode-options label:hover,.preset-start-options label:hover{border-color:var(--ui-accent)}.preset-type-options label.selected,.preset-mode-options label.selected,.preset-start-options label.selected{border-color:var(--ui-accent);background:var(--ui-selected-bg);color:var(--ui-selected-text);box-shadow:inset 0 0 0 1px var(--ui-accent)}.preset-mode-options label{min-height:104px;padding:16px 17px;position:relative}.preset-mode-options strong{color:var(--ui-text);font-size:var(--ui-label-size)}.preset-mode-options input{opacity:0;width:18px;height:18px;position:absolute}.preset-mode-options label:has(input:focus-visible){outline:2px solid var(--ui-accent);outline-offset:3px}.preset-mode-options label:has(input:disabled){cursor:not-allowed;opacity:.58}.preset-radio-heading{color:var(--ui-text);align-items:center;gap:8px;display:flex}.preset-radio-heading input{width:18px;height:18px;accent-color:var(--ui-accent);margin:0}.preset-radio-heading input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.preset-radio-heading strong{font-size:var(--ui-label-size)}.preset-type-name{gap:1px;display:grid}.preset-type-name small{color:#aeb8bf;letter-spacing:.08em;font-size:10px;font-weight:750;line-height:1.35}.preset-type-description{color:var(--ui-muted)}.preset-option-dimensions{color:var(--ui-label);font-variant-numeric:tabular-nums}.preset-wizard{grid-template-columns:148px minmax(460px,.78fr) minmax(680px,1.22fr);gap:16px;margin-top:22px;display:grid}.preset-wizard-progress{border:1px solid var(--ui-border);background:linear-gradient(160deg,#10171a,#0b0f11);border-radius:10px;align-self:start;padding:14px 12px}.preset-wizard-progress>p{color:var(--ui-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 11px;font-size:11px;font-weight:800}.preset-wizard-progress ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.preset-wizard-progress li{min-height:31px;color:var(--ui-muted);align-items:center;gap:8px;font-size:13px;display:flex}.preset-wizard-progress li>span{border:1px solid var(--ui-control-border);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.preset-wizard-progress li.active{color:var(--ui-text);font-weight:700}.preset-wizard-progress li.active>span{border-color:var(--ui-accent);background:var(--ui-accent);color:#11150f}.preset-wizard-progress li.complete>span{border-color:color-mix(in srgb, var(--ui-accent) 62%, var(--ui-border));color:var(--ui-accent)}.preset-wizard-content{min-width:0}.preset-mode-step{border:0;min-width:0;margin:0 0 16px;padding:0}.preset-mode-step legend{color:var(--ui-label);font-size:var(--ui-section-size);margin-bottom:8px;padding:0;font-weight:700}.preset-wizard-content .preset-step{margin:0}.preset-planned-types{border-top:1px solid var(--ui-border);margin-top:18px;padding-top:16px}.preset-planned-types>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.preset-planned-types p{color:var(--ui-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.preset-planned-types h3{margin:0;font-size:14px}.preset-planned-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.preset-planned-type{border:1px dashed color-mix(in srgb, var(--ui-muted) 44%, var(--ui-border));background:color-mix(in srgb, var(--ui-surface) 78%, #080b0c);min-height:132px;color:var(--ui-muted);text-align:left;opacity:.72;border-radius:8px;align-content:start;gap:5px;padding:12px;display:grid}.preset-planned-type strong{color:var(--ui-label);font-size:14px}.preset-planned-type small{color:var(--ui-muted);font-size:11px}.preset-planned-type span{font-size:11px;line-height:1.5}.preset-planned-type em{color:#c9a666;margin-top:auto;font-size:11px;font-style:normal}.preset-shape-step{border:1px solid color-mix(in srgb, var(--ui-accent) 45%, var(--ui-border));background:linear-gradient(145deg, color-mix(in srgb, var(--ui-selected-bg) 54%, #101316), var(--ui-surface));border-radius:10px;min-width:0;padding:16px}.preset-shape-step h3,.preset-confirm-step h3{margin:0 0 6px;font-size:19px}.preset-shape-step>p:not(.preset-step-label),.preset-confirm-step>p:not(.preset-step-label){color:var(--ui-muted);font-size:var(--ui-caption-size);margin:0 0 14px;line-height:1.6}.preset-shape-step .custom-shape-view{background:0 0;border:0;padding:0}.preset-shape-step .custom-shape-view__heading{border-bottom:1px solid var(--ui-border);padding-bottom:8px}.preset-confirm-step{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:10px;padding:18px}.preset-wizard-actions{justify-content:space-between;gap:10px;margin-top:16px;display:flex}.preset-wizard-actions .button:last-child{margin-left:auto}.preset-wizard-preview{border:1px solid var(--ui-border);background:#101417;border-radius:10px;align-self:start;min-width:0;padding:14px}.preset-wizard-preview .preset-preview-copy>p:first-child,.preset-preview-empty>p{color:var(--ui-accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.preset-wizard-preview .preset-preview-copy h3,.preset-preview-empty h3{margin:0 0 8px;font-size:18px}.preset-wizard-preview .preset-preview-viewport{height:clamp(340px,48vh,540px);margin-top:14px}.preset-preview-status{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:10px 0 0;line-height:1.55}.preset-preview-empty{border:1px dashed var(--ui-control-border);background:linear-gradient(135deg,#0c1113,#101417);border-radius:8px;align-content:center;min-height:300px;padding:24px;display:grid}.preset-preview-empty span{color:var(--ui-muted);font-size:13px;line-height:1.65}.custom-shape-editor{border:1px solid color-mix(in srgb, var(--ui-accent) 42%, var(--ui-border));background:linear-gradient(135deg, color-mix(in srgb, var(--ui-selected-bg) 62%, #111417), var(--ui-surface));border-radius:12px;margin-top:24px;padding:18px}.custom-shape-editor__intro{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:16px;display:flex}.custom-shape-editor__intro h3{margin:0;font-size:19px}.custom-shape-editor__intro>p{max-width:55ch;color:var(--ui-muted);font-size:var(--ui-caption-size);margin:2px 0 0;line-height:1.65}.custom-shape-view-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.custom-shape-view{border:1px solid var(--ui-control-border);background:color-mix(in srgb, var(--ui-surface) 84%, #070a0c);border-radius:9px;min-width:0;padding:13px}.custom-shape-view__heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.custom-shape-view__heading>div{align-items:baseline;gap:7px;display:flex}.custom-shape-view__heading span{color:var(--ui-accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.custom-shape-view__heading h4{margin:0;font-size:16px}.custom-shape-view__heading p{max-width:17ch;color:var(--ui-muted);text-align:right;margin:0;font-size:11px;line-height:1.45}.custom-shape-silhouette{width:100%;height:136px;margin:8px 0 11px;display:block;overflow:visible}.custom-shape-silhouette__grid{fill:none;stroke:color-mix(in srgb, var(--ui-muted) 42%, transparent);stroke-dasharray:3 5;stroke-width:1px}.custom-shape-silhouette__body{fill:color-mix(in srgb, var(--ui-accent) 18%, transparent);stroke:var(--ui-accent);stroke-width:2.2px;vector-effect:non-scaling-stroke}.custom-shape-silhouette--front{max-width:172px;margin-inline:auto}.custom-shape-view__fields{gap:11px;display:grid}.custom-shape-field{gap:5px}.custom-shape-field .range-label{align-items:center}.custom-shape-field .range-number input{width:72px}.custom-shape-field .range-hint{display:none}.body-contour-editor{background:linear-gradient(145deg, color-mix(in srgb, var(--ui-selected-bg) 48%, #0b1013), #111619 72%);margin:12px 0 16px;padding:14px}.body-contour-editor__intro{margin-bottom:12px;display:block}.body-contour-editor__intro h3{font-size:17px}.body-contour-editor__intro>p{max-width:none;margin-top:7px}.body-contour-mobile-entry,.body-contour-mobile-tabs{display:none}.body-contour-view-grid{grid-template-columns:1fr;gap:10px}.body-contour-view{background-color:#0c1215;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:18px 18px;position:relative;overflow:hidden}.body-contour-view .custom-shape-view__heading{display:block}.body-contour-view .custom-shape-view__heading>div{min-width:0}.body-contour-view .custom-shape-view__heading span{white-space:nowrap;flex:none}.body-contour-view .custom-shape-view__heading p{text-align:left;max-width:none;margin-top:3px}.body-contour-view>small{color:var(--ui-muted);letter-spacing:.02em;margin-top:-6px;font-size:10px;line-height:1.45;display:block}.body-contour-silhouette{touch-action:pan-y;-webkit-user-select:none;user-select:none;height:154px}.body-contour-outline{fill:color-mix(in srgb, var(--ui-accent) 14%, #071014);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--ui-accent) 18%, transparent))}.body-contour-handle{fill:#101719;stroke:var(--ui-accent);stroke-width:3px;vector-effect:non-scaling-stroke;cursor:grab;touch-action:none;transition:fill .12s,filter .12s}.body-contour-handle[aria-orientation=horizontal]{cursor:ew-resize}.body-contour-handle[aria-orientation=vertical]{cursor:ns-resize}.body-contour-handle:hover{fill:var(--ui-accent);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--ui-accent) 70%, transparent))}.body-contour-handle:focus-visible{fill:var(--ui-accent);filter:drop-shadow(0 0 .5px #0a0e10) drop-shadow(0 0 6px var(--ui-accent));outline:none}.body-contour-fields{border-top:1px solid color-mix(in srgb, var(--ui-accent) 28%, var(--ui-border));gap:12px;margin-top:14px;padding-top:14px;display:grid}.body-contour-range-field{gap:6px}@media (width<=760px){.body-contour-mobile-entry{gap:8px;margin:12px 0 14px;display:grid}.body-contour-mobile-entry .button{width:100%;min-height:44px}.body-contour-mobile-entry p{color:var(--ui-muted);margin:0;font-size:12px;line-height:1.55}.body-contour-mobile-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.body-contour-mobile-tabs .button{min-width:0;min-height:44px;padding-inline:6px}.body-contour-mobile-tabs .button[aria-pressed=true]{border-color:var(--ui-selected-border);background:var(--ui-selected-bg);color:var(--ui-selected-text)}.body-contour-view-grid[data-mobile-open=false],.body-contour-view[data-mobile-active=false]{display:none}}.preset-live-preview{border-top:1px solid var(--ui-border);grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:18px;margin-top:24px;padding-top:24px;display:grid}.preset-preview-copy{min-width:0}.preset-preview-copy h3{margin-bottom:7px;font-size:20px}.preset-preview-copy>p:not(.preset-step-label),.preset-description p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-bottom:7px;line-height:1.6}.preset-description .preset-dimensions{color:var(--ui-text);font-variant-numeric:tabular-nums}.preset-preview-viewport{border:1px solid var(--ui-border);background:#111417;border-radius:9px;min-width:0;height:clamp(330px,48vh,520px);position:relative;overflow:hidden}.preset-preview-scene{min-width:0;min-height:0;position:absolute;inset:0}.preset-preview-scene canvas{display:block}.preset-confirmation{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.preset-confirmation p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:0 auto 0 0;line-height:1.6}.preset-confirmation .button{min-height:44px}@media (width<=760px){.preset-picker,.project-library{flex:none}.preset-wizard{grid-template-columns:1fr}.preset-wizard-progress{padding:10px 12px}.preset-wizard-progress>p{margin-bottom:7px}.preset-wizard-progress ol{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:5px}.preset-wizard-progress li{min-height:26px;font-size:12px}.preset-wizard-preview{order:-1}.preset-wizard-preview .preset-preview-viewport{height:clamp(280px,48vh,420px)}.custom-shape-editor__intro{display:block}.custom-shape-editor__intro>p{margin-top:10px}.custom-shape-view-grid{grid-template-columns:1fr}.custom-shape-view__heading p{max-width:30ch}.preset-live-preview{grid-template-columns:1fr}.preset-preview-viewport{height:clamp(300px,55dvh,440px)}.preset-confirmation{grid-column:auto;align-items:stretch}.preset-confirmation .button{width:100%}}@media (width<=460px){.preset-type-options,.preset-mode-options,.preset-planned-type-options{grid-template-columns:1fr}}.appearance-editor h2{font-size:var(--ui-heading-size);margin-bottom:8px;line-height:1.4}.appearance-editor>p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-bottom:16px;line-height:1.6}.appearance-editor fieldset{border:0;min-width:0;margin:0 0 14px;padding:0}.appearance-editor legend{color:var(--ui-label);font-size:var(--ui-section-size);margin-bottom:8px;padding:0;line-height:1.5}.appearance-palettes,.appearance-finishes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.appearance-editor label{border:1px solid var(--ui-control-border);min-width:0;color:var(--ui-label);background:var(--ui-surface);cursor:pointer;font-size:var(--ui-label-size);border-radius:8px;flex-direction:column;align-items:stretch;gap:8px;padding:10px 8px;display:flex}.appearance-editor label.selected{border-color:var(--ui-selected-border);background:var(--ui-selected-bg);color:var(--ui-selected-text)}.appearance-editor label:hover{border-color:var(--ui-accent)}.appearance-editor input{width:16px;height:16px;accent-color:var(--ui-accent);flex:none;margin:0}.appearance-editor input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.appearance-editor legend small{color:var(--ui-muted);font-size:var(--ui-caption-size);margin-top:4px;font-weight:400;display:block}.appearance-editor label:focus-within{outline:2px solid var(--ui-accent);outline-offset:3px}.appearance-editor .eye-editor>.appearance-eye-mode{flex-direction:row;align-items:center}.appearance-editor .eye-editor .ballast-config-field>label{background:0 0;border:0;border-radius:0;padding:0;display:block}.eye-editor>p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:8px 0 14px;line-height:1.65}.appearance-option-heading{align-items:center;gap:6px;min-height:22px;display:flex}.appearance-option-heading strong{font-size:var(--ui-label-size);line-height:1.5}.appearance-preview{aspect-ratio:1.6;background:#0b1520;border-radius:4px;place-items:center;width:100%;display:grid;overflow:hidden}.appearance-preview img{object-fit:contain;width:100%;height:100%;display:block}.appearance-preview-fallback{width:100%;font-size:var(--ui-caption-size);color:var(--ui-muted);justify-items:center;gap:8px;padding:8px;display:grid}.appearance-color-sample{border-radius:3px;width:100%;height:24px;display:flex;overflow:hidden}.appearance-color-sample i{flex:1}.appearance-option-description{color:var(--ui-muted);font-size:var(--ui-caption-size);overflow-wrap:anywhere;line-height:1.6}.appearance-editor label.selected .appearance-option-description{color:#b9d7ff}.appearance-finishes{margin-top:4px}.appearance-preview-error{color:var(--ui-error);font-size:var(--ui-caption-size);margin:12px 0;line-height:1.6}.appearance-preview-error p{margin-bottom:8px}.appearance-preview-error .button{width:100%}.appearance-swatches{border-radius:2px;width:54px;height:7px;display:flex;overflow:hidden}.appearance-swatches i{flex:1}.lip-editor h2{font-size:var(--ui-heading-size);margin-bottom:8px;line-height:1.4}.lip-options{border:0;min-width:0;margin:14px 0 0;padding:0}.lip-options legend{color:var(--ui-label);font-size:var(--ui-section-size);margin-bottom:10px;padding:0;line-height:1.5}.lip-option{cursor:pointer;background:#101b27;border:1px solid #2c4760;border-radius:7px;grid-template-columns:16px 64px minmax(0,1fr);align-items:center;gap:8px;min-height:106px;margin-bottom:10px;padding:10px 8px;transition:border-color .15s,background .15s;display:grid}.lip-option:hover{background:#132131;border-color:#4b7398}.lip-option.selected{border-color:var(--ui-selected-border);background:var(--ui-selected-bg)}.lip-option:focus-within{outline:2px solid var(--ui-accent);outline-offset:3px}.lip-option input{width:16px;height:16px;accent-color:var(--ui-accent);margin:0}.lip-option-info{flex-direction:column;gap:6px;min-width:0;display:flex}.lip-option-info strong{color:var(--ui-text);font-size:13px;line-height:1.4}.lip-option-info>span{color:#b7c7d7;font-size:12px;line-height:1.4}.lip-option-dimensions{color:#9eb4c8;font-size:var(--ui-caption-size);font-variant-numeric:tabular-nums;line-height:1.6}.lip-diagram{width:64px;height:84px;display:block}.lip-diagram-shape{fill:#79b8f2}.lip-option.selected .lip-diagram-shape{fill:var(--ui-accent)}.lip-diagram-reference{fill:none;stroke:#c4cdd0;stroke-width:1px;stroke-dasharray:3 3}.lip-editor .lip-legacy-note{color:#d5cfaa;border:1px solid #69674d;border-radius:6px;padding:10px}.bounded-lip-adjustments{border-top:1px solid #39444a;margin-top:18px;padding-top:14px}.bounded-lip-adjustments h3{font-size:var(--ui-section-size);margin-bottom:6px;line-height:1.5}.polygon-lip-presets{border:1px solid #435058;border-radius:7px;margin:18px 0;padding:12px}.polygon-lip-preset-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.polygon-lip-preset-actions .button{white-space:normal;min-width:0;min-height:44px;padding-inline:8px}.lip-advanced{border-block:1px solid #39444a;margin:16px 0}.legacy-lip-presets{border-top:1px solid #39444a;margin-top:18px;padding-top:10px}.lip-editor :is(summary,fieldset):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.lip-range-field,.bounded-lip-options,.body-range-field{scroll-margin-block:24px}.results-panel .assembly-invalid .button+.button{margin:8px 0 0}@media (width<=760px){.lip-range-field,.bounded-lip-options,.body-range-field{scroll-margin-top:144px}.lip-editor summary{min-height:44px;font-size:var(--ui-label-size);padding:10px 0;line-height:1.5}}.lip-editor p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:10px 0;line-height:1.6}.lip-editor summary{color:#c8ccca;cursor:pointer;font-size:var(--ui-label-size);min-height:44px;padding:10px 0;line-height:1.5}.lip-metrics{font-size:var(--ui-field-size);margin:14px 0;line-height:1.5}.lip-metrics>div{justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.lip-metrics dt{color:var(--ui-muted);font-size:var(--ui-caption-size)}.lip-metrics dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.comparison-picker label{color:#c8ccca;margin-bottom:8px;font-size:12px;display:block}.comparison-picker select{width:100%;min-height:var(--ui-control-height);min-width:0;color:var(--ui-text);background:var(--ui-control-bg);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);font:inherit;font-size:var(--ui-field-size);padding:8px;line-height:1.5}.comparison-picker select:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.comparison-picker select:disabled{opacity:.6}.comparison-picker p,.comparison-source-note p,.comparison-basis-note{color:#aab1b5;margin:8px 0 0;font-size:12px;line-height:1.6}.comparison-source-note{overflow-wrap:anywhere;gap:4px;min-width:0;font-size:12px;line-height:1.5;display:grid}.comparison-source-note>span{color:var(--ui-muted);font-size:var(--ui-caption-size);line-height:1.6}.comparison-appearance{border-top:1px solid #30363a;border-bottom:1px solid #30363a;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px 0;display:grid}.comparison-appearance-sample{gap:6px;min-width:0;font-size:12px;display:grid}.comparison-appearance-sample>span{color:#aab1b5}.comparison-swatches{border-radius:3px;width:100%;height:18px;display:flex;overflow:hidden}.comparison-swatches i{flex:1}.comparison-basis-note{color:var(--ui-note)}.comparison-snapshot-update p{color:var(--ui-note);margin:0 0 8px;font-size:12px;line-height:1.6}.viewport-toolbar{z-index:2;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:14px;left:14px;right:14px}.viewport-toolbar-identity{border-left:2px solid var(--ui-accent);background:#0d1114d1;align-items:baseline;gap:8px;width:fit-content;padding:3px 6px;display:flex}.viewport-toolbar-row{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.viewport-mode-controls{flex-wrap:wrap;gap:6px;display:flex}.viewport-toolbar .button{pointer-events:auto;min-height:var(--ui-compact-height);font-size:var(--ui-label-size);white-space:nowrap;padding:7px 10px;line-height:1.5}.viewport-view-aids{pointer-events:none;justify-items:end;gap:6px;display:grid;position:absolute;top:0;right:0}.viewport-view-cube,.viewport-display-aids{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0f13db;border:1px solid #4a5e6cc7;border-radius:8px;align-items:center;gap:4px;width:fit-content;padding:4px;display:flex;box-shadow:0 10px 24px #0000003d}.viewport-view-cube>span{color:#93a8b1;letter-spacing:.12em;text-transform:uppercase;padding:0 5px 0 3px;font-size:9px;font-weight:700}.viewport-view-cube>div{gap:3px;display:flex}.viewport-view-aids .button{min-width:34px;padding-inline:8px}.viewport-view-aids .viewport-view-reset{border-left-color:#526b76;margin-left:2px}.viewport-display-aids .button{min-width:42px}.shadcn-tooltip-content{z-index:80;border:1px solid var(--ui-control-border);max-width:236px;color:var(--ui-text);background:#1b2024;border-radius:4px;padding:7px 9px;font-size:11px;line-height:1.55;animation:.14s ease-out tooltip-in;box-shadow:0 10px 24px #00000047}.shadcn-tooltip-arrow{fill:#1b2024}@keyframes tooltip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.viewport-toolbar button[aria-pressed=true]{border-color:var(--ui-selected-border);color:var(--ui-selected-text);background:var(--ui-selected-bg)}.viewport-toolbar :is(button,select):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.viewport-slot-controls{border:1px solid var(--ui-info-border);color:#d5e0dc;background:#08121ef2;border-radius:7px;align-self:flex-start;max-width:100%;padding:8px 10px}.viewport-slot-picker{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.viewport-slot-picker label{pointer-events:auto}.viewport-slot-picker select{pointer-events:auto;min-width:130px;max-width:100%;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;font-size:var(--ui-field-size);padding:5px 8px;line-height:1.5}.viewport-slot-picker select:disabled{opacity:.65}.viewport-slot-state{margin:6px 0 0;font-size:12px;line-height:1.5}.viewport-toolbar .viewport-note{align-self:flex-start;max-width:100%;margin:0;padding:6px 8px;position:static}.legacy-selection-note{color:var(--ui-selected-text);margin-bottom:8px;font-size:12px;display:block}.structure-controls{border:1px solid var(--ui-info-border);width:auto;color:var(--ui-label);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08121ef5;border-radius:9px;margin-bottom:20px;padding:14px;position:static;overflow:visible}.structure-controls-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.structure-controls-heading h2{color:var(--ui-text);font-size:var(--ui-heading-size);margin:0;line-height:1.4}.structure-controls-heading p{color:var(--ui-muted);font-size:var(--ui-caption-size);margin:3px 0 0;line-height:1.5}.structure-reference-badge{border:1px solid var(--ui-selected-border);color:var(--ui-selected-text);border-radius:999px;flex:none;padding:3px 7px;font-size:10px;line-height:1.4}.structure-mode-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:13px;display:grid}.structure-mode-controls .button{width:100%;min-width:0}.structure-feature-controls{gap:7px;margin-top:14px;display:grid}.structure-feature-controls>label{color:var(--ui-label);font-size:var(--ui-label-size);line-height:1.5}.structure-feature-controls select{width:100%;min-width:0;min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-bg);color:var(--ui-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;font-size:var(--ui-field-size);padding:6px 8px}.structure-focus-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.structure-focus-actions .button{width:100%;min-width:0}.structure-feature-detail{border-top:1px solid var(--ui-border);color:var(--ui-muted);font-size:var(--ui-caption-size);gap:4px;margin:13px 0 0;padding-top:11px;line-height:1.55;display:grid}.structure-feature-detail strong{color:var(--ui-text);font-size:var(--ui-label-size)}.structure-feature-detail span{color:#d9c5a1}.structure-feature-detail p{margin:0}.structure-boundary-note{border-top:1px solid var(--ui-border);color:var(--ui-note);margin:13px 0 0;padding-top:11px;font-size:11px;line-height:1.6}.structure-results-boundary{min-width:0}.project-thumbnail{aspect-ratio:1.6;background:var(--ui-panel);width:100%;color:var(--ui-muted);font-size:var(--ui-caption-size);text-align:center;flex:none;place-items:center;line-height:1.6;display:grid;overflow:hidden}.thumbnail-placeholder{gap:8px;padding:16px;display:grid}.thumbnail-placeholder strong{font-size:var(--ui-label-size);color:var(--ui-label)}.thumbnail-placeholder small{font-size:var(--ui-caption-size)}.project-thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.project-list .project-info{flex:1;padding:16px}.thumbnail-renderer{pointer-events:none;width:320px;height:200px;position:fixed;top:0;left:-10000px;overflow:hidden}.thumbnail-error{color:#c8c2a4;margin:12px 0;font-size:12px;line-height:1.6}@media (width<=760px){.project-home{padding:28px 20px;display:block}.project-home-hero{padding-bottom:24px;display:block}.project-home-library-count{margin-top:22px;display:inline-block}.project-home-actions{margin-top:20px}.project-home-recent,.project-home-empty{margin-top:14px}.project-home-recent{flex-direction:column;align-items:flex-start}.project-home-boundary{margin-top:18px}.viewport-panel{flex-direction:column;height:auto;display:flex}.viewport-scene{flex:none;height:clamp(320px,55dvh,480px);position:relative;inset:auto}.viewport-touch-hint{z-index:3;color:#b9c5ca;pointer-events:none;background:#0a0f13db;border:1px solid #4a5e6cc7;border-radius:5px;max-width:calc(100% - 24px);margin:0;padding:4px 7px;font-size:11px;line-height:1.45;position:absolute;top:10px;left:12px}.viewport-toolbar{border-bottom:1px solid var(--ui-border);order:-1;padding:10px;position:static}.viewport-toolbar-row{gap:8px}.viewport-view-aids{justify-items:start;width:100%;position:static}.viewport-view-cube,.viewport-display-aids{max-width:100%}.viewport-toolbar .button{padding:6px 8px}.viewport-slot-controls{align-self:stretch}.viewport-slot-state{min-height:36px}.structure-controls{order:-1;width:auto;max-height:none;margin:0 10px 10px;position:static;overflow:visible}}@media (width>=761px){.viewport-touch-hint{display:none}}@media (width<=360px){.viewport-toolbar .button{padding-inline:4px}.structure-controls{padding:12px 10px}.structure-reference-badge{display:none}}.showcase-feedback{z-index:50;border:1px solid var(--ui-info-border);background:var(--ui-surface);width:max-content;max-width:calc(100vw - 32px);color:var(--ui-text);border-radius:8px;align-items:center;gap:12px;margin:0;padding:10px 14px;font-size:12px;line-height:1.6;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.showcase-feedback p{margin:0}.showcase-feedback.error{border-color:#994f47}.toast-enter,.toast-leave{transition:opacity .18s,transform .18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(10px)}.toast-enter-to,.toast-leave-from{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=760px){.topbar{grid-template-columns:minmax(0,1fr);gap:14px}.topbar .topbar-actions{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.project-navigation{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.project-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.topbar .project-primary-actions .button{min-width:0;padding-inline:6px;font-size:12px}.project-reference-links{border-top:1px solid #30373c;border-left:0;justify-content:flex-start;gap:10px;padding:6px 0 0}.file-actions-trigger{min-height:44px;padding:12px 8px;font-size:12px}.file-actions-panel .button{min-height:44px}.project-strip{flex-direction:column;align-items:stretch;gap:12px}.project-save-controls{flex:none;grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.project-save-controls>label{grid-column:1/-1}.project-save-controls>input{grid-area:2/1;width:100%;min-height:44px;font-size:16px}.project-save-controls>.button{grid-area:2/2;min-height:44px;padding-inline:10px}.project-save-state{flex-flow:wrap;grid-column:1/-1;align-items:center;gap:10px}.project-secondary-actions{justify-content:space-between}.workspace-layout-picker{font-size:11px}.workspace-layout-picker select{min-height:40px;font-size:14px}}.usage-guide{color:#aab1b5;border-bottom:1px solid #30363a;margin-bottom:20px;padding-bottom:12px;font-size:12px;line-height:1.65}.usage-guide summary{cursor:pointer;color:#dce3cc;min-height:32px;font-weight:650}.usage-guide ol{margin:8px 0;padding-left:20px}.usage-guide li{margin-bottom:7px}.usage-guide p{margin-bottom:0}.storage-warning .button+.button{margin-left:8px}.app-shell :is(button,input,select,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.ballast-config-field input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.result-row>span{overflow-wrap:anywhere;min-width:0}.lip-metrics>div{align-items:baseline;gap:12px}.lip-metrics dd{text-align:right;font-variant-numeric:tabular-nums}.workspace-group-tabs button,.ballast-editor-tabs button,.viewport-toolbar button,.segmented-control button{position:relative}.workspace-group-tabs button[aria-selected=true]:after,.ballast-editor-tabs button[aria-selected=true]:after,.viewport-toolbar button[aria-pressed=true]:after,.segmented-control button[aria-pressed=true]:after{content:"";background:currentColor;width:16px;height:2px;position:absolute;bottom:3px;left:calc(50% - 8px)}@media (width<=760px),(pointer:coarse){:root{--ui-control-height:44px;--ui-compact-height:44px;--ui-field-size:16px}}.tank-viewport{border:1px solid var(--ui-info-border);background:#08131d;border-radius:12px;width:100%;min-width:0;height:clamp(360px,58vh,660px);position:relative;overflow:hidden}.tank-viewport canvas{display:block}.tank-viewport-caption{color:#c2d5e7;pointer-events:none;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;font-size:11px;display:flex;position:absolute;inset:auto 12px 10px}.tank-viewport-caption>span{align-items:center;gap:6px;display:inline-flex}.tank-viewport-caption i{border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.tank-viewport-model-label,.tank-viewport-water-label,.tank-viewport-depth-label{color:#d8e7f5;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;line-height:1.5;display:block}.tank-viewport-model-label{background:#08131dd9;border-left:2px solid;border-radius:3px;padding:2px 7px}.tank-viewport-water-label{color:#c8e5ff;background:#0f3658d9;border-radius:3px;padding:1px 6px;transform:translateY(-14px)}.tank-viewport-depth-label{color:#8db8df;font-variant-numeric:tabular-nums;font-size:10px;transform:translate(-12px)}.tank-viewport-status{color:#dbeaff;text-align:center;background:#08131dde;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:13px;display:flex;position:absolute;inset:0}.tank-viewport-status button{border:1px solid var(--ui-info-border);background:var(--ui-info-bg);color:#dbe6e3;cursor:pointer;border-radius:6px;padding:8px 14px}@media (width<=760px){.tank-viewport{height:390px}.tank-viewport-caption{font-size:10px}}.tank-panel{border:1px solid var(--ui-border);background:var(--ui-panel);border-radius:10px;margin-top:18px;overflow:hidden}.tank-panel-heading{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.tank-panel-heading h2{margin:0 0 6px;font-size:18px}.tank-panel-heading p,.tank-panel-heading>span{color:var(--ui-muted);margin:0;font-size:12px;line-height:1.6}.tank-panel-heading>span{white-space:nowrap}.tank-panel-content{grid-template-columns:minmax(0,1fr) 300px;display:grid}.tank-panel-stage{min-width:0}.tank-panel-controls{border-left:1px solid var(--ui-border);min-width:0;padding:20px}.tank-panel h3{margin:0 0 16px;font-size:14px}.tank-panel-range{margin-block:16px}.tank-panel-range .range-label{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.tank-panel-release-hint{color:var(--ui-muted);margin:10px 0 16px;font-size:12px;line-height:1.65}.tank-panel-compare{align-items:center;gap:9px;min-height:40px;font-size:13px;display:flex}.tank-panel-compare input{accent-color:var(--ui-accent);flex-shrink:0;width:16px;height:16px}.tank-panel-actions{flex-wrap:wrap;gap:8px;margin-block:16px;display:flex}.tank-panel-actions .button{flex:1 0 auto}.tank-panel-status{color:var(--ui-text);margin:12px 0;font-size:13px;line-height:1.7}.tank-panel-warning{color:var(--ui-note);margin:14px 0;font-size:12px;line-height:1.7}.tank-panel-assumptions{color:var(--ui-muted);border-top:1px solid var(--ui-border);padding-top:12px;font-size:12px;line-height:1.7}.tank-panel-assumptions summary{cursor:pointer;min-height:32px}.tank-panel-assumptions ul{margin:8px 0 0;padding-left:18px}.tank-panel-assumptions li+li{margin-top:6px}.tank-panel-readouts{border-top:1px solid var(--ui-border);grid-template-columns:minmax(0,1fr);display:grid}.tank-panel-readouts-compare{grid-template-columns:repeat(2,minmax(0,1fr))}.tank-panel-readout{min-width:0;padding:16px 20px}.tank-panel-readout+.tank-panel-readout{border-left:1px solid var(--ui-border)}.tank-panel-readout h3{color:var(--ui-label);margin-bottom:12px}.tank-panel-speed{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;display:flex}.tank-panel-speed-track{background:#2a363c;border-radius:4px;height:5px;margin:10px 0 5px;overflow:hidden}.tank-panel-speed-track>span{background:var(--ui-accent);height:100%;display:block}.tank-panel-readout>small{color:var(--ui-muted);font-size:11px}.tank-panel-readout dl{margin:16px 0 0;font-size:12px}.tank-panel-readout dl>div{justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;display:flex}.tank-panel-readout dt{color:var(--ui-muted)}.tank-panel-readout dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}@media (width<=1100px){.tank-panel-content{grid-template-columns:minmax(0,1fr)}.tank-panel-controls{border-left:0;border-top:1px solid var(--ui-border)}}@media (width<=600px){.tank-panel-heading{flex-direction:column;align-items:flex-start;padding:16px}.tank-panel-controls,.tank-panel-readout{padding:16px}.tank-panel-readouts-compare{grid-template-columns:minmax(0,1fr)}.tank-panel-readout+.tank-panel-readout{border-left:0;border-top:1px solid var(--ui-border)}.tank-panel-actions .button{min-height:44px}}.surface-scales-editor{border-top:1px solid var(--ui-border);margin-top:24px;padding-top:20px}.surface-scales-editor h3{margin:0 0 10px}.surface-scales-editor h4{margin:22px 0 10px}.surface-scales-editor p,.project-scope p,.estimate-scope p{color:var(--ui-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.surface-scales-toggle,.surface-scales-patterns label,.surface-scales-relief label{align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.surface-scales-editor input[type=checkbox],.surface-scales-editor input[type=radio]{accent-color:var(--ui-accent)}.appearance-editor .surface-scales-editor label{flex-direction:row;align-items:center}.appearance-editor .scales-range-field .range-label>label{cursor:default;background:0 0;border:0;border-radius:0;outline:none;padding:0}.appearance-editor .scales-range-field input[type=number]{width:100px;height:auto;margin:0}.appearance-editor .scales-range-field input[type=range]{width:100%;height:18px;margin:0}.surface-scales-patterns,.surface-scales-relief{border:0;flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;display:flex}.surface-scales-patterns legend,.surface-scales-relief legend{color:var(--ui-label);margin-bottom:6px;font-size:12px}.surface-scales-patterns label{border:1px solid var(--ui-border);border-radius:6px;flex:1;padding:0 9px}.surface-scales-patterns label.selected{border-color:var(--ui-accent);background:var(--ui-selected-bg)}.surface-scales-relief label{margin-right:12px}.scales-range-field{margin-block:18px}.scales-range-field .range-label{flex-wrap:wrap;gap:8px}.solid-text-editor{border-top:1px solid var(--ui-border);margin-top:24px;padding-top:20px}.solid-text-editor h3{margin:0 0 10px}.solid-text-editor p,.solid-text-editor small{color:var(--ui-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.appearance-editor .solid-text-editor label{flex-direction:row;align-items:center;gap:8px;min-height:44px}.appearance-editor .solid-text-editor input[type=text]{box-sizing:border-box;width:100%;height:auto;min-height:44px;color:var(--ui-label);background:var(--ui-control-bg);border:1px solid var(--ui-border);border-radius:6px;margin:0 0 8px;padding:10px;font-size:16px}.appearance-editor .solid-text-editor>label[for]{cursor:default;background:0 0;border:0;min-height:32px;padding:0}.appearance-editor .solid-text-range-field input[type=number]{width:100px;height:auto;margin:0}.appearance-editor .solid-text-range-field input[type=range]{width:100%;height:18px;margin:0}.appearance-editor .solid-text-range-field .range-label>label{cursor:default;background:0 0;border:0;border-radius:0;outline:none;padding:0}.solid-text-range-field{margin-block:18px}.solid-text-range-field .range-label{flex-wrap:wrap;gap:8px}.solid-text-editor fieldset{margin-top:18px}.project-scope,.estimate-scope{border-bottom:1px solid var(--ui-border);margin-bottom:16px;padding:12px 0}.project-scope summary,.estimate-scope summary{cursor:pointer;font-size:12px;line-height:1.6}.comparison-preview-pair{grid-template-columns:minmax(0,1fr);gap:10px;margin:16px 0;display:grid}.comparison-preview-pair figure{border:1px solid var(--ui-border);border-radius:8px;min-width:0;margin:0;overflow:hidden}.comparison-preview-pair img{width:100%;height:auto;display:block}.comparison-preview-pair .thumbnail-placeholder{aspect-ratio:8/5;height:auto;font-size:11px}.comparison-preview-pair figcaption{overflow-wrap:anywhere;padding:10px;font-size:11px;line-height:1.6}.comparison-preview-pair figcaption strong,.comparison-preview-pair figcaption span{display:block}.comparison-preview-pair figcaption span{color:var(--ui-muted);margin-top:6px}.workspace-group-errors .button{white-space:normal;margin:3px 4px 3px 0;font-size:11px}.workspace-group-errors p{margin:0 0 4px}.gill-cover-editor{border-top:1px solid var(--ui-border);margin:22px 0;padding-top:18px}.gill-cover-editor h3{margin:0 0 12px}.appearance-editor .gill-cover-editor label{flex-direction:row;align-items:center;min-height:44px}.gill-cover-editor p{color:var(--ui-muted);font-size:12px;line-height:1.7}.modeling-editor{border-top:1px solid var(--ui-border);min-width:0;margin-top:24px;padding-top:20px}.modeling-editor h3{margin:0 0 10px}.modeling-editor p{color:var(--ui-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.modeling-section+.modeling-section{border-top:1px solid var(--ui-border);margin-top:26px;padding-top:22px}.modeling-section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 12px;display:flex}.modeling-section-heading h4{margin:0;font-size:14px}.modeling-section-heading>span{color:var(--ui-muted);font-variant-numeric:tabular-nums;font-size:12px}.modeling-add-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.modeling-editor .button{white-space:normal;overflow-wrap:anywhere;min-height:40px;padding:8px 10px;font-size:12px}.modeling-empty{padding:12px 0}.modeling-card{background:#101b27;border:1px solid #2b4258;border-radius:8px;min-width:0;margin-top:10px;transition:border-color .15s,background .15s;overflow:hidden}.modeling-card:hover{background:#132131;border-color:#426b8f}.modeling-card.selected{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px #5790ff24}.modeling-card>summary{cursor:pointer;align-items:center;gap:10px;min-height:60px;padding:10px 12px;list-style:none;display:flex}.modeling-card>summary::-webkit-details-marker{display:none}.modeling-card>summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-3px}.modeling-card-index{color:var(--ui-muted);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:3px;font-size:11px}.modeling-card-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px;font-weight:600}.modeling-card-title small{color:var(--ui-muted);margin-top:5px;font-size:11px;font-weight:400;display:block}.modeling-card-content{border-top:1px solid var(--ui-border);padding:12px}.modeling-name-field>label,.modeling-select{color:var(--ui-label);gap:7px;margin-bottom:10px;font-size:12px;display:grid}.modeling-name-field input,.modeling-select select{box-sizing:border-box;width:100%;min-width:0;min-height:40px;color:var(--ui-text);background:var(--ui-control-bg);border:1px solid var(--ui-border);border-radius:5px;padding:8px;font-size:14px}.modeling-name-field{margin-bottom:12px}.modeling-part-actions{flex-wrap:wrap;gap:8px;margin:10px 0 16px;display:flex}.modeling-part-actions>label{overflow-wrap:anywhere;align-items:center;gap:7px;width:100%;min-height:36px;font-size:12px;display:flex}.modeling-part-actions input{accent-color:var(--ui-accent)}.modeling-order{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.modeling-range-field{margin-block:16px}.modeling-range-field .range-label{flex-wrap:wrap;gap:8px}.modeling-range-field input[type=number]{max-width:110px}.modeling-card h5{color:var(--ui-label);margin:22px 0 12px;font-size:12px}.modeling-focus{width:100%;margin-top:10px}.modeling-profile-point{border-top:1px solid var(--ui-border);padding:10px 0}.modeling-profile-point-heading{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}@media (width<=600px){.modeling-editor .button,.modeling-name-field input,.modeling-select select{min-height:44px}}@media (width>=761px) and (pointer:fine){.object-inspector .workspace-group-scroll{padding:12px}.object-inspector .panel-heading.compact{border-bottom:1px solid #30373c;margin-bottom:10px;padding-bottom:8px}.object-inspector .panel-heading.compact>div{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.object-inspector .panel-heading.compact h2{margin:0;font-size:16px}.object-inspector .panel-heading.compact p{font-size:11px;line-height:1.45}.object-inspector .editor-range-field{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;margin:0;padding:8px 1px 7px;display:grid}.object-inspector .editor-range-field .range-label{margin:0;display:contents}.object-inspector .editor-range-field .range-label>label{min-width:0;color:var(--ui-text);grid-area:1/1;align-self:center;font-size:12px;font-weight:650}.object-inspector .editor-range-field .range-number{grid-area:1/2;gap:5px;margin:0}.object-inspector .editor-range-field .range-number input{width:72px;min-height:32px;padding:4px 7px;font-size:13px}.object-inspector .editor-range-field .range-number>span{width:2.1ch;font-size:11px}.object-inspector .editor-range-field input[type=range]{grid-area:2/1;width:100%;margin:0}.object-inspector .editor-range-field .range-hint{color:#939da4;white-space:nowrap;grid-area:2/2;align-self:center;margin:0;font-size:10px;line-height:1.3}.object-inspector .editor-range-field .range-error{grid-area:3/1/auto/-1;margin:0}.object-inspector .ballast-position-field{margin-bottom:8px}.object-inspector .ballast-position-range{margin-bottom:0}.object-inspector .ballast-position-direction{display:none}.object-inspector .ballast-size-fields{gap:0;margin-bottom:8px}.object-inspector .ballast-editor-mode{gap:4px;margin-bottom:8px}.object-inspector .ballast-editor-mode button{min-height:32px;padding:4px;font-size:12px}.object-inspector .ballast-editor-tabs{margin-bottom:8px;padding:3px}.object-inspector .ballast-editor-tabs button{justify-content:space-between;align-items:baseline;gap:4px;min-height:38px;padding:4px 5px;font-size:11px;display:flex}.object-inspector .ballast-editor-tabs button small{white-space:nowrap;font-size:10px;line-height:1.3}.object-inspector .ballast-config-section{margin-top:12px;padding-top:9px}.object-inspector .ballast-config-section legend{font-size:13px}.object-inspector .ballast-config-note{margin:7px 0;font-size:11px;line-height:1.45}.object-editor-workspace .results-panel{padding:12px 14px}.object-editor-workspace .results-panel .analysis-heading{margin-bottom:9px;padding-bottom:8px}.object-editor-workspace .results-panel .analysis-heading>div{flex-wrap:wrap;align-items:baseline;gap:2px 7px;display:flex}.object-editor-workspace .results-panel .analysis-heading .panel-kicker{margin:0}.object-editor-workspace .results-panel .analysis-heading h2{margin:0;font-size:16px}.object-editor-workspace .results-panel .analysis-heading p{font-size:11px;line-height:1.45}.object-editor-workspace .results-panel :is(.project-scope,.estimate-scope){margin-bottom:9px;padding:8px 0}.object-editor-workspace .results-panel :is(.project-scope,.estimate-scope) p{margin:6px 0 0;font-size:11px;line-height:1.45}.object-editor-workspace .results-panel .result-list{gap:6px}.object-editor-workspace .results-panel .result-row{gap:10px;font-size:12px;line-height:1.4}.object-editor-workspace .results-panel .result-row strong{font-size:13px;line-height:1.35}.object-editor-workspace .results-panel .result-details{margin-top:10px}.object-editor-workspace .results-panel .result-details>summary{min-height:34px;padding:7px 0;font-size:12px}.object-editor-workspace .results-panel .estimate-boundary-note{margin:7px 0 9px;font-size:11px;line-height:1.45}}@media (width<=760px){.object-editor-workspace .editor-object-tree{display:block;overflow:visible}.object-editor-workspace .editor-object-tree-list{overscroll-behavior-y:auto;flex:none;max-height:none;overflow:visible}.object-editor-workspace .object-inspector{display:block;overflow:visible}.object-editor-workspace .object-inspector .grouped-controls{flex:none;display:block;overflow:visible}.object-editor-workspace .object-inspector .workspace-group-scroll{flex:none;overflow:visible}}
