:root{font-family:var(--font-app);color:var(--ink);font-size:12px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;gap:6px;padding:6px 10px;border:1px solid var(--icon);border-radius:5px;background:var(--text);cursor:pointer;white-space:nowrap}button:hover{background:var(--text);border-color:var(--icon)}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,.tool:focus-visible,.upload:focus-within{outline:2px solid var(--blue);outline-offset:2px}.topbar{height:48px;background:var(--field);color:var(--text);display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:600;font-size:13px}.brand svg{width:23px;height:23px;fill:none;stroke:var(--icon);stroke-width:1.6}.divider{width:1px;height:20px;background:var(--toggle-off)}.document-name{font-weight:500;color:var(--text)}.local{margin-left:auto;color:var(--text-2);display:flex;gap:6px;align-items:center;font-size:11px}.local i{width:6px;height:6px;background:#66c985;border-radius:50%}.topbar button{background:transparent;color:var(--text);border-color:var(--line-strong);min-height:28px}.topbar button:hover{background:var(--selected)}.file-actions{display:flex;gap:5px;margin-right:6px}.file-actions button{border-color:transparent;color:var(--text)}.app{height:calc(100dvh - 48px);display:grid;grid-template-columns:var(--sidebar-width) minmax(280px,1fr) var(--inspector-width);min-height:0}.layers,.inspector{background:var(--surface);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-2) transparent;min-height:0}.layers{border-right:1px solid var(--line);display:flex;flex-direction:column}.inspector{border-left:1px solid var(--line)}.panel-heading{height:44px;min-height:44px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--text);z-index:2}.panel-heading h2{font-size:12px;font-weight:600;margin:0}.panel-heading>span{font-size:11px;color:var(--muted)}section{padding:16px;border-bottom:1px solid var(--line)}h3{font-size:12px;font-weight:600;margin:0 0 12px}.upload{border:1px solid var(--icon);border-radius:5px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;font-size:12px;color:var(--ink);cursor:pointer}.upload:hover{border-color:var(--blue);background:var(--selected)}.upload svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.text-button{display:flex;border:0;padding:8px 0 0;min-height:24px;background:none;color:var(--muted);font-size:11px}.text-button:hover{background:none;color:var(--blue)}.object-list{min-height:100px;flex:1;padding:8px 0}.tools>p{color:var(--muted);font-size:11px;margin:16px;text-align:left}.tool{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:36px;cursor:pointer;border:1px solid transparent;border-radius:0;line-height:16px}.tool:before{content:'◇';color:var(--text-muted);font-size:16px}.tool>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px}.tool small{font-size:10px;color:var(--muted);white-space:nowrap}.tool:hover{background:var(--text)}.tool.selected{background:var(--selected);border-color:var(--primary-color)}.tool.selected:before{color:var(--blue)}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.two button{font-size:11px;padding:6px}.wide{width:100%;margin:8px 0 0}label{display:block;font-size:11px;line-height:16px;color:var(--text-disabled)}input[type=number],select{display:block;width:100%;min-width:0;height:30px;border:1px solid transparent;background:var(--text);border-radius:5px;padding:0 8px;margin-top:6px;color:var(--ink);font-size:12px}input[type=number]:hover,select:hover{border-color:var(--icon)}input[type=number]:focus,select:focus{background:var(--text);border-color:var(--blue)}select{padding-right:20px;margin-bottom:10px}input[type=range]{width:100%;accent-color:var(--blue);margin:10px 0 0;height:14px}output{float:right;color:var(--ink);font-variant-numeric:tabular-nums}.slider-label{margin:8px 0 0}.check{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--ink);font-size:11px}.check input{width:13px;height:13px;margin:0;accent-color:var(--blue)}.unit{color:var(--text-muted);font-size:10px;margin-left:auto}.hint{font-size:10px;line-height:15px;color:var(--text-muted);margin:8px 0 0}main{display:grid;grid-template-rows:40px minmax(0,1fr) 32px;overflow:hidden;min-width:0;background:var(--canvas)}.canvas-toolbar{display:flex;align-items:center;gap:12px;padding:0 8px;background:var(--text);border-bottom:1px solid var(--line)}.tool-group{display:flex;align-items:center;gap:4px}.tool-group>button:not(.icon-tool){border:0;background:transparent;font-size:11px}.tool-group>button:not(.icon-tool):hover{background:var(--text)}.icon-tool{border:0;border-radius:4px;width:30px;height:30px;padding:6px;background:transparent}.icon-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.icon-tool.active{background:var(--blue);color:var(--text)}.tool-divider{height:18px;width:1px;background:var(--line);margin:0 4px}.canvas-name{margin-left:auto;font-size:11px;color:var(--text-muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs{display:flex;gap:2px}.tabs button{font-size:11px;border:0;min-height:26px;border-radius:4px;background:transparent;padding:5px 10px;color:var(--text-hint)}.tabs button.active{color:var(--text-disabled);background:var(--text)}.stage{position:relative;overflow:hidden;min-height:0;background:var(--canvas)}canvas{display:block;width:100%;height:100%;touch-action:none}canvas[hidden]{display:none}#empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-muted);pointer-events:none;white-space:nowrap}#empty svg{width:38px;height:38px;fill:none;stroke:var(--icon);stroke-width:1.2}#empty p{margin:12px 0;font-size:12px;font-weight:400}.stage-label{position:absolute;bottom:10px;left:12px;font-size:10px;color:var(--text-muted);pointer-events:none}.statusbar{background:var(--text);border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 12px;font-size:10px;min-width:0}#notice{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:var(--text-hint);background:transparent!important;border:0}#stats{font-variant-numeric:tabular-nums;color:var(--text-hint);font-size:10px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1050px){.app{grid-template-columns:var(--sidebar-width) minmax(260px,1fr) var(--inspector-width)}.brand span{display:none}.canvas-name{display:none}.tool small{display:none}.canvas-toolbar{justify-content:space-between}section{padding:12px}.panel-heading{padding:0 12px}}@media(max-width:750px){body{overflow:auto}.topbar{gap:6px;padding:0 8px}.document-name{font-size:11px}.local{display:none}.file-actions{margin-left:auto;margin-right:0}.topbar button{font-size:10px;padding:5px 7px}.app{height:auto;min-height:calc(100dvh - 48px);grid-template-columns:var(--sidebar-width) minmax(240px,1fr)}main{height:65dvh;min-height:360px}.inspector{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.inspector>.panel-heading{grid-column:1/-1;position:static}.inspector section{border-right:1px solid var(--line)}.layers{grid-row:1}.tool-group{gap:1px}.tool-group>button:not(.icon-tool){padding:4px;font-size:10px}.tabs button{padding:5px 7px}.tool-divider{margin:0 2px}}@media(max-width:430px){.app{grid-template-columns:var(--sidebar-width) minmax(200px,1fr)}.document-name{display:none}.layers section{padding:10px}.inspector{grid-template-columns:1fr}.inspector section{border-right:0}.statusbar{padding:0 6px}#stats{display:none}}
/* Figma-inspired dark workbench palette. Layout and behaviour unchanged. */
:root{color-scheme:dark;}
body{background:var(--canvas)}button{background:var(--field);border-color:var(--toggle-off)}button:hover{background:var(--selected);border-color:var(--line-strong)}.topbar{background:var(--field);border-bottom-color:var(--line)}.topbar button:hover{background:var(--selected)}.panel-heading{background:var(--surface)}.layers,.inspector{scrollbar-color:var(--text-disabled) transparent}.upload{border-color:var(--toggle-off);background:var(--field)}.upload:hover{background:var(--selected);border-color:var(--blue)}.text-button{background:none;color:var(--muted)}.text-button:hover{background:none;color:var(--primary-color)}.tool:hover{background:var(--field)}.tool.selected{background:var(--selected);border-color:var(--primary-color)}.tool:before{color:var(--text-2)}.tool.selected:before{color:var(--primary-color)}label{color:var(--text-2)}input[type=number],select{background:var(--field);color:var(--ink)}input[type=number]:hover,select:hover{border-color:var(--line-strong)}input[type=number]:focus,select:focus{background:var(--field);border-color:var(--blue)}input::placeholder{color:var(--text-muted)}.hint,.unit{color:var(--text-2)}.canvas-toolbar,.statusbar{background:var(--surface)}.tool-group>button:not(.icon-tool):hover{background:var(--selected)}.icon-tool{background:transparent}.icon-tool:hover{background:var(--selected)}.icon-tool.active{background:var(--blue);color:var(--text)}.tabs button{color:var(--text-2)}.tabs button:hover{background:var(--field)}.tabs button.active{color:var(--text);background:var(--selected)}.canvas-name{color:var(--text-2)}#empty{color:var(--text-2)}#empty svg{stroke:var(--line-strong)}.stage-label{color:var(--text-muted)}#notice,#stats{color:var(--text-2)}
/* Persistent companion: one next action, without hiding the editor controls. */
main{grid-template-rows:40px minmax(0,1fr) auto 28px}.source-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.source-summary .text-button{padding:0;min-height:22px}.guide-panel{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-top:1px solid var(--line);border-bottom:0;padding:16px 20px;min-height:150px;margin:0}.guide-avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:var(--primary-color);color:var(--primary-color);border:1px solid var(--primary-color);font-weight:600;font-size:14px}.guide-content{flex:1;min-width:0}.guide-heading{display:flex;align-items:center;gap:8px;font-size:11px;line-height:16px}.guide-heading strong{font-size:12px}.guide-heading>span{color:var(--muted)}#guideCounter{margin-left:auto;white-space:nowrap;font-size:10px}.guide-panel h2{font-size:13px;line-height:18px;margin:8px 0 4px;font-weight:600}.guide-panel p{font-size:12px;line-height:18px;color:var(--text-2);margin:0;max-width:740px}#guideFeedback{margin-top:7px;color:var(--danger)}.guide-actions{display:flex;align-items:center;gap:10px;margin-top:12px;min-height:30px}.guide-navigation{margin-left:auto;display:flex;gap:7px;align-items:center}.guide-actions button{font-size:11px;min-height:30px}.guide-actions .primary{min-width:80px}#guideUploadActions{display:flex;gap:12px;align-items:center}#guideUploadActions .upload{padding:6px 10px;min-height:30px;color:var(--ink);font-size:11px}#guideUploadActions .text-button{padding:0;min-height:30px}.guide-panel [hidden],.source-summary [hidden]{display:none!important}@media(max-width:1050px){.guide-panel{padding:12px;gap:8px}.guide-heading>span:not(#guideCounter){display:none}.guide-panel p{font-size:11px;line-height:16px}}@media(max-width:750px){main{height:78dvh;min-height:510px}.guide-panel{padding:10px}.guide-avatar{display:none}.guide-actions{gap:6px;flex-wrap:wrap}#guideUploadActions{gap:6px}.guide-actions button,#guideUploadActions .upload{font-size:10px;padding:5px 7px}.guide-navigation{margin-left:auto}.guide-panel h2{font-size:12px}}
/* Context inspector, anchored zoom, and a compact floating companion. */
main{position:relative;grid-template-rows:40px minmax(0,1fr) 28px}.inspector [hidden]{display:none!important}.model-summary{display:grid;grid-template-columns:1fr;gap:5px;margin:0}.model-summary dt{font-size:10px;color:var(--muted);margin-top:10px}.model-summary dd{font-size:12px;margin:0;color:var(--ink);line-height:18px}.zoom-controls{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;background:var(--field);border:1px solid var(--line-strong);border-radius:7px;padding:3px;z-index:3;box-shadow:0 2px 8px color-mix(in srgb,var(--shadow-color) 20%,transparent)}.zoom-controls button{width:27px;min-height:25px;padding:2px;border:0;background:transparent;font-size:13px}.zoom-controls button:last-child{width:34px;border-left:1px solid var(--line-strong);border-radius:0 4px 4px 0;font-size:11px}.zoom-controls output{float:none;min-width:44px;text-align:center;font-size:10px;color:var(--text)}canvas:focus-visible{outline:none}.guide-panel{position:absolute;z-index:5;bottom:46px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 32px));min-height:0;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--field);box-shadow:0 8px 32px color-mix(in srgb,var(--shadow-color) 46.7%,transparent);gap:10px}.guide-panel p{font-size:11px;line-height:17px}.guide-panel h2{font-size:12px;margin-top:7px}.guide-heading>span{font-size:10px}.guide-actions{margin-top:10px}.guide-avatar{width:25px;height:25px;font-size:12px;border-radius:7px}#guideToggle{min-height:22px;width:22px;padding:0;border:0;background:transparent;color:var(--text-2);flex:none}#guideToggle:hover{background:var(--selected);color:var(--text)}@media(max-width:1050px){.guide-heading>span:not(#guideCounter){display:none}.guide-panel{width:min(480px,calc(100% - 24px));bottom:48px}}@media(max-width:750px){main{height:75dvh;min-height:440px}.guide-panel{padding:10px;bottom:48px}.guide-panel .guide-avatar{display:none}.guide-panel p{font-size:11px}.guide-actions{flex-wrap:wrap}.zoom-controls{bottom:8px;right:8px}}
.guide-panel{bottom:78px}@media(max-width:1050px){.guide-panel{bottom:78px}}@media(max-width:750px){.guide-panel{bottom:76px}}

#pointTools button.active{background:var(--selected);border-color:var(--blue);color:var(--text)}#pointTools .two{gap:7px}#pointTools .hint,#detectionHelp{margin:10px 0;font-size:11px;line-height:17px}#thresholdControl[hidden]{display:none!important}

/* Canvas tools stay at the bottom; the companion has its own upper corner. */
.editing-dock{position:absolute;z-index:6;left:50%;bottom:44px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:7px;background:var(--field);border:1px solid var(--line-strong);border-radius:13px;box-shadow:0 5px 20px color-mix(in srgb,var(--shadow-color) 33.3%,transparent);white-space:nowrap;max-width:calc(100% - 24px);overflow-x:auto}
.editing-dock button{font-size:11px;min-height:32px;padding:6px 9px;border:0;background:transparent;flex-shrink:0}.editing-dock button.active{background:var(--blue);color:var(--text)}.editing-dock button:hover{background:var(--selected)}.editing-dock .icon-tool{width:32px;padding:5px}.editing-dock button:disabled{opacity:.35}.editing-dock .tool-divider{height:23px;width:1px;flex:none;background:var(--selected);margin:0 3px}
.guide-panel{top:52px;bottom:auto;left:12px;transform:none;width:min(330px,calc(100% - 24px))}.guide-panel .guide-heading>span:not(#guideCounter){display:none}.guide-panel .guide-actions{flex-wrap:wrap}.guide-panel .guide-actions .guide-navigation{margin-left:auto}.guide-panel .guide-actions button{padding:5px 8px}.guide-panel #guideUploadActions{gap:7px;flex-wrap:wrap}.guide-panel .guide-heading{gap:5px}.guide-panel .guide-avatar{display:none}
@media(max-width:1050px){.guide-panel{bottom:auto;top:52px}.editing-dock{gap:2px;padding:5px;bottom:43px}.editing-dock button{padding:5px 6px;font-size:10px}}

.editing-dock[hidden]{display:none!important}.zoom-controls{top:12px;bottom:auto}@media(max-width:750px){.zoom-controls{top:8px;bottom:auto}}

.editing-dock button.active:hover{background:var(--blue-hover)}

/* Icon-only canvas dock, with English hover and keyboard-focus labels. */
.editing-dock{overflow:visible;gap:4px}
.editing-dock .icon-tool{position:relative;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:7px;flex:none}
.editing-dock .icon-tool svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.tool-tip{position:absolute;bottom:calc(100% + 13px);left:50%;transform:translateX(-50%) translateY(3px);padding:6px 9px;border:1px solid var(--toggle-off);border-radius:6px;background:var(--bg-panel);color:var(--text);font-size:11px;font-weight:400;line-height:16px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s,transform .12s;box-shadow:0 3px 10px color-mix(in srgb,var(--shadow-color) 33.3%,transparent);z-index:20}
.editing-dock button:disabled{opacity:1;color:var(--text-hint)}
.editing-dock button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
@media(max-width:750px){.editing-dock{flex-wrap:wrap;justify-content:center}.editing-dock .icon-tool{width:30px;height:30px;min-height:30px;padding:5px}}

/* Original Figma library assets: preserve the source 24px geometry. */
.ui-icon{display:block;width:24px;height:24px;max-width:none;flex:none;pointer-events:none;filter:brightness(0) invert(1);opacity:.85}
.editing-dock .icon-tool{padding:5px}.editing-dock .icon-tool.active .ui-icon{opacity:1}.editing-dock .icon-tool:disabled .ui-icon{opacity:.32}
.zoom-controls button{display:grid;place-items:center;padding:2px;min-height:28px}.zoom-controls button:disabled .ui-icon{opacity:.3}
#guideToggle{display:grid;place-items:center;width:24px;min-height:24px;padding:0}#empty .ui-icon{margin:0 auto;opacity:.4}

#calibrationDialog{width:min(620px,90vw);max-height:85vh;overflow:auto;background:var(--field);color:var(--text);border:1px solid var(--line-strong);border-radius:12px;padding:24px}#calibrationDialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 60%,transparent)}.calibration-header{display:flex;align-items:center;justify-content:space-between;gap:16px}#calibrationDialog h2{font-size:18px;margin:0}#calibrationDialog section{padding:18px 0;border-bottom:1px solid var(--line-strong)}#calibrationDialog p{line-height:1.6}#calibrationDialog a{color:var(--primary-color)}#calibrationDialog label{margin-top:12px}#cameraResults{padding-left:20px;max-height:110px;overflow:auto;font-size:12px;color:var(--text-2)}#saveCalibration{margin-top:16px}#targetStatus:empty{display:none}

#calibrationDialog [hidden]{display:none!important}
/* Quiet workbench: progressive disclosure without removing settings. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar #build,.topbar #stl,.topbar .local,#stageLabel,#stats,.canvas-name{display:none!important}
.topbar .file-actions{margin-right:0;gap:5px}.topbar .file-actions button{padding:6px 11px;color:var(--text-2)}.topbar .document-name{color:var(--text-2);font-weight:400}
.app.upload-stage{grid-template-columns:var(--sidebar-width) minmax(0,1fr) 0}.app.upload-stage>.inspector{display:none}.app.no-model main{grid-template-rows:minmax(0,1fr) 26px}.app.no-model .canvas-toolbar{display:none}.app.no-model .guide-panel{top:12px}
.source-section{padding-top:13px;padding-bottom:13px}.source-summary{gap:12px}.source-summary #sourceInfo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-summary button{flex-shrink:0}.tool small{display:none}.tools>p{color:var(--text-hint);font-size:11px}
.guide-panel{width:min(300px,calc(100% - 24px));padding:12px;box-shadow:0 4px 16px color-mix(in srgb,var(--shadow-color) 26.7%,transparent)}.guide-heading strong{font-size:10px;font-weight:400;color:var(--text-2)}.guide-panel h2{margin:7px 0 5px;font-size:13px}.guide-panel p{font-size:11px;line-height:16px}.guide-actions{margin-top:10px}.guide-heading #guideCounter{font-size:10px;color:var(--text-muted)}.guide-panel .guide-heading #guideToggle{margin-left:4px}
.advanced{margin:12px 0 0}.advanced>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:28px;font-size:11px;color:var(--text-2)}.advanced>summary::-webkit-details-marker{display:none}.advanced>summary::after{content:'+';font-size:15px;color:var(--text-muted)}.advanced[open]>summary::after{content:'−'}.advanced[open]>summary{margin-bottom:10px;color:var(--text)}.advanced button{margin-top:7px}.advanced .hint{font-size:10px;line-height:15px}
.inspector #pointTools{border-top:0;padding-top:0}.inspector #pointTools #pathHelp{margin-top:0}.inspector #pointTools #pointSelection:empty{display:none}.inspector a{color:var(--primary-color)}.inspector section>h3{font-size:12px;margin-bottom:14px}.inspector label{font-size:11px}
.statusbar #notice{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.canvas-toolbar{justify-content:flex-end}.editing-dock{padding:5px 7px;gap:3px;box-shadow:0 3px 12px color-mix(in srgb,var(--shadow-color) 26.7%,transparent)}
#calibrationDialog{padding:22px}#calibrationDialog section{padding:14px 0}#calibrationDialog h3{font-size:12px}#calibrationDialog .advanced{margin:0}
@media(max-width:1050px){.app.upload-stage{grid-template-columns:var(--sidebar-width) minmax(0,1fr) 0}}@media(max-width:750px){.app.upload-stage{grid-template-columns:var(--sidebar-width) minmax(240px,1fr)}.app.upload-stage>.inspector{display:none}.app.no-model .guide-panel{top:8px}}

.topbar .file-actions{margin-left:auto}

.advanced>summary::after{content:'';display:block;flex:none;width:14px;height:14px;background:center/14px no-repeat url('/icons/figma-community/plus.svg');filter:invert(1);opacity:.55}.advanced[open]>summary::after{content:'';background-image:url('/icons/figma-community/minus.svg')}

.workflow-map{display:flex;list-style:none;gap:5px;margin:8px 0 10px;padding:0}.workflow-map li{flex:1;text-align:center;color:var(--text-hint);font-size:10px;border-bottom:2px solid var(--line-strong);padding:3px 0 5px}.workflow-map li.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.workflow-map li.complete{color:var(--text-2);border-bottom-color:var(--primary-color)}.guide-heading #guideToggle{margin-left:auto!important}.guide-panel p{max-width:100%}.inspector #baseHelp{margin-top:6px}.advanced .advanced{padding-left:8px;border-left:1px solid var(--line-strong)}.inspector #pointTools #pathHelp[hidden]{display:none!important}

.inspector .hint+label{margin-top:14px}.inspector #baseHelp{margin-bottom:12px}

/* One bottom rail owns canvas actions. Inspectors contain properties only. */
.rail-edit-tools{display:flex;align-items:center;gap:3px}.rail-edit-tools[hidden]{display:none!important}
.editing-dock .zoom-controls{position:static;transform:none;box-shadow:none;border:0;padding:0;background:transparent;display:flex;align-items:center;gap:3px}
.editing-dock .zoom-controls[hidden],.rail-zoom-divider[hidden]{display:none!important}
.rail-menu{position:relative}.rail-menu>summary{list-style:none;cursor:pointer;border-radius:5px}.rail-menu>summary::-webkit-details-marker{display:none}.rail-menu>summary:hover,.rail-menu[open]>summary{background:var(--selected)}.rail-menu>summary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.rail-menu>summary:hover .tool-tip,.rail-menu>summary:focus-visible .tool-tip{visibility:visible;opacity:1;transform:translateX(-50%)}
.rail-popover{position:absolute;bottom:calc(100% + 14px);right:0;width:230px;max-height:min(65dvh,470px);overflow-y:auto;padding:8px;background:var(--field);border:1px solid var(--toggle-off);border-radius:9px;box-shadow:0 6px 24px color-mix(in srgb,var(--shadow-color) 40%,transparent);white-space:normal}
.rail-popover h3{margin:7px 8px 5px;font-size:10px;font-weight:500;color:var(--text-muted)}.rail-popover h3:not(:first-child){border-top:1px solid var(--line-strong);padding-top:12px;margin-top:10px}
.editing-dock .rail-popover button{display:flex;justify-content:flex-start;text-align:left;width:100%;min-height:30px;margin:0;padding:6px 8px;font-size:11px;white-space:normal}.editing-dock .rail-popover button:disabled{opacity:.4}
@media(max-width:950px){.editing-dock{flex-wrap:wrap;justify-content:center;width:max-content}.rail-edit-tools{gap:1px}.editing-dock .icon-tool{width:30px;height:30px;min-height:30px}.rail-popover{right:-30px}}

/* Workflow belongs to the frame, never on top of the object. */
.app main{grid-template-rows:auto minmax(0,1fr) 26px}
.app.no-model main{grid-template-rows:auto minmax(0,1fr) 26px}
.app .guide-panel,.app.no-model .guide-panel{position:static;top:auto;left:auto;bottom:auto;transform:none;z-index:3;width:auto;max-width:none;margin:0;padding:10px 16px;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;box-shadow:none;display:block;background:var(--bg-panel)}
.guide-panel .guide-content{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:center;position:relative;padding-right:45px}
.guide-panel .guide-avatar,.guide-panel .guide-heading>strong,.guide-panel #guideCounter,.guide-panel #guideTitle{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.guide-panel .guide-heading{position:absolute;right:0;top:0;margin:0;display:block}
.guide-panel .guide-heading #guideToggle{width:auto;min-height:26px;padding:4px 6px;margin:0!important;color:var(--text-2);font-size:10px;background:transparent}
.guide-panel .guide-heading #guideToggle[aria-expanded=true]{color:var(--primary-color);background:var(--selected)}
.guide-panel .workflow-map{grid-column:1;grid-row:1;gap:14px;width:max-content;max-width:100%;margin:0 0 5px}
.guide-panel .workflow-map li{flex:none;font-size:10px;padding:0 0 4px;border-bottom-width:1px}
.guide-panel #guideMessage{grid-column:1;grid-row:2;margin:0;font-size:11px;line-height:16px;color:var(--text-2)}
.guide-panel .guide-actions{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:0}
.guide-panel .guide-navigation{display:flex;gap:6px;margin:0!important}.guide-panel #guideUploadActions{display:flex;align-items:center;gap:9px}.guide-panel #demo{padding:4px 6px}
.guide-panel #guideDetails,.guide-panel #guideFeedback{grid-column:1 / -1;margin:8px 0 0;font-size:11px;line-height:17px;padding:8px 10px;border-radius:5px;background:var(--field)}
.guide-panel #guideDetails{color:var(--text-2)}.guide-panel #guideFeedback{color:#ffb4a5;background:#44302d}
@media(max-width:950px){.guide-panel .guide-content{column-gap:10px}.app .guide-panel{padding:9px 12px}.guide-panel .guide-actions{grid-column:1;grid-row:3;justify-content:flex-start;margin-top:7px}.guide-panel #guideDetails,.guide-panel #guideFeedback{grid-row:auto}.guide-panel .workflow-map{gap:12px}}

.guide-actions .tabs{border:1px solid var(--line-strong);border-radius:5px;padding:2px;gap:2px}.guide-actions .tabs[hidden]{display:none!important}.guide-actions .tabs button{min-height:24px;padding:3px 6px;font-size:10px}

/* Zoom stays a single magnifier until requested. */
.zoom-menu{position:relative}.zoom-menu>summary{list-style:none;cursor:pointer;border-radius:5px}.zoom-menu>summary::-webkit-details-marker{display:none}.zoom-menu>summary:hover,.zoom-menu[open]>summary{background:var(--selected)}.zoom-menu>summary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.zoom-menu>summary:hover .tool-tip,.zoom-menu>summary:focus-visible .tool-tip{visibility:visible;opacity:1;transform:translateX(-50%)}
.editing-dock .zoom-menu .zoom-controls{position:absolute;top:auto;bottom:calc(100% + 14px);right:0;display:flex;gap:4px;width:max-content;padding:7px;background:var(--field);border:1px solid var(--toggle-off);border-radius:8px;box-shadow:0 5px 18px color-mix(in srgb,var(--shadow-color) 33.3%,transparent)}
.zoom-menu:not([open])>.zoom-controls{display:none!important}

/* Product header: files, project identity, workspace and account. */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,280px) minmax(0,1fr);gap:16px;height:56px;padding:0 16px;position:relative;z-index:20}
.app{height:calc(100dvh - 56px)}.header-left,.header-right{display:flex;align-items:center;gap:16px;min-width:0}.header-right{justify-content:flex-end;gap:10px}.topbar .brand{flex:none}.header-menu{position:relative}.header-menu>summary{display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;min-height:30px;padding:5px 8px;border-radius:5px;color:var(--text-2);font-size:11px;white-space:nowrap}.header-menu>summary::-webkit-details-marker{display:none}.header-menu>summary:hover,.header-menu[open]>summary{background:var(--selected);color:var(--text)}.header-menu>summary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.project-identity{display:flex;flex-direction:column;align-items:center;min-width:0;gap:1px}.project-identity input{width:100%;height:25px;min-width:0;text-align:center;padding:3px 8px;background:transparent;color:var(--text);border:1px solid transparent;border-radius:4px;font-weight:500;font-size:12px;text-overflow:ellipsis}.project-identity input:hover{border-color:var(--toggle-off)}.project-identity input:focus{border-color:var(--primary-color);outline:none;background:var(--field)}.project-identity>span{font-size:9px;color:var(--text-muted);line-height:12px}
.account-avatar{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line-strong);background:var(--selected);color:var(--text);border-radius:50%;font-size:11px}.account-menu>summary{padding:2px 6px}.header-popover{position:absolute;top:calc(100% + 10px);left:0;width:245px;padding:8px;background:var(--field);color:var(--text);border:1px solid var(--toggle-off);border-radius:8px;box-shadow:0 6px 24px color-mix(in srgb,var(--shadow-color) 40%,transparent);z-index:30}.header-right .header-popover{left:auto;right:0}.header-popover h3{font-size:10px;font-weight:500;color:var(--text-muted);margin:7px 8px}.topbar .header-popover button{width:100%;justify-content:flex-start;white-space:normal;text-align:left;border:0;font-size:11px;padding:8px}.header-popover p{margin:8px;font-size:10px;line-height:16px;color:var(--text-muted)}.header-popover .account-description{color:var(--text-2)}.account-future{border-top:1px solid var(--line-strong);margin-top:10px;padding:12px 8px 4px}.account-future strong{font-size:11px;font-weight:500}.header-popover .account-future p{margin:5px 0 9px}.topbar .account-future button{border:1px solid var(--line-strong);justify-content:center}.header-popover button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:850px){.topbar{gap:8px;padding:0 10px;grid-template-columns:minmax(0,1fr) minmax(110px,180px) minmax(0,1fr)}.header-left{gap:7px}.header-right{gap:2px}.account-menu>summary>span:last-child{display:none}.header-menu>summary{padding:5px}.brand{font-size:12px}}
@media(max-width:600px){.topbar{grid-template-columns:1fr 130px auto}.header-right>.header-menu:not(.account-menu)>summary{font-size:10px}.topbar .brand>span{display:none}.header-right{gap:3px}.header-popover{width:min(245px,calc(100vw - 24px))}}

/* Unframed linear artwork: non-scaling strokes render at 1.2 CSS px. */
.editing-dock .ui-icon{width:20px;height:20px;opacity:.85}.editing-dock .icon-tool{padding:7px}
.editing-dock .icon-tool.active,.editing-dock .icon-tool.active:hover{background:transparent;color:var(--primary-color)}
.editing-dock .icon-tool.active .ui-icon{filter:brightness(0) saturate(100%) invert(50%) sepia(96%) saturate(3367%) hue-rotate(177deg) brightness(103%) contrast(103%);opacity:1}
.editing-dock .icon-tool:disabled .ui-icon{opacity:.25}.editing-dock .tool-divider{height:18px;opacity:.6}

/* Subtle workbench separators: one low-contrast hairline per boundary. */
:root{}
.topbar{border-bottom:1px solid var(--line)}
.layers{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}
.panel-heading,section,.statusbar{border-color:var(--line)}
.app .guide-panel,.app.no-model .guide-panel{border-bottom-color:var(--line)}.advanced .advanced{border-left-color:var(--line)}
button,.upload{border-color:transparent}button:hover{border-color:transparent}
.upload:hover{border-color:var(--border-hover)}
input[type=number]:hover,select:hover,.project-identity input:hover{border-color:var(--border-soft)}
.tool.selected{border-color:transparent;background:color-mix(in srgb,var(--primary-color) 13%,transparent);box-shadow:inset 2px 0 color-mix(in srgb,var(--primary-color) 65%,transparent)}
.guide-actions .tabs{border-color:transparent;background:color-mix(in srgb,var(--overlay-light) 2.5%,transparent)}
.tabs button.active{background:color-mix(in srgb,var(--overlay-light) 9%,transparent)}
.editing-dock,.rail-popover,.header-popover,.editing-dock .zoom-menu .zoom-controls{border-color:var(--border-soft);box-shadow:var(--shadow-soft)}
.editing-dock .tool-divider{width:1px;background:var(--border-soft);opacity:1}
.rail-popover h3:not(:first-child),.account-future{border-top-color:var(--line)}
.zoom-controls button:last-child{border-left-color:var(--line)}
.tool-tip{border-color:var(--border-soft);box-shadow:0 2px 8px color-mix(in srgb,var(--shadow-color) 20%,transparent)}
.account-avatar{border-color:var(--border-soft);background:var(--bg-raised)}
.topbar .account-future button{border-color:var(--border-soft)}
#calibrationDialog{border-color:var(--border-soft);box-shadow:0 12px 48px color-mix(in srgb,var(--shadow-color) 30%,transparent)}
.panel-heading h2,.inspector section>h3{font-weight:500}
input[type=number]:focus,select:focus,.project-identity input:focus{border-color:var(--blue)}

.editing-dock .rail-text-tool{font-size:11px;color:var(--text);min-height:32px;padding:6px 9px;border-radius:5px}.editing-dock .rail-text-tool:disabled{color:var(--text-hint)}

/* Layout has its own small, contextual insertion rail. */
.rail-layout-tools{display:flex;align-items:center;gap:3px}.rail-layout-tools[hidden]{display:none!important}.elements-menu{position:relative}.elements-menu .rail-popover{left:0;right:auto;width:200px}.rail-layout-tools .ui-icon{width:20px;height:20px}.inspector #layoutProperties h3{margin-top:22px}#layoutProperties input{width:100%}#layoutProperties input:disabled{opacity:.45}
.editing-dock details[open]>summary .tool-tip{display:none}

.editing-dock .zoom-controls .grid-option{display:flex;align-items:center;gap:5px;margin:0 0 0 5px;padding-left:8px;border-left:1px solid var(--border-soft);font-size:11px;white-space:nowrap}.editing-dock .zoom-controls .grid-option[hidden]{display:none!important}.grid-option input{width:12px;height:12px;accent-color:var(--blue)}

.app.grid-stage #stageLabel{display:block!important;pointer-events:none;font-size:10px;color:var(--text-muted);bottom:12px;left:12px}

/* The canvas reaches the bottom edge; feedback already lives in the workflow. */
.app main,.app.no-model main{grid-template-rows:auto minmax(0,1fr)}
.app .statusbar{display:none!important}
.app .editing-dock{bottom:17px}

/* A permanent drop surface makes the photo-entry interaction visible before dragging. */
.app.empty-stage{display:block;height:calc(100dvh - 56px);min-height:0}
.app.empty-stage>.layers,.app.empty-stage>.inspector,.app.empty-stage .guide-panel{display:none!important}
.app.empty-stage main{display:block;height:100%;min-height:0}.app.empty-stage .stage{height:100%}
.app.empty-stage #empty:not([hidden]){display:flex;flex-direction:column;align-items:center;pointer-events:auto;white-space:normal;width:min(600px,calc(100% - 48px));color:var(--ink)}
.app:not(.empty-stage) #empty{display:none!important}
.upload-drop-surface{width:100%;min-height:356px;padding:36px 24px 30px;border:1.5px dashed var(--line-strong);border-radius:16px;background:var(--bg-panel);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:border-color .18s,background .18s,box-shadow .18s}
.upload-drop-surface:hover,.upload-drop-surface:focus-within{border-color:#89919d;background:var(--bg-panel)}
.upload-illustration{position:relative;width:112px;height:88px;margin:0 0 22px;pointer-events:none}
.upload-sheet-back,.upload-photo{position:absolute;width:80px;height:64px;border:1px solid var(--line-strong);border-radius:9px;left:14px;top:9px;background:var(--field);transition:transform .2s}
.upload-sheet-back{transform:translate(-7px,3px) rotate(-12deg);border-color:var(--line-strong);background:var(--bg-panel)}
.upload-photo{display:flex;align-items:center;justify-content:center;transform:rotate(5deg);background:var(--field);box-shadow:0 4px 12px color-mix(in srgb,var(--shadow-color) 20%,transparent)}
.upload-photo img{opacity:.75;filter:brightness(0) invert(1)}.upload-cursor{position:absolute;right:0;bottom:-1px;filter:brightness(0) invert(1) drop-shadow(0 2px 3px color-mix(in srgb,var(--shadow-color) 60%,transparent));transform:rotate(-9deg);transition:transform .2s}
.upload-drop-surface:hover .upload-photo{transform:translateY(-3px) rotate(1deg)}
#empty h1{font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.6px;margin:0 0 10px;color:var(--text)}
#empty p{font-size:12px;font-weight:400;line-height:1.7;margin:0}#empty p:not(.operation-feedback){color:var(--text-2)}
#empty #guideUploadActions{display:flex;align-items:center;justify-content:center;gap:0;margin-top:23px}


#empty .empty-formats{margin-top:16px;font-size:10px;color:#8d939e}#empty .empty-formats span{padding:0 7px;color:#6d737e}
#empty .upload-photo-tip{margin-top:20px;line-height:1.8;font-size:11px;color:var(--text-muted)}
#empty #emptyFeedback{margin-top:14px;max-width:100%}
.photo-drop-active .upload-drop-surface{border-color:var(--blue);background:var(--primary-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 6.275%,transparent)}
.photo-drop-active .upload-photo{transform:translateY(-6px) rotate(0deg);border-color:var(--primary-color);background:var(--primary-color)}
.photo-drop-active .upload-sheet-back{border-color:var(--primary-color)}.photo-drop-active .upload-cursor{transform:translate(-2px,-3px) rotate(-9deg)}
.photo-drop-active #empty h1{color:var(--primary-color)}
@media(max-width:560px){.app.empty-stage #empty:not([hidden]){width:calc(100% - 32px)}.upload-drop-surface{padding:28px 16px;min-height:328px}#empty h1{font-size:23px}#empty .upload-photo-tip{font-size:10px}}
@media(max-height:600px){.upload-drop-surface{min-height:280px;padding:22px}.upload-illustration{height:70px;margin-bottom:14px}#empty h1{font-size:23px}#empty .upload-photo-tip{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.upload-drop-surface,.upload-sheet-back,.upload-photo,.upload-cursor{transition:none}}

.fit-control{margin:18px 0}.fit-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.fit-heading label{margin:0;color:var(--text)}.fit-heading output{color:var(--primary-color);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.fit-control input[type=range]{width:100%;margin:12px 0 14px;padding:0;accent-color:var(--blue);cursor:ew-resize}.fit-number{display:flex;align-items:center;justify-content:space-between;gap:10px}.fit-number input{width:90px}.fit-control #clearanceTotal{font-size:10px;margin-top:6px;color:#8d959e}

/* Layout edits share the real tray mesh in an orthographic, locked top view. */
.app.layout-3d #viewer{display:block!important;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.app.layout-3d #editor{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:transparent}
.app.layout-3d .stage::after{content:'TOP · LOCKED';position:absolute;top:18px;left:20px;color:var(--text-2);font-size:10px;letter-spacing:.08em;pointer-events:none;z-index:2}

/* Object rows: semantic type, view-only visibility, and a quiet overflow menu. */
.tool{padding:3px 8px;gap:2px;min-height:38px;cursor:default;overflow:visible}
.tool::before{display:none!important}.object-pick{flex:1;min-width:0;justify-content:flex-start;gap:9px;background:transparent;border:0;padding:5px 6px;font-size:11px;text-align:left}.object-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-pick .ui-icon{width:17px;height:17px;flex:none}.object-pick:hover{background:transparent}.tool.is-hidden .object-pick{opacity:.42}
.object-control{display:flex;align-items:center;justify-content:center;width:25px;height:27px;min-height:27px;padding:4px;border:0;border-radius:4px;background:transparent;cursor:pointer;list-style:none}.object-control::-webkit-details-marker{display:none}.object-control .ui-icon{width:16px;height:16px}.object-control:hover{background:color-mix(in srgb,var(--overlay-light) 4.71%,transparent)}.object-menu{position:static}.object-popover{position:fixed;z-index:80;width:160px;padding:5px;border:1px solid color-mix(in srgb,var(--overlay-light) 12.5%,transparent);border-radius:8px;background:var(--bg-panel);box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 40%,transparent)}.object-menu:not([open]) .object-popover{display:none}.object-popover button{width:100%;justify-content:flex-start;gap:9px;background:transparent;border:0;font-size:11px}.object-popover button:hover{background:color-mix(in srgb,var(--overlay-light) 4.71%,transparent)}.object-popover .ui-icon{width:16px;height:16px}

.radius-control{display:flex;align-items:center;gap:10px;margin-top:6px}#layoutProperties .radius-control input[type=range]{width:auto;flex:1;min-width:0;padding:0;accent-color:var(--blue);cursor:ew-resize}#layoutProperties .radius-control input[type=number]{width:70px;flex:none;margin-top:0}#radiusLabel{margin:10px 0}

.tray-corner-control{margin:16px 0 20px}.tray-corner-control>label[for]{display:block;margin-top:12px}.tray-corner-control .radius-control input[type=number]{width:70px;flex:none;margin-top:0}.tray-corner-control .radius-control input[type=range]{width:auto;flex:1;min-width:0;margin-top:0;padding:0;accent-color:var(--blue);cursor:ew-resize}

/* File drops stay in the workspace rather than opening the photo in the browser. */
#photoDropOverlay{position:absolute;inset:20px;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--shadow-color) 96.1%,transparent);border:2px dashed var(--blue);border-radius:14px;color:var(--text);pointer-events:none}#photoDropOverlay[hidden]{display:none!important}#photoDropOverlay h2{font-size:22px;margin:0;font-weight:600}#photoDropOverlay p{font-size:12px;color:var(--text-2);margin:0}.photo-drop-active{box-shadow:inset 0 0 0 1px var(--blue)}

/* Processing feedback is anchored to the visible photo, rather than the whole editor. */
#photoLoadingLayer{position:absolute;z-index:8;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--shadow-color) 22%,transparent);overflow:hidden;cursor:progress;pointer-events:auto}#photoLoadingLayer[hidden]{display:none!important}.photo-loading-card{display:flex;flex-direction:column;align-items:center;gap:9px;max-width:calc(100% - 24px);padding:20px 24px;border:1px solid color-mix(in srgb,var(--overlay-light) 8.63%,transparent);border-radius:12px;background:color-mix(in srgb,var(--shadow-color) 96.1%,transparent);box-shadow:0 8px 28px color-mix(in srgb,var(--shadow-color) 20%,transparent);text-align:center;color:var(--text)}.photo-loading-card strong{font-size:13px;font-weight:600;line-height:1.4}.photo-loading-card>span:last-child{font-size:11px;color:var(--text-2);line-height:1.5}.photo-loading-spinner{width:25px;height:25px;margin-bottom:5px;border:2px solid color-mix(in srgb,var(--overlay-light) 12.5%,transparent);border-top-color:var(--blue);border-radius:50%;animation:photo-loading-spin .8s linear infinite}@keyframes photo-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.photo-loading-spinner{animation:none;border-top-color:var(--blue);border-right-color:var(--blue)}}

.fit-legend{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 24px;font-size:11px;color:var(--ink-2)}.fit-legend span{display:flex;align-items:center;gap:7px}.fit-legend i{display:inline-block;width:18px;border-top:2px solid var(--primary-color)}.fit-legend .pocket-swatch{border-color:#ff626b}
/* Property inspector: full-width groups, quiet dividers, compact Figma-style fields. */
.inspector{scrollbar-color:var(--text-disabled) transparent}
.inspector .panel-heading{background:var(--field);border-bottom:1px solid color-mix(in srgb,var(--overlay-light) 6.27%,transparent)}
.inspector>section,.inspector .inspector-section{padding:18px 16px;border-bottom:1px solid color-mix(in srgb,var(--overlay-light) 6.27%,transparent)}
.inspector section>h3,.inspector .inspector-subsection>h3{font-size:12px;font-weight:600;color:var(--text);line-height:18px;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between}
.inspector label{color:var(--text-2);font-size:11px;line-height:16px}
.inspector input[type=number],.inspector select{height:30px;border-radius:5px;background:var(--field);border:1px solid transparent;font-size:11px;color:var(--text);margin-top:6px}
.inspector input[type=number]:hover,.inspector select:hover{border-color:color-mix(in srgb,var(--overlay-light) 12.5%,transparent)}
.inspector input[type=number]:focus,.inspector select:focus{border-color:var(--primary-color);background:var(--field);outline:none;box-shadow:0 0 0 1px var(--primary-color)}
.inspector input[type=number]::placeholder{color:var(--text-2)}
.inspector .two{gap:8px;margin:12px 0 0}
.inspector .hint{font-size:10px;line-height:15px;color:var(--text-muted);margin:8px 0 0}
.inspector .section-unit,.inspector .field-unit{font-size:10px;color:var(--text-muted);font-weight:400;margin-left:auto;float:right}
.inspector .radius-control{gap:10px;margin-top:6px}
.inspector .radius-control input[type=range]{flex:1;min-width:0;width:auto;padding:0;margin:0;accent-color:var(--primary-color);cursor:ew-resize}
.inspector .radius-control input[type=number]{width:68px;flex:none;margin:0}
.inspector .property-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.inspector .row-value{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:10px}
.inspector .row-value input[type=number]{width:68px;margin:0}
.inspector .switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px;margin-top:14px;cursor:pointer}
.inspector .switch-row input{appearance:none;-webkit-appearance:none;width:28px;height:16px;border:0;border-radius:9px;background:var(--toggle-off);position:relative;flex:none;margin:0;cursor:pointer;transition:background .12s}
.inspector .switch-row input::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;background:var(--text);border-radius:50%;transition:transform .12s}
.inspector .switch-row input:checked{background:var(--primary-color)}
.inspector .switch-row input:checked::after{transform:translateX(12px);background:var(--text)}
.inspector .switch-row input:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}
.inspector .dimension-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.inspector .dimension-summary div{min-width:0}.inspector .dimension-summary dt{color:var(--text-muted);font-size:10px;margin-bottom:7px}.inspector .dimension-summary dd{margin:0;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}
.inspector .box-status{font-variant-numeric:tabular-nums}.inspector .box-status:not([data-error=true]){display:none}
.inspector .box-status[data-error=true]{color:#ffb4a9;margin-top:12px}
.inspector .compatibility-note[data-custom=true]{color:var(--text-2)}
.inspector .folding-section{padding:0 16px}
.inspector .folding-section .advanced{margin:0;padding:16px 0}
.inspector .folding-section .advanced>summary{font-size:12px;color:var(--text);font-weight:600;min-height:20px}
.inspector .folding-section .advanced[open]>summary{margin-bottom:16px}
.inspector .folding-section .switch-row{margin-top:12px}
.inspector .section-note{margin-top:16px;color:var(--text-hint)}
.inspector .layout-inspector{padding-bottom:0}
.inspector .inspector-subsection{margin:18px -16px 0;padding:18px 16px;border-top:1px solid color-mix(in srgb,var(--overlay-light) 6.27%,transparent)}
.inspector #layoutProperties h3{margin:0 0 14px;font-size:12px;font-weight:600}
.inspector .selection-identity{padding-top:12px;padding-bottom:0;border-top:0}.inspector .selection-identity h3{color:var(--text-2)!important;font-size:11px!important;font-weight:400!important}
.inspector #radiusLabel.inspector-subsection{margin:18px -16px 0}
.inspector #pointTools{border-top:1px solid color-mix(in srgb,var(--overlay-light) 6.27%,transparent);padding-top:18px}

/* Help stays beside the property; explanations live in the top layer, outside sidebar clipping. */
.inspector .property-help{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;min-height:0;padding:0;margin:0 0 0 7px;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--text-2);font-family:inherit;font-size:10px;font-weight:500;line-height:1;vertical-align:middle;cursor:help;box-shadow:none}
.inspector .property-help:hover,.inspector .property-help[aria-expanded=true]{background:color-mix(in srgb,var(--overlay-light) 4.71%,transparent);color:var(--text);border-color:var(--icon)}
.inspector .property-help:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}
.inspector h3.has-property-help{justify-content:flex-start}
.inspector .has-property-help .field-unit{float:right}
.inspector .switch-row .property-help{margin-left:auto;order:1}
.inspector .switch-row input{order:2}
.inspector .property-row .property-help{order:1;margin-left:auto}.inspector .property-row .row-value{order:2}
.inspector .folding-section summary .property-help{margin-right:18px}
.property-help-bubble{position:fixed;inset:auto;margin:0;width:238px;max-width:calc(100vw - 16px);padding:12px 14px;border:1px solid color-mix(in srgb,var(--overlay-light) 13.3%,transparent);border-radius:8px;background:var(--field);color:var(--text);box-shadow:0 6px 24px color-mix(in srgb,var(--shadow-color) 33.3%,transparent);font:11px/1.55 Inter,Arial,sans-serif;overflow:auto;max-height:calc(100dvh - 16px)}
.property-help-bubble p{margin:0}.property-help-bubble::backdrop{background:transparent;pointer-events:none}

.inspector .help-heading{display:flex;align-items:center;gap:0;margin-bottom:14px}.inspector .help-heading h3{margin:0;font-size:12px;font-weight:600;color:var(--text)}

.property-help-bubble p+p{margin-top:8px;color:var(--text-2)}

.inspector .box-type-tabs{display:flex;gap:2px;padding:2px;border-radius:5px;background:color-mix(in srgb,var(--overlay-light) 1.18%,transparent);}
.inspector .box-type-tabs button{flex:1;min-width:0;height:26px;min-height:26px;padding:0 8px;border:0;border-radius:3px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:400;box-shadow:none;transition:background .15s,color .15s}
.inspector .box-type-tabs button:hover{color:var(--text);background:color-mix(in srgb,var(--overlay-light) 1.57%,transparent)}.inspector .box-type-tabs button[aria-selected=true]{color:var(--text);background:var(--bg-raised);box-shadow:none}
.inspector .box-type-tabs button:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}

.inspector input[aria-invalid=true]{border-color:#ef8e80;box-shadow:none}.inspector .field-error{color:#ffb4a9;font-size:10px;line-height:15px;margin:7px 0 0}


/* Optional explanation stays one compact disclosure until requested. */
/* One understated range style across the properties inspector. */
/* Sampled from Avi's slider reference: 3px track, 14px knob, 24px halo. */


.layout-alignment{display:flex;align-items:center;gap:3px}.layout-alignment[hidden]{display:none!important}

/* Box setup: core choices first, technical controls on demand. */
.inspector #gridOptions .switch-row,.inspector #plainBoxOptions .switch-row{margin-top:0}
.inspector .box-height-control{margin-top:20px}
.inspector .height-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.inspector .height-label-row>label:first-child{flex:1}
.inspector .compact-auto.switch-row{margin:0;gap:6px;min-height:20px;font-size:10px}
.inspector .compact-auto .property-help{margin:0;order:-1}
.inspector .auto-height-value{display:block;float:none;width:100%;background:var(--field);border:1px solid color-mix(in srgb,var(--overlay-light) 3.14%,transparent);border-radius:5px;padding:7px 10px;margin-top:6px;color:var(--text-2);font-size:11px;line-height:16px;font-variant-numeric:tabular-nums}
.inspector .height-number{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:10px;color:var(--text-muted)}
.inspector .height-number input{margin:0;flex:1;min-width:0}
.inspector .advanced-group{padding:14px 0;border-top:1px solid color-mix(in srgb,var(--overlay-light) 5.1%,transparent)}
.inspector .advanced-group:first-of-type{padding-top:0;border-top:0}
.inspector .advanced-group h4{font-size:11px;font-weight:500;color:var(--text-2);margin:0 0 12px}
.inspector .advanced-group .property-row{margin-top:12px}
.inspector .box-advanced .height-explanation{margin-top:0}

.inspector .color-property{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.inspector .color-value{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--field);border-radius:5px}
.inspector .color-value input[type=color]{appearance:none;border:0;padding:0;width:22px;height:22px;background:none;cursor:pointer}
.inspector .color-value input[type=color]::-webkit-color-swatch-wrapper{padding:0}.inspector .color-value input[type=color]::-webkit-color-swatch{border:1px solid color-mix(in srgb,var(--overlay-light) 18.8%,transparent);border-radius:3px}
.inspector .color-value output{float:none;color:var(--text);font-size:10px;font-variant-numeric:tabular-nums;min-width:58px}
.inspector .color-export{width:100%;margin-top:16px;background:var(--field);border:1px solid color-mix(in srgb,var(--overlay-light) 8.24%,transparent);color:var(--text)}

/* Draft dimensions sit on the drawing, not in a distant settings panel. */
#planDimensions{position:absolute;inset:0;pointer-events:none;z-index:3}
#planDimensions button,#planDimensionValue{position:absolute;pointer-events:auto;min-height:24px;height:24px;padding:2px 6px;border:1px solid transparent;border-radius:4px;background:var(--bg-rail);color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}
#planDimensions button:hover{border-color:var(--primary-color);background:var(--primary-color);color:var(--text)}
#planDimensionValue{width:94px;z-index:2;border-color:var(--primary-color);outline:1px solid var(--primary-color)}
#planDimensions [hidden]{display:none!important}

/* The left rail explains the journey; object editing stays below it. */
.layers{overflow:hidden}
.sidebar-navigation{flex:none}
.sidebar-navigation .panel-heading{position:static}
.sidebar-workflow{list-style:none;margin:0;padding:0}
.sidebar-workflow li{border-bottom:1px solid color-mix(in srgb,var(--overlay-light) 5.1%,transparent)}
.sidebar-workflow li:last-child{border-bottom:0}
.sidebar-workflow button{display:flex;gap:12px;align-items:center;width:100%;min-height:49px;padding:12px 16px;border:0;border-radius:0;background:transparent;color:var(--text-2);justify-content:flex-start;text-align:left;font-size:12px;font-weight:500}
.sidebar-workflow button:disabled{opacity:1;cursor:default}
.sidebar-workflow .ui-icon{width:19px;height:19px;flex:none;opacity:.65}
.sidebar-workflow small{font-size:9px;font-weight:400;color:var(--text-hint);margin-left:auto}
.sidebar-workflow .complete button{color:var(--text-2);cursor:pointer}
.sidebar-workflow .complete button:hover{background:color-mix(in srgb,var(--overlay-light) 2.75%,transparent);color:var(--text)}
.sidebar-workflow .complete small{color:#82a793}
.sidebar-workflow .active button{color:var(--text);background:color-mix(in srgb,var(--overlay-light) 2.75%,transparent);box-shadow:none}
.sidebar-workflow .active .ui-icon{opacity:1}.sidebar-workflow .active small{color:var(--text-2)}
.sidebar-objects{margin-top:auto;min-height:0;display:flex;flex-direction:column;border-top:1px solid color-mix(in srgb,var(--overlay-light) 7.06%,transparent)}
.sidebar-objects .panel-heading{position:static;height:38px;min-height:38px}
.sidebar-objects .panel-heading h2{font-size:11px;color:var(--text-2);font-weight:500}
.sidebar-objects .source-section{padding-top:8px;padding-bottom:8px}
.sidebar-objects .object-list{overflow-y:auto;max-height:32vh;min-height:48px;scrollbar-width:thin}
.sidebar-objects .tool{min-height:34px}
.guide-panel #guideMessage{grid-row:1}
.guide-panel .guide-actions{grid-row:1}
@media(max-height:680px){.sidebar-workflow button{min-height:39px;padding:8px 16px}.sidebar-objects .object-list{max-height:25vh}}

/* Palette sampled from Avi's supplied Shapr3D crop, not vendor token claims. */
.topbar{background:var(--bg-panel)}
.layers,.inspector,.inspector .panel-heading,.app .guide-panel,.app.no-model .guide-panel{background:var(--surface)}
.editing-dock,.editing-dock .zoom-menu .zoom-controls{background:var(--tool-surface);border:1px solid var(--border-soft)}
.rail-popover,.header-popover,.tool-tip,.property-help-bubble{background:var(--label-surface);border:1px solid var(--border-soft);color:var(--text);box-shadow:var(--shadow-soft)}
.inspector input[type=number],.inspector select,.inspector .color-value,.inspector .auto-height-value{background:var(--tool-surface)}
.inspector .color-export{background:var(--tool-surface);border-color:var(--border-soft)}
.inspector>section,.inspector .inspector-section,.inspector .panel-heading,.sidebar-navigation .panel-heading,.sidebar-workflow li,.sidebar-objects,.sidebar-objects .panel-heading{border-color:var(--line)}
.inspector input[type=number]:hover,.inspector select:hover{border-color:var(--border-hover)}
.inspector input[type=number]:focus,.inspector select:focus{background:var(--tool-surface)}

/* Guidance expands inside the current workflow row; the canvas keeps its height. */
.app main,.app.no-model main{grid-template-rows:minmax(0,1fr)!important}
.app main>.stage{grid-row:1}
.sidebar-navigation{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
.sidebar-objects{flex:none;margin-top:0}
.workflow-step-body[hidden]{display:none!important}
.sidebar-workflow li.active{background:color-mix(in srgb,var(--overlay-light) 2.75%,transparent)}
.sidebar-workflow .active>button{background:transparent}
.app .sidebar-workflow .guide-panel,.app.no-model .sidebar-workflow .guide-panel{padding:0 16px 14px;border:0;background:transparent;width:auto;position:static;transform:none;box-shadow:none;margin:0}
.sidebar-workflow .guide-panel .guide-content{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:0}
.sidebar-workflow .guide-panel #guideMessage{font-size:11px;line-height:17px;color:var(--text-2);margin:0}
.sidebar-workflow .guide-panel .guide-heading{position:static;order:3;align-self:flex-start}
.sidebar-workflow .guide-panel .guide-heading #guideToggle{min-height:22px;font-size:10px;padding:0;color:var(--text-muted);background:transparent}
.sidebar-workflow .guide-panel .guide-actions{order:2;display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0}
.sidebar-workflow .guide-panel .guide-navigation{display:flex;gap:7px}

.sidebar-workflow .guide-panel button:not(#guideToggle){min-height:28px;padding:5px 8px;font-size:11px;font-weight:400;border:1px solid color-mix(in srgb,var(--overlay-light) 7.06%,transparent);border-radius:4px;background:color-mix(in srgb,var(--overlay-light) 1.57%,transparent);color:var(--text-2);box-shadow:none}
.sidebar-workflow .guide-panel button:not(#guideToggle):hover{background:var(--bg-raised);border-color:color-mix(in srgb,var(--overlay-light) 12.5%,transparent);color:var(--text)}
.sidebar-workflow .guide-panel button:disabled{opacity:.4}
.sidebar-workflow .guide-panel .tabs{align-self:flex-start}
.sidebar-workflow .guide-panel #guideDetails,.sidebar-workflow .guide-panel #guideFeedback{order:1;margin:0;padding:8px;font-size:10px;line-height:16px}


.sidebar-workflow .guide-panel .color-export{margin-top:0}

/* One contextual help circle travels with the current accordion heading. */
.sidebar-workflow li{position:relative}
.sidebar-workflow #guideToggle.step-help{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:17px;height:17px;min-height:17px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--text-2);font-size:10px;font-weight:400;line-height:1;box-shadow:none}
.sidebar-workflow #guideToggle.step-help:hover,.sidebar-workflow #guideToggle.step-help[aria-expanded=true]{border-color:var(--icon);color:var(--text);background:color-mix(in srgb,var(--overlay-light) 3.14%,transparent)}
.sidebar-workflow .guide-panel .guide-heading{display:none}
@media(max-height:680px){.sidebar-workflow #guideToggle.step-help{top:11px}}

.sidebar-workflow .guide-panel #guideAction.icon-action{display:grid;place-items:center;flex:none;width:29px;height:28px;min-height:28px;padding:5px;justify-content:center}
.sidebar-workflow .guide-panel #guideAction.icon-action .ui-icon{width:17px;height:17px;opacity:.85}
.action-tooltip{width:max-content;max-width:220px;padding:7px 10px;font-size:11px;pointer-events:none}

/* Workflow navigation stays focused; object selection happens on the canvas. */
.sidebar-objects[hidden]{display:none!important}


.paper-corner-tip{position:fixed;z-index:1000;pointer-events:none;padding:8px 10px;max-width:270px;border:1px solid var(--border-soft);border-radius:6px;background:var(--label-surface);color:var(--text);font-size:11px;line-height:16px;box-shadow:var(--shadow-soft)}

/* Help is aligned opposite its section or field title. */
.inspector h3.has-property-help,.inspector h4.has-property-help{display:flex;align-items:center;justify-content:space-between}
.inspector h3.has-property-help>.property-help,.inspector h4.has-property-help>.property-help{margin-left:auto}
.inspector label.has-property-help:not(:has(input,select)){display:flex;align-items:center;gap:7px}
.inspector label.has-property-help:not(:has(input,select))>.property-help{margin-left:auto;order:3}
.inspector label.has-property-help:not(:has(input,select))>.field-unit{margin-left:auto;float:none}

.inspector .grid-standard-size{display:inline;float:none;margin-left:8px;color:var(--text);font-size:11px}.grid-mounting{margin-top:16px}.grid-mounting .switch-row{margin-top:14px}

.inspector .grid-standard-size[hidden]{display:none}


/* Live height section lives over the grid, not among the editing controls. */

/* One aligned row per Gridfinity option; no floating values or loose prose. */
#gridfinitySettings .switch-row{min-height:32px;margin:0 0 3px;gap:10px}
#gridfinitySettings .switch-row>span{display:flex;align-items:center;gap:8px;min-width:0}
#gridfinitySettings .grid-standard-size{position:static;float:none;margin:0;color:var(--text);font-variant-numeric:tabular-nums}
#gridfinitySettings .grid-option-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:center;min-height:32px;margin:0 0 3px}
#gridfinitySettings .grid-option-row>label{margin:0;min-width:0;font-size:11px}
#gridfinitySettings .grid-option-row>select{height:30px;min-width:0;margin:0;padding:0 8px}
#gridfinitySettings .grid-mounting{margin-top:0}
#gridfinitySettings #gridCellField{margin:0 0 12px}
#gridfinitySettings #gridCellField>label{margin:0 0 6px}
#gridfinitySettings #gridCellField>input{margin:0}
#gridfinitySettings .grid-mounting>.switch-row:last-of-type{margin-bottom:0}


/* Footprint, recess and total height are one sizing decision. */
.size-depth-settings #gridOptions,.size-depth-settings #plainBoxOptions{margin-bottom:16px}
.size-depth-settings #gridOptions>.switch-row,.size-depth-settings #plainBoxOptions>.switch-row{margin:0;min-height:30px}
.size-depth-settings #gridCountSummary{font-size:10px;margin:5px 0 0;color:var(--text-muted);font-variant-numeric:tabular-nums}
.size-depth-settings #gridCountFields,.size-depth-settings #plainSizeFields{margin-top:10px}
.size-depth-settings #pocketDepthSection>.property-row{margin:0;min-height:32px}
.size-depth-settings .box-height-control{margin-top:12px;padding-top:0;border-top:0}
.size-depth-settings .height-label-row{gap:8px;min-height:30px}
.size-depth-settings .height-label-row>label:first-child{margin:0;flex:1;font-size:11px}
.size-depth-settings .height-label-row>.auto-height-value{display:inline;width:auto;flex:none;margin:0;padding:0;background:none;border:0;color:var(--text);font-size:11px}
.size-depth-settings .height-label-row>.auto-height-value[hidden]{display:none}
.size-depth-settings .height-label-row>.compact-auto{margin:0;min-height:30px}
.size-depth-settings .height-number{margin-top:7px}

.canvas-height-diagram{position:absolute;top:16px;right:16px;z-index:3;width:268px;max-width:calc(100% - 32px);margin:0;padding:12px;background:color-mix(in srgb,var(--shadow-color) 96.1%,transparent);border:1px solid var(--border-soft);border-radius:9px;box-shadow:0 4px 18px color-mix(in srgb,var(--shadow-color) 13.3%,transparent);pointer-events:none}
.canvas-height-diagram[hidden]{display:none}
.canvas-height-diagram figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text);font-size:13px;margin-bottom:2px}
.canvas-height-diagram figcaption strong{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
#heightSectionDrawing svg{display:block;width:100%;height:auto}
@media(max-width:800px){.canvas-height-diagram{top:10px;right:10px;width:230px;padding:10px}}

/* One help affordance per main inspector section, with all topics inside. */
.inspector .help-heading{justify-content:space-between}
.inspector .help-heading>.property-help,.inspector summary.has-property-help>.property-help{margin-left:auto}
.section-help-bubble{width:276px}
.section-help-bubble .help-topic+.help-topic{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.section-help-bubble .help-topic[hidden]{display:none}
.section-help-bubble .help-topic strong{display:block;font-size:11px;font-weight:600;color:var(--text);margin-bottom:4px}
.section-help-bubble .help-topic p{margin:0;color:var(--text-2)}

/* Help glyphs must not inherit left-aligned workflow button layout. */
.inspector .property-help,.sidebar-workflow #guideToggle.step-help{display:flex;align-items:center;justify-content:center;text-align:center;gap:0;letter-spacing:0;text-indent:0;font-family:Arial,sans-serif;font-size:11px;line-height:1;font-style:normal}

.account-settings{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}

/* Account hover belongs to the avatar, not a second rectangular button. */
.account-menu>summary:hover,.account-menu[open]>summary{background:transparent;color:var(--text)}
.account-menu>summary .account-avatar{transition:background .15s,border-color .15s}
.account-menu>summary:hover .account-avatar,.account-menu[open]>summary .account-avatar{background:color-mix(in srgb,var(--overlay-light) 5.1%,transparent);border-color:var(--line-strong)}

/* Workspace navigation stays available before upload and above the workflow. */
.workspace-tabs{display:flex;flex:none;gap:0;padding:0 12px;border-bottom:1px solid var(--line);height:52px}
.workspace-tabs button{position:relative;flex:1;min-width:0;min-height:0;margin:8px 0 0;padding:0 4px 8px;border:0;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;border-radius:5px 5px 0 0;transition:color .16s,background .16s}
.workspace-tabs button::after{content:"";position:absolute;bottom:-1px;left:calc(50% - 15px);width:30px;height:2px;border-radius:2px;background:transparent;transition:background .16s}
.workspace-tabs button:hover{background:color-mix(in srgb,var(--overlay-light) 1.18%,transparent);color:var(--text);border:0}
.workspace-tabs button[aria-selected=true]{background:transparent;color:var(--text)}
.workspace-tabs button[aria-selected=true]::after{background:var(--blue)}
.workspace-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.app.empty-stage{display:grid;grid-template-columns:var(--sidebar-width) minmax(280px,1fr)}
.app.empty-stage>.layers{display:flex!important}.app.empty-stage #workflowNav{display:block}
.app.files-view{display:grid;grid-template-columns:var(--sidebar-width) minmax(280px,1fr)}
.app.files-view>.inspector,.app.files-view main>:not(#myFilesPanel){display:none!important}
.app.files-view main{display:block;overflow:auto}
.my-files-panel{max-width:800px;margin:0 auto;padding:48px 32px}.my-files-panel h1{font-size:22px;margin:0 0 8px}.my-files-panel p{color:var(--text-muted);font-size:12px;margin-bottom:24px}
.saved-project{display:flex;width:100%;justify-content:space-between;text-align:left;padding:16px;background:color-mix(in srgb,var(--overlay-light) 1.57%,transparent);border:1px solid var(--line);margin:8px 0;border-radius:6px}.saved-project span{font-size:11px;color:var(--text-muted)}
#importProject{margin-top:16px;background:transparent;border-color:var(--line)}

/* Header divider and sidebar share the same responsive column width. */
:root{--sidebar-width:224px}
.topbar::before{content:"";position:absolute;left:calc(var(--sidebar-width) - 1px);top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}
@media(max-width:1050px){:root{--sidebar-width:190px}}
@media(max-width:750px){:root{--sidebar-width:170px}}
@media(max-width:430px){:root{--sidebar-width:140px}}

/* Fit uses the stage title once, followed by legend and one compact control. */
.inspector .fit-panel{position:relative;padding-top:18px}
.inspector .fit-panel>.help-heading{height:0;margin:0}
.inspector .fit-panel>.help-heading>.property-help{position:absolute;top:18px;right:16px}
.fit-panel .fit-legend{margin:0;padding-right:24px;flex-wrap:wrap;gap:10px}
.fit-panel .fit-control{margin:24px 0 0}
.fit-panel .fit-input-row{display:flex;align-items:center;gap:14px;margin-top:8px}
.fit-panel .fit-input-row input[type=range]{flex:1;min-width:0;width:auto;margin:0}
.fit-panel .fit-number{position:relative;flex:none;width:88px;margin:0}
.fit-panel .fit-number input{width:100%;margin:0;padding-right:27px}
.fit-panel .fit-unit{position:absolute;right:9px;color:var(--text-muted);font-size:10px;pointer-events:none}
.fit-panel #clearanceTotal{margin:10px 0 0}

.upload-print-sheets{margin-top:18px;text-align:center}
.sheet-downloads{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.sheet-downloads a{display:inline-flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--overlay-light) 1.18%,transparent);color:var(--text-2);text-decoration:none;font-size:11px;transition:background .15s,border-color .15s}
.sheet-downloads a:hover{background:var(--bg-raised);border-color:var(--line-strong);color:var(--text)}
.sheet-downloads a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.sheet-downloads a span{color:var(--text-muted);font-size:14px}
.upload-print-sheets p{margin:10px 0 0;color:var(--text-muted);font-size:10px}

.paper-reference{display:flex;align-items:center;gap:13px;padding:2px 0 4px}
.paper-thumbnail{display:grid;place-items:center;flex:none;width:32px;aspect-ratio:210/297;border:1px solid var(--line-strong);border-radius:3px;background:color-mix(in srgb,var(--overlay-light) 1.57%,transparent);color:var(--text-2);font-size:10px;letter-spacing:.5px}
.paper-reference>div{display:flex;flex-direction:column;gap:5px}
.paper-reference strong{font-size:11px;font-weight:500;color:var(--text)}
.paper-reference>div>span{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.paper-panel #alignmentDetails{margin-top:20px}
.inspector .panel-heading>.property-help{margin:0}

.method-picker{position:relative;margin:6px 0 10px}
.method-cycle{display:flex;align-items:center;height:28px;border-radius:5px;background:var(--field)}
.inspector .method-cycle button{height:28px;min-height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-2);box-shadow:none}
.inspector .method-cycle>button:first-child,.inspector .method-cycle>button:last-child{display:flex;align-items:center;justify-content:center;flex:none;width:28px;font-size:19px;font-weight:300;line-height:1;padding-bottom:2px;box-sizing:border-box}
.inspector .method-cycle #methodCurrent{flex:1;min-width:0;font-size:11px;color:var(--text)}
.method-cycle #methodName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inspector .method-cycle button:hover{background:color-mix(in srgb,var(--overlay-light) 3.14%,transparent);color:var(--text)}
.method-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:12;padding:4px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 26.7%,transparent)}
.inspector .method-options button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:8px;min-height:30px;border:0;border-radius:3px;background:transparent;color:var(--text);font-size:11px;text-align:left}
.method-options button::before{content:"";width:12px;flex:none}.method-options button[aria-selected=true]::before{content:"✓";color:var(--blue)}
.inspector .method-options button:hover,.inspector .method-options button:focus-visible{background:var(--bg-raised)}

.inspector .trace-settings .retrace-button{width:100%;margin:10px 0 0}

/* Filled secondary actions, without an outline or enclosing frame. */
.secondary,.inspector .trace-settings .retrace-button,.sidebar-workflow .guide-panel button.secondary{display:inline-flex;align-items:center;justify-content:center;text-align:center}
.secondary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* Readable help on demand, outside the constrained sidebar. */
.help-dialog{width:min(500px,calc(100vw - 40px));max-height:calc(100dvh - 64px);padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-panel);color:var(--text);box-shadow:0 20px 70px color-mix(in srgb,var(--shadow-color) 46.7%,transparent);overflow:auto}
.help-dialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 46.7%,transparent)}
.help-dialog>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid color-mix(in srgb,var(--overlay-light) 6.27%,transparent);background:var(--bg-panel);z-index:1}
.help-dialog h2{margin:0;font-size:17px;font-weight:600;line-height:1.4}.help-dialog>header button{flex:none}
.help-dialog-body{padding:8px 24px 24px}
.help-dialog-body section,.help-dialog-body .help-topic{padding:18px 0 0;border:0;margin:0}
.help-dialog-body section+section,.help-dialog-body .help-topic+.help-topic{margin-top:18px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--overlay-light) 6.27%,transparent)}
.help-dialog-body h3,.help-dialog-body strong{display:block;font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}
.help-dialog-body p{font-size:13px;line-height:1.75;color:var(--text-2);margin:0;max-width:none}.help-dialog-body p+p{margin-top:12px}

.inspector .paper-panel .paper-redetect{width:100%;margin-top:10px}



#gridfinitySettings #magnetPlacement{margin-top:3px}

/* Define vertical dimensions before the footprint. */
.size-depth-settings>.box-height-control{margin:0 0 18px;padding:0}
.size-depth-settings>.plain-height-control{margin:0 0 18px}
.size-depth-settings #pocketDepthSection{margin:0}
.depth-limit{font-size:10px;color:var(--text-muted);line-height:1.5;margin:8px 0 0}
.footprint-settings{margin:20px -16px -16px;padding:16px;border-top:1px solid var(--line)}
.footprint-settings h4{font-size:11px;font-weight:500;color:var(--text);margin:0 0 12px}

/* Upload keeps its gradient edge without a second external focus ring. */
#empty #guideUpload.primary:focus:focus-within{outline:none}
#empty #guideUpload.primary:focus-visible{outline:none}

/* Compact numeric properties: unit stays inside the value field. */
#gridfinitySettings #gridCellField{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
#gridfinitySettings #gridCellField>label{margin:0}
.inspector .number-with-unit{position:relative;display:flex;align-items:center;width:112px;flex:none}
.inspector .number-with-unit input[type=number]{width:100%;margin:0;padding-right:32px;appearance:textfield;-moz-appearance:textfield}
.inspector .number-with-unit input::-webkit-inner-spin-button,.inspector .number-with-unit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inspector .number-with-unit>span{position:absolute;right:10px;color:var(--text-muted);font-size:10px;pointer-events:none}

/* Single numeric fields share an inline label, centered value and inset unit. */
.inspector .single-number-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.inspector .single-number-row>label{margin:0}
.inspector .number-with-unit input[type=number]{text-align:center;padding-left:28px;padding-right:28px}
.inspector .row-value.number-with-unit{width:112px;gap:0}
.inspector .row-value.number-with-unit input[type=number]{width:100%}
.inspector .radius-control .number-with-unit{width:100px}
.inspector .radius-control .number-with-unit input[type=number]{width:100%;padding-left:22px;padding-right:22px}
.inspector .fit-number input[type=number]{text-align:center;padding-left:26px;padding-right:26px}

.sheet-download-icon{display:block;width:16px;height:16px;flex:none;opacity:.9}
.sheet-downloads a:hover .sheet-download-icon{opacity:1}

#guideUpload.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.upload-photo-icon{display:block;width:16px;height:16px;flex:none;background:currentColor;mask:url('/icons/figma-community/gallery.svg') center/contain no-repeat;-webkit-mask:url('/icons/figma-community/gallery.svg') center/contain no-repeat}

.retrace-button{display:flex;align-items:center;justify-content:center;gap:8px}
.retrace-spinner{display:block;width:12px;height:12px;flex:none;border:1.5px solid color-mix(in srgb,var(--overlay-light) 14.9%,transparent);border-top-color:currentColor;border-radius:50%;animation:photo-loading-spin .8s linear infinite}
.retrace-spinner[hidden]{display:none}
.retrace-button[aria-busy="true"]:disabled{opacity:1;cursor:progress}
@media(prefers-reduced-motion:reduce){.retrace-spinner{animation:none;border-right-color:currentColor}}

.element-context-menu{position:fixed;inset:auto;margin:0;padding:5px;width:172px;border:1px solid var(--line-strong);border-radius:9px;background:var(--bg-panel);color:var(--text);box-shadow:0 8px 28px color-mix(in srgb,var(--shadow-color) 40%,transparent)}
.element-context-menu button{display:block;width:100%;min-height:32px;border:0;background:transparent;color:inherit;text-align:left;padding:6px 10px;border-radius:5px;font-size:12px}
.element-context-menu button:hover,.element-context-menu button:focus-visible{background:color-mix(in srgb,var(--overlay-light) 7.06%,transparent);outline:none}
.element-context-menu button:disabled{opacity:.4}
#planDimensions button{cursor:text}
#planDimensionValue{text-align:center}

.path-empty-hint{margin:0;color:var(--text-2);font-size:11px;line-height:17px}
.path-empty-hint[hidden]{display:none!important}

/* Native select behavior with a consistently centered approved chevron. */
.inspector select,#gridfinitySettings .grid-option-row>select{appearance:none;-webkit-appearance:none;text-align:center;text-align-last:center;padding:0 28px;background-image:url("/icons/user-chevron.svg");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 12px}

/* Selection actions belong to Position in the inspector, not the canvas rail. */
.inspector .selection-summary{font-size:10px;line-height:16px;color:var(--text-2);margin:7px 0 10px}
.inspector .alignment-label{margin:0 0 7px;color:var(--text-2)}
.inspector .layout-alignment{display:flex;gap:1px;width:100%;margin:0}
.inspector .layout-alignment .icon-tool{flex:1;min-width:0;height:30px;min-height:30px;padding:5px;border:0;border-radius:4px;background:var(--field)}
.inspector .layout-alignment .icon-tool:nth-child(3){margin-right:8px}
.inspector .layout-alignment .icon-tool:hover:not(:disabled){background:var(--selected)}
.inspector .layout-alignment .ui-icon{width:18px;height:18px}
.inspector .layout-alignment .tool-tip{display:none}
.inspector .auto-flow{display:flex;padding:2px;gap:2px;border-radius:5px;background:var(--bg-panel);margin:0 0 12px}
.inspector .auto-flow button{flex:1;min-height:27px;padding:3px 6px;background:transparent;border:0;color:var(--text-2);font-size:11px}
.inspector .auto-flow button[aria-pressed=true]{background:var(--selected);color:var(--text)}
#autoLayoutSection .grid-option-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}
#autoLayoutSection .grid-option-row label{margin:0}
#autoLayoutSection select{width:112px;margin:0;height:30px}
#autoLayoutSection .wide{margin-top:10px;width:100%}
#autoLayoutSection[hidden]{display:none!important}

/* Dimensions are edited at their actual canvas location. */
#canvasSizeFields{display:none!important}
#planDimensions button{color:var(--primary-color);border:1px solid color-mix(in srgb,var(--primary-color) 37.647%,transparent);background:var(--bg-panel);line-height:18px;box-shadow:0 1px 4px color-mix(in srgb,var(--shadow-color) 33.3%,transparent)}
#planDimensions button:hover{border-color:var(--primary-color);color:var(--text)}
#planDimensionValue{background:var(--bg-app);color:var(--text);border:1px solid var(--primary-color);outline:none;box-shadow:0 0 0 1px var(--primary-color);font-size:12px}
#planDimensionValue::-webkit-inner-spin-button{appearance:none}

#planDimensionValue{padding-right:24px}
#planDimensionUnit{display:none;position:absolute;pointer-events:none;width:94px;height:24px;padding:4px 7px;text-align:right;color:var(--text-2);font-size:10px;box-sizing:border-box;z-index:3}
#planDimensions:has(#planDimensionValue:not([hidden])) #planDimensionUnit{display:block}

/* Continue the inspector boundary through the account area of the header. */
:root{--inspector-width:280px}
.topbar::after{display:none}
@media(max-width:1050px){:root{--inspector-width:248px}}
@media(max-width:750px){.topbar::after{display:none}}

/* Compact, paired workflow navigation. */
.sidebar-workflow .guide-panel .guide-navigation{justify-content:flex-end;align-self:stretch}

.workflow-arrow img{display:block;width:12.5002px;height:8.94px;pointer-events:none}


#guideDone.navigation-download img{width:18px;height:18px;transform:none;filter:brightness(0) invert(1)}
#guideDone.navigation-working img{visibility:hidden}
#guideDone.navigation-working{position:relative}
#guideDone.navigation-working::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid color-mix(in srgb,var(--overlay-light) 31.4%,transparent);border-top-color:var(--icon);border-radius:50%;animation:workflow-spin .8s linear infinite}
@keyframes workflow-spin{to{transform:rotate(360deg)}}

/* The section card is an explanation, not an orbit-control surface. */
#heightBreakdown{pointer-events:auto;cursor:default}

/* Max-capable depth entry shares the numeric field presentation. */
.inspector #depthEntry{display:block;width:100%;min-width:0;height:30px;margin:0;padding:0 28px;border:1px solid transparent;border-radius:5px;background:var(--tool-surface);color:var(--text);font-size:11px;text-align:center;outline:none;box-shadow:none}
.inspector #depthEntry:hover{border-color:var(--border-hover)}
.inspector #depthEntry:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.inspector #depthEntry[aria-invalid=true]:not(:focus){border-color:var(--danger)}

.inspector .color-value .hex-color-entry{width:62px;min-width:0;height:22px;padding:0;border:0;border-radius:2px;background:transparent;color:var(--text);font-size:10px;font-variant-numeric:tabular-nums;text-align:center;outline:none}
.inspector .color-value:focus-within{box-shadow:0 0 0 1px var(--blue)}
.inspector .color-value .hex-color-entry[aria-invalid=true]{color:#ffada4}

/* No project identity before a photo or project is opened; keep header columns aligned. */
.project-identity[data-empty="true"]{visibility:hidden}

/* Box corner value sits beside its label; slider spans the row below. */
.inspector .box-radius-control{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px}
.inspector .box-radius-control>label{margin:0}
.inspector .box-radius-control .number-with-unit{width:76px}
.inspector .box-radius-control .number-with-unit input[type=number]{padding-left:8px;padding-right:28px}
.inspector .box-radius-control input[type=range]{grid-column:1 / -1;width:100%;min-width:0}

/* Fit follows the label/value row and full-width slider arrangement. */
.fit-panel .fit-heading .fit-number{width:76px;flex:none}
.inspector .fit-heading .fit-number input[type=number]{padding-left:8px;padding-right:28px}
.fit-panel .fit-input-row{margin-top:10px}
.fit-panel .fit-input-row input[type=range]{width:100%}

/* Separate value and unit cells; center each in its own available space. */
.inspector .number-with-unit,.inspector .fit-number{display:flex;gap:0;align-items:stretch}
.inspector .number-with-unit input:not([hidden]),.inspector .fit-heading .fit-number input[type=number],.inspector .box-radius-control .number-with-unit input[type=number]{flex:1;min-width:0;width:0;padding:0 4px;text-align:center;border-radius:6px 0 0 6px;margin:0}
.inspector .number-with-unit>span:last-child,.inspector .fit-number>.fit-unit{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;right:auto;background:var(--tool-surface);border-left:1px solid var(--surface);border-radius:0 6px 6px 0;color:var(--text-muted);font-size:10px;pointer-events:none}
/* Match the 28px method picker height across split measurement fields. */
.inspector .number-with-unit,.inspector .fit-number{height:28px;min-height:28px}
.inspector .number-with-unit input:not([hidden]),.inspector .fit-heading .fit-number input[type=number],.inspector .box-radius-control .number-with-unit input[type=number]{height:28px;min-height:28px;box-sizing:border-box}
/* Keep Path guidance close to its heading. */
.inspector #pointTools>h3{margin-bottom:6px}
/* Separate backward and forward navigation at opposite row edges. */
.sidebar-workflow .guide-panel .guide-navigation{width:100%}
.sidebar-workflow .guide-panel #guidePrevious{order:-1;margin-right:auto}
.sidebar-workflow .guide-panel #guideDone{margin-left:auto}

/* Color key belongs below the fit control and uses compact unframed dots. */
.fit-panel .fit-legend{margin:8px 0 0;padding-right:0}
.fit-panel .fit-legend i{width:6px;height:6px;flex:none;border:0;border-radius:50%;background:var(--primary-color)}
.fit-panel .fit-legend .pocket-swatch{background:#ff626b}

/* Overall dimensions share the illustrated height card. */
.diagram-box-summary{border-top:1px solid var(--border-soft);padding-top:10px;margin-top:2px}
.diagram-summary-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:10px;color:var(--text-2)}
.diagram-summary-heading>span:last-child{color:var(--text-muted)}
.diagram-box-summary .dimension-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.diagram-box-summary dt{font-size:10px;color:var(--text-muted);margin-bottom:5px}
.diagram-box-summary dd{margin:0;font-size:12px;color:var(--text);font-variant-numeric:tabular-nums}
.inspector>.box-status:not([data-error="true"]){display:none}
.inspector>.box-status[data-error="true"]{padding:12px 16px;color:var(--danger)}

/* Shared inspector density: consistent section gutters and compact control rhythm. */
.inspector{}
.inspector>section,.inspector .inspector-section{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.inspector section>h3,.inspector .inspector-subsection>h3,.inspector #layoutProperties h3{margin-bottom:var(--heading-gap)}
.inspector .help-heading{margin-bottom:var(--heading-gap)}
.inspector .help-heading h3{margin-bottom:0}
.inspector .property-row,.inspector .advanced-group .property-row,.inspector .color-property{margin-top:var(--control-gap)}
.inspector .switch-row,.inspector .folding-section .switch-row{display:flex;align-items:center;justify-content:space-between;min-height:24px;margin-top:var(--control-gap)}
.inspector .switch-row>input{margin:0;align-self:center}
.inspector .two{margin-top:var(--control-gap)}
.inspector .hint{margin-top:6px}
.inspector .hint:empty{display:none}
.inspector .inspector-subsection{margin-top:12px;padding-top:12px;padding-bottom:12px}
.inspector #pointTools{padding-top:12px}
.inspector .footprint-settings{margin:12px -16px -12px;padding:12px 16px}
.inspector .footprint-settings h4{margin-bottom:6px}
.inspector .footprint-settings .switch-row{margin-top:0}
.inspector .folding-section{padding-top:0;padding-bottom:0}
.inspector .folding-section .advanced{padding:12px 0}
.inspector .folding-section .advanced[open]>summary{margin-bottom:8px}
.inspector .advanced-group{padding:10px 0}
.inspector .advanced-group:first-of-type{padding-top:0}
.inspector .advanced-group:last-child{padding-bottom:0}
.inspector .advanced-group h4{margin-bottom:6px}
.inspector .section-note{margin-top:8px}
.inspector .fit-panel>.help-heading{height:18px;margin:0 0 4px}
.inspector .fit-panel>.help-heading>.property-help{position:static;margin-left:auto}
.inspector .fit-panel .fit-control{margin:0}
.inspector .size-depth-settings #gridOptions,.inspector .size-depth-settings #plainBoxOptions{margin-bottom:0}
.inspector #gridfinitySettings .switch-row{min-height:28px;margin:0;gap:10px}
.inspector .size-depth-settings #gridOptions>.switch-row,.inspector .size-depth-settings #plainBoxOptions>.switch-row{min-height:24px;margin:0}

.sidebar-workflow .corners-stage-icon{filter:none;object-fit:contain}
/* Set fit already has help in the inspector header; avoid a duplicate empty row. */
.inspector .fit-panel>.help-heading{display:none}
.inspector .fit-panel .fit-control{margin-top:0}

/* Overall size footer: edge-to-edge divider with balanced dimension columns. */
.diagram-box-summary{margin:4px -12px -12px;padding:12px;border-radius:0 0 9px 9px;background:color-mix(in srgb,var(--overlay-light) 0.784%,transparent)}
.diagram-summary-heading{margin-bottom:10px;color:var(--text);font-size:11px;font-weight:500}
.diagram-summary-heading>span:last-child{font-size:10px;font-weight:400}
.diagram-box-summary .dimension-summary{gap:12px}
.diagram-box-summary dt{margin-bottom:4px;font-size:10px}
.diagram-box-summary dd{font-size:13px;font-weight:500;line-height:18px}
@media(max-width:800px){.diagram-box-summary{margin-left:-10px;margin-right:-10px;margin-bottom:-10px;padding:10px}}
/* Left-aligned account identity with Avi's soft mint palette. */
.topbar .header-right{justify-content:flex-start}
.account-menu>summary .account-avatar{background:#c9bce2;border-color:#a18bbf;color:#514168}
.account-menu>summary:hover .account-avatar,.account-menu[open]>summary .account-avatar{background:#bdabd9;border-color:#9279b4}
@media(min-width:751px){.topbar .header-right{position:absolute;right:0;top:0;bottom:0;width:var(--inspector-width);padding:0 16px}}
/* Method picker and Retrace share one height and a single 10px gap. */
.inspector .trace-settings .method-picker{margin:6px 0 0}
.inspector .trace-settings .method-cycle,.inspector .trace-settings .method-cycle button,.inspector .trace-settings .retrace-button{box-sizing:border-box}
.inspector .trace-settings .retrace-button{margin:10px 0 0;padding-top:0;padding-bottom:0}

/* One centering contract for every measurement value and its unit. */
.inspector input[type=number]{text-align:center;font-variant-numeric:tabular-nums}
.inspector :is(.number-with-unit,.fit-number){align-items:stretch;justify-content:flex-start;gap:0;padding:0;line-height:normal}
.inspector :is(.number-with-unit,.fit-number)>input:not([hidden]),.inspector #depthEntry{flex:1 1 0%;width:0;min-width:0;height:28px;min-height:28px;box-sizing:border-box;margin:0;padding:0 4px;text-align:center;line-height:26px;border-radius:6px 0 0 6px;appearance:textfield;-moz-appearance:textfield}
.inspector :is(.number-with-unit,.fit-number)>input::-webkit-inner-spin-button,.inspector :is(.number-with-unit,.fit-number)>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inspector .number-with-unit>span:last-child,.inspector .fit-number>.fit-unit{display:grid;place-items:center;align-self:stretch;box-sizing:border-box;height:28px;min-height:28px;padding:0;line-height:1;text-align:center}
.inspector .icon-tool,.inspector .property-help,.inspector .layout-alignment button{align-items:center;justify-content:center}

/* Active workspace underline tracks its label, independent of tab width. */
.workspace-tabs button::after{display:none}
.workspace-tabs button{padding-bottom:0}
.workspace-tabs button>span{position:relative;display:inline-flex;align-items:center;height:100%;padding-bottom:8px}
.workspace-tabs button[aria-selected="true"]>span::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--blue)}

/* BOXIE home: a quiet project gallery, not a copy of the reference application. */
.app.files-view main{background:var(--bg-rail)}.app.files-view .layers{background:var(--bg-panel)}
body:has(.app.files-view) .project-identity{visibility:hidden}
.my-files-panel{max-width:none;width:100%;margin:0;padding:32px;min-height:100%}
.library-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.my-files-panel .library-eyebrow{font-size:10px;letter-spacing:1.6px;color:#9ebbae;margin:0 0 7px}
.my-files-panel h1{font-size:25px;font-weight:500;line-height:1.25;margin:0;color:var(--text)}
.my-files-panel #filesStatus{font-size:11px;color:var(--text-muted);margin:8px 0 0}
.library-actions{display:flex;gap:10px;align-items:center}.library-actions button,.library-empty button{height:32px;padding:0 14px}
.library-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.library-toolbar input{width:min(320px,100%);height:34px;background:var(--field);border:1px solid var(--line-strong);border-radius:8px;color:var(--text);padding:0 12px;font-size:12px}
.library-toolbar input::placeholder{color:var(--text-muted)}.library-toolbar button{margin-left:auto}
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:24px 20px;align-items:start}
.project-card{min-width:0;position:relative}.project-preview{display:flex;align-items:center;justify-content:center;width:100%;height:174px;min-height:0;padding:0;overflow:hidden;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,background .15s}
.project-preview:hover{background:var(--field);border-color:var(--line-strong)}.project-preview:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}
.project-preview img{width:100%;height:100%;object-fit:contain;pointer-events:none}.project-placeholder{font-size:15px;font-weight:500;letter-spacing:2px;color:var(--text-muted)}
.project-card h2{font-size:12px;font-weight:500;color:var(--text);line-height:16px;margin:7px 58px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-files-panel .project-card p{font-size:10px;line-height:16px;color:var(--text-muted);margin:0;overflow-wrap:anywhere}
.project-card .project-move{position:absolute;right:0;top:182px;min-height:24px;padding:2px 6px;border:0;background:transparent;color:var(--text-2);font-size:10px}
.project-card .project-move:hover{background:color-mix(in srgb,var(--overlay-light) 3.14%,transparent);color:var(--text)}
.library-sidebar{padding:20px 12px}.library-sidebar[hidden]{display:none}
.library-sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 0;margin-top:12px;margin-bottom:6px;border-top:1px solid var(--sidebar-divider);color:var(--text-muted);font-size:11px}
.library-sidebar-heading button{min-height:24px;width:24px;padding:0;background:transparent;border:0;color:var(--text-2);font-size:20px;font-weight:300}
.library-folder{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;margin-bottom:4px;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text-2);font-size:12px;font-weight:400;text-align:left;white-space:normal;overflow-wrap:anywhere}
.library-folder>span{font-size:10px;color:var(--text-muted);margin-left:auto}.library-folder:hover{background:color-mix(in srgb,var(--overlay-light) 2.35%,transparent);border-color:transparent;color:var(--text)}
.library-folder[aria-current=true]{background:var(--blue);color:var(--text);border-color:var(--blue)}.library-folder[aria-current=true]>span{color:color-mix(in srgb,var(--overlay-light) 74.9%,transparent)}.library-folder.drop-target{border-color:var(--line-strong);background:var(--selected);color:var(--text)}
.library-sidebar-note{font-size:10px;color:var(--text-hint);line-height:16px;margin:24px 8px}
.library-empty{padding:72px 20px;text-align:center;border:1px dashed var(--line-strong);border-radius:12px;margin-top:8px}.library-empty[hidden]{display:none}
.library-empty h2{font-size:20px;font-weight:400;color:var(--text);margin:0 0 10px}.my-files-panel .library-empty p{font-size:12px;color:var(--text-muted);margin:0 auto 20px;max-width:360px}
.library-dialog{width:min(400px,calc(100vw - 32px));padding:24px;border:1px solid var(--line-strong);border-radius:12px;background:var(--field);color:var(--text)}
.library-dialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 53.3%,transparent)}.library-dialog h2{font-size:17px;font-weight:500;margin:0 0 20px}.library-dialog label{display:block;font-size:12px;color:var(--text-2);margin-bottom:7px}.library-dialog input,.library-dialog select{width:100%;height:36px;padding:0 10px;background:var(--field);color:var(--text);border:1px solid var(--line-strong);border-radius:6px}.library-dialog .field-error:empty{display:none}.library-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
@media(max-width:850px){.my-files-panel{padding:24px}.library-top{align-items:flex-start;flex-wrap:wrap;gap:16px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px 16px}}
@media(max-width:600px){.app.files-view{grid-template-columns:150px minmax(0,1fr)}.my-files-panel{padding:16px}.library-top{margin-bottom:18px}.library-actions{flex-wrap:wrap}.library-actions button{font-size:11px;padding:0 9px}.project-grid{grid-template-columns:1fr}.library-sidebar{padding:16px 8px}.library-folder{font-size:11px}.library-sidebar-note{display:none}.library-toolbar{flex-wrap:wrap}.library-toolbar input{width:100%}.project-preview{height:156px}.project-card .project-move{top:164px}.my-files-panel h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){.project-preview{transition:none}}

/* Library title belongs in the application header. */
.library-header-title{position:absolute;left:calc(var(--sidebar-width) + 32px);top:0;height:56px;margin:0;display:flex;align-items:center;font-size:16px;font-weight:500;line-height:20px;color:var(--text)}
.library-header-title[hidden]{display:none}
@media(max-width:850px){.library-header-title{left:calc(var(--sidebar-width) + 24px)}}
@media(max-width:600px){.library-header-title{left:166px;font-size:14px;max-width:calc(100% - 240px);overflow:hidden;white-space:nowrap}}

/* Persistent profile at the foot of the left sidebar. */
.layers{position:relative;padding-bottom:76px}
.sidebar-account{position:absolute;bottom:0;left:0;right:0;padding:12px;border-top:1px solid var(--line);background:var(--surface);z-index:25}
.sidebar-account .account-menu>summary{justify-content:flex-start;gap:10px;width:100%;min-height:44px;padding:4px 8px}
.sidebar-account .account-avatar{width:30px;height:30px;flex:none;font-size:12px}
.sidebar-account .account-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:15px}
.account-copy strong{font-size:12px;font-weight:500;color:var(--text)}
.account-copy small{font-size:10px;color:var(--text-muted)}
.sidebar-account .header-popover{top:auto;bottom:calc(100% + 8px);left:0;right:0;width:auto;min-width:0;max-width:100%;max-height:calc(100dvh - 150px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;overflow-wrap:anywhere}
.sidebar-account .header-popover button{width:100%;justify-content:flex-start;text-align:left;border:0;padding:8px;font-size:11px}
.sidebar-account .account-future button{border:1px solid var(--line-strong);justify-content:center}
.sidebar-account .account-menu>summary>.account-copy{display:flex}

.library-top{justify-content:flex-end}

.topbar .header-create{position:absolute;right:16px;top:12px;width:32px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;background:var(--blue);border:1px solid var(--blue);border-radius:6px;color:var(--text);font-size:24px;font-weight:400;line-height:1}
.topbar .header-create:hover{filter:brightness(1.1)}

.topbar .header-search{position:absolute;right:64px;top:11px;width:min(320px,calc(100vw - var(--sidebar-width) - 240px));height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--field);color:var(--text);font-size:12px}
.topbar .header-search[hidden]{display:none}
.header-search::placeholder{color:var(--text-muted)}
.library-toolbar:not(:has(button:not([hidden]))){display:none}
@media(max-width:600px){.topbar .header-search{width:34px;padding:0 8px;transition:width .15s}.topbar .header-search:focus{width:calc(100vw - 230px);min-width:100px;z-index:3}.topbar .header-search:not(:focus)::placeholder{color:transparent}}

.sidebar-account .header-popover button{min-width:0;max-width:100%;white-space:normal;box-sizing:border-box}

.topbar .header-search{right:16px;padding-left:34px;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggdmVjdG9yLWVmZmVjdD0ibm9uLXNjYWxpbmctc3Ryb2tlIiBkPSJNMTEgMjBDMTUuOTcwNiAyMCAyMCAxNS45NzA2IDIwIDExQzIwIDYuMDI5NDQgMTUuOTcwNiAyIDExIDJDNi4wMjk0NCAyIDIgNi4wMjk0NCAyIDExQzIgMTUuOTcwNiA2LjAyOTQ0IDIwIDExIDIwWiIgc3Ryb2tlPSIjYTNhM2FkIiBzdHJva2Utd2lkdGg9IjEuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIHZlY3Rvci1lZmZlY3Q9Im5vbi1zY2FsaW5nLXN0cm9rZSIgZD0iTTE4LjkyOTkgMjAuNjg5OEMxOS40NTk5IDIyLjI4OTggMjAuNjY5OSAyMi40NDk4IDIxLjU5OTkgMjEuMDQ5OEMyMi40NDk5IDE5Ljc2OTggMjEuODg5OSAxOC43MTk4IDIwLjM0OTkgMTguNzE5OEMxOS4yMDk5IDE4LjcwOTggMTguNTY5OSAxOS41OTk4IDE4LjkyOTkgMjAuNjg5OFoiIHN0cm9rZT0iI2EzYTNhZCIgc3Ryb2tlLXdpZHRoPSIxLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K");background-repeat:no-repeat;background-size:15px 15px;background-position:11px center}

/* Shared trailing column for folder counts and add-folder action. */
.library-sidebar-heading{padding-left:11px;padding-right:11px}
.library-sidebar-heading button{width:24px;height:24px;min-height:24px;flex:0 0 24px;display:grid;place-items:center;font-size:23px;line-height:24px;font-weight:400}
.library-folder>span{width:24px;min-width:24px;flex:0 0 24px;display:grid;place-items:center;font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}

.account-menu-intro{display:flex;flex-direction:column;gap:3px;padding:6px 8px 10px}
.account-menu-intro strong{font-size:12px;font-weight:500;color:var(--text)}
.account-menu-intro>span{font-size:10px;color:var(--text-muted)}
.account-menu-group{border-top:1px solid var(--line);padding:6px 0}
.sidebar-account .account-menu-group h3{margin:4px 8px 6px;font-size:10px;color:var(--text-muted);font-weight:500}
.sidebar-account .header-popover .future-option{display:flex;align-items:center;justify-content:space-between;gap:6px;background:transparent;color:var(--text-2);opacity:1;cursor:default;min-height:30px}
.future-option>span{min-width:0}
.future-option>small{flex:none;font-size:9px;color:var(--text-muted);border:1px solid color-mix(in srgb,var(--overlay-light) 7.06%,transparent);border-radius:3px;padding:1px 4px}
.sidebar-account .header-popover .account-local-note{font-size:10px;line-height:15px;margin:6px 8px;color:var(--text-muted)}
.sidebar-account .header-popover{max-height:min(680px,calc(100dvh - 150px));scrollbar-width:thin}

.project-placeholder{font-size:11px;font-weight:400;letter-spacing:0;white-space:normal;text-align:center;padding:16px;color:var(--text-muted)}

.project-actions{position:absolute;right:0;top:182px;z-index:2}
.project-actions[open]{z-index:5}
.project-actions>summary{width:26px;height:26px;display:grid;place-items:center;cursor:pointer;list-style:none;border-radius:4px}
.project-actions>summary::-webkit-details-marker{display:none}
.project-actions>summary:hover,.project-actions[open]>summary{background:color-mix(in srgb,var(--overlay-light) 5.1%,transparent)}
.project-actions>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.project-actions>summary img{width:18px;height:18px;transform:rotate(90deg);pointer-events:none}
.project-action-menu{position:absolute;right:0;top:30px;min-width:150px;padding:5px;background:var(--surface);border:1px solid var(--border-soft);border-radius:7px;box-shadow:var(--shadow-soft)}
.project-action-menu button{width:100%;justify-content:flex-start;border:0;background:transparent;padding:8px;font-size:11px}
.project-action-menu button:hover{background:var(--bg-raised)}
.project-card[draggable=true] .project-preview{cursor:grab}
.project-card[draggable=true] .project-preview:active{cursor:grabbing}
@media(max-width:600px){.project-actions{top:164px}}

.library-top:has(#filesStatus[hidden]){display:none}

.project-actions>summary img{width:16px;height:16px;opacity:.8}

.project-card.is-dragging{opacity:.55}
.project-card h2,.project-card>p{user-select:none}

.library-sidebar-heading>span{font-size:13px;color:var(--text)}

.sidebar-account .header-popover{padding:6px;max-height:calc(100dvh - 150px)}
.sidebar-account .account-menu-intro{padding:8px 8px 10px;gap:3px}
.sidebar-account .account-menu-group{padding:4px 0}
.sidebar-account .header-popover .account-menu-group>button{min-height:32px;padding:7px 8px;border-radius:4px;background:transparent;font-size:11px}
.sidebar-account .header-popover .account-menu-group>button:not(:disabled):hover{background:var(--bg-raised)}
.sidebar-account .future-option>small{border:0;padding:0;font-size:9px;color:var(--text-hint)}

.project-card{touch-action:pan-y}
.project-card .project-preview{cursor:grab;touch-action:none}
.project-card.is-dragging{cursor:grabbing}
.project-drag-label{position:fixed;z-index:1000;pointer-events:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;background:var(--selected);border:1px solid var(--line-strong);border-radius:6px;color:var(--text);box-shadow:0 4px 16px color-mix(in srgb,var(--shadow-color) 26.7%,transparent);font-size:12px}

.project-action-menu .project-delete{border-top:1px solid var(--line);border-radius:0;color:#e4a4a4;margin-top:4px;padding-top:10px}
.library-project-dialog{width:min(340px,calc(100vw - 32px));background:var(--surface);color:var(--text);border:1px solid var(--border-soft);border-radius:10px;padding:20px;box-shadow:var(--shadow-soft)}
.library-project-dialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 46.7%,transparent)}
.library-project-dialog h2{font-size:15px;margin:0 0 16px;font-weight:500}
.library-project-dialog button{margin-top:8px}
.library-project-dialog>div>button{display:flex;width:100%;justify-content:flex-start}
.library-project-dialog input{width:100%;height:34px;background:var(--field);border:1px solid var(--line-strong);border-radius:5px;padding:0 10px}
.library-project-dialog p{font-size:11px;line-height:16px;color:var(--text-2)}

.library-folder[data-folder-id]:not([data-folder-id="all"]):not([data-folder-id=""]):not([data-folder-id="trash"]){touch-action:none;cursor:grab}
.library-folder.folder-dragging{opacity:.5;cursor:grabbing}
.library-folder.folder-insert-before{box-shadow:0 -2px 0 var(--overlay-light)}
.library-folder.folder-insert-after{box-shadow:0 2px 0 var(--overlay-light)}

.create-plus{display:block;width:16px;height:16px;flex:none;filter:none;pointer-events:none}
.workspace-tabs .create-label{display:inline-flex;align-items:center;justify-content:center;gap:5px}

.library-folder-row{position:relative}
.library-folder-row .folder-actions{right:11px;top:6px;opacity:0;pointer-events:none}
.library-folder-row:hover .folder-actions,.library-folder-row:focus-within .folder-actions,.library-folder-row .folder-actions[open]{opacity:1;pointer-events:auto}
.library-folder-row:has(.folder-actions):hover .library-folder>span,.library-folder-row:has(.folder-actions):focus-within .library-folder>span{visibility:hidden}
.folder-actions>summary{width:24px;height:24px}
.folder-actions>summary img{width:14px;height:14px}
.folder-actions .project-action-menu{width:145px;min-width:145px;top:28px}

/* Folder actions follow selection; counts are omitted. */
.library-folder>span{display:grid}
.library-folder-row .folder-actions{display:block}
.library-folder-row:has(.library-folder[aria-current=true]) .folder-actions{display:block}

.library-header-title{gap:9px}
.library-header-count{font-size:12px;font-weight:400;color:var(--text-2);font-variant-numeric:tabular-nums}

.library-folder-row .folder-actions{right:5px;top:6px}
.folder-actions>summary{width:24px;height:24px}
.folder-actions>summary img{width:20px;height:20px;opacity:1;filter:brightness(0) invert(1)}
.library-folder-row:has(.folder-actions) .library-folder{padding-right:10px}

.library-sidebar-heading{align-items:center;padding-right:5px;min-height:24px}
.library-sidebar-heading>span{line-height:24px}
.library-sidebar-heading button{display:grid;place-items:center;height:24px;line-height:24px;margin:0}

.library-header-title .header-folder-actions{position:relative;top:auto;right:auto;z-index:35;font:inherit}
.header-folder-actions>summary{display:flex;width:auto;height:32px;gap:8px;padding:0;white-space:nowrap;font:inherit;color:var(--text)}
.header-folder-actions>summary:hover,.header-folder-actions[open]>summary{background:transparent}
.header-folder-actions>summary img{width:12px;height:12px;transform:none;opacity:.75;filter:brightness(0) invert(1)}
.header-folder-actions .project-action-menu{left:0;right:auto;top:36px;min-width:155px;font-weight:400}
.topbar .header-folder-actions .project-action-menu button{color:var(--text);border:0;background:transparent;min-height:30px}
.topbar .header-folder-actions .project-action-menu button:hover{background:var(--bg-raised)}
.topbar .header-folder-actions .project-action-menu .project-delete{color:#e4a4a4;border-top:1px solid var(--line)}
.library-folder-row .library-folder{padding-right:10px}

.library-project-dialog.folder-delete-dialog{outline:none;padding:20px;border-color:var(--line-strong)}
.folder-delete-dialog>div{display:contents}
.folder-delete-dialog h2{margin-bottom:10px}
.folder-delete-dialog p{margin:0 0 20px;line-height:18px}
.library-project-dialog.folder-delete-dialog>button,.library-project-dialog.folder-delete-dialog>div>button{display:inline-flex;width:auto;min-height:32px;padding:6px 12px;margin:0}
.library-project-dialog.folder-delete-dialog>div>.project-delete{float:right;background:#703d43;border:1px solid #91525b;color:var(--text)}
.library-project-dialog.folder-delete-dialog>div>.project-delete:hover{background:#81464e}
.folder-delete-dialog>button{background:var(--field);border:1px solid var(--line-strong)}

.library-folder-row .library-folder{direction:ltr;flex-direction:row;justify-content:flex-start;text-align:left;gap:9px;padding-left:12px;padding-right:12px}

.library-folder[aria-current=true] .folder-nav-icon{filter:brightness(0) invert(1)}
.library-sidebar-heading{direction:ltr;flex-direction:row;padding-left:12px;padding-right:5px;text-align:left}

.library-folder-row.folder-section-start{border-top:1px solid color-mix(in srgb,var(--overlay-light) 7.06%,transparent);margin-top:10px;padding-top:10px}

#printerSetup select{width:100%;height:30px;margin-top:6px}
.printer-plate-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
#printerFitStatus{min-height:16px;line-height:16px;margin:8px 0 0}
#printerFitStatus.printer-fit-error{color:#e9ad9d}

/* Sidebar follows the left alignment shown in Avi's reference. */
.library-folder-row .library-folder{flex-direction:row;justify-content:flex-start;text-align:left;padding-left:12px;padding-right:12px}
.library-sidebar-heading{flex-direction:row;text-align:left;padding-left:12px;padding-right:11px}

.project-preview,.project-preview:hover{background:var(--bg-rail)}

/* Quiet field focus; no browser-blue outlines. */


.printer-combobox{position:relative;width:100%;margin-top:6px}
.printer-combobox input{width:100%;height:30px;padding:0 26px 0 10px;border:1px solid transparent;border-radius:5px;background:var(--field);color:var(--text);text-align:center;font-size:11px}
.printer-options{position:absolute;top:calc(100% + 5px);left:0;right:0;padding:4px;background:var(--field);border:1px solid var(--line-strong);border-radius:6px;box-shadow:var(--shadow-soft);z-index:50;max-height:210px;overflow:auto}
.printer-options[hidden]{display:none}
.printer-options button{display:flex;width:100%;justify-content:flex-start;border:0;background:transparent;border-radius:4px;min-height:30px;font-size:11px;text-align:left;padding:7px 8px;white-space:normal}
.printer-options button:hover,.printer-options button.is-highlighted,.printer-options button[aria-selected=true]{background:var(--selected);color:var(--text)}
.printer-options p{padding:8px;margin:0;font-size:11px;color:var(--text-muted)}
#printerSetup #printerEnvelope{margin:7px 0;font-size:10px}
#printerSetup #printerFitStatus:empty{display:none}
#printerSetup .switch-row{margin-top:8px}

/* One shared left edge for the sidebar brand, tabs, heading and folder icons. */
.layers{--sidebar-content-start:16px}
.workspace-tabs{padding-left:var(--sidebar-content-start);padding-right:var(--sidebar-content-start);gap:20px}
.workspace-tabs button{flex:0 1 auto;justify-content:flex-start;padding-left:0;padding-right:0}
.library-sidebar{padding-left:12px;padding-right:12px}
.library-sidebar-heading{padding-left:4px}
.library-folder-row .library-folder{padding-left:3px}

/* Pointer focus must never add a ring or glow. Keyboard navigation has one quiet cue. */
:focus,:focus-visible,:focus-within:not(.editing-dock):not(.interior-sketch-tools){outline:none!important;box-shadow:none!important}
input:focus:not([aria-invalid=true]),select:focus:not([aria-invalid=true]){border-color:transparent!important}
html[data-input-mode=keyboard] :focus-visible{outline:1px solid var(--line-strong)!important;outline-offset:1px!important}

/* Printer selection opens a separate search panel; the selected value is a button. */
.printer-combobox::after{display:none}
.printer-picker-trigger{position:relative;width:100%;height:30px;padding:0 30px;border:0;background:var(--field);border-radius:5px;font-size:11px}
.printer-picker-trigger img{position:absolute;right:9px;top:7px;width:16px;height:16px;object-fit:contain;flex:none}
.printer-picker-panel{position:absolute;top:calc(100% + 5px);left:0;right:0;padding:6px;background:var(--field);border:1px solid var(--line-strong);border-radius:6px;box-shadow:var(--shadow-soft);z-index:50}
.printer-picker-panel[hidden]{display:none}
.printer-picker-panel input{margin:0 0 5px;text-align:left;padding:0 9px;background:var(--bg-panel)}
.printer-picker-panel .printer-options{position:static;padding:0;border:0;border-radius:0;box-shadow:none;max-height:180px}
.printer-picker-panel .printer-custom-action{width:100%;justify-content:flex-start;background:transparent;border:0;border-top:1px solid color-mix(in srgb,var(--overlay-light) 7.06%,transparent);border-radius:0;margin-top:5px;font-size:11px}
.printer-options label{display:block;font-size:10px;padding:4px}
.printer-options label input{margin-top:4px;text-align:center}
.printer-brand{padding:8px 8px 3px;color:var(--text-muted);font-size:10px;font-weight:500}
.printer-custom-dialog{width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-panel);color:var(--text);box-shadow:0 20px 70px color-mix(in srgb,var(--shadow-color) 40%,transparent)}
.printer-custom-dialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 53.3%,transparent)}
.printer-custom-dialog h2{font-size:16px;margin:0 0 22px;font-weight:500}
.printer-custom-dialog label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--text-2)}
.printer-custom-dialog input{width:100%;height:34px;min-width:0;border:0;border-radius:5px;background:var(--field);color:var(--text);padding:0 10px}
.printer-custom-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.printer-dimension-value{display:flex;align-items:center;border-radius:5px;background:var(--field);overflow:hidden}
.printer-dimension-value input{text-align:center;padding:0 4px}
.printer-dimension-value>span{font-size:10px;padding:0 8px;color:var(--text-muted)}
.printer-custom-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
.printer-custom-actions button{min-height:32px;padding:0 13px}

/* Never paint the home screen while a deep link is being restored. */
html:is(.route-booting,.auth-checking) .app,html:is(.route-booting,.auth-checking) .topbar{visibility:hidden}
.route-boot-loader{display:none;position:fixed;inset:0;z-index:1000;background:var(--bg-rail);align-items:center;justify-content:center}
:is(.route-booting,.auth-checking) .route-boot-loader{display:flex}
.route-boot-loader span{width:20px;height:20px;border:2px solid color-mix(in srgb,var(--overlay-light) 9.41%,transparent);border-top-color:var(--line-strong);border-radius:50%;animation:route-spin .8s linear infinite}
@keyframes route-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.route-boot-loader span{animation:none;border-color:var(--line-strong)}}
.project-placeholder{display:flex;align-items:center;justify-content:center}
.project-preview .project-placeholder-icon{display:block;width:36px;height:36px;object-fit:contain;opacity:.8}
/* Keep the last valid measurements in place while the next model is prepared. */
#heightBreakdown figcaption{margin:0}
#heightBreakdownToggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:20px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left}
#heightBreakdownToggle:hover{background:transparent;color:var(--text)}
#heightBreakdownToggle img{flex:none;width:16px;height:16px;transition:transform .26s ease;opacity:.75}
.height-details{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .28s ease,opacity .2s ease}
.height-details-inner{min-height:0;overflow:hidden;opacity:1;transition:opacity .2s ease}
#heightBreakdown.is-updating .height-details-inner{opacity:.42}
#heightBreakdown.is-collapsed .height-details{grid-template-rows:0fr;opacity:0}
#heightBreakdown.is-collapsed #heightBreakdownToggle img{transform:rotate(-90deg)}
@media(prefers-reduced-motion:reduce){.height-details,.height-details-inner,#heightBreakdownToggle img{transition:none}}
#heightBreakdown{padding:0}
#heightBreakdown figcaption{padding:12px}
#heightSectionDrawing{padding:0 12px}
#heightBreakdown .diagram-box-summary{margin:4px 0 0;padding:12px}
@media(max-width:800px){#heightBreakdown figcaption{padding:10px}#heightSectionDrawing{padding:0 10px}#heightBreakdown .diagram-box-summary{padding:10px}}

/* Avi's supplied chevron is the single directional control symbol. */
:root{--control-chevron:url("/icons/user-chevron.svg")}
select{appearance:none;-webkit-appearance:none;background-image:var(--control-chevron);background-position:right 10px center;background-repeat:no-repeat;background-size:10px 6px;padding-right:28px}
.inspector select,#gridfinitySettings .grid-option-row>select{background-image:var(--control-chevron);background-size:10px 6px}
.printer-picker-trigger img{width:10px;height:6px;top:12px;right:10px}
.header-folder-actions>summary img,#heightBreakdownToggle img{width:10px;height:6px;object-fit:contain;filter:none}
.chevron-left{transform:rotate(90deg)}.chevron-right{transform:rotate(-90deg)}
.inspector .method-cycle>button:first-child,.inspector .method-cycle>button:last-child{padding-bottom:0}
.method-cycle img{width:10px;height:6px;object-fit:contain;flex:none}


.workflow-arrow.navigation-download img{width:16px;height:16px;transform:none}
.printer-picker-trigger img,.header-folder-actions>summary img{transition:transform .2s ease}
.printer-picker-trigger[aria-expanded=true] img,.header-folder-actions[open]>summary img{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.printer-picker-trigger img,.header-folder-actions>summary img{transition:none}}

.printer-picker-panel .printer-options{max-height:min(360px,45vh);scrollbar-width:thin;scrollbar-color:var(--text-disabled) transparent}
/* Project inspector spans the header area while the canvas keeps its own header. */
@media(min-width:751px){
 .app:not(.files-view):not(.upload-stage)>.inspector{position:fixed;top:0;right:0;bottom:0;width:var(--inspector-width);height:100dvh;z-index:21}
}
@media(min-width:751px){
 .app:not(.files-view):not(.upload-stage)>.inspector>.panel-heading{height:56px;min-height:56px}
}
/* Inspector type scale: stage > section > subsection > field label. */
.inspector{}
.inspector>.panel-heading h2{font-size:var(--inspector-title-size);line-height:20px;font-weight:600;color:var(--text)}
.inspector section>h3,.inspector .help-heading h3{font-size:var(--inspector-section-size);line-height:18px;font-weight:500;color:var(--text)}
.inspector .inspector-subsection>h3,.inspector #layoutProperties h3,.inspector .advanced-group h4,.inspector .footprint-settings h4{font-size:var(--inspector-subtitle-size);line-height:16px;font-weight:500;color:var(--text-2)}
.inspector .advanced>summary{font-size:var(--inspector-section-size);line-height:18px;font-weight:500;color:var(--text)}
.delete-confirm-dialog{width:min(380px,calc(100vw - 32px));padding:22px;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-panel);color:var(--text);box-shadow:0 16px 60px color-mix(in srgb,var(--shadow-color) 40%,transparent)}
.delete-confirm-dialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 53.3%,transparent)}
.delete-confirm-dialog h2{font-size:15px;font-weight:500;margin:0 0 12px}
.delete-confirm-dialog p{font-size:12px;line-height:1.6;color:var(--text-2);margin:0;overflow-wrap:anywhere}
.delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.delete-confirm-actions button{padding:0 14px;min-height:32px;background:var(--selected);border:0}
.delete-confirm-actions .delete-confirm-action{background:#a63e45;color:var(--text)}
.delete-confirm-actions .delete-confirm-action:hover{background:#b6474e}
/* Close vertically, then compact toward the right; opening reverses the sequence. */
#heightBreakdown{--height-card-width:268px;width:var(--height-card-width);transition:width .22s ease;transition-delay:0s}
#heightBreakdown.is-collapsed{width:180px;transition-delay:.28s}
#heightBreakdown .height-details{transition:grid-template-rows .28s ease .22s,opacity .18s ease .22s}
#heightBreakdown.is-collapsed .height-details{transition-delay:0s,0s}
#heightBreakdownToggle>span{white-space:nowrap}
@media(max-width:800px){#heightBreakdown{--height-card-width:230px}}
@media(prefers-reduced-motion:reduce){#heightBreakdown,#heightBreakdown .height-details{transition:none!important;transition-delay:0s!important}}
/* Workspace tabs are retained for future reuse; creation belongs in the header. */
.workspace-tabs[hidden]{display:none}
.topbar{grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:0;padding:0}
.topbar>.header-left{padding:0 16px;min-width:0}
.header-workspace{display:flex;align-items:center;min-width:0;height:56px;padding:0 16px 0 32px}
.header-workspace .library-header-title{position:static;display:flex;flex:none;margin:0;max-width:none;white-space:nowrap}
.header-workspace .library-header-title[hidden]{display:none}
.header-workspace .header-search{position:static;flex:0 1 320px;width:320px;min-width:80px;margin-left:30px;height:34px}
.header-workspace .project-identity{flex:1;min-width:0}
.header-workspace .project-identity input{max-width:280px}
body:has(.app.files-view) .header-workspace .project-identity{display:none}
.header-workspace .header-create-project{flex:none;display:flex;align-items:center;justify-content:center;gap:7px;height:34px;min-height:34px;margin-left:auto;padding:0 12px;background:var(--selected);color:var(--text);border:1px solid var(--line-strong);border-radius:6px;font-size:12px;font-weight:500;transition:background .16s,border-color .16s}
.header-create-project img{width:14px;height:14px;filter:brightness(0) invert(1)}
.header-workspace .header-create-project:hover,.header-workspace .header-create-project:focus{background:var(--blue);border-color:var(--blue);color:var(--text)}
@media(min-width:751px){body:has(.app:not(.files-view):not(.upload-stage)) .header-workspace{margin-right:var(--inspector-width)}}
@media(max-width:600px){body:has(.app.files-view) .topbar{grid-template-columns:150px minmax(0,1fr)}.header-workspace{padding:0 10px;gap:8px}.header-workspace .library-header-title{font-size:13px;max-width:90px;overflow:hidden}.header-workspace .header-search,.header-workspace .header-search:focus{width:80px;min-width:34px;margin-left:22px;flex:1}.header-workspace .header-create-project{width:32px;padding:0}.header-create-project>span{display:none}}
.project-preview .project-placeholder-icon{width:48px;height:52px;opacity:1}
.project-card>.project-actions>summary{opacity:0;pointer-events:none;transition:opacity .14s ease}
.project-card:hover>.project-actions>summary,.project-card:focus-within>.project-actions>summary,.project-card>.project-actions[open]>summary{opacity:1;pointer-events:auto}
@media(hover:none){.project-card>.project-actions>summary{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.project-card>.project-actions>summary{transition:none}}
.header-workspace .header-create-project{width:34px;padding:0}
.library-folder-row .library-folder{padding-left:10px;padding-right:10px}
.project-action-menu{display:flex;flex-direction:column;gap:2px;white-space:normal}
.project-action-menu>button{flex:none;display:flex;min-width:0;white-space:normal;text-align:left}
.header-folder-actions .project-action-menu{width:180px}

.project-create-preview{display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-muted)}
.project-create-plus{position:relative;width:26px;height:26px;flex:none}
.project-create-plus:before,.project-create-plus:after{content:"";position:absolute;left:50%;top:50%;background:currentColor;border-radius:1px;transform:translate(-50%,-50%)}
.project-create-plus:before{width:24px;height:1.5px}.project-create-plus:after{height:24px;width:1.5px}
.project-create-preview:hover{color:var(--text);background:var(--bg-panel);border-color:var(--line-strong)}
.project-create-card h2{color:var(--text-2)}



.creation-dialog{width:min(740px,calc(100vw - 32px));padding:20px;background:var(--bg-panel);color:var(--text);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 20px 70px color-mix(in srgb,var(--shadow-color) 40%,transparent);max-height:calc(100dvh - 32px);overflow:auto}
.creation-dialog::backdrop{background:color-mix(in srgb,var(--shadow-color) 46.7%,transparent)}.creation-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.creation-dialog h2{font-size:15px;font-weight:600;margin:0}
.creation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.creation-option{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;padding:14px;text-align:left;white-space:normal;border:1px solid var(--line-strong);background:var(--bg-panel);border-radius:9px;color:var(--text);min-width:0}.creation-option:hover{background:var(--field);border-color:var(--line-strong)}.creation-option:disabled{opacity:1;cursor:default;background:var(--bg-panel);border-color:var(--line)}.creation-option:disabled strong{color:var(--text-2)}.creation-option>span{font-size:10px;line-height:15px;color:var(--text-muted)}.creation-option strong{font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:5px}.creation-option small{font-size:9px;color:var(--text-muted);font-weight:400}.creation-art{height:90px;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.creation-art img{width:44px;height:48px}.creation-art-photo span{position:absolute;width:24px;height:9px;background:var(--primary-color);transform:rotate(-35deg);border-radius:5px;left:calc(50% - 12px);top:43px}.creation-art-custom{gap:2px;transform:skewY(-12deg)}.creation-art-custom i{width:22px;height:32px;background:var(--toggle-off);border:1px solid var(--line-strong);border-radius:3px}.creation-art-custom i:nth-child(2){height:44px}.creation-art-skadis{background:radial-gradient(ellipse at center,var(--toggle-off) 1px,transparent 2px);background-size:12px 18px;background-position:center;width:86px;align-self:center;border:1px solid var(--line-strong);border-radius:4px;height:72px;margin-top:9px;margin-bottom:15px}.creation-art-skadis i{width:42px;height:26px;background:var(--toggle-off);border:1px solid var(--icon);transform:skewY(-8deg);border-radius:3px;box-shadow:3px 4px 0 var(--shadow-color)}
@media(max-width:600px){.creation-options{grid-template-columns:1fr}.creation-option{display:grid;grid-template-columns:70px 1fr;column-gap:12px;align-items:center}.creation-art{grid-row:1/3;height:65px;margin:0}.creation-option>span{grid-column:2}.creation-art-skadis{width:64px;height:58px;margin:0}.creation-dialog{padding:16px}}
@media(prefers-reduced-motion:no-preference){.creation-dialog[open]{animation:creation-enter .16s ease-out}@keyframes creation-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.custom-box-project .footprint-settings .switch-row,.custom-box-project #replacePhoto,.custom-box-project #clearanceSetup{display:none!important}.custom-compartments .two{margin-top:8px}.custom-compartments #customInside{margin:7px 0 0}

.custom-box-project #pocketDepthSection{display:none!important}

.custom-wall-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.custom-wall-heading h3{margin:0}.custom-wall-heading button{min-height:26px;font-size:11px}.custom-wall-item{width:100%;justify-content:flex-start;margin-top:5px}.custom-wall-item[aria-pressed=true]{background:var(--selected)}.custom-box-project .editing-dock{display:none!important}

.custom-addition-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}.custom-addition-tools button{justify-content:flex-start;min-height:28px;font-size:11px}.custom-addition-view{display:flex;gap:10px;align-items:center;justify-content:space-between}.custom-addition-view .switch-row{margin:0;font-size:10px;gap:7px}.custom-addition-view button,.custom-addition-history button{min-height:26px;font-size:10px}.custom-addition-history{display:flex;gap:5px;margin:8px 0}.custom-edge-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:8px 0}.custom-edge-buttons button{font-size:10px;min-height:25px;padding:3px}.custom-edge-buttons button[aria-pressed=true]{background:var(--toggle-off);color:var(--text)}.custom-additions-panel h4{font-size:11px;margin:12px 0 6px}.custom-additions-panel .single-number-row{margin:7px 0}.custom-additions-panel [hidden]{display:none!important}

.custom-global-error{margin:0;padding:9px 16px;border-bottom:1px solid var(--line-strong)}.custom-global-error[hidden]{display:none}
/* Project editing keeps the header focused on the current model. */
body:has(.app:not(.files-view)) .header-workspace .header-create-project{display:none}

/* Direct compartment editing: clear plan first, geometry preview on demand. */
.partition-panel[hidden],.partition-canvas[hidden]{display:none!important}
.partition-view-switch,.partition-axis{display:flex;gap:4px;padding:3px;background:var(--bg-panel);border-radius:6px;margin:10px 0}
.partition-view-switch button,.partition-axis button{flex:1;min-width:0;border:0;background:transparent;font-size:11px;min-height:29px;padding:4px 6px}
.partition-view-switch button[aria-pressed=true],.partition-axis button[aria-pressed=true]{background:var(--selected);color:var(--text)}
.partition-selection{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0 5px;font-size:11px}
.partition-selection strong{font-weight:500}.partition-selection span{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:10px}
.partition-primary{width:100%;margin-top:7px;background:var(--field);border:1px solid var(--line-strong);font-size:11px;min-height:31px}.partition-primary:hover{background:var(--blue);border-color:var(--blue)}
.partition-actions{display:grid;gap:5px;margin-top:10px}.partition-actions button{font-size:11px;justify-content:flex-start;min-height:29px}.partition-actions [data-partition-action=delete]{color:#e7aaaa}
.partition-panel .single-number-row{margin:9px 0}.partition-panel [hidden]{display:none!important}
.partition-canvas{position:absolute;inset:0;z-index:8;background:var(--bg-rail);display:grid;grid-template-rows:50px minmax(0,1fr) 58px;padding:0 28px;animation:partition-fade .18s ease-out}
.partition-canvas-heading,.partition-canvas-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:var(--text-2)}.partition-canvas-heading>span:first-child{font-size:12px;color:var(--text);font-weight:500}.partition-canvas-footer button{font-size:11px;min-height:30px;padding:0 13px}
.partition-canvas svg{width:100%;height:100%;min-height:0;overflow:visible;touch-action:none;user-select:none}
.partition-shell{fill:var(--selected);stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke}
.partition-cell{fill:var(--bg-panel);stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .12s}
.partition-cell:hover{fill:var(--field)}.partition-cell.selected{fill:var(--primary-color);stroke:var(--primary-color);stroke-width:1.3}
.partition-cell-number{fill:var(--text);font-size:4px;font-weight:500;text-anchor:middle;pointer-events:none}.partition-cell-size{fill:#9eacbe;font-size:2.7px;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}
.partition-divider{fill:var(--toggle-off);stroke:transparent;stroke-width:10px;vector-effect:non-scaling-stroke;cursor:grab;paint-order:stroke fill}.partition-divider:hover,.partition-divider.selected{fill:var(--primary-color)}.partition-divider:active{cursor:grabbing}
.partition-overall{fill:var(--text);font-size:2.7px;text-anchor:middle}.partition-center-guide{fill:none;stroke:var(--primary-color);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none}.partition-guide-label{font-size:2.5px;fill:var(--primary-color);text-anchor:middle}
.partition-canvas :focus-visible{outline:1px solid var(--icon);outline-offset:3px}.partition-canvas :focus:not(:focus-visible){outline:none}
.custom-additions-panel .custom-addition-view{display:none}
@keyframes partition-fade{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.partition-canvas{animation:none}.partition-cell{transition:none}}
@media(max-width:900px){.partition-canvas{padding:0 12px}.partition-canvas-footer{font-size:10px}.partition-canvas-footer span{max-width:65%}}
.partition-quick{position:absolute;left:50%;bottom:72px;transform:translateX(-50%);display:flex;gap:4px;padding:5px;background:var(--field);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 22px color-mix(in srgb,var(--shadow-color) 20%,transparent);white-space:nowrap}.partition-quick[hidden]{display:none}.partition-quick button{min-height:28px;font-size:11px;padding:4px 11px;background:transparent;border:0}.partition-quick button:hover{background:var(--selected)}.partition-existing-feature{fill:color-mix(in srgb,var(--shadow-color) 20%,transparent);stroke:var(--line-strong);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}
.partition-cell-fields{margin:6px 0 12px}.partition-cell-fields label{font-size:10px;color:var(--text-2);display:flex;flex-direction:column;gap:5px}.partition-cell-fields input{min-width:0;width:100%;text-align:center}.partition-cell-size{pointer-events:all;cursor:text}.partition-inline{position:absolute;z-index:4;display:flex;align-items:center;width:100px;height:33px;background:var(--field);border:1px solid var(--line-strong);border-radius:5px;box-shadow:0 5px 15px color-mix(in srgb,var(--shadow-color) 26.7%,transparent)}.partition-inline[hidden]{display:none}.partition-inline input{min-width:0;width:70px;height:100%;padding:0 5px;text-align:center;border:0;background:transparent;color:var(--text);font-size:12px}.partition-inline>span{font-size:10px;color:var(--text-2);padding-right:7px}.partition-inline input[aria-invalid=true]{color:#eeb1b1}
.partition-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.partition-heading h3{margin:0}.partition-heading .custom-addition-history{margin:0}.partition-cell-fields label[hidden]{display:none!important}
.sidebar-workflow .guide-panel #guideDone.navigation-download{width:auto;min-width:0;flex:0 1 auto;padding:0 9px;gap:5px;font-size:11px;white-space:nowrap}#guideDoneLabel[hidden]{display:none}
.partition-cell-fields:not(:has(label:not([hidden]))){display:none}
.custom-sizing-tabs[hidden],#customGridSizeSummary[hidden]{display:none!important}.custom-sizing-tabs{margin:8px 0 10px}#customGridSizeSummary{margin:0 0 8px;color:var(--text-2);font-variant-numeric:tabular-nums}

/* Keep Trash above the account area, separate from workspace navigation. */
#libraryTrash{position:absolute;left:12px;right:12px;bottom:76px}
.library-sidebar:has(#libraryTrash .library-folder){padding-bottom:48px}
