:root{--font-sans:system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--color-bg-app:#1a1b1e;--color-bg-panel:#222327;--color-bg-workspace:#18191c;--color-bg-elevated:#2a2b30;--color-border:#34353a;--color-border-subtle:#2a2b30;--color-text:#e4e4e7;--color-text-muted:#8b8d98;--color-text-dim:#5c5f6a;--color-accent:#3b82f6;--color-accent-muted:#3b82f626;--topbar-height:clamp(40px, 4.5vh, 48px);--sidebar-width-left:clamp(220px, 22vw, 300px);--sidebar-width-right:clamp(180px, 16vw, 240px);--app-gap:clamp(.35rem, .8vw, .9rem);--app-font-size:clamp(12px, .72rem + .12vw, 13px);--sidebar-content-padding:clamp(8px, 1.2vw, 12px);--sidebar-content-inset-x:var(--sidebar-content-padding);--sidebar-panel-title-size:clamp(20px, 1.2rem + .35vw, 24px);--sidebar-panel-title-weight:600;--sidebar-panel-title-line-height:1.2;--sidebar-section-title-size:clamp(13px, .8125rem + .08vw, 14px);--sidebar-section-title-weight:600;--sidebar-section-title-line-height:1.25;font-family:var(--font-sans);font-size:var(--app-font-size);color:var(--color-text);background:var(--color-bg-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}*,:before,:after{box-sizing:border-box}html{overflow:hidden}body{min-height:100dvh;margin:0;overflow:hidden}#root{min-height:100dvh;overflow:hidden}h1,h2,h3,p{margin:0}button{font:inherit}.export-details-popover__list{gap:6px;margin:0;padding:0;display:grid}.export-details-popover__row{grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.export-details-popover__row dt{color:var(--color-text-muted,#8b919c);margin:0;font-weight:500}.export-details-popover__row dd{min-width:0;color:var(--color-text);overflow-wrap:anywhere;margin:0}.export-details-popover__row--filename dd{font-family:var(--font-mono);font-size:11px;line-height:1.4}.export-details-popover__empty{color:var(--color-text-dim);margin:0;font-size:12px;line-height:1.4}.export-stl{flex-shrink:0;position:relative}.export-stl__split{flex-shrink:0;align-items:stretch;max-width:100%;display:inline-flex}.export-stl__button{background:var(--color-accent);color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:1px solid #3b82f68c;border-right:none;border-radius:6px 0 0 6px;justify-content:center;align-items:center;max-width:min(220px,42vw);padding:clamp(6px,.8vw,8px) clamp(10px,1.2vw,14px);font-size:clamp(11px,.75rem,13px);font-weight:600;display:inline-flex;overflow:hidden}.export-stl__menu-trigger{background:var(--color-accent);color:#fff;cursor:pointer;border:1px solid #3b82f68c;border-left-color:#ffffff47;border-radius:0 6px 6px 0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.export-stl__button:hover:not(:disabled),.export-stl__menu-trigger:hover:not(:disabled){filter:brightness(1.06)}.export-stl__button:disabled,.export-stl__menu-trigger:disabled{opacity:.45;cursor:not-allowed;filter:none}.export-stl__chevron{display:block}.export-stl__popover{z-index:100;border:1px solid var(--color-border);background:var(--color-bg-panel);visibility:hidden;border-radius:8px;width:min(280px,100vw - 16px);padding:10px 12px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 10px 28px #00000059}.export-stl__popover--positioned{visibility:visible}.project-name-field__input{appearance:none;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex:auto;width:auto;min-width:0;max-width:min(240px,28vw);padding:4px 8px;font-size:clamp(11px,.75rem,13px);font-weight:600;overflow:hidden}.project-name-field__input:hover:not(:disabled){border-color:var(--color-border);background:var(--color-bg-elevated,#1e2128)}.project-name-field__input:focus,.project-name-field__input--editing{border-color:var(--color-accent);background:var(--color-bg-elevated,#1e2128);text-overflow:clip;outline:none}.project-name-field__input:disabled{opacity:.55;cursor:not-allowed}@media (width<=1024px){.project-name-field__input{max-width:min(160px,22vw)}}@media (width<=820px){.project-name-field__input{max-width:min(120px,18vw)}}.top-bar{height:var(--topbar-height);min-height:var(--topbar-height);max-height:var(--topbar-height);background:var(--color-bg-panel);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:clamp(6px,1vw,12px);width:100%;min-width:0;max-width:100%;padding:6px clamp(8px,1.5vw,16px);display:flex;overflow:hidden}.top-bar__brand{color:var(--color-text);flex:auto;align-items:center;gap:clamp(8px,1vw,12px);min-width:0;display:flex;overflow:hidden}.top-bar__right{flex:none;justify-content:flex-end;align-items:center;gap:clamp(6px,1vw,10px);min-width:0;margin-left:auto;display:flex;overflow:hidden}.top-bar__actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:clamp(4px,.8vw,8px);min-width:0;display:flex}.top-bar__mark{color:var(--color-accent);flex-shrink:0;width:clamp(20px,2vw,24px);height:clamp(20px,2vw,24px)}.top-bar__name{letter-spacing:-.02em;white-space:nowrap;flex-shrink:0;font-size:clamp(12px,.8rem + .15vw,14px);font-weight:600}.top-bar__file-input{display:none}.top-bar__project-button{appearance:none;border:1px solid var(--color-border);background:var(--color-bg-elevated,#1e2128);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;max-width:100%;padding:clamp(4px,.6vw,6px) clamp(8px,1vw,12px);font-size:clamp(11px,.75rem,13px);font-weight:500}.top-bar__project-button:hover:not(:disabled){border-color:var(--color-accent)}.top-bar__project-button:disabled{opacity:.55;cursor:not-allowed}.top-bar__label-short{display:none}@media (width<=1200px){.top-bar__label-long{display:none}.top-bar__label-short{display:inline}}@media (width<=900px){.top-bar__name{display:none}}.upload-stl{box-sizing:border-box;flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.upload-stl__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-stl__button{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:100%;color:var(--color-text);cursor:pointer;box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.upload-stl__button:hover{background:var(--color-accent-muted);border-color:#3b82f673}.upload-stl__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.upload-stl__button:disabled{cursor:wait;opacity:.72}.upload-stl__status{color:var(--color-text-dim);box-sizing:border-box;overflow-wrap:anywhere;min-width:0;max-width:100%;margin:0;font-size:11px}.upload-stl__status--error{color:#f87171}.model-placement{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.model-placement__button-row{flex-wrap:wrap;gap:4px;width:100%;min-width:0;display:flex}.model-placement__button-row .sidebar-action--compact{flex:calc(33.333% - 4px);min-width:0;padding:5px 4px;font-size:10px}.sidebar-action{border:1px solid var(--color-border);width:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.sidebar-action:hover:not(:disabled){color:var(--color-text);background:var(--color-bg-elevated);border-color:#3b82f673}.sidebar-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sidebar-action:disabled{opacity:.45;cursor:not-allowed}.sidebar-action--compact{padding:6px 8px;font-size:11px}.sidebar-action--emphasis{margin-top:2px}.sidebar-action--subtle{width:auto;color:var(--color-text-dim);background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:10px;font-weight:500}.sidebar-action--subtle:hover:not(:disabled){color:var(--color-text-muted);text-underline-offset:2px;background:0 0;border:none;text-decoration:underline}.sidebar-action--subtle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.slider-number-field{flex-direction:column;gap:4px;min-width:0;max-width:100%;display:flex}.slider-number-field__header{min-width:0;max-width:100%}.slider-number-field__row{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(3.5rem,auto) max-content;align-items:center;gap:clamp(4px,.8vw,8px);width:100%;min-width:0;max-width:100%;display:grid}.slider-number-field__number-wrap{display:contents}.slider-number-field__label{color:var(--color-text-muted);font-size:11px;font-weight:500}.slider-number-field__slider{width:100%;min-width:0;max-width:100%;height:4px;accent-color:var(--color-accent);grid-column:1}.slider-number-field__input{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:100%;min-width:3.5rem;max-width:4.25rem;color:var(--color-text);font-size:11px;font-family:var(--font-mono,ui-monospace, Consolas, monospace);font-variant-numeric:tabular-nums;text-align:right;box-sizing:border-box;border-radius:4px;grid-column:2;justify-self:stretch;padding:4px 6px}.slider-number-field__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.slider-number-field__input:disabled{opacity:.45;cursor:not-allowed}.slider-number-field__unit{color:var(--color-text-dim);white-space:nowrap;flex-shrink:0;grid-column:3;min-width:max-content;font-size:10px;overflow:visible}.slider-number-field__reset{color:var(--color-text-dim);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:10px;font-weight:500}.slider-number-field__reset:hover:not(:disabled){color:var(--color-text-muted);text-underline-offset:2px;text-decoration:underline}.slider-number-field__reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.slider-number-field__reset:disabled{opacity:.45;cursor:not-allowed}@container sidebar (width<=280px){.slider-number-field__row{gap:4px}.slider-number-field__input{min-width:3.25rem;max-width:3.75rem}}@container sidebar (width<=210px){.slider-number-field__row{grid-template-rows:auto auto;grid-template-columns:minmax(3.25rem,auto) max-content;row-gap:4px}.slider-number-field__slider{grid-area:1/1/auto/-1}.slider-number-field__input{grid-area:2/1;min-width:3.25rem;max-width:3.75rem}.slider-number-field__unit{grid-area:2/2}}.arrange-objects{border-top:1px solid var(--color-border-subtle);gap:8px;min-width:0;max-width:100%;padding-top:4px;display:grid}.arrange-objects__header{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.arrange-objects__title{color:var(--color-text);font-size:12px;font-weight:600}.arrange-objects__count{color:var(--color-text-dim);font-size:10px}.arrange-objects__group{gap:4px;display:grid}.arrange-objects__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-dim);font-size:10px;font-weight:600}.arrange-objects__hint{color:var(--color-text-dim);margin:0;font-size:10px;line-height:1.35}.arrange-objects__row,.arrange-objects__edge-row,.arrange-objects__gap-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.arrange-objects__axis{width:14px;color:var(--color-text-muted);font-size:10px}.arrange-objects__btn{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:pointer;border-radius:4px;padding:3px 7px;font-size:10px}.arrange-objects__btn:hover:not(:disabled){color:var(--color-text);border-color:#3b82f673}.arrange-objects__btn:disabled{opacity:.45;cursor:not-allowed}.arrange-objects__field{color:var(--color-text-dim);align-items:center;gap:4px;font-size:10px;display:inline-flex}.arrange-objects__field select,.arrange-objects__field input{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:56px;color:var(--color-text);border-radius:4px;padding:2px 4px;font-size:10px}.arrange-objects__unit{color:var(--color-text-dim)}.arrange-objects__toggles{gap:4px;display:grid}.arrange-objects__toggle{color:var(--color-text);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.arrange-objects__measurements{gap:2px;display:grid}.arrange-objects__measurements p{font-size:10px;font-family:var(--font-mono,ui-monospace, Consolas, monospace);color:var(--color-text-muted);margin:0}.cutout-objects{gap:8px;min-width:0;max-width:100%;display:grid}.cutout-objects__header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.cutout-objects__title{color:var(--color-text);font-size:12px;font-weight:600}.cutout-objects__add{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.cutout-objects__add:disabled{opacity:.45;cursor:not-allowed}.cutout-objects__clipboard-actions,.cutout-objects__selection-actions{flex-wrap:wrap;gap:6px;display:flex}.cutout-objects__clipboard-btn{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:10px}.cutout-objects__clipboard-btn:hover:not(:disabled){color:var(--color-text);border-color:#3b82f673}.cutout-objects__clipboard-btn:disabled{opacity:.45;cursor:not-allowed}.cutout-objects__file-input{display:none}.cutout-objects__hint{color:var(--color-text-dim);margin:0;font-size:11px;line-height:1.4}.cutout-objects__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cutout-objects__row{border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);border-radius:6px;gap:4px;padding:6px 8px;display:grid}.cutout-objects__row--selected{border-color:#3b82f673}.cutout-objects__row--primary{background:#3b82f614;border-color:#3b82f6b3}.cutout-objects__select{color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;padding:0;font-size:12px;display:flex}.cutout-objects__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cutout-objects__badges{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.cutout-objects__selected-badge{color:var(--color-accent);flex-shrink:0;font-size:10px}.cutout-objects__selected-badge--secondary{color:var(--color-text-muted)}.cutout-objects__warning-badge{color:#9a6b1f;white-space:normal;background:#b4782824;border-radius:999px;max-width:100%;padding:1px 6px;font-size:10px;line-height:1.35;display:inline-block}.cutout-objects__actions{color:var(--color-text-dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:10px;display:flex}.cutout-objects__toggle{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.cutout-objects__delete{color:#fca5a5;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:10px}.cutout-objects__delete:disabled{opacity:.45;cursor:not-allowed}.gridfinity-settings{flex-direction:column;gap:8px;min-width:0;max-width:100%;display:flex}.gridfinity-settings__control{flex-direction:column;gap:3px;min-width:0;max-width:100%;display:flex;position:relative}.gridfinity-settings__control-header{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.gridfinity-settings__label-with-help{flex:auto;align-items:center;gap:4px;min-width:0;display:inline-flex}.gridfinity-settings__info-wrap{flex-shrink:0;display:inline-flex;position:relative}.gridfinity-settings__info-btn{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:14px;height:14px;color:var(--color-text-dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:Georgia,Times New Roman,serif;font-size:9px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.gridfinity-settings__info-btn:hover:not(:disabled){color:var(--color-text-muted);border-color:#3b82f673}.gridfinity-settings__info-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.gridfinity-settings__info-btn:disabled{opacity:.45;cursor:not-allowed}.gridfinity-settings__info-tip{z-index:2;width:auto;max-width:min(220px, calc(100vw - 2 * var(--sidebar-content-padding) - 16px));border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text-muted);white-space:normal;overflow-wrap:anywhere;border-radius:4px;padding:6px 8px;font-size:10px;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #00000040}.gridfinity-settings__label{color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0;font-size:11px;font-weight:500}.gridfinity-settings__value{font-family:var(--font-mono,ui-monospace, Consolas, monospace);color:var(--color-text);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px}.gridfinity-settings__slider{width:100%;height:4px;accent-color:var(--color-accent)}.gridfinity-settings__helper-link{color:var(--color-text-dim);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:10px;font-weight:500}.gridfinity-settings__helper-link:hover:not(:disabled){color:var(--color-text-muted);text-underline-offset:2px;text-decoration:underline}.gridfinity-settings__helper-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.gridfinity-settings__helper-link:disabled{opacity:.45;cursor:not-allowed}.gridfinity-settings__warning{color:var(--color-warning,#c97a00);margin:4px 0 0;font-size:11px;line-height:1.35}.gridfinity-settings__warnings{flex-direction:column;gap:2px;display:flex}.gridfinity-settings__warnings-title{color:var(--color-text-dim);margin:4px 0 0;font-size:10px;line-height:1.35}.gridfinity-settings__toggle-field{color:var(--color-text);align-items:center;gap:8px;margin-top:8px;font-size:11px;display:flex}.gridfinity-settings__group-label{font-size:var(--sidebar-section-title-size);font-weight:var(--sidebar-section-title-weight);line-height:var(--sidebar-section-title-line-height);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0}.gridfinity-settings__grid-size{flex-direction:column;gap:4px;min-width:0;max-width:100%;margin-bottom:2px;display:flex}.gridfinity-settings__grid-size--manual{box-sizing:border-box;background:#3b82f614;border:1px solid #3b82f659;border-radius:6px;max-width:100%;padding:8px}.gridfinity-settings__manual-hint{color:var(--color-accent,#3b82f6);margin:0;font-size:10px;line-height:1.4}.gridfinity-settings__grid-row{align-items:flex-end;gap:6px;display:flex}.gridfinity-settings__grid-field{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.gridfinity-settings__grid-sep{color:var(--color-text-muted);flex-shrink:0;padding-bottom:7px;font-size:12px}.gridfinity-settings__input--grid{text-align:center}.gridfinity-settings__helper-text{color:var(--color-text-dim);margin:0;font-size:10px}.gridfinity-settings__advanced{border-top:1px solid var(--color-border-subtle);margin-top:4px;padding-top:6px}.gridfinity-settings__advanced-summary{color:var(--color-text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:10px;font-weight:500;list-style:none}.gridfinity-settings__advanced-summary::-webkit-details-marker{display:none}.gridfinity-settings__advanced-summary:before{content:"▸ "}.gridfinity-settings__advanced[open] .gridfinity-settings__advanced-summary:before{content:"▾ "}.gridfinity-settings__advanced-body{flex-direction:column;gap:6px;padding-top:6px;display:flex}.gridfinity-settings__field{flex-direction:column;gap:3px;display:flex}.gridfinity-settings__input{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:100%;min-width:0;max-width:100%;color:var(--color-text);font-size:11px;font-family:var(--font-mono,ui-monospace, Consolas, monospace);box-sizing:border-box;border-radius:4px;padding:5px 7px}.gridfinity-settings__input:disabled{opacity:.45;cursor:not-allowed}.gridfinity-settings__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.dev-underside-style{border-top:1px dashed #ffffff1f;flex-direction:column;gap:8px;min-width:0;max-width:100%;margin-top:10px;padding-top:10px;display:flex}.dev-underside-style__label{letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c;margin:0;font:600 11px/1.3 system-ui,sans-serif}.dev-underside-style__options{flex-direction:column;gap:6px;display:flex}.dev-underside-style__option{color:#ffffffe0;cursor:pointer;align-items:center;gap:8px;font:13px/1.35 system-ui,sans-serif;display:flex}.dev-underside-style__option input{accent-color:#7eb6ff}.dev-underside-style__hint{color:#ffffff73;margin:0;font:12px/1.4 system-ui,sans-serif}.dev-underside-style__diagnostics{border-top:1px dashed #ffffff1f;width:100%;padding-top:8px}.dev-underside-style__diagnostics-title{letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c;margin:0 0 6px;font:600 11px/1.3 system-ui,sans-serif}.dev-underside-style__diagnostics-list{margin:0}.dev-underside-style__diagnostics-list dt{color:#ffffff73;margin:6px 0 2px;font:600 10px/1.2 system-ui,sans-serif}.dev-underside-style__diagnostics-list dd{color:#ffffffd1;margin:0;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sidebar{background:var(--color-bg-panel);border-color:var(--color-border);box-sizing:border-box;flex-direction:column;flex-shrink:0;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.sidebar--left{width:var(--sidebar-width-left);max-width:min(var(--sidebar-width-left), 42vw);border-right:1px solid var(--color-border);container:sidebar/inline-size}.sidebar--right{width:var(--sidebar-width-right);max-width:min(var(--sidebar-width-right), 34vw);border-left:1px solid var(--color-border)}.app-shell--no-right-sidebar .sidebar--right{display:none}.sidebar__header{justify-content:space-between;align-items:center;gap:var(--app-gap);padding:var(--sidebar-content-padding) var(--sidebar-content-inset-x) clamp(3px, .45vw, 5px);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;min-width:0;display:flex}.sidebar__title{font-family:var(--font-sans);font-size:var(--sidebar-panel-title-size);font-weight:var(--sidebar-panel-title-weight);line-height:var(--sidebar-panel-title-line-height);letter-spacing:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar__close{appearance:none;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:pointer;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:11px;line-height:1;display:none}.sidebar__close:hover{color:var(--color-text);border-color:#3b82f673}.app-shell--drawer .sidebar--left .sidebar__close{align-items:center;display:inline-flex}.sidebar__content{min-width:0;max-width:100%;min-height:0;padding:clamp(5px, .75vw, 7px) var(--sidebar-content-inset-x) var(--sidebar-content-padding);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-panel);flex-direction:column;flex:1;gap:clamp(8px,1.2vw,12px);display:flex;overflow:auto}.sidebar__content::-webkit-scrollbar{width:8px;height:8px}.sidebar__content::-webkit-scrollbar-track{background:var(--color-bg-panel)}.sidebar__content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.sidebar__content::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.sidebar__section{flex-direction:column;gap:clamp(4px,.6vw,5px);min-width:0;max-width:100%;display:flex}.sidebar__section-title{font-size:var(--sidebar-section-title-size);font-weight:var(--sidebar-section-title-weight);line-height:var(--sidebar-section-title-line-height);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0;margin:0 0 1px}.sidebar__placeholder{color:var(--color-text-dim);font-size:clamp(11px,.75rem,12px);line-height:1.5}.app-shell--compact .sidebar__content{gap:8px}.app-shell--compact .sidebar__header{padding-top:8px;padding-bottom:4px}.app-shell--drawer .sidebar--left{z-index:9;width:min(var(--sidebar-width-left), 88vw);max-width:88vw;transition:transform .2s;position:absolute;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:8px 0 24px #00000059}.app-shell--drawer.app-shell--sidebar-open .sidebar--left{transform:translate(0)}.app-shell--drawer .sidebar--left{border-right:1px solid var(--color-border)}.model-dimensions{flex-direction:column;gap:6px;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.model-dimensions__row{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;font-size:12px;display:flex}.model-dimensions__label{color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0;font-weight:500}.model-dimensions__value{font-family:var(--font-mono,ui-monospace, Consolas, monospace);color:var(--color-text);font-variant-numeric:tabular-nums;flex-shrink:0}.gridfinity-recommendation{flex-direction:column;gap:6px;display:flex}.gridfinity-recommendation__size{letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.gridfinity-recommendation__hint{color:var(--color-text-dim);font-size:11px;line-height:1.45}.gridfinity-recommendation__placeholder{color:var(--color-text-dim);font-size:12px;line-height:1.45}.model-analysis-status{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.model-analysis-status--idle{color:var(--color-text-dim);font-size:12px;line-height:1.45}.model-analysis-status__item{padding-left:12px;font-size:11px;line-height:1.45;position:relative}.model-analysis-status__item:before{content:"";background:var(--color-text-dim);border-radius:50%;width:6px;height:6px;position:absolute;top:.45em;left:0}.model-analysis-status__item--ok:before{background:#4ade80}.model-analysis-status__item--ok{color:var(--color-text-muted)}.model-analysis-status__item--error:before{background:#ff6b6b}.model-analysis-status__item--error{color:#ff6b6b}.model-analysis-status__item--warning:before{background:#fbbf24}.model-analysis-status__item--warning{color:var(--color-text-muted)}.model-analysis-status__item--info:before{background:var(--color-accent,#6eb5ff)}.model-analysis-status__item--info{color:var(--color-text-muted)}.model-analysis-status__item--muted,.model-analysis-status__item--idle{color:var(--color-text-dim)}.right-sidebar__gridfinity{flex-direction:column;gap:10px;display:flex}.workspace-modal-layer{z-index:2;pointer-events:none;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.workspace-modal-layer__scrim{pointer-events:auto;background:#0c0d10b8;position:absolute;inset:0}.workspace-modal-layer__scrim--light{background:#0c0d1073}.workspace-modal{z-index:1;border:1px solid var(--color-border);background:var(--color-bg-panel);pointer-events:auto;text-align:center;border-radius:10px;width:min(100%,340px);padding:20px 22px;position:relative;box-shadow:0 12px 40px #00000059}.workspace-modal__title{color:var(--color-text);margin:0 0 8px;font-size:15px;font-weight:600}.workspace-modal__lede{color:var(--color-text-muted);margin:0 0 16px;font-size:12px;line-height:1.45}.workspace-modal__primary{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.workspace-modal__primary:hover:not(:disabled){filter:brightness(1.06)}.workspace-modal__primary:disabled{opacity:.55;cursor:not-allowed}.workspace-modal__primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.workspace-modal__secondary{color:var(--color-text-dim);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:4px 8px;font-size:11px;font-weight:500}.workspace-modal__secondary:hover{color:var(--color-text-muted);text-underline-offset:2px;text-decoration:underline}.workspace-modal__secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.workspace-modal__hint{color:var(--color-text-dim);margin:12px 0 0;font-size:10px}.workspace-upload__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workspace-upload{border-style:dashed;border-width:1px;transition:border-color .15s,background .15s}.workspace-upload--drag-over{background:var(--color-bg-elevated);border-color:#3b82f68c}.workspace-cutout-status{z-index:2;color:var(--color-text-muted,#a8adb8);border:1px solid var(--color-border-subtle,#2c2f38);pointer-events:none;background:#18191cd1;border-radius:6px;max-width:min(320px,100% - 24px);padding:6px 10px;font-size:.8125rem;line-height:1.35;position:absolute;bottom:12px;left:12px}.workspace-cutout-status--info{color:#a8b8d4}.workspace-cutout-status--success{color:#b8d4a8;border-color:#78a05a59}.workspace-cutout-status--error{color:#e8a0a0;border-color:#b45a5a59}.workspace-cutout-status__error{color:#e8a0a0;margin-top:4px;display:block}.workspace-sidebar-toggle{z-index:4;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#222327eb;border-radius:6px;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:6px 10px;font-size:12px;font-weight:500;display:none;position:absolute;top:10px;left:10px}.workspace-sidebar-toggle:hover{border-color:#3b82f673}.workspace-sidebar-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.workspace-sidebar-toggle__icon{font-size:10px;line-height:1}.app-shell--drawer .workspace-sidebar-toggle{display:inline-flex}.workspace{background:var(--color-bg-workspace);flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.workspace__viewport{border-inline:1px solid var(--color-border-subtle);flex:1;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace__canvas{width:100%;min-width:0;height:100%;min-height:0;display:block}.app-shell--drawer .workspace{width:100%}.app-shell{flex-direction:column;width:100%;max-width:100vw;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.app-body{flex:1;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar-backdrop{z-index:8;cursor:pointer;background:#00000073;border:none;margin:0;padding:0;display:none;position:absolute;inset:0}.app-shell--drawer.app-shell--sidebar-open .sidebar-backdrop{display:block}.gridfinity-foot-prototype{background:#18191c;width:100%;height:100vh;position:relative}.gridfinity-foot-prototype__controls{z-index:2;gap:6px;display:flex;position:absolute;top:12px;right:12px}.gridfinity-foot-prototype__control{color:#d8dde6;cursor:pointer;background:#18191ceb;border:1px solid #3a3f48;border-radius:6px;padding:6px 12px;font:600 12px system-ui,sans-serif}.gridfinity-foot-prototype__control:hover:not(:disabled){border-color:#6b8cae}.gridfinity-foot-prototype__control--active{background:#6b8cae33;border-color:#6b8cae}.gridfinity-foot-prototype__control:disabled{opacity:.5;cursor:wait}.gridfinity-foot-prototype__foot-list{max-height:120px;margin:4px 0 0;padding-left:16px;overflow-y:auto}.gridfinity-foot-prototype__panel{z-index:2;color:#d8dde6;pointer-events:none;background:#18191ceb;border:1px solid #3a3f48;border-radius:8px;max-width:320px;padding:12px 14px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;top:12px;left:12px}.gridfinity-foot-prototype__panel h1{color:#eef1f6;margin:0 0 8px;font:600 13px/1.3 system-ui,sans-serif}.gridfinity-foot-prototype__panel dl{margin:0}.gridfinity-foot-prototype__panel dt{color:#9aa3b2;letter-spacing:.04em;text-transform:uppercase;margin:8px 0 2px;font:600 10px/1.2 system-ui,sans-serif}.gridfinity-foot-prototype__panel dd{margin:0}.gridfinity-foot-prototype__panel ul{margin:4px 0 0;padding-left:16px}.gridfinity-foot-prototype__panel li{margin:2px 0}.gridfinity-foot-prototype__status{z-index:2;color:#9aa3b2;font:12px system-ui,sans-serif;position:absolute;bottom:12px;left:12px}.gridfinity-foot-prototype__status--error{color:#f07178}
