#modal:has(.library-browser){width:min(1120px,calc(100vw - 28px))}.library-browser-toolbar{display:grid;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}.library-search-row{display:flex;gap:10px}.library-search-row>input{flex:1;min-width:100px}.library-search-row>.button{white-space:nowrap}.library-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.library-filter-row label{font-size:12px;color:var(--muted)}.library-view-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.library-view-row>span{margin-right:auto;color:var(--muted);font-variant-numeric:tabular-nums}.library-extra-filters>summary,.library-item-more>summary{cursor:pointer;font-size:12px;color:var(--gold-bright);padding:5px 0}.library-extra-filters .library-filter-row{margin-top:8px}.library-results{display:grid;gap:18px}.library-results-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.library-results-grid.library-size-small{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.library-results-grid.library-size-large{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.library-browser-item{min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--surface)}.library-browser-item .motif-art{height:210px;background:var(--bg);padding:12px}.library-size-small .motif-art{height:155px}.library-size-large .motif-art{height:285px}.library-browser-item .motif-name{font-size:13px;line-height:1.4;padding-top:8px;white-space:normal;overflow-wrap:anywhere}.library-item-meta{font-size:11px;color:var(--muted);padding-top:9px}.library-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.library-tags>span{padding:2px 7px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.library-item-more .button{margin:5px 5px 0 0;font-size:11px}.library-results-list{grid-template-columns:1fr}.library-results-list .library-browser-item{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,1fr);gap:20px;align-items:center}.library-results-list .motif-card{display:grid;grid-template-columns:85px 1fr;text-align:left;gap:2px 12px}.library-results-list .motif-art{height:95px;grid-row:span 3;padding:5px}.library-results-list .motif-name{align-self:end}.library-results-list .library-tile-actions{padding-left:97px}.library-motif-tile{position:relative}.library-favorite{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:20px;line-height:1}.library-favorite.selected,#lbFavorites.selected{color:var(--gold-bright);border-color:var(--gold)}.library-results-list .library-favorite{right:auto;left:56px}.editor-workflow-group{border-bottom:1px solid var(--line)}.editor-workflow-group>summary{display:flex;gap:10px;align-items:center;cursor:pointer;padding:17px 16px;background:var(--surface);border-bottom:1px solid var(--line);list-style:none}.editor-workflow-group>summary::-webkit-details-marker{display:none}.editor-workflow-group>summary::after{content:'＋';margin-left:auto;color:var(--muted)}.editor-workflow-group[open]>summary::after{content:'−'}.editor-group-number{background:var(--bg);border:1px solid var(--gold);color:var(--gold-bright);border-radius:6px;padding:5px 8px;font:12px monospace}.editor-workflow-group summary strong{display:block;color:var(--text);font-size:13px}.editor-workflow-group summary small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.editor-workflow-group .settings-section{border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px}.editor-workflow-group .settings-section:last-child{border-bottom:0}.editor-workflow-group .settings-section h3{font-size:12px;color:var(--text);font-weight:600;line-height:1.5}.editor-workflow-group .field,.editor-workflow-group .field-grid label{font-size:11px;line-height:1.5}.editor-workflow-group .microcopy{line-height:1.6}.editor-workflow-group .layout-memory>details{margin-top:10px}@media(max-width:600px){.library-filter-row{grid-template-columns:1fr 1fr}.library-filter-row>label:last-child{grid-column:1/-1}.library-results-grid,.library-results-grid.library-size-small,.library-results-grid.library-size-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.library-browser-item{padding:7px}.library-browser-item .motif-art,.library-size-large .motif-art{height:175px}.library-results-list .library-browser-item{grid-template-columns:1fr;gap:6px}.library-search-row{flex-wrap:wrap}.library-view-row select{max-width:155px}}@media(max-width:390px){.library-results-grid,.library-results-grid.library-size-large{grid-template-columns:1fr}.library-results-grid.library-size-small{grid-template-columns:repeat(2,minmax(0,1fr))}}

.library-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.library-sort-row{grid-template-columns:minmax(150px,240px)}.library-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:12px}.library-category-targets{display:flex;gap:7px;flex-wrap:wrap;max-height:145px;overflow-y:auto;padding:3px}.category-target{display:flex;align-items:center;gap:8px;font-size:12px;border-radius:18px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.category-target small{opacity:.7;font-variant-numeric:tabular-nums}.category-target.selected{border-color:var(--gold);background:var(--surface);color:var(--gold-bright)}.library-drag-hint{margin:0;font-size:11px}.motif-card[draggable=true]{cursor:grab}.motif-card[draggable=true]:active{cursor:grabbing}.motif-dragging{opacity:.45}.category-drop-active{outline:2px solid var(--gold)!important;outline-offset:2px;background:var(--surface)!important;box-shadow:0 0 14px color-mix(in srgb,var(--gold) 25%,transparent);transform:translateY(-1px)}.category-drop-done{animation:category-drop-flash .7s ease-out}.library-management-controls{padding:8px 12px}.library-management-controls .button{width:100%;font-size:11px}.category-tabs{flex-wrap:wrap;max-height:180px;overflow-y:auto}.category-tabs button{white-space:normal;overflow-wrap:anywhere;max-width:100%}@keyframes category-drop-flash{from{box-shadow:0 0 0 4px var(--gold)}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.category-drop-done{animation:none}.category-drop-active{transform:none}}@media(max-width:600px){.library-extra-filters .library-filter-row>label:last-child{grid-column:auto}}

.settings-scroll.editor-workflow{display:block}
.settings-pane>.editor-category-nav{display:grid;height:auto;min-height:0;align-content:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:10px 12px;flex:none;position:sticky;top:0;z-index:4;background:var(--theme-panel,var(--surface));border-bottom:1px solid var(--line);isolation:isolate}
.editor-category-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:68px;padding:9px 5px;border:1px solid var(--line);border-radius:7px;background:var(--theme-raised,var(--raised));color:var(--muted);font-size:11px;font-weight:600;line-height:1.35;text-align:center;overflow-wrap:anywhere}
.editor-category-nav>button>.action-glyph{width:19px;height:19px;color:var(--gold-bright)}
.editor-category-nav>button:hover,.editor-category-nav>button[aria-selected=true]{background:var(--theme-selected,var(--raised));border-color:var(--gold);color:var(--gold-bright)}
.editor-category-nav>button[aria-selected=true]{box-shadow:inset 0 -2px var(--gold)}
.editor-category-nav>button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}
.editor-workflow-group[hidden]{display:none!important}
.editor-workflow-group:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}






.library-pane .search>input#motifSearch{background:transparent;border:0;border-radius:0;box-shadow:none;outline:none;margin-top:0;height:100%;color:var(--text)}
.library-pane .search:focus-within{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}


.category-target{height:auto;min-height:34px;padding-top:7px;padding-bottom:7px}

.site-plan{width:100%;height:180px;background:var(--bg);border:1px solid var(--line);border-radius:8px;touch-action:none;user-select:none;color:var(--gold-bright)}.site-plan [data-plan-item]{cursor:grab}.site-plan [data-plan-item]:hover,.site-plan [data-plan-item]:focus{color:var(--text);outline:none}.site-item-form{display:grid;gap:14px}.site-item-form h4{margin:6px 0 0;padding-top:12px;border-top:1px solid var(--line)}.site-item-form input,.site-item-form select{min-width:0}.site-range{display:flex;align-items:center;gap:10px}.site-range input{flex:1}.site-range output{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--gold-bright)}#sceneSettings{padding:12px;border:1px solid var(--line);border-radius:8px}#sceneSettings:empty{display:none}.scene-item>[data-scene-select]{width:100%;text-align:left;white-space:normal}.scene-item>[data-scene-select] small{display:block;overflow-wrap:anywhere}.scene-item .selected{border-color:var(--gold);color:var(--gold-bright)}.scene-layout>div{min-width:0}.scene-layout .repair-row{flex-wrap:wrap}

.gate-structure-fields{display:grid;gap:12px}.gate-structure-fields fieldset{border:1px solid var(--line);border-radius:7px;min-width:0;padding:12px}.gate-structure-fields legend{color:var(--gold-bright);font-size:12px;padding:0 5px}

#modal[open]{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);min-width:min(320px,calc(100vw - 16px));min-height:min(240px,calc(100dvh - 16px));container-type:inline-size}#modal>.modal-header{flex:0 0 auto;min-width:0;padding:18px 24px}#modal>.modal-header>div{min-width:0;flex:1}#modal>.modal-header h2{overflow-wrap:anywhere}#modal>#modalBody{flex:1 1 auto;min-height:0;overflow:auto;max-height:none;padding-bottom:36px}.dialog-resize-handle{position:absolute;right:0;bottom:0;width:26px;height:26px;background:var(--surface);border:0;border-radius:6px 0 10px 0;color:var(--gold-bright);font-size:18px;cursor:nwse-resize;touch-action:none;z-index:10}.dialog-size-reset{flex-shrink:0;margin-left:8px}.audit-curve-tools{padding:10px 12px;border-bottom:1px solid var(--line);background:var(--theme-raised)}.audit-curve-tools .repair-row{flex-wrap:wrap;gap:7px}.audit-curve-tools .view-switch{flex-wrap:wrap}.audit-curve-tools .microcopy{padding:8px 0}.audit-curve-tools summary{color:var(--gold-bright);font-size:11px;padding:4px 0;cursor:pointer}.audit-curve-displacement label{max-width:140px}.audit-preview-wrap>svg{user-select:none;min-height:220px}.audit-preview-wrap>svg.curve-edit-mode{cursor:default}.curve-edit-mode [data-audit-entity]{cursor:move}.audit-preview-toolbar{flex-wrap:wrap}.repair-panel>details>summary{cursor:pointer;color:var(--gold-bright);padding:10px 0}.audit-curve-tools [hidden],.gate-structure-fields [hidden]{display:none!important}
@container(max-width:760px){.audit-layout,.scene-layout,.environment-layout,.project-review{grid-template-columns:minmax(0,1fr)!important}.audit-results{height:260px}.environment-controls{max-width:none}.audit-summary{gap:6px}.audit-summary>div{padding:8px}.audit-summary strong{font-size:18px}.scene-layout canvas{max-width:100%}.modal-actions{flex-wrap:wrap}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#categoryTabs.category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:14px 11px;align-content:start;max-height:340px;overflow-y:auto}
#categoryTabs.category-tabs>button{display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:39px;margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:11px;line-height:1.4;text-align:left;white-space:normal;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
#categoryTabs.category-tabs>button:hover{border-color:var(--gold);background:var(--surface-hover,var(--surface))}
#categoryTabs.category-tabs>button.selected{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:700;box-shadow:inset 3px 0 0 #fff5}
#categoryTabs.category-tabs>#manageCategories{grid-column:1/-1;justify-content:center;min-height:34px;margin-top:5px;background:transparent;color:var(--muted);border-style:dashed}
.audit-snap-tools{border-top:1px solid var(--line);padding-top:9px}.audit-snap-tools input[type=number]{width:85px}.audit-snap-tools label{font-size:11px}
.assembly-change-confirm{padding:16px;border:1px solid var(--gold);background:var(--surface);border-radius:8px;margin:12px 0}.assembly-change-confirm button{margin:5px 6px 0 0}.environment-quantity-tools{padding:10px 0}.environment-background-controls{border:1px solid var(--line);padding:12px;border-radius:8px}.environment-background-controls .view-switch{display:flex;flex-wrap:wrap;margin:10px 0}.environment-background-controls .view-switch button{flex:1;white-space:normal}.environment-quantity-tools [hidden]{display:none!important}
@container(max-width:440px){.field-grid,.audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-curve-tools .button{white-space:normal;height:auto;min-height:32px}.audit-preview-wrap{min-width:0}.audit-summary span{overflow-wrap:anywhere}}
.library-pane{position:relative}.library-width-handle{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:ew-resize;touch-action:none;z-index:9}.library-width-handle:hover,.library-width-handle:focus-visible{background:var(--gold);opacity:.55}.library-height-handle{flex:0 0 11px;cursor:ns-resize;touch-action:none;display:grid;place-items:center;border-top:1px solid var(--line)}.library-height-handle::after{content:"";width:38px;height:3px;border-radius:3px;background:var(--muted)}.library-height-handle:hover::after{background:var(--gold)}.library-pane.library-height-resized{overflow-y:auto}.studio.library-resized{grid-template-columns:var(--library-width) minmax(280px,1fr) var(--settings-width)}.library-resized .motif-art{height:clamp(120px,calc(var(--library-width) * .53),260px)}#categoryTabs.category-tabs{max-height:210px;flex-shrink:0}@media(max-width:950px) and (min-width:641px){.studio.library-resized{grid-template-columns:var(--library-width) minmax(280px,1fr)}}@media(max-width:640px){.library-width-handle{display:none}}
.preview-export-layout>div:last-child{min-width:0}.preview-color-field>label{display:block;margin-bottom:8px}.preview-color-value{display:flex;align-items:center;gap:10px}.preview-color-value input[type=color]{width:48px;height:40px;padding:4px;cursor:pointer;border-radius:8px;flex-shrink:0}.preview-color-value input[type=text]{width:110px;font-family:monospace;letter-spacing:1px}.preview-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.preview-color-swatch{width:28px;height:28px;padding:0;border:2px solid var(--line);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 2px transparent;transition:transform .14s,box-shadow .14s}.preview-color-swatch:hover{transform:translateY(-2px)}.preview-color-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--gold);border-color:var(--surface)}.preview-color-swatch:disabled{cursor:not-allowed;opacity:.3}#imageExportPreview{user-select:none;touch-action:none;transition:box-shadow .18s}#imageExportPreview.interactive-orbit{cursor:grab}#imageExportPreview.interactive-orbit:active{cursor:grabbing;box-shadow:0 0 0 2px var(--gold)}.preview-export-layout .button{transition:transform .14s,background .14s}.preview-export-layout .button:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.preview-color-swatch,.preview-export-layout .button,#imageExportPreview{transition:none}.preview-color-swatch:hover,.preview-export-layout .button:active{transform:none}}@container(max-width:760px){.preview-export-layout{grid-template-columns:minmax(0,1fr)!important}}
#manualOverlay{overflow:hidden;padding:10px;container-type:inline-size}.vector-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,310px);gap:14px;height:100%;min-height:0;width:100%;min-width:0}.vector-viewport{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;overflow:hidden}.vector-controls{min-width:0;min-height:0;overflow-y:auto;padding:4px 10px 18px 4px;overscroll-behavior:contain}.vector-controls>.repair-row{padding:8px 0;border-bottom:1px solid var(--line)}.vector-controls .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vector-controls .button{height:auto;min-height:30px;padding:7px 9px;white-space:normal}.vector-controls label{min-width:0}.vector-controls input[type=number],.vector-controls select{min-width:0;max-width:100%}.vector-controls>details{border-top:1px solid var(--line);padding:12px 0}.vector-controls>details>summary{cursor:pointer;color:var(--gold-bright);margin-bottom:8px}.vector-controls .modal-actions{position:sticky;bottom:-18px;background:var(--surface);padding:12px 0;margin-top:12px;z-index:2}.vector-viewport #vectorCanvas,#manualOverlay .vector-viewport #vectorCanvas{width:100%;height:100%!important;min-height:0;border:1px solid var(--line);border-radius:8px}.vector-viewport #vectorStatus{margin:0;padding:2px 4px;font-size:11px}.vector-workspace.controls-left{grid-template-columns:minmax(245px,310px) minmax(0,1fr)}.vector-workspace.controls-left .vector-controls{grid-column:1;grid-row:1}.vector-workspace.controls-left .vector-viewport{grid-column:2;grid-row:1}#modal>#modalBody:has(>.vector-workspace){height:min(74dvh,860px);overflow:hidden;display:flex;padding:14px;min-height:0}#modalBody>.vector-workspace{flex:1}.vector-controls .vector-navigation-help{margin:4px 0}.vector-view-tools{margin:0!important;flex-wrap:wrap;gap:5px}.vector-view-tools #vectorSwapPanels{margin-right:auto}@container(max-width:720px){.vector-workspace,.vector-workspace.controls-left{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) minmax(140px,.85fr);gap:10px}.vector-workspace.controls-left .vector-viewport,.vector-workspace .vector-viewport{grid-column:1;grid-row:1}.vector-workspace.controls-left .vector-controls,.vector-workspace .vector-controls{grid-column:1;grid-row:2;padding-top:8px;border-top:1px solid var(--line)}#vectorSwapPanels{display:none}}

.assembly-editor{flex:0 0 auto;min-width:0;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line);container-type:inline-size}.assembly-editor[hidden]{display:none}.assembly-editor-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.assembly-editor-heading>strong{font-size:12px;color:var(--text)}.assembly-editor-heading .button{min-height:28px;height:auto;font-size:10px;padding:6px 8px;white-space:normal}.assembly-step-buttons{display:flex;gap:4px}.assembly-editor-list{position:relative;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 7px;scrollbar-width:thin}.assembly-part{flex:0 0 178px;display:flex;align-items:center;gap:9px;min-width:0;min-height:67px;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px;color:var(--text);transition:border-color .15s,background .15s}.assembly-part svg{width:36px;height:49px;flex-shrink:0;color:var(--gold-bright)}.assembly-part>span{min-width:0}.assembly-part strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assembly-part small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}.assembly-part.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--surface))}.assembly-part.selected small:last-child{color:var(--gold-bright);font-weight:700}.assembly-part:hover{border-color:var(--gold)}.assembly-targets{display:grid;gap:12px;max-height:34dvh;overflow:auto;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.assembly-targets label{min-width:0;overflow-wrap:anywhere}.assembly-editor[inert]{opacity:.6}@container(max-width:420px){.assembly-part{flex-basis:145px}.assembly-editor-heading .assembly-step-buttons{margin-left:auto}}@media(prefers-reduced-motion:reduce){.assembly-part{transition:none}}@media print{.assembly-editor{display:none}}

#modal>#modalBody:has(>.pinned-workspace){height:min(78dvh,940px);overflow:hidden;display:flex;min-height:0;padding:14px}.pinned-workspace.environment-layout,.pinned-workspace.scene-layout,.pinned-workspace.preview-export-layout,.pinned-workspace.audit-layout,.pinned-workspace.library-preview-layout,.pinned-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(265px,350px)!important;gap:16px;flex:1;min-width:0;min-height:0;height:100%;margin:0!important}.pinned-preview{display:flex;min-height:0;min-width:0;overflow:hidden;background:var(--theme-stage,var(--bg));border:1px solid var(--line);border-radius:9px}.pinned-stage{display:grid;place-items:center;flex:1;min-width:0;min-height:0;overflow:hidden}.pinned-stage>canvas,.pinned-stage>svg,.pinned-stage>img,.pinned-stage>.library-preview-canvas{grid-area:1/1;min-height:0!important;max-height:100%;max-width:100%;margin:0!important;flex:none}.pinned-stage>[hidden]{display:none!important}.pinned-stage>svg:not([data-preview-overlay]){width:100%!important;height:100%!important}.pinned-controls{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 10px 20px 2px;overscroll-behavior:contain}.pinned-controls>div,.pinned-controls form,.pinned-controls .environment-controls{min-width:0;max-width:none;height:auto;max-height:none}.pinned-controls .audit-results{height:auto;max-height:none;overflow:visible}.pinned-controls .audit-issue-list{height:auto;max-height:none;overflow:visible}.pinned-controls .audit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.pinned-controls .audit-summary>div{padding:10px}.pinned-controls .audit-summary strong{font-size:21px}.pinned-controls .modal-actions{display:flex;flex-wrap:wrap;gap:8px}.pinned-controls .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pinned-controls .button{height:auto;min-height:30px;white-space:normal}.pinned-controls .assembly-summary{display:block}.pinned-controls .assembly-summary>div{margin:8px 0}.pinned-controls .artwork-cards{grid-template-columns:1fr}.pinned-controls .audit-preview-wrap:empty{display:none}.dialog-floating-toggle{height:auto!important;min-height:30px;font-size:11px;white-space:normal}.dialog-floating-toggle[aria-pressed=true]{border-color:var(--gold);color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 15%,var(--surface))}.modal-header[data-floating=true]{cursor:move;touch-action:none;user-select:none}.modal-header[data-floating=true]:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}@container(max-width:720px){.pinned-workspace.environment-layout,.pinned-workspace.scene-layout,.pinned-workspace.preview-export-layout,.pinned-workspace.audit-layout,.pinned-workspace.library-preview-layout,.pinned-workspace{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(80px,1.1fr) minmax(80px,1fr);gap:10px}.pinned-preview{grid-row:1}.pinned-controls{grid-row:2;border-top:1px solid var(--line);padding-top:10px}.dialog-floating-toggle{max-width:92px}#modal>.modal-header{padding:10px 12px}#modal>.modal-header h2{font-size:18px}}

.pinned-workspace{align-items:stretch!important}.pinned-controls .environment-controls{grid-template-columns:minmax(0,1fr)!important}.pinned-controls .audit-preview-wrap{border:0}.pinned-controls .part-preview{border:0;padding:0}.pinned-controls .scene-layout{display:block}

.environment-guides{pointer-events:none;grid-area:1/1;z-index:2;touch-action:none;overflow:hidden}.environment-guides [data-guide-handle]{pointer-events:all;cursor:move}.environment-guides line[data-guide-handle]{pointer-events:stroke}.environment-guides.guide-drawing{pointer-events:all;cursor:crosshair}.environment-guides [data-guide-handle=a],.environment-guides [data-guide-handle=b]{cursor:crosshair}.environment-guide-controls{padding:12px;border:1px solid var(--line);border-radius:8px}.environment-guide-controls>summary{cursor:pointer;color:var(--gold-bright);font-weight:600}.environment-guide-controls .repair-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.environment-guide-controls .check-label{font-size:11px}.environment-guide-controls [aria-pressed=true]{border-color:var(--gold);color:var(--gold-bright)}#environmentCanvas.placement-snapped{outline:2px solid #80e2ff;outline-offset:-2px}.pinned-controls .artwork-map:empty{display:none}

.transform-tools{border:1px solid var(--line);border-radius:8px;padding:11px;margin:10px 0}.transform-tools>summary{cursor:pointer;color:var(--gold-bright);font-weight:600;font-size:12px;padding:3px 0}.transform-tools[open]>summary{margin-bottom:12px}.transform-tools>label{display:block;margin:10px 0}.transform-tools label{font-size:11px;color:var(--muted)}.transform-tools input,.transform-tools select{width:100%;min-width:0}.transform-tools .check-label{display:flex;gap:8px}.transform-tools .check-label input{width:auto}.transform-tools .field-grid{margin:10px 0}.transform-buttons,.transform-align-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0}.transform-tools .button{font-size:11px;height:auto;min-height:31px;white-space:normal;padding:7px}.transform-align-buttons>.button:last-child{grid-column:1/-1}.transform-tools [role=status]{font-variant-numeric:tabular-nums;color:var(--gold-bright);font-size:11px}.panel-transform-controls .modal-error:empty{display:none}

/* Larger library previews leave a usable drawing area at each breakpoint. */
@media(min-width:1200px){.studio:not(.library-resized){grid-template-columns:310px minmax(340px,1fr) 300px}}
@media(min-width:1600px){.studio:not(.library-resized){grid-template-columns:340px minmax(340px,1fr) 330px}}
@media(min-width:951px) and (max-width:1199px){.studio:not(.library-resized){grid-template-columns:260px minmax(280px,1fr) 254px}}
#motifGrid{gap:15px 12px;padding-left:12px;padding-right:12px}#motifGrid .motif-art{height:180px}#motifGrid .motif-art>svg{width:86%;height:90%}#motifGrid .motif-name{font-size:12px;line-height:1.4}#motifGrid .motif-card{min-width:0}
.library-resized #motifGrid .motif-art{height:clamp(140px,calc(var(--library-width) * .56),275px)}
@media(min-width:951px) and (max-width:1199px){#motifGrid .motif-art{height:155px}}
@media(min-width:641px) and (max-width:950px){#motifGrid{grid-template-columns:1fr}#motifGrid .motif-art{height:190px}}
@media(max-width:640px){#motifGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#motifGrid .motif-art{height:170px}}
.ruler-host{position:relative}.workspace-rulers{position:absolute;pointer-events:none;z-index:3;overflow:hidden;user-select:none}.ruler-bands,.ruler-corner{fill:var(--theme-panel,#1c1d20)}.ruler-bands{stroke:var(--line,#37383d);stroke-width:1}.ruler-ticks path{fill:none;stroke:var(--muted);stroke-width:.7}.ruler-ticks text{font:9px Arial,sans-serif;fill:var(--theme-soft);stroke:none;font-variant-numeric:tabular-nums}.ruler-unit{font:9px Arial,sans-serif;fill:var(--gold-bright)}.ruler-panel-range{fill:var(--gold);opacity:.7}
.ruler-menu{position:absolute;z-index:5;color:var(--text);font-size:11px;max-width:220px}.ruler-menu>summary{cursor:pointer;border:1px solid var(--line);border-radius:5px;padding:5px 8px;background:var(--theme-panel);color:var(--gold-bright);width:max-content;margin-left:auto}.ruler-menu>div{padding:12px;margin-top:5px;border:1px solid var(--line);border-radius:7px;background:var(--theme-panel);box-shadow:0 6px 20px #0004;max-height:250px;overflow:auto}.ruler-menu label{display:block;margin:7px 0;line-height:1.5}.ruler-menu input[type=checkbox]{margin-right:7px;accent-color:var(--gold)}.ruler-menu select,.ruler-menu input[type=number]{width:100%;height:30px;margin-top:5px}.ruler-menu p{font-size:10px;line-height:1.6;color:var(--muted)}.ruler-menu .button{font-size:11px;min-height:30px;height:auto}.manual-vector-active #canvasWrap>.workspace-rulers,.manual-vector-active #canvasWrap>.ruler-menu{display:none!important}@media print{.workspace-rulers,.ruler-menu{display:none!important}}

.canvas-wrap.ruler-host .canvas-label{top:29px;left:30px;max-width:calc(100% - 130px);overflow:hidden;white-space:nowrap}.canvas-wrap.ruler-host .canvas-bottom{bottom:29px;left:30px;right:30px}

/* CAD-style command palette: edge and centre alignment, separate from scaling origin. */
.action-glyph{display:block;width:21px!important;height:21px!important;flex:0 0 21px;fill:none;stroke:currentColor;pointer-events:none}.action-glyph .icon-axis{stroke:var(--gold-bright);stroke-width:2}.button.action-icon-only,.transform-tools .button.action-icon-only{display:inline-flex;align-items:center;justify-content:center;width:36px!important;height:36px!important;min-height:36px;min-width:36px;max-width:36px;padding:7px;position:relative;border-radius:6px;flex:0 0 36px}.action-icon-only .action-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.button.action-with-label{display:inline-flex;align-items:center;justify-content:center;gap:7px}.action-with-label .action-caption{min-width:0}.button.action-icon-only:hover:not(:disabled){color:var(--gold-bright)}.button.action-icon-only:disabled{opacity:.38}.button.action-icon-only:focus-visible,.origin-palette button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.button.action-icon-only.selected,.button.action-icon-only[aria-pressed=true]{background:var(--theme-selected);border-color:var(--gold);color:var(--gold-bright)}
.alignment-section h4{font-size:12px;margin:8px 0;color:var(--text)}.alignment-section>label{display:block;margin:10px 0}.alignment-palette{display:grid;grid-template-columns:max-content 36px;gap:7px 12px;align-items:center;justify-content:start}.alignment-palette>div{display:flex;gap:5px}.alignment-palette>div:first-child{grid-column:1;grid-row:1}.alignment-palette>div:nth-child(2){grid-column:1;grid-row:2}.alignment-palette>button{grid-column:2;grid-row:1/span 2}.alignment-palette .action-glyph{width:24px!important;height:24px!important}.transform-secondary{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.transform-secondary>summary,.transform-help>summary{font-size:11px;color:var(--gold-bright);cursor:pointer}.transform-secondary[open]>summary{margin-bottom:12px}.transform-origin{display:flex;align-items:center;gap:15px}.transform-origin strong{display:block;font-size:11px;font-weight:500;margin-bottom:8px;color:var(--muted)}.origin-palette{display:grid;grid-template-columns:repeat(3,24px);gap:3px;width:max-content;background:var(--theme-input);border:1px solid var(--line);padding:4px;border-radius:6px}.origin-palette button{width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;display:grid;place-items:center;cursor:pointer}.origin-palette button span{width:6px;height:6px;border:1px solid var(--muted);border-radius:1px}.origin-palette button[aria-pressed=true]{background:var(--theme-selected);border-color:var(--gold)}.origin-palette button[aria-pressed=true] span{background:var(--gold);border-color:var(--gold)}.transform-origin .microcopy{max-width:145px}.transform-icon-steps{display:grid;grid-template-columns:repeat(2,36px);gap:6px;margin:12px 0}.transform-help{margin-top:12px}.transform-tools [role=status]:empty{display:none}
.vector-viewport{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.vector-viewport>.vector-view-tools{grid-column:1/-1;grid-row:1;display:flex;gap:5px;flex-wrap:wrap;align-items:center}.vector-viewport>#vectorCanvas{grid-column:2;grid-row:2}.vector-viewport>#vectorStatus{grid-column:1/-1;grid-row:3}.vector-toolbox{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:center;gap:6px;overflow-y:auto;min-height:0;padding:2px 0}.vector-toolbox .button{flex-shrink:0}.vector-toolbox #vectorAll,.vector-toolbox #vectorDuplicate,.vector-toolbox #vectorErase{margin-top:5px}.vector-view-tools #vectorFit{margin-left:6px}.vector-view-tools #vectorUndo{margin-left:auto}
@media(pointer:coarse){.button.action-icon-only,.transform-tools .button.action-icon-only{width:42px!important;height:42px!important;min-height:42px;min-width:42px;max-width:42px}.vector-viewport{grid-template-columns:46px minmax(0,1fr)}.alignment-palette{grid-template-columns:max-content 42px;column-gap:8px}.transform-icon-steps{grid-template-columns:repeat(2,42px)}}

/* Consistent command hierarchy and comfortable pointer targets. */
#modal .modal-header h2,.pane-heading h1,.settings-title h2{color:var(--gold-bright);line-height:1.3}
#modalBody h3,#modalBody h4,.settings-section h3{line-height:1.4;color:var(--text);font-weight:650}
#modalBody h3{border-left:3px solid var(--gold);padding-left:10px;margin:0 0 14px}
#modalBody label.field,.field-grid>label:not(.check-label){min-width:0;display:flex;flex-direction:column;gap:6px}
.field-grid{align-items:end;gap:12px}.field-grid input:not([type=checkbox]):not([type=radio]),.field-grid select{min-width:0;width:100%}
.modal-actions{align-items:center;gap:10px}.modal-actions .button{min-height:36px}
.editor-toolbar,.toolbar-right,.project-actions{gap:8px;align-items:center}
.view-switch{align-items:stretch}.view-switch>button{justify-content:center;min-height:32px}
.button.action-with-label{gap:8px}.button .action-caption{line-height:1.35}.nav-item.action-with-label{display:flex;align-items:center;gap:8px}
.pinned-controls{scrollbar-gutter:stable;padding-right:14px}.vector-controls{scrollbar-gutter:stable;padding-right:14px}
:is(.pinned-controls,.vector-controls,.library-browser-scroll,#motifGrid,#categoryTabs)::-webkit-scrollbar{width:14px;height:14px}
:is(.pinned-controls,.vector-controls,.library-browser-scroll,#motifGrid,#categoryTabs)::-webkit-scrollbar-thumb{background:var(--muted);border:4px solid var(--theme-panel,var(--surface));border-radius:9px}
:is(.pinned-controls,.vector-controls,.library-browser-scroll,#motifGrid,#categoryTabs)::-webkit-scrollbar-thumb:hover{background:var(--gold)}
.library-pane,.library-pane.library-height-resized{overflow:hidden;padding-right:12px;min-width:0}
.library-width-handle{right:0;width:12px;border-right:1px solid var(--line);border-left:1px solid var(--line);background:var(--theme-panel,var(--surface));opacity:1}
.library-width-handle::after{content:'';position:absolute;left:4px;top:calc(50% - 24px);width:3px;height:48px;border-radius:2px;background:var(--muted)}
.library-width-handle:hover,.library-width-handle:focus-visible{background:var(--theme-selected);opacity:1}.library-width-handle:hover::after{background:var(--gold-bright)}
.library-height-handle{flex-basis:18px}.library-bottom{flex:0 0 auto;margin:0 12px;padding-top:8px}.library-bottom .library-management-controls{padding:0 0 7px}.library-bottom p{margin:6px 0 8px}
.library-pane>.pane-heading,.library-pane>.search{flex-shrink:0}.library-pane .selected-motif{flex:0 1 auto;max-height:120px;overflow:auto;min-height:0;padding:8px 12px}
#categoryTabs.category-tabs{flex:0 1 auto;min-height:44px;max-height:170px;padding-top:8px;padding-bottom:8px;scrollbar-gutter:stable}
#categoryTabs.category-tabs>button:not(.selected){color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 38%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 12%,var(--surface)),var(--surface))}
#motifGrid{min-height:60px;flex:1 1 180px;scrollbar-gutter:stable;padding-right:8px;padding-bottom:12px}
@media(min-width:951px){.editor-pane{border-left:8px solid var(--theme-panel,var(--surface))}}
@media(max-height:760px) and (min-width:641px){.library-pane .pane-heading{padding:12px 14px}.library-pane .selected-motif{max-height:72px}#categoryTabs.category-tabs{max-height:100px}.library-pane>.search{margin-bottom:6px}}
#modal>#modalBody:has(>.library-browser){display:flex;overflow:hidden;height:min(76dvh,900px);padding:18px 18px 12px}
.library-browser{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;overflow:hidden}
.library-browser-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px}
.library-browser-footer{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;margin:0;padding:12px 8px 0;border-top:1px solid var(--line);background:var(--theme-panel,var(--surface))}
.transform-handle-hit:hover+.transform-handle-face{fill:#fff1cb;stroke:#14343d;filter:drop-shadow(0 0 2px #8de7f3)}
.environment-interaction{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.environment-interaction button{min-width:0;white-space:normal!important;line-height:1.4;padding:10px}
.environment-gesture-help{border:1px solid var(--line);border-radius:7px;padding:10px}.environment-gesture-help>summary{cursor:pointer;color:var(--gold-bright);font-weight:600}.environment-gesture-help p{font-size:11px;line-height:1.6;margin:8px 0}
.import-management-toolbar{display:flex;justify-content:flex-end;margin:16px 0}.import-management-list{display:grid;gap:10px}
.import-management-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--theme-input,var(--surface))}
.import-motif-identity{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0}.import-motif-name{font-size:14px;font-weight:650;color:var(--gold-bright);overflow-wrap:anywhere;min-width:0;flex:1 1 180px}
.button.category-chip{background:color-mix(in srgb,var(--gold) 12%,var(--surface));border-color:color-mix(in srgb,var(--gold) 55%,var(--line));color:var(--gold-bright);height:auto;min-height:34px;padding:7px 10px;white-space:normal;text-align:left;justify-content:flex-start;max-width:100%}.category-chip span{overflow-wrap:anywhere;min-width:0}.category-chip .action-glyph{width:17px!important;height:17px!important;flex-basis:17px}
.import-motif-actions,.variant-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.import-motif-actions .button{height:36px}.danger-action{color:var(--red)!important;margin-left:8px;border-color:color-mix(in srgb,var(--red) 40%,var(--line))!important}.danger-action:hover{background:color-mix(in srgb,var(--red) 15%,var(--surface))!important}
.saved-design-section{border:1px solid var(--line);border-radius:9px;padding:18px;margin-top:16px;background:var(--theme-input,var(--surface))}.saved-design-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.saved-design-row input,.saved-design-row select{width:100%;height:38px}.saved-design-row .button{min-height:38px;height:auto;white-space:normal}.saved-design-row label{margin:0}
.saved-design-gallery{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.saved-design-gallery>summary{color:var(--gold-bright);cursor:pointer;font-weight:600}.saved-design-gallery .variant-grid{margin-top:14px}.saved-design-empty{padding:12px;border:1px dashed var(--line);border-radius:6px;color:var(--muted)}.variant-card{min-width:0}.variant-card input{width:100%}.variant-actions{justify-content:space-between}.saved-designs #variantError:empty{display:none}
@container(max-width:720px){.import-management-row{grid-template-columns:minmax(0,1fr);gap:12px}.import-motif-actions{justify-content:flex-end}.saved-design-row{grid-template-columns:minmax(0,1fr)}.saved-design-row>.button{justify-self:end}.library-browser-footer .button{flex:1 1 180px}}
@keyframes control-reveal{from{opacity:0}to{opacity:1}}
#modal[open]>.modal-header,.import-management-row,.saved-design-section,details[open]>.variant-grid{animation:control-reveal .18s ease-out}
.category-chip,.variant-card,.library-browser-item,.motif-art{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.variant-card:hover,.library-browser-item:hover{border-color:color-mix(in srgb,var(--gold) 60%,var(--line))}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Short desktop windows keep the commands reachable while each tool pane scrolls. */
@media(min-width:641px) and (max-height:650px){body{min-height:0}.library-pane .pane-heading{padding:8px 12px}.library-pane .eyebrow{display:none}#categoryTabs.category-tabs{max-height:76px}.library-pane .selected-motif{max-height:50px}.library-bottom .button{min-height:32px;height:auto}.library-bottom p{display:none}.library-bottom{padding-bottom:6px}.library-pane>.search{height:32px;margin-top:0}}

.editor-workflow-group>summary strong{color:var(--gold-bright);font-weight:650;line-height:1.4}.editor-workflow-group>summary small{line-height:1.5;margin-top:4px}.editor-workflow-group>summary{gap:12px;align-items:center}.settings-section h3{margin-bottom:14px}.vector-controls>details>summary,.pinned-controls details>summary{font-weight:600;line-height:1.5;color:var(--gold-bright);padding-block:5px;cursor:pointer}

.vector-viewport{grid-template-rows:auto auto minmax(0,1fr) auto}.vector-viewport>.shaping-toolbar{grid-column:1/-1;grid-row:2}.vector-viewport>#vectorCanvas,.vector-viewport>.vector-toolbox{grid-row:3}.vector-viewport>#vectorStatus{grid-row:4}
.shaping-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--theme-panel,var(--surface))}.shaping-toolbar>strong{font-size:11px;color:var(--gold-bright)}.shaping-buttons{display:flex;gap:6px}.shaping-help{font-size:11px;min-width:0;flex:1 1 48px}.shaping-help>summary{cursor:pointer;color:var(--gold-bright)}.shaping-help p{line-height:1.5;max-width:650px;margin:6px 0}.shaping-help[open]{flex-basis:100%}

/* Separate scrolling from resizing by a generous gutter, including in manual mode. */
.library-pane,.library-pane.library-height-resized{padding-right:36px}.editor-pane{position:relative;overflow:visible}
.editor-pane>.library-width-handle{left:-26px;right:auto;width:24px;border:1px solid var(--line);border-radius:5px;top:10px;bottom:10px;background:var(--theme-panel,var(--surface));z-index:9}
.editor-pane>.library-width-handle::after{width:5px;left:9px;height:64px;top:calc(50% - 32px)}
#motifGrid::-webkit-scrollbar,#categoryTabs::-webkit-scrollbar{width:20px}#motifGrid::-webkit-scrollbar-thumb,#categoryTabs::-webkit-scrollbar-thumb{border-width:4px}
.editor-width-handle{position:absolute;right:-12px;top:10px;bottom:10px;width:24px;z-index:9;cursor:ew-resize;touch-action:none;border:1px solid var(--line);border-radius:5px;background:var(--theme-panel,var(--surface))}.editor-width-handle::after{content:'';position:absolute;left:9px;top:calc(50% - 32px);height:64px;width:5px;border-radius:4px;background:var(--muted)}.editor-width-handle:hover,.editor-width-handle:focus-visible{background:var(--theme-selected);border-color:var(--gold)}.editor-width-handle:hover::after{background:var(--gold-bright)}.settings-pane{padding-left:16px}
.studio.editor-expanded{grid-template-columns:minmax(0,1fr)!important}.studio.editor-expanded>.library-pane,.studio.editor-expanded>.settings-pane,.studio.editor-expanded .library-width-handle,.studio.editor-expanded .editor-width-handle{display:none!important}.studio.editor-expanded>.editor-pane{grid-column:1;grid-row:1;border-left:0}.studio.editor-expanded .metrics-strip{padding-block:9px;min-height:0}.studio.editor-expanded .checkbar{min-height:24px;height:24px}#expandEditor[aria-pressed=true]{border-color:var(--gold);color:var(--gold-bright);background:var(--theme-selected)}
#vectorAutoRepair{margin-top:8px}.button[aria-busy=true] .action-glyph{animation:repair-spin 1.2s linear infinite}@keyframes repair-spin{to{transform:rotate(360deg)}}
@media(max-width:950px){.editor-width-handle,.editor-pane>.library-width-handle{display:none}.library-pane,.library-pane.library-height-resized{padding-right:12px}.settings-pane{padding-left:0}}

.repair-preview-dialog{width:min(1080px,94vw);height:min(760px,90dvh);max-width:96vw;max-height:94dvh;min-width:min(340px,94vw);min-height:260px;resize:both;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--theme-panel,var(--surface));color:var(--text);padding:0}.repair-preview-dialog[open]{display:flex;flex-direction:column}.repair-preview-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.repair-preview-dialog>header,.repair-preview-dialog>footer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 20px;flex:0 0 auto;border-bottom:1px solid var(--line)}.repair-preview-dialog h2,.repair-preview-dialog h3{color:var(--gold-bright);margin:0}.repair-preview-dialog>footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.repair-preview-content{overflow:auto;min-height:0;flex:1;padding:16px 20px}.repair-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:70%;min-height:230px}.repair-comparison>section{display:flex;flex-direction:column;min-height:0;gap:10px}.repair-comparison svg{min-height:0;flex:1;width:100%;background:var(--theme-stage,var(--bg));border:1px solid var(--line);border-radius:7px}.repair-preview-content p{font-size:12px;line-height:1.5}.repair-preview-content .modal-error:empty{display:none}
@media(max-width:550px){.repair-comparison{gap:8px}.repair-preview-dialog>header,.repair-preview-dialog>footer,.repair-preview-content{padding:12px}.repair-preview-dialog h2{font-size:18px}}

.sidebar-category-panel{flex:0 0 auto;margin:0 12px 8px;border:1px solid var(--line);border-radius:7px;min-width:0}.sidebar-category-panel>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;color:var(--gold-bright);font-weight:600}.sidebar-category-panel>summary::after{content:'⌄'}.sidebar-current-category{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;color:var(--muted)}.sidebar-category-panel #categoryTabs{max-height:130px!important;margin:0;padding:6px;min-height:0}.library-preview-space{flex:1 1 0;min-height:0}.library-height-handle{min-height:20px;flex-basis:20px;margin:0 12px;border-radius:4px;background:var(--theme-input,var(--surface));border:1px solid var(--line)}.library-height-handle:hover{border-color:var(--gold)}
#motifGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:var(--library-row-height,150px);gap:10px;padding-top:0;padding-bottom:12px;align-content:start;overflow-y:scroll}
#motifGrid .library-motif-tile{position:relative;height:var(--library-row-height,150px);min-height:0}#motifGrid .motif-card{display:block;height:100%;width:100%}#motifGrid .motif-art{height:calc(var(--library-row-height,150px) - 28px)!important;min-height:0}#motifGrid .motif-name{height:24px;padding-top:4px;font-size:11px;line-height:20px}#motifGrid .motif-category{display:none}#motifGrid .library-tile-actions{position:absolute;bottom:30px;right:4px;display:flex;gap:4px;margin:0;padding:0}#motifGrid .library-tile-actions .button{width:25px;height:25px;min-height:25px;padding:4px;background:var(--theme-panel,var(--surface));border-radius:4px}#motifGrid .library-tile-actions .action-glyph{width:15px!important;height:15px!important;flex-basis:15px}#motifGrid .library-tile-actions .action-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#motifGrid .library-favorite{width:24px;height:24px;font-size:18px}

@media(min-width:951px){.topbar{height:56px;padding-inline:18px;gap:32px}.projectbar{min-height:48px;height:auto;padding:7px 18px;gap:10px}.project-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.project-actions .button{height:32px}.assembly-editor{display:flex;align-items:center;gap:14px;padding:5px 14px;max-height:88px}.assembly-editor-heading{flex:0 1 auto;max-width:480px;gap:6px;margin:0}.assembly-editor-list{flex:1;min-width:0;padding:2px 2px 4px}.assembly-part{min-height:48px;height:52px;flex-basis:190px;padding:5px 8px;gap:8px}.assembly-part svg{height:36px;width:28px}.assembly-part small{font-size:9px;line-height:1.25}.editor-toolbar{min-height:46px;height:auto;padding:7px 12px;flex-wrap:wrap}.metrics-strip{padding-block:10px;min-height:54px}.checkbar{height:28px;min-height:28px}}

/* The assembly shares the library column; the canvas starts directly below the project bar. */
.library-pane>#assemblyEditor{display:flex;flex-direction:column;align-items:stretch;flex:0 1 auto;min-height:0;max-height:29%;padding:10px 8px;margin:0;gap:8px;overflow:hidden;container-type:normal}
.library-pane>#assemblyEditor[hidden]{display:none}
.library-pane .assembly-editor-heading{flex:0 0 auto;max-width:none;display:flex;gap:6px;align-items:center}
.library-pane .assembly-editor-heading>strong{color:var(--gold-bright)}
.library-pane .assembly-editor-heading>.microcopy{margin-left:auto}
.library-pane .assembly-editor-list{display:flex;flex-direction:column;flex:1 1 auto;min-height:54px;overflow:auto;padding:2px 6px 3px 2px;gap:6px}
.library-pane .assembly-part{flex:0 0 auto;width:100%;height:54px;min-height:54px}
.library-pane .assembly-part svg{width:30px;height:38px}
.library-pane .motif-art{min-height:12px}
.top-workspace{margin-left:24px;white-space:nowrap;color:var(--gold-bright);font-size:10px;letter-spacing:.12em}
.topbar{height:auto;min-height:56px;flex-wrap:wrap;row-gap:6px;padding-block:6px}
.autosave-bar{display:flex;align-items:center;gap:8px;margin-left:auto;min-height:34px}
.autosave-toggle{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:7px;cursor:pointer}
.autosave-light{width:9px;height:9px;border-radius:50%;background:#626466}
.autosave-toggle[aria-checked=true]{border-color:var(--gold);color:var(--gold-bright)}
.autosave-toggle[aria-checked=true] .autosave-light{background:var(--gold-bright);box-shadow:0 0 8px var(--gold)}
.autosave-bar select{width:148px;height:32px;margin:0;font-size:11px}.autosave-bar label{display:flex;align-items:center;gap:5px}.autosave-bar input{width:54px;height:32px;margin:0}.autosave-bar [hidden]{display:none!important}
html,body{overscroll-behavior-x:none}
.editor-context-menu{position:fixed;z-index:10050;display:grid;grid-template-columns:1fr;gap:3px;min-width:220px;padding:7px;background:var(--surface,#292b2d);color:var(--text,#eee);border:1px solid var(--gold,#d5ad65);border-radius:10px;box-shadow:0 10px 40px #0008}
.editor-context-menu button{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:inherit;padding:9px 12px;border-radius:5px;cursor:pointer}.editor-context-menu button:focus,.editor-context-menu button:hover{background:var(--theme-selected,#52472f);outline:none}.editor-context-menu button:disabled{opacity:.4;cursor:default}.editor-context-menu svg{width:20px;height:20px;color:var(--gold-bright)}
@media(max-width:1200px){.top-workspace{margin-left:8px}.topbar{gap:12px}.autosave-bar{gap:5px}.top-end{margin-left:auto}}
@media(max-width:640px){.top-workspace{display:none}.library-pane>#assemblyEditor{max-height:240px}.autosave-bar{flex-wrap:wrap;margin-left:0}}

.drawing-tools-overlay{position:absolute;pointer-events:none;z-index:3;overflow:hidden}.drawing-tools-bar{position:absolute;z-index:7;display:flex;align-items:center;gap:6px;max-width:calc(100% - 120px);flex-wrap:wrap;padding:4px 6px;background:var(--surface);border:1px solid var(--line);border-radius:7px;font-size:11px}.drawing-tools-bar[hidden],.drawing-tools-bar [hidden]{display:none!important}.drawing-tools-bar button{width:30px;height:30px;display:grid;place-items:center;padding:4px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:5px;cursor:pointer}.drawing-tools-bar button[aria-pressed=true]{color:var(--gold-bright);border-color:var(--gold);background:var(--theme-selected)}.drawing-tools-bar svg{width:20px;height:20px}.drawing-tools-bar label{display:flex;align-items:center;gap:4px}.drawing-tools-bar input[type=number]{width:60px;height:28px;margin:0;padding:4px}.drawing-tools-bar input[type=checkbox]{margin:0}.drawing-tools-bar output{color:var(--gold-bright);font-variant-numeric:tabular-nums}.measuring{cursor:crosshair!important}
.project-notebook{position:relative}.project-notebook>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px}.project-notebook[open]>summary{border-color:var(--gold);color:var(--gold-bright)}.project-notebook>div{position:absolute;right:0;top:calc(100% + 8px);z-index:100;width:min(420px,90vw);padding:16px;background:var(--surface);border:1px solid var(--gold);border-radius:10px;box-shadow:0 10px 35px #0007;display:grid;gap:10px}.project-notebook label{font-weight:700;color:var(--gold-bright)}.project-notebook textarea{width:100%;height:200px;min-height:100px;max-height:60vh;resize:vertical;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:12px;font:inherit;line-height:1.6}.project-notebook small{color:var(--muted)}

.appearance-layout{display:grid;gap:18px}.appearance-section{padding:18px;background:color-mix(in srgb,var(--surface) 90%,var(--bg));border:1px solid var(--line);border-radius:12px}.appearance-section h3{margin:0 0 14px}.appearance-section p{color:var(--muted);font-size:12px;line-height:1.6}.appearance-section .theme-picker{gap:12px;margin:16px 0}.appearance-section .theme-card{padding:12px;border-radius:11px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.appearance-section .theme-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.appearance-section .theme-card.chosen{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 20%,transparent)}.appearance-section .theme-card>strong{font-size:12px;padding-right:18px;display:block}.appearance-section .theme-sample{height:90px;border-top-width:5px;border-radius:4px;overflow:hidden}.appearance-section .theme-sample i:nth-child(2){background:var(--sample-bg);display:grid;place-items:center}.theme-sample svg{height:100%;max-height:72px;color:var(--sample-accent);filter:drop-shadow(2px 3px 2px #0005)}.theme-check{font-size:16px}.appearance-section .finish-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.appearance-section .finish-preset{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;height:auto;padding:10px 5px;background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--text);text-shadow:none;cursor:pointer;font-size:11px}.finish-preset[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.finish-swatch{display:grid;place-items:center;width:100%;height:38px;border-radius:5px;background:linear-gradient(125deg,#0003,transparent 35%,#fff5 49%,#0002 65%),var(--finish-color);color:white;text-shadow:0 1px 3px #000}.appearance-section .appearance-custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0}.appearance-section .appearance-custom>label{justify-content:space-between;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:8px;gap:8px}.appearance-section input[type=color]{width:52px;height:32px;border-radius:5px}.appearance-section input[type=checkbox]{accent-color:var(--gold)}@media(max-width:620px){.appearance-section .theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-section .appearance-custom{grid-template-columns:1fr}.appearance-section .finish-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-section{padding:12px}}@media(prefers-reduced-motion:reduce){.appearance-section .theme-card{transition:none}.appearance-section .theme-card:hover{transform:none}}

.library-pane .assembly-editor-heading>.microcopy{font-size:10px}.library-pane .assembly-editor-heading .button{width:30px;height:30px;min-height:30px;padding:5px;flex:0 0 30px}.library-pane .assembly-editor-heading .button svg{width:18px;height:18px}.library-pane .assembly-editor-heading>strong{flex:1 0 45%}.library-pane .assembly-editor-heading>.microcopy{flex:1 0 40%;text-align:right}.library-pane .pane-heading{padding:12px 14px}.library-pane .pane-heading .eyebrow{font-size:8px}.library-pane .search{height:34px;margin-top:0;margin-bottom:8px}.library-bottom{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0 0}.library-bottom .library-management-controls{padding:0;margin:0}.library-bottom .button{width:100%;height:42px;min-height:42px;font-size:10px;padding:6px;white-space:normal;justify-content:center}.library-bottom .button svg{width:18px;height:18px;flex-shrink:0}.library-bottom p{grid-column:1/-1;font-size:9px;margin:0 0 4px}.selected-motif-details{flex:0 0 auto;min-height:30px;margin:0 12px;border-top:1px solid var(--line)}.selected-motif-details>summary{cursor:pointer;padding:7px 2px;color:var(--gold-bright);font-size:11px}.selected-motif-details .selected-motif{max-height:100px;margin:0}
.measure-slot-menu{position:relative}.measure-slot-menu>summary{cursor:pointer;padding:6px;border:1px solid var(--line);border-radius:5px;color:var(--gold-bright);list-style:none}.measure-slot-menu>div{position:absolute;left:0;top:100%;z-index:11;display:grid;gap:5px;width:240px;padding:10px;border:1px solid var(--gold);border-radius:8px;background:var(--surface);box-shadow:0 8px 25px #0005}.measure-slot-menu [data-slot-row]{display:grid;grid-template-columns:1fr 30px;gap:6px}.drawing-tools-bar .measure-slot-menu [data-slot]{width:100%;text-align:left;display:flex;justify-content:space-between;padding-inline:8px;font-variant-numeric:tabular-nums}.measure-slot-menu small{color:var(--muted);line-height:1.4}.measure-slot-menu [data-slot-row] button{height:32px}

/* Fixed icon dimensions prevent the SVG intrinsic size from stretching the project toolbar. */
.project-actions>.project-notebook{flex:0 0 auto;min-width:max-content;align-self:center}
.project-notebook>summary.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-height:32px;padding:7px 12px;white-space:nowrap;line-height:1.2;font-size:12px;font-weight:600;border-color:color-mix(in srgb,var(--gold) 38%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 9%,var(--surface)),var(--surface));color:var(--text)}
.project-notebook>summary.button::-webkit-details-marker{display:none}
.project-notebook>summary.button>.notebook-icon{display:block;width:20px;height:20px;min-width:20px;max-width:20px;flex:0 0 20px;color:var(--gold-bright)}
.project-notebook>summary.button>span{display:block;white-space:nowrap;line-height:1.2}
.project-notebook>summary.button:hover,.project-notebook[open]>summary.button{border-color:var(--gold);color:var(--gold-bright);background:var(--theme-selected)}
.project-notebook>summary.button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.project-notebook>div>label{font-size:14px;line-height:1.4}.project-notebook>div>small{font-size:11px;line-height:1.5}

.notebook-panel{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(80px,1fr) auto;gap:10px;padding:16px;width:min(420px,calc(100vw - 16px));max-height:calc(100dvh - 16px);background:var(--surface);color:var(--text);border:1px solid var(--gold);border-radius:10px;box-shadow:0 10px 35px #0007}
.notebook-header{display:flex;align-items:center;gap:8px;min-width:0}.notebook-header>label{flex:1;min-width:0;font-size:14px;line-height:1.4;font-weight:700;color:var(--gold-bright)}.notebook-header .button{flex:0 0 auto;min-height:30px;height:30px;font-size:11px;padding:5px 8px;white-space:nowrap}.notebook-header .notebook-close{width:30px;padding:0;font-size:22px;line-height:1}.notebook-header [aria-pressed=true]{color:var(--gold-bright);background:var(--theme-selected);border-color:var(--gold)}
.notebook-panel>textarea{box-sizing:border-box;display:block;width:100%;height:200px;min-height:80px;max-height:60vh;resize:vertical;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:12px;font:inherit;line-height:1.6}.notebook-panel>small{color:var(--muted);font-size:11px;line-height:1.5}
.notebook-panel.notebook-floating{position:fixed;z-index:110;right:auto;bottom:auto;resize:both;overflow:hidden;min-width:min(320px,calc(100vw - 16px));min-height:min(220px,calc(100dvh - 16px));max-width:calc(100vw - 16px)}.notebook-floating>.notebook-header{cursor:move;touch-action:none;user-select:none}.notebook-floating>.notebook-header:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.notebook-floating>textarea{height:100%;min-height:0;max-height:none;resize:none}.notebook-floating>.notebook-header .button{cursor:pointer}
@media(max-width:420px){.notebook-header{flex-wrap:wrap}.notebook-header>label{flex-basis:100%}.notebook-panel{padding:12px}}

/* Each motif owns a separate command strip; no controls cover its artwork. */
.library-motif-tile .motif-art{position:relative;overflow:hidden}.library-motif-tile .motif-art>svg{transform:scale(var(--thumbnail-zoom,1));transform-origin:center;transition:transform .1s ease-out;pointer-events:none}
.library-motif-tile .library-tile-actions,#motifGrid .library-tile-actions{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:3px;padding:4px 0;margin:0;height:36px;border-top:1px solid var(--line)}
.library-motif-tile .library-tile-actions .library-favorite,#motifGrid .library-tile-actions .library-favorite{position:static;inset:auto;flex:0 0 26px;display:grid;place-items:center;width:26px;height:26px;border-radius:5px;font-size:20px}
.library-motif-tile .library-tile-actions .button,#motifGrid .library-tile-actions .button{flex:1 1 26px;min-width:0;width:auto;max-width:38px;height:26px;min-height:26px;padding:4px;display:grid;place-items:center}
.library-motif-tile .library-tile-actions .action-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.library-motif-tile .library-tile-actions .action-glyph{width:16px;height:16px}
.library-motif-tile .thumbnail-reset{flex:0 0 38px;min-width:0;height:26px;padding:2px;font-size:10px;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--gold-bright);cursor:pointer}.library-motif-tile .thumbnail-reset:hover{border-color:var(--gold)}
#motifGrid .library-motif-tile{display:grid;grid-template-rows:minmax(0,1fr) 36px;gap:0}#motifGrid .motif-card{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 26px;min-height:0}#motifGrid .motif-art{height:100%!important;min-height:0;padding:7px}#motifGrid .motif-name{height:26px;line-height:22px;padding-top:3px}
.library-motif-tile .selected-check{display:none}.library-motif-tile .motif-card.selected .motif-art{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.library-results-list .library-tile-actions{padding-left:0}
@media(prefers-reduced-motion:reduce){.library-motif-tile .motif-art>svg{transition:none}}

.notebook-panel.notebook-floating{resize:none;overflow:visible}.notebook-resize-handle{position:absolute;z-index:2;padding:0;border:0;background:transparent;touch-action:none;min-width:0;min-height:0;border-radius:5px}.notebook-resize-handle:hover,.notebook-resize-handle:focus-visible{background:color-mix(in srgb,var(--gold) 30%,transparent);outline:1px solid var(--gold)}.notebook-resize-handle[data-notes-resize=n],.notebook-resize-handle[data-notes-resize=s]{left:16px;right:16px;height:12px;cursor:ns-resize}.notebook-resize-handle[data-notes-resize=n]{top:-5px}.notebook-resize-handle[data-notes-resize=s]{bottom:-5px}.notebook-resize-handle[data-notes-resize=w],.notebook-resize-handle[data-notes-resize=e]{top:16px;bottom:16px;width:12px;cursor:ew-resize}.notebook-resize-handle[data-notes-resize=w]{left:-5px}.notebook-resize-handle[data-notes-resize=e]{right:-5px}.notebook-resize-handle[data-notes-resize=nw],.notebook-resize-handle[data-notes-resize=ne],.notebook-resize-handle[data-notes-resize=sw],.notebook-resize-handle[data-notes-resize=se]{width:18px;height:18px;z-index:3}.notebook-resize-handle[data-notes-resize=nw]{left:-5px;top:-5px;cursor:nwse-resize}.notebook-resize-handle[data-notes-resize=ne]{right:-5px;top:-5px;cursor:nesw-resize}.notebook-resize-handle[data-notes-resize=sw]{left:-5px;bottom:-5px;cursor:nesw-resize}.notebook-resize-handle[data-notes-resize=se]{right:-5px;bottom:-5px;cursor:nwse-resize}.notebook-resize-handle[data-notes-resize=se]::after{content:'';position:absolute;right:5px;bottom:5px;border-right:7px solid var(--gold);border-top:7px solid transparent}

/* Compact axis controls share readable spacing in both 3D workspaces. */
.orbit-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 10px;border:1px solid var(--line,#444);border-radius:10px;background:var(--theme-stage,#222)}
.orbit-controls label{display:flex;align-items:center;gap:8px;flex:1 1 180px;min-width:0;margin:0;color:var(--gold-bright,#e9bd70)}
.orbit-controls .action-glyph{width:22px;height:22px;flex:none}
.orbit-controls input[type=range]{width:110px;min-width:60px;flex:1;height:28px;margin:0;accent-color:var(--gold-bright,#e9bd70)}
.orbit-controls output{width:40px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
#viewPresets{flex-wrap:wrap;max-width:calc(100% - 64px)}
#viewPresets .orbit-controls{flex-basis:100%;max-width:500px}
#sceneCanvas{background:var(--theme-stage,#222)}
.measure-colors{display:flex;gap:3px;align-items:center}
.measure-colors[hidden]{display:none}
.drawing-tools-bar .measure-colors button{width:28px;min-width:28px;height:30px;padding:5px;border-radius:6px}
.measure-colors button span{display:block;width:16px;height:16px;background:var(--measure-color);border-radius:50%;border:1px solid #888}
.measure-colors button[aria-pressed=true]{outline:2px solid var(--gold-bright,#e9bd70);outline-offset:-2px}
.library-motif-tile{container-type:inline-size}
#motifGrid .library-motif-tile{grid-template-rows:minmax(0,1fr) auto}
@container (max-width:124px){
 .library-tile-actions,#motifGrid .library-tile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:64px;gap:3px;justify-items:center}
}

.measuring.measure-panning,.measuring.measure-panning *{cursor:grabbing!important}

/* Save feedback occupies the free space between navigation and workspace controls. */
.topbar>.top-save-status{display:block;flex:1 1 180px;min-width:150px;text-align:center;align-self:center;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere;padding:4px 8px}
@media(min-width:1101px){.topbar>nav{flex:0 0 auto}.topbar>.top-workspace{margin-left:0}.topbar>.autosave-bar{margin-left:0}}
@media(max-width:1100px){.topbar>.top-save-status{order:4;flex-basis:100%;min-width:0;padding-block:2px}}

.assembly-picker{min-width:0;margin-bottom:12px}.assembly-picker h3{margin:14px 0 9px;color:var(--gold-bright);font-size:13px}.assembly-picker h3:first-child{margin-top:0}
.assembly-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.assembly-choice-grid.assembly-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.assembly-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:90px;width:100%;padding:8px 5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--gold-bright);cursor:pointer;transition:background .15s,border-color .15s}
.assembly-choice>svg{display:block;width:58px;height:46px;max-width:100%;flex:none}.assembly-choice>span{font-size:11px;line-height:1.3;min-height:28px;display:flex;align-items:center;text-align:center;overflow-wrap:anywhere;color:var(--text)}
.assembly-choice:hover{border-color:var(--gold)}.assembly-choice[aria-pressed=true]{border-color:var(--gold);background:var(--theme-selected);box-shadow:inset 0 0 0 1px var(--gold)}.assembly-choice:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
#sceneCountField{display:block;margin-top:12px}#sceneCountField[hidden],#sceneCornerFields[hidden]{display:none}
#sceneCornerFields{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--theme-stage)}
.assembly-corner-preview{display:grid;place-items:center;height:108px;color:var(--gold-bright)}.assembly-corner-preview>svg{width:96px;height:78px;transition:transform .18s ease-out}.assembly-orientation{display:flex;gap:12px;align-items:center;justify-content:center;margin:4px 0 12px}.assembly-orientation output{min-width:40px;text-align:center;font-variant-numeric:tabular-nums;color:var(--gold-bright)}
#sceneCornerFields .field-grid{gap:10px}#sceneCornerFields .microcopy{line-height:1.5;margin:10px 0 0}
@media(prefers-reduced-motion:reduce){.assembly-choice,.assembly-corner-preview>svg{transition:none}}

.orbit-mouse-modes{display:flex;gap:6px;flex:0 0 100%}.orbit-mouse-modes button[aria-pressed=true]{color:var(--gold-bright);border-color:var(--gold);background:var(--theme-selected)}

/* Assembly: fixed preview plus a persistent navigation column and contextual settings. */
.pinned-workspace.scene-layout.assembly-workspace{grid-template-columns:minmax(260px,1fr) minmax(430px,560px)!important}
.assembly-workspace>.assembly-sidebar{display:grid;grid-template-columns:140px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);height:100%;min-height:0}
.assembly-navigation{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto;padding:10px 7px;border-right:1px solid var(--line);gap:12px;overscroll-behavior:contain}
.assembly-navigation [role=tablist]{display:grid;gap:5px}.assembly-navigation [role=tab]{display:flex;align-items:center;gap:7px;padding:10px 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;min-width:0;font-size:11px;line-height:1.3}
.assembly-navigation [role=tab] .action-glyph{width:20px;height:20px;flex:0 0 20px;color:var(--gold-bright)}.assembly-navigation [role=tab][aria-selected=true]{background:var(--theme-selected);border-color:var(--gold);color:var(--gold-bright)}.assembly-navigation [role=tab]:focus-visible,.assembly-element-choice:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.assembly-navigation h3{font-size:11px;line-height:1.4;margin:0;padding:3px;color:var(--gold-bright)}.assembly-navigation h3 small{font-variant-numeric:tabular-nums;color:var(--muted)}
.assembly-workspace #sceneItems{max-height:none;overflow:visible;margin:0;display:grid;gap:6px}
.assembly-element-choice{display:flex;align-items:flex-start;gap:6px;min-width:0;width:100%;padding:8px 5px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.assembly-element-choice>span:last-child{min-width:0}.assembly-element-choice strong{font-size:10px;line-height:1.4;display:block;overflow-wrap:anywhere}.assembly-element-choice small{display:block;font-size:9px;line-height:1.4;overflow-wrap:anywhere;color:var(--muted);margin-top:3px}.assembly-element-index{color:var(--gold-bright);font-size:11px}.assembly-element-choice.selected{border-color:var(--gold);background:var(--theme-selected)}
.assembly-panel-stack{overflow:auto;min-width:0;min-height:0;padding:14px;overscroll-behavior:contain}.assembly-panel-stack>[hidden]{display:none!important}.assembly-panel-stack>section>h3{color:var(--gold-bright);font-size:14px;margin:0 0 14px}.assembly-panel-stack .assembly-summary{padding-top:0}.assembly-panel-stack .assembly-summary>h3{font-size:13px}.assembly-panel-stack .orbit-controls{padding:8px;gap:10px}.assembly-element-actions{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.assembly-element-actions>strong{font-size:12px;color:var(--gold-bright)}.assembly-element-actions .repair-row{margin-top:8px}
.assembly-workspace #sceneError{grid-column:1/-1;max-height:85px;overflow:auto;padding:8px 12px;margin:0}.assembly-workspace #sceneError:empty{display:none}
@container(max-width:900px){.pinned-workspace.scene-layout.assembly-workspace{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(140px,1fr) minmax(220px,1fr)}.assembly-workspace>.assembly-sidebar{grid-template-columns:130px minmax(0,1fr)}}
@container(max-width:500px){.assembly-workspace>.assembly-sidebar{grid-template-columns:102px minmax(0,1fr)}.assembly-panel-stack{padding:9px}.assembly-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly-navigation [role=tab]{padding:8px 3px;gap:4px}.assembly-navigation [role=tab] .action-glyph{width:16px;flex-basis:16px}.assembly-panel-stack .field-grid{grid-template-columns:minmax(0,1fr)}}

.assembly-preview{flex-direction:column}.assembly-preview-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:9px;border-bottom:1px solid var(--line);flex:none;background:var(--surface)}.assembly-preview-toolbar .button{min-width:0;min-height:34px;font-size:11px;padding:7px 9px}.assembly-preview-toolbar [aria-pressed=true],.dimension-source [aria-pressed=true]{border-color:var(--gold);color:var(--gold-bright);background:var(--theme-selected)}.assembly-preview>.pinned-stage{width:100%}
.assembly-build-form{display:grid;gap:14px}.assembly-build-form h3,.assembly-build-form h4{margin:0;color:var(--gold-bright)}.assembly-build-form details{padding:10px;border:1px solid var(--line);border-radius:8px}.assembly-build-form summary{cursor:pointer;color:var(--gold-bright);font-weight:600;margin-bottom:10px}.assembly-build-form details:not([open]) summary{margin-bottom:0}.assembly-build-form .field-grid{gap:10px}.assembly-build-form label{display:grid;gap:6px;font-size:12px;min-width:0}.assembly-build-form .check-label{display:flex;align-items:center}.assembly-build-form input[type=number]{width:100%;min-width:0}.assembly-build-form .profile-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.assembly-build-form [hidden],.assembly-sidebar .orbit-controls[hidden]{display:none!important}.dimension-source{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dimension-source .button{font-size:11px;display:flex;align-items:center;justify-content:center;gap:6px}.profile-summary{display:block;color:var(--gold-bright);font-weight:600;padding:7px 0 12px}.assembly-calculation{padding:12px;border-left:3px solid var(--gold);background:var(--theme-stage);font-size:13px;color:var(--gold-bright)}.post-height-control label{grid-template-columns:1fr auto;align-items:center;margin-bottom:10px}.post-height-control output{color:var(--gold-bright);font-variant-numeric:tabular-nums}.post-height-control input{grid-column:1/-1;width:100%;accent-color:var(--gold);height:26px}.assembly-build-form fieldset{border:1px solid var(--line);padding:10px;margin:8px 0}.assembly-build-form legend{color:var(--gold-bright)}.assembly-frame-brief{padding:12px;border:1px solid var(--line);border-radius:8px;margin:10px 0}.assembly-frame-brief strong{color:var(--gold-bright)}

.assembly-draft-badge{color:var(--gold-bright);font-size:11px;align-self:center;padding:4px 8px;border-left:1px solid var(--line)}.assembly-draft-badge[hidden]{display:none}.assembly-build-form [data-tail-direction][aria-pressed=true]{border-color:var(--gold);background:var(--theme-selected);color:var(--gold-bright)}

.assembly-preview-toolbar .assembly-grid-step{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text);margin:0}.assembly-grid-step input{width:72px;min-height:34px}.assembly-preview-toolbar button[aria-pressed="true"]{border-color:var(--gold-bright);color:var(--gold-bright);background:color-mix(in srgb,var(--gold-bright) 14%,transparent)}.assembly-move-status{font-size:11px;white-space:nowrap;color:var(--gold-bright)}#sceneCanvas{touch-action:none}

.library-active-filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}.library-active-filters[hidden],.library-filter-notice[hidden]{display:none}.library-filter-chip{display:inline-flex;align-items:center;gap:5px;border-color:var(--gold);color:var(--gold-bright);min-height:34px}.library-filter-notice{border-left:3px solid var(--gold);padding:10px 14px;background:var(--theme-selected);font-size:13px}.library-results .empty-state .button{margin-top:12px}

/* Library navigation: fixed compact controls, independently scrolling previews. */
.library-pane .library-bottom{grid-template-columns:minmax(0,1fr)}
.library-pane .library-bottom #importBtn{font-size:12px;min-height:44px;justify-content:center;gap:10px}
.library-browser>.library-browser-toolbar{flex:0 0 auto;gap:10px;padding:0 0 12px;margin:0;max-height:48vh;overflow:auto;scrollbar-gutter:stable}
.library-browser .library-category-heading{font-weight:600;color:var(--gold-bright)}
.library-browser .library-category-heading .button{min-height:32px;padding:6px 10px;font-size:11px}
.library-browser .library-category-targets{max-height:84px;gap:6px;padding:2px}
.library-browser .category-target{min-height:32px;padding:6px 11px;font-size:11px}
.library-scope-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line)}
.library-scope-switch{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}
.library-scope-switch .button{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-weight:600}
.library-scope-switch .button svg{width:19px;height:19px;color:var(--gold-bright)}
.library-scope-switch .button.selected{border-color:var(--gold);background:var(--theme-selected);color:var(--gold-bright);box-shadow:inset 0 -2px var(--gold)}
.library-scope-switch small{padding:2px 6px;border-radius:5px;background:var(--bg);font-variant-numeric:tabular-nums}
.library-browser .library-sort-row{display:block;min-width:210px;margin:0}
.library-browser .library-sort-row label{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0;font-size:11px}
.library-browser .library-sort-row select{margin:0;min-height:36px;padding:7px 10px;max-width:245px}
.library-browser .library-view-row{gap:8px}
.library-browser .library-view-row .button,.library-browser .library-view-row select,.library-browser .view-switch button{min-height:32px;padding:6px 10px;font-size:11px}
.library-browser .library-active-filters{padding:0;gap:5px}
.library-browser>.library-browser-scroll{padding-top:14px;padding-bottom:14px}
.library-browser-footer #lbImports[hidden]{display:none!important}
.library-browser .library-browser-item{transition:border-color .18s ease,box-shadow .18s ease;animation:library-result-in .2s ease both}
.library-browser .library-browser-item:hover{border-color:var(--gold);box-shadow:0 4px 14px #0002}
.library-browser .button{transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.library-browser .button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@keyframes library-result-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.library-scope-row{flex-wrap:wrap;gap:10px}.library-browser .library-sort-row{flex:1;min-width:180px}.library-browser .library-sort-row select{flex:1;max-width:none}.library-browser>.library-browser-toolbar{max-height:50vh}.library-browser .library-category-targets{max-height:70px}}
@media(prefers-reduced-motion:reduce){.library-browser .library-browser-item,.library-browser .button{animation:none;transition:none}}

.library-display-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.library-display-row>.library-view-row{flex:1;justify-content:flex-end}
.library-display-row>.library-extra-filters[open]{flex-basis:100%}
.library-display-row>.library-extra-filters[open] .library-filter-row{max-width:560px}
.library-browser .library-view-row>span{font-size:12px}

.editor-library-action{flex:1 1 auto;display:flex;justify-content:center;min-width:150px;padding:0 8px}
#addArtworkToLibrary{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--gold-bright);border-color:var(--gold);white-space:nowrap;font-size:11px;padding:8px 12px;min-height:38px}
#addArtworkToLibrary svg{width:18px;height:18px;flex-shrink:0}
#addArtworkToLibrary:hover{background:var(--theme-selected)}
@media(max-width:800px){.editor-library-action{flex:0 1 auto;margin-left:auto;padding:0}}

.editor-library-action{gap:8px;flex-wrap:wrap}
#insertArtwork{display:inline-flex;align-items:center;gap:8px;color:var(--gold-bright);font-size:11px;min-height:38px}
#insertArtwork svg{width:18px;height:18px}
.insert-library-choice{width:100%;height:auto;min-height:40px;justify-content:center;margin-bottom:16px;padding:10px 12px;white-space:normal;color:var(--gold-bright)}
.insert-shape-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}
.insert-shape-choices>.button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;height:auto;min-height:96px;padding:12px 8px;font-size:12px;line-height:1.35;white-space:normal;text-align:center}
.insert-shape-choices>.button>svg{display:block;width:30px;height:30px;flex:0 0 30px;color:var(--gold-bright)}
.insert-shape-choices>.button>span{display:flex;align-items:center;justify-content:center;min-height:2.7em;max-width:100%;overflow-wrap:anywhere}
.insert-shape-choices [aria-pressed=true]{border-color:var(--gold);background:var(--theme-selected)}
@container(max-width:560px){.insert-shape-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container(max-width:400px){.insert-shape-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
.insert-object-preview{height:130px;padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;background:var(--theme-stage,#202425)}
.insert-object-preview svg{width:100%;height:100%}
.artwork-insert .field-grid{gap:12px}

.variant-save-bar{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px;background:var(--theme-selected);border:1px solid var(--gold);border-radius:12px;margin:20px 0}
.variant-save-bar h3{margin-top:0}.variant-save-form{display:grid;gap:12px;align-content:center}.variant-save-form .field{margin:0}
.variant-timeline{display:grid;gap:16px}.variant-entry{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:20px;padding:16px;border:1px solid var(--line);border-radius:12px;animation:library-card-in .2s ease-out}
.variant-preview{display:flex;justify-content:center;align-items:center;background:var(--theme-stage,#202425);color:var(--gold-bright);min-height:180px;border-radius:8px;padding:12px}.variant-preview svg{width:100%;height:180px}
.variant-entry-info time{font-size:12px;color:var(--muted)}.variant-entry-info p{margin:8px 0}.variant-entry-info label{margin-top:0}.variant-entry-actions{display:flex;gap:8px;align-items:flex-start}
.variant-changes{padding-left:18px;font-size:12px;margin:8px 0}.variant-changes small{display:block;color:var(--muted)}
@media(max-width:850px){.variant-entry{grid-template-columns:120px 1fr}.variant-entry-actions{grid-column:2}.variant-save-bar{grid-template-columns:1fr}.variant-preview svg{height:140px}}
@media(prefers-reduced-motion:reduce){.variant-entry{animation:none}}

.top-account-status{display:flex;align-items:center;justify-content:center;gap:12px;flex:1 1 180px;min-width:160px;font-size:12px}
.top-account-status .button{min-height:32px;padding:6px 12px;color:var(--gold-bright)}
.auth-tabs{display:flex;gap:8px;margin-bottom:20px}.auth-tabs .button{flex:1}.auth-tabs .selected{border-color:var(--gold);background:var(--theme-selected)}
.registered-customers{margin:16px 0}.registered-customer{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px}
#saveProject[hidden],#saveStatus[hidden],#sendProduction[hidden],#headerSignIn[hidden]{display:none!important}
@media(max-width:1100px){.top-account-status{order:4;flex-basis:100%}}

.library-selection-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line);flex-shrink:0;font-size:12px}
.library-selection-bar .check-label{margin:0}.library-selection-bar .button{min-height:30px;padding:5px 10px;font-size:11px}.library-selection-bar #lbTrash{margin-left:auto}
.library-select-row{font-size:11px;margin:0 0 8px;gap:8px;color:var(--muted)}.library-select-row input{width:17px;height:17px;accent-color:var(--gold)}
.library-browser-item:has([data-library-check]:checked){border-color:var(--gold);background:var(--theme-selected)}
.removal-names{max-height:230px;overflow:auto}

.library-external-source{display:flex;align-items:center;gap:8px;margin-right:auto;color:var(--gold-bright)}
.library-external-source a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.library-external-source svg{flex:none}
.library-source-help{position:relative}.library-source-help>summary{display:grid;place-items:center;list-style:none;border-radius:50%;width:30px;height:30px;min-height:30px;padding:0;color:var(--gold-bright);font-weight:700;font-family:Georgia,serif;cursor:pointer}.library-source-help>summary::-webkit-details-marker{display:none}
.library-source-guide{position:absolute;bottom:calc(100% + 12px);left:-180px;width:min(360px,calc(100vw - 80px));max-height:55vh;overflow:auto;padding:18px;border:1px solid var(--gold);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 12px 38px #0005;z-index:20;font-size:12px;line-height:1.6;text-align:left;animation:library-card-in .16s ease-out}.library-source-guide strong{color:var(--gold-bright)}.library-source-guide ol{margin:12px 0 0;padding-left:20px}.library-source-guide li+li{margin-top:8px}
@media(max-width:600px){.library-external-source{flex-basis:100%}.library-source-guide{left:auto;right:-10px}}
@media(prefers-reduced-motion:reduce){.library-source-guide{animation:none}}

.insert-grid-settings{border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:18px}.insert-grid-toggle{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--gold-bright);margin-bottom:12px}.insert-grid-toggle input{width:18px;height:18px;accent-color:var(--gold)}.insert-grid-settings output{display:block;margin-top:10px;color:var(--gold-bright);font-variant-numeric:tabular-nums}.insert-grid-settings [hidden]{display:none}

.modal-header,.notebook-header{cursor:grab}.modal-header:active,.notebook-header:active{cursor:grabbing}.modal-header button,.notebook-header button{cursor:pointer}

.pinned-workspace.environment-layout.environment-workspace{grid-template-columns:minmax(260px,1fr) minmax(420px,530px)!important}.environment-workspace .assembly-panel-stack>section{display:grid;gap:12px}.environment-workspace .assembly-panel-stack>section[hidden]{display:none!important}.environment-workspace .assembly-panel-stack label{display:grid;gap:6px}.environment-workspace .assembly-panel-stack .check-label{display:flex}.environment-workspace #environmentError{grid-column:1/-1;max-height:70px;overflow:auto}.environment-workspace #environmentError:empty{display:none}.environment-workspace .environment-photo-grid{max-height:none}.environment-workspace .assembly-panel-stack input[type=range]{width:100%}@container(max-width:900px){.pinned-workspace.environment-layout.environment-workspace{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(140px,1fr) minmax(220px,1fr)}}

.library-pane.library-height-resized{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.library-height-resized #motifGrid{min-height:0}.library-height-resized>.library-bottom{flex-shrink:0}
/* Zoom the photograph, product and guides as one preview beside its title. */
#modal .modal-header>.environment-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;padding-right:16px}
.environment-title>.eyebrow{flex-basis:100%}
#modal .environment-title h2{margin:0}
.environment-composition-zoom{display:flex;align-items:center;gap:8px;max-width:100%;color:var(--gold-bright);cursor:default}
.environment-composition-zoom label{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer}
.environment-composition-zoom svg{width:20px;height:20px;flex-shrink:0}
.environment-composition-zoom input[type=range]{width:clamp(80px,12vw,160px);min-width:0;margin:0;accent-color:var(--gold);cursor:pointer}
.environment-composition-zoom output{min-width:48px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.environment-composition-zoom .icon-button{flex-shrink:0;color:var(--gold-bright)}
#environmentCanvas,.environment-guides{transform-origin:center center}
