
:root{--color-action-primary:#b92f28;--color-action-primary-hover:#97251f;font-size:14px;color:#24282c;background:#f1f2f3}
body{min-width:0;overflow:hidden;background:#f1f2f3}button,input,select{font:inherit}button,summary{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid #b92f28;outline-offset:2px}
.desktop-shell{width:100%;height:100dvh;min-width:0;grid-template-columns:200px minmax(0,1fr) 320px;grid-template-rows:56px minmax(0,1fr) 30px;grid-template-areas:'top top top' 'tree viewport inspector' 'bottom bottom bottom';overflow:hidden}
.desktop-shell.render-active{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:'top top' 'viewport inspector' 'bottom bottom'}
.desktop-shell.render-active>.project-tree-panel{display:none!important}
.desktop-shell.extension-active{grid-template-columns:minmax(0,1fr);grid-template-areas:'top' 'guide' 'viewport' 'bottom'}
.desktop-shell.extension-active>.project-tree-panel,.desktop-shell.extension-active>.inspector-panel{display:none!important}
.extension-workspace{display:flex;flex-direction:column;gap:16px;overflow:auto;color:#344054}
.extension-workspace[hidden]{display:none!important}
.extension-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.extension-heading h2{margin:0;font-size:20px}.extension-heading p{margin:8px 0 0}
.extension-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;flex:1;min-height:400px}
.extension-stage{min-height:360px;position:relative;background:#e4e8ed;border:1px solid #d9e0eb;border-radius:8px}
.extension-settings{padding:0 0 16px;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.extension-settings h3,.extension-settings p{margin:0}.extension-settings p{line-height:1.6}.extension-settings label{display:flex;align-items:center;gap:8px}.extension-settings select{margin-left:auto;min-width:120px;padding:6px}
.extension-workspace button{padding:9px 12px;border:1px solid #cbd5e1;border-radius:6px;background:white;color:#344054}.extension-workspace button.primary{background:#365cec;color:#fff;border-color:#365cec}.extension-workspace button:disabled{opacity:.5}
.extension-rights,.extension-note{font-size:12px;color:#64748b}.extension-stale{padding:8px;background:#fff3d6;color:#805000}.extension-settings progress{width:100%}.extension-settings a{color:#365cec}
@media(max-width:700px){.extension-layout{grid-template-columns:1fr}.extension-stage{height:360px}.extension-heading{align-items:flex-start;flex-direction:column}.desktop-shell.extension-active .toolbar-workspaces{flex-wrap:wrap}}
.app-toolbar{padding:0 16px;gap:12px;height:56px;margin:0;align-items:center}.brand-lockup strong{display:none}.toolbar-actions{gap:8px;align-items:center}
.workspace-menu{position:relative}.workspace-menu summary{padding:8px;list-style:none}.workspace-menu[open]{z-index:30}.workspace-menu[open] button{display:block;position:absolute;right:0;width:190px;background:white;z-index:30;box-shadow:0 6px 18px #0002}.workspace-menu[open] button+button{margin-top:38px}
.project-tree-panel,.inspector-panel{min-width:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;background:#fff}.tree-section{padding:16px 12px}.project-filename{display:block;overflow-wrap:anywhere;margin:12px 0;font-size:14px}.project-details{font-size:12px;color:#626971;margin:12px 0}.project-details summary{padding:6px 0}
.unit-badge{white-space:normal;border-radius:5px;font-size:12px}.project-tree{overflow-x:hidden}.project-tree button{width:100%;white-space:normal}
.viewport-panel{min-width:0;min-height:0;padding:16px;overflow:hidden}.workspace-panel{height:100%;min-height:0;min-width:0}.profile-workspace{display:flex;flex-direction:column;position:relative}.profile-workspace-heading{gap:8px;flex-wrap:wrap;padding:0 0 12px;font-size:14px}.profile-workspace-heading span{font-size:12px}
#product-canvas{min-height:0;max-height:100%;width:100%;flex:1;object-fit:contain;background:#202b32}
.import-empty{position:absolute;inset:60px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;background:#fafafa;border:1px dashed #cbd0d3}.import-empty p{font-size:13px;color:#626971}
.inspector-group{padding:16px;margin:0;border-bottom:1px solid #e3e5e7;background:white}.inspector-heading{gap:8px;flex-wrap:wrap}.inspector-heading h2{font-size:14px}.inspector-heading>span{font-size:12px}
.material-inspector{min-height:100%;display:flex;flex-direction:column;gap:8px}.material-inspector .property-row{flex-shrink:0}.property-row{font-size:13px;min-height:36px;gap:6px}.material-color-row{grid-template-columns:1fr 34px 82px}.material-color-options{margin:0}
.material-inspector #material-palette{display:block;flex-shrink:0;height:auto;max-height:none;overflow:visible;padding:0}.material-group{border:0;margin:8px 0}.material-group h3{margin:0;font-size:12px;font-weight:600;padding:7px 0;color:#626971}.material-group-tokens{display:grid;grid-template-columns:1fr 1fr;gap:6px}.material-token{width:100%;min-height:36px;text-align:left;font-size:12px;margin:0}
.epdm-palette-color{display:none}.calibrated-details,.repair-tools{font-size:12px;padding:8px 0}.calibrated-details summary,.repair-tools summary{padding:7px 0}.calibrated-details input[type=range]{display:none}.calibrated-details .property-row{display:flex;justify-content:space-between}.repair-tools button{margin:4px}
.region-status{border:0;border-radius:5px;color:#8e2c25;background:#fbefed;padding:10px;text-align:left;font-size:12px}.material-region-list{max-height:none;overflow:visible}.material-card{min-width:0;overflow-wrap:anywhere}.material-card input:not([type=color]):not([type=checkbox]){max-width:100%}.material-card .material-detail{font-size:12px}
.material-confirm-bar{position:sticky;bottom:-16px;display:grid;grid-template-columns:1fr;padding:12px 0;margin-top:auto;background:#fff;border-top:1px solid #e3e5e7;z-index:3}.material-confirm-bar button{min-height:36px}
.render-workspace{display:flex;flex-direction:column;gap:8px}.render-context{display:flex;gap:12px;align-items:center;font-size:13px}.render-context>span{color:#747b81;font-size:12px}.viewport-toolbar{flex:0 0 auto;padding:4px 0;background:none;gap:8px}.viewport-actions{flex-wrap:wrap}.viewport-camera-readout,.viewport-camera-readout span{font-size:12px}
.preview-modes{display:flex;gap:4px;flex:0 0 auto}.preview-modes button{background:transparent;border:0;padding:6px 12px;font-size:13px}.preview-modes [aria-pressed=true],.export-kind [aria-pressed=true]{color:#b92f28;background:#fbeeed;box-shadow:inset 0 -2px #b92f28}
.viewport-stage{flex:1;height:auto;min-height:0;padding:0;display:flex;position:relative;overflow:hidden;gap:12px;background:#e9ebed;border:1px solid #dde0e2;container-type:size}
.realtime-pane{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
#realtime-viewer,#fast-preview-canvas{position:relative;inset:auto;width:min(100cqw,calc(100cqh * var(--frame-ratio,1)));height:min(100cqh,calc(100cqw / var(--frame-ratio,1)));max-width:100%;max-height:100%;aspect-ratio:var(--frame-ratio,1);flex:none;object-fit:contain}
.blender-calibration{position:relative;inset:auto;width:100%;max-width:none;height:100%;margin:0;padding:0;box-shadow:none;border:0;background:transparent}
.blender-calibration summary{display:none}.calibration-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:0;background:transparent}
#blender-preview{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.render-placeholder{position:absolute;inset:0;display:grid;place-content:center;font-size:13px}.render-stale{position:absolute;inset:auto 8px 8px;background:#30363de8;font-size:12px;padding:8px;color:white}
[data-preview-mode=realtime] .blender-calibration,[data-preview-mode=real] .realtime-pane{display:none}
[data-preview-mode=compare] .realtime-pane,[data-preview-mode=compare] .blender-calibration{flex:1;width:50%;container-type:size}
.viewport-quality-chip{flex:none;min-height:26px;font-size:12px;padding:4px 0;background:transparent}.render-state-details{flex:none;font-size:12px;max-height:90px;overflow:auto}.viewport-note{font-size:12px;padding:8px 0;overflow-wrap:anywhere}
.inspector-tabs{position:sticky;top:0;display:flex;background:white;padding:10px 8px 0;z-index:5;border-bottom:1px solid #e3e5e7}.inspector-tabs button{flex:1;border:0;border-radius:0;padding:10px 5px;font-size:13px;background:white}.inspector-tabs [aria-selected=true]{color:#b92f28;box-shadow:inset 0 -2px #b92f28}
.desktop-shell:not(.render-active) .render-only{display:none!important}.render-active .parameter-inactive{display:none!important}
.render-active .property-row{display:grid;grid-template-columns:minmax(84px,1fr) 105px 52px}.render-active .property-row:has(.control-number)>output{display:none}
.control-number{width:52px;padding:5px 3px;border:1px solid #d6dadd;border-radius:4px;font-size:12px}.range-control{width:105px;grid-template-columns:24px minmax(0,1fr) 24px;gap:4px}.range-control input{min-width:0;width:100%}.range-control button{width:24px;min-width:24px}
.preview-refresh{position:sticky;bottom:0;background:#fff;padding:12px 16px;z-index:4;border-top:1px solid #e3e5e7}.preview-refresh button{width:100%;min-height:38px}.preview-refresh .preview-actions{margin:0}
.render-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.render-presets button{padding:12px;min-height:46px;font-size:13px}.control-hint{font-size:12px}
.light-map{height:150px;background:#f3f5f6;border:1px solid #d9dfe2;margin:12px 0;overflow:hidden}.light-map::before,.light-map>i{display:none}.light-map svg{position:absolute;inset:0;width:100%;height:100%}.light-map>span{z-index:2}.light-map [data-behind=true]{outline:2px dashed #777}.light-map [data-clipped=true]{border-radius:3px}
.render-status-bar{font-size:12px;padding:0 16px;height:30px;align-items:center}.render-status-bar button{font-size:12px;border:0;background:transparent;padding:4px}
.export-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0}.export-dialog-card{max-height:calc(100dvh - 32px);overflow:auto;padding:20px}.export-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.export-location,.dialog-batch{grid-column:1/-1}.export-kind{display:flex;gap:8px;margin:16px 0}.export-kind button{flex:1;font-size:13px}.export-dialog header,.export-dialog footer{gap:12px;margin:0}.export-dialog footer{position:sticky;bottom:-20px;padding:12px 0;background:white}.export-error{font-size:12px;color:#ad2d24}
.task-dialog{width:min(600px,calc(100vw - 32px));max-height:80dvh;border:1px solid #ddd;border-radius:8px;padding:20px}.export-task{padding:12px 0;border-bottom:1px solid #ddd;overflow-wrap:anywhere}.export-task p{font-size:12px;margin:8px 0}
@media(max-width:1100px){.desktop-shell{grid-template-columns:175px minmax(0,1fr) 290px}.desktop-shell.render-active{grid-template-columns:minmax(0,1fr) 310px}.viewport-panel{padding:12px}.inspector-group{padding:12px}.brand-lockup .offline-indicator{display:none}.render-context>span{display:none}}
@media(max-width:760px){.desktop-shell{grid-template-columns:130px minmax(0,1fr) 250px}.desktop-shell.render-active{grid-template-columns:minmax(0,1fr) 270px}.app-toolbar{padding:0 8px;gap:4px}.workspace-tab{padding:12px 6px}.brand-lockup{display:none}.render-active .property-row{grid-template-columns:1fr 82px 46px}.range-control{width:82px}.control-number{width:46px}.viewport-camera-readout{display:none}.render-context{gap:5px}.render-context button{font-size:12px}[data-preview-mode=compare] .viewport-stage{flex-direction:column}[data-preview-mode=compare] .realtime-pane,[data-preview-mode=compare] .blender-calibration{width:100%;height:50%}.export-dialog-grid{grid-template-columns:1fr}}

.workspace-panel{padding:0}.profile-canvas-frame{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;container-type:size;background:#202b32}
#product-canvas{flex:none;width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-height:100%;aspect-ratio:1;object-fit:fill}
.tree-product-button.compact-product{display:grid;grid-template-columns:44px 1fr;gap:2px 8px;align-items:center;padding:10px 6px;text-align:left;border-radius:5px}
.tree-thumbnail{grid-row:span 2;width:44px;height:34px;object-fit:contain}.tree-product-state{font-size:12px;color:#70787e}.tree-product-button strong{font-size:13px}
.material-region-list .material-colour-field{display:none}

.desktop-shell .viewport-stage .blender-calibration{position:relative;inset:auto;box-shadow:none;max-width:none;width:100%;height:100%;z-index:auto}
.desktop-shell .calibration-content{width:100%;height:100%;max-height:none;aspect-ratio:auto}
.desktop-shell .calibration-content #blender-preview{display:block;width:100%;height:100%;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;background:transparent}
.desktop-shell .calibration-content .render-placeholder{width:100%;height:100%;max-height:none;aspect-ratio:auto}
.desktop-shell [data-preview-mode=compare] .viewport-stage .blender-calibration{width:50%;flex:1}
.profile-workspace .profile-canvas-frame #product-canvas{width:min(100cqw,100cqh);height:min(100cqw,100cqh);aspect-ratio:1}
.render-presets button{display:flex;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:760px){.desktop-shell [data-preview-mode=compare] .viewport-stage .blender-calibration{width:100%;height:50%}.status-check{display:flex}.toolbar-actions .toolbar-button{display:inline-flex}.desktop-shell .viewport-panel{min-height:0}}

.desktop-shell .viewport-stage #fast-preview-canvas{position:relative;inset:auto;width:min(100cqw,calc(100cqh * var(--frame-ratio,1)));height:min(100cqh,calc(100cqw / var(--frame-ratio,1)));max-width:100%;max-height:100%;aspect-ratio:var(--frame-ratio,1);object-fit:contain}
[data-preview-mode=compare] .realtime-pane::before,[data-preview-mode=compare] .blender-calibration::after{position:absolute;left:8px;top:8px;font-size:12px;color:#626970;background:#ffffffd9;padding:4px 8px;border-radius:4px;z-index:3;pointer-events:none}
[data-preview-mode=compare] .realtime-pane::before{content:'实时预览'}[data-preview-mode=compare] .blender-calibration::after{content:'真实渲染'}
.numeric-field{position:relative;display:inline-flex;width:64px}.numeric-field .control-number{width:64px;padding-right:18px}.numeric-field small{position:absolute;right:5px;top:7px;font-size:11px;color:#70777e;pointer-events:none}
.render-active .property-row{grid-template-columns:minmax(76px,1fr) 98px 64px}.render-active .range-control{width:98px}
@media(max-width:760px){.render-active .property-row{grid-template-columns:minmax(62px,1fr) 76px 64px}.render-active .range-control{width:76px}}

/* Both preview panes use one bounded output frame, independent of image pixels. */
.desktop-shell .viewport-stage .blender-calibration{min-width:0;min-height:0;container-type:size}
.desktop-shell .blender-calibration .calibration-content{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}
.desktop-shell .calibration-content #blender-preview{flex:none;min-width:0;min-height:0;width:min(100cqw,calc(100cqh * var(--frame-ratio,1)));height:min(100cqh,calc(100cqw / var(--frame-ratio,1)));max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.export-filename-field{display:flex;flex-direction:column;align-items:stretch!important;gap:8px;margin-top:12px}
#export-filename{width:100%;padding:9px 10px;border:1px solid #cbd0d3;border-radius:4px}

.viewport-pan-hint{margin-left:auto;color:#727b82;font-size:12px;align-self:center}.realtime-pane.is-panning,.realtime-pane.is-panning canvas{cursor:grabbing}

/* The working steps stay visible while the two editing workspaces change. */
.desktop-shell{grid-template-rows:56px 44px minmax(0,1fr) 30px;grid-template-areas:'top top top' 'guide guide guide' 'tree viewport inspector' 'bottom bottom bottom'}
.desktop-shell.render-active{grid-template-rows:56px 44px minmax(0,1fr) 30px;grid-template-areas:'top top' 'guide guide' 'viewport inspector' 'bottom bottom'}
.workflow-guide{grid-area:guide;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 18px;background:#f8f9f9;border-bottom:1px solid #d9dee1}
.workflow-guide-steps{display:flex;align-items:center;gap:4px;min-width:0}
.workflow-step{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:3px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:#667079;font-size:12px;white-space:nowrap}
.workflow-step:hover:not(:disabled){background:#fff;border-color:#d9dee1}
.workflow-step:disabled{opacity:.55;cursor:default}
.workflow-step-number{display:grid;place-items:center;width:20px;height:20px;flex:none;border:1px solid #aeb8bd;border-radius:50%;font-size:11px;font-weight:700}
.workflow-step[data-state=current]{color:#97251f;background:#fff;border-color:#e4b3b0;font-weight:700}
.workflow-step[data-state=current] .workflow-step-number{color:#fff;background:#b92f28;border-color:#b92f28}
.workflow-step[data-state=complete]{color:#355f4e}
.workflow-step[data-state=complete] .workflow-step-number{color:#fff;background:#355f4e;border-color:#355f4e}
.workflow-guide-message{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#59636b;font-size:12px;text-align:right}
@media(max-width:1100px){.workflow-guide{padding-inline:10px;gap:6px}.workflow-step{padding-inline:6px;gap:5px;font-size:11px}.workflow-guide-message{font-size:11px}}
@media(max-width:760px){.desktop-shell,.desktop-shell.render-active{grid-template-rows:56px 54px minmax(0,1fr) 30px}.workflow-guide{display:grid;grid-template-rows:28px 16px;align-content:center;gap:0}.workflow-guide-steps{justify-content:space-between}.workflow-step{min-height:26px;padding:2px 5px}.workflow-step-number{width:17px;height:17px}.workflow-guide-message{text-align:left}}

/* SaaS-style application shell: quiet surfaces, clear hierarchy, one action colour. */
:root{
  --paper:#f4f6fb;--panel:#fff;--ink:#1d2939;--muted:#66758a;--line:#e3e8f0;
  --accent:#365de8;--accent-dark:#2548c3;
  --color-action-primary:#365de8;--color-action-primary-hover:#2548c3;
  --color-surface:#fff;--color-surface-soft:#f7f9fc;--color-border:#e3e8f0;
  --color-text-muted:#66758a;
}
body{background:var(--paper);color:var(--ink)}
button,input,select{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #365de8;outline-offset:2px}
.desktop-shell{background:var(--paper)}
.app-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 3px #1d29390b;z-index:8}
.brand-lockup{gap:9px}.brand-lockup strong{display:block;color:#202c40;font-size:13px;font-weight:750;letter-spacing:0;overflow:hidden;text-overflow:ellipsis}
.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#526ff0,#284bd6);font-size:11px;box-shadow:0 3px 8px #365de830}
.offline-indicator{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:0;border-radius:99px;background:#eff7f2;color:#357350;font-size:10px;letter-spacing:0}
.offline-indicator::before{content:'';width:6px;height:6px;border-radius:50%;background:#40a267}
.toolbar-workspaces{gap:4px}.toolbar-workspaces .workspace-tab{min-height:34px;height:34px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#627086;font-size:12px;font-weight:600}
.toolbar-workspaces .workspace-tab:hover{background:#f4f6fb;color:#243149}.toolbar-workspaces .workspace-tab.active{border-color:#dfe6ff;background:#eef2ff;color:#294cc7;box-shadow:none}
.toolbar-button,.outline-button,.reset-adjustment,.view-button,.status-choice{border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#435268}
.auto-light-button{display:block;width:100%;margin:10px 0 2px;padding:10px 12px;border:1px solid #b9c8f6;border-radius:8px;background:#edf2ff;color:#2850ca;font:inherit;font-weight:600;cursor:pointer}
.auto-light-button:hover:not(:disabled){background:#dfe8ff;border-color:#819af1}
.auto-light-button:disabled{opacity:.52;cursor:not-allowed}
.auto-light-progress{margin:6px 0 10px;padding:8px 10px;border:1px solid #d7e2fb;border-radius:8px;background:#f4f7ff;color:#3555a8;font-size:12px;line-height:1.5}
.auto-light-progress[hidden],.auto-light-progress progress[hidden]{display:none}
.auto-light-progress-label{display:block}
.auto-light-progress progress{display:block;width:100%;height:7px;margin-top:6px;accent-color:#365de8}
.toolbar-button:hover:not(:disabled),.outline-button:hover:not(:disabled),.reset-adjustment:hover,.view-button:hover,.status-choice:hover:not(:disabled){border-color:#b8c9f3;background:#f7f9ff;color:#294cc7}
.toolbar-actions .render-button,.render-button,.primary{border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-weight:650;letter-spacing:0;box-shadow:0 2px 5px #365de81e}
.render-button:hover:not(:disabled),.primary:hover:not(:disabled){border-color:var(--accent-dark);background:var(--accent-dark)}
.render-button:disabled,.primary:disabled{border-color:#d8dfea;background:#d8dfea;color:#7d8aa0;box-shadow:none}
.toolbar-actions .render-button{min-height:34px;padding:6px 13px;font-size:12px}
.workspace-menu summary{border-radius:8px;color:#435268}.workspace-menu summary:hover{background:#f4f6fb}
.workspace-menu[open] button{border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #1d293921}
.workflow-guide{padding-inline:18px;background:#fbfcff;border-bottom:1px solid var(--line)}
.workflow-step{color:#69778a}.workflow-step-number{border-color:#cbd5e2;color:#718097;background:#fff}
.workflow-step:hover:not(:disabled){border-color:#dce5f8;background:#f3f6ff}
.workflow-step[data-state=current]{border-color:#cfdcff;background:#edf2ff;color:#294cc7}
.workflow-step[data-state=current] .workflow-step-number{border-color:var(--accent);background:var(--accent);color:#fff}
.workflow-step[data-state=complete]{color:#347055}.workflow-step[data-state=complete] .workflow-step-number{border-color:#3c9c6f;background:#3c9c6f}
.workflow-guide-message{color:#637187}
.project-tree-panel,.inspector-panel{background:#fff;border-color:var(--line)}
.tree-section{border-bottom:1px solid #edf0f5}.tree-heading{color:#7a8798;letter-spacing:.5px}
.import-design-control{min-height:40px;border:1px dashed #b8c9ef;border-radius:9px;background:#f7f9ff;color:#3154c1;font-weight:600}
.import-design-control:hover{border-color:var(--accent);background:#edf2ff;color:#294cc7}.import-glyph{color:var(--accent)}
.project-filename{color:#263347;font-weight:650}.project-details{color:#66758a}
.unit-badge,.precision{border-color:#dce6f4;background:#f5f8fd;color:#536a88}
.tree-product-button.compact-product{min-height:54px;border:1px solid transparent;border-radius:9px;margin:2px 0;padding:8px}
.tree-product-button.compact-product:hover{border-color:#dce6fa;background:#f7f9ff}
.tree-product.selected .tree-product-button.compact-product,.tree-product-button.compact-product.selected{border-color:#cfdbff;background:#edf2ff;color:#294cc7}
.tree-product-state{color:#78869a}
.viewport-panel{background:var(--paper);padding:16px}
.profile-workspace{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 3px 12px #1d29390a}
.profile-workspace-heading{min-height:52px;align-items:center;padding:10px 14px;color:#6c7a8d;border-bottom:1px solid var(--line)}
.profile-workspace-heading strong{color:#213047;font-size:15px}
.profile-canvas-frame{background:#202b36}
.import-empty{inset:52px 0 0;border:0;background:#fbfcff}.import-empty strong{font-size:17px;color:#223149}.import-empty p{max-width:340px;color:#66758a}
.render-context{min-height:38px;color:#263347}.render-context>span{color:#7b8797}
.viewport-toolbar{min-height:38px;padding:0 4px;border:0;background:transparent}
.view-button{padding:5px 9px}.view-button.active{border-color:#cfdcff;background:#edf2ff;color:#294cc7;font-weight:650}
.preview-modes{gap:4px;align-self:flex-start;padding:3px;border:1px solid var(--line);border-radius:9px;background:#e9edf5}
.preview-modes button{min-height:30px;border-radius:6px;padding:5px 12px;color:#5c6a80}
.preview-modes [aria-pressed=true],.export-kind [aria-pressed=true]{border:0;background:#fff;color:#294cc7;box-shadow:0 1px 4px #1d29391c}
.viewport-stage{border:1px solid #dbe2eb;border-radius:12px;background:#e9edf3;box-shadow:0 3px 12px #1d29390b}
.viewport-quality-chip{color:#596b81}.render-state-details{color:#637187}
.inspector-tabs{padding:8px 8px 0;border-color:var(--line);box-shadow:0 1px 2px #1d293908}
.inspector-tabs button{border-radius:7px 7px 0 0;color:#65738a;font-weight:600}
.inspector-tabs [aria-selected=true]{background:#f3f6ff;color:#294cc7;box-shadow:inset 0 -2px var(--accent)}
.inspector-group{border-bottom:1px solid #e8edf3;background:#fff;padding:18px 16px}
.inspector-heading{align-items:center;margin-bottom:12px}.inspector-heading h2{color:#243149;font-size:14px;font-weight:700}
.inspector-heading>span{color:#7a8798}.inspector-subheading{color:#526177;font-weight:650}
.property-row{color:#44546a}.control-hint{color:#718096}
.control-number,#material-color-hex,#export-filename,.export-location input[type=text]{border:1px solid #d7e0ea;border-radius:7px;background:#fff;color:#263347}
.control-number:focus,#material-color-hex:focus,#export-filename:focus,.export-location input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #365de81a;outline:none}
.range-control button{border:1px solid #dce3ec;border-radius:6px;background:#fff;color:#506078}
.range-control button:hover{border-color:#b8c9f3;background:#f4f7ff;color:#294cc7}
input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
.material-token{min-height:37px;border-color:#dce3ec;border-radius:8px;background:#fff;color:#40516a}
.material-token:hover{border-color:#b8c9f3;background:#f5f8ff}
.material-card{border-color:#e3e8f0;border-radius:9px;background:#fbfcff;padding:10px}
.material-card.active{border-color:#b8c9f3;background:#f5f8ff;box-shadow:inset 3px 0 var(--accent)}
.material-card.staged{border-color:#e8d6a0;background:#fffcf3}
.material-color-options button[aria-pressed=true]{outline-color:var(--accent)}
.region-status{border:1px solid #dbe5ff;border-radius:8px;background:#f3f6ff;color:#3154bd}
.material-confirm-bar,.preview-refresh{border-color:var(--line);background:#fff}
.material-confirm-bar button,.preview-refresh button{min-height:38px}
.render-presets button{border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#44546a}
.render-presets button:hover{border-color:#b8c9f3;background:#f7f9ff}.render-presets button.active{border-color:#adc1fa;background:#edf2ff;color:#294cc7}
.light-map{border-color:#dce3ec;border-radius:9px;background:#f7f9fc}
.render-status-bar{border-color:var(--line);background:#fff;color:#718096}
.export-dialog,.task-dialog{border:1px solid #e0e6ee;border-radius:14px;background:#fff;color:#1d2939;box-shadow:0 24px 64px #1d293936}
.export-dialog::backdrop,.task-dialog::backdrop{background:#111d3291}
.export-dialog-card{gap:18px}.export-dialog-card header p{color:#7a8798}.export-dialog-card h2{color:#223149;font-size:19px}
.export-dialog-grid section{border:1px solid var(--line);border-radius:10px;background:#fbfcff}
.export-kind button{min-height:38px;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#536177}
.export-kind button[aria-pressed=true]{border:1px solid #cddaff;background:#edf2ff;color:#294cc7;box-shadow:none;font-weight:650}
.export-dialog .status-choice.active{border-color:#b8c9f3;background:#edf2ff;color:#294cc7}
.export-dialog-note{border-left-color:#90a8f1;color:#637187}
.task-dialog header{align-items:center}.export-task{border-color:var(--line)}
@media(max-width:1100px){.brand-lockup strong{font-size:11px}.offline-indicator{display:none}.app-toolbar{grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr)}}
@media(max-width:760px){.brand-lockup{display:none}.app-toolbar{grid-template-columns:1fr auto}.toolbar-workspaces{justify-content:flex-start}.workflow-guide{padding-inline:10px}.viewport-panel{padding:10px}.profile-workspace-heading{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){button,input,select{transition:none}}
.art-steps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.art-steps button{padding:10px 14px}.art-steps button.active{color:#3159e8;background:#edf1ff;border-color:#a9bcff}
.art-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(270px,330px);gap:20px;align-items:start}.art-visuals{min-width:0}.art-visuals>[data-art-stage]{width:100%;min-height:240px;background:#d1d1d1;border-radius:12px;overflow:hidden}.art-canvas{display:block;width:100%;height:100%;min-height:240px}.art-controls{padding:16px;background:#fff;border:1px solid #e0e6ee;border-radius:12px}.art-controls label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.art-controls input[type=number]{width:100px}.art-controls textarea{width:100%;min-height:70px}.art-controls img{max-width:100%}.art-controls p,.art-visuals p{font-size:13px;color:#64748b}.art-controls progress{width:100%;margin:12px 0}.art-controls [data-parts-list]{padding-left:20px;overflow-wrap:anywhere;font-size:12px}.art-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.art-overlay-frame{position:relative}.art-overlay-frame img{width:100%;object-fit:contain;display:block}.art-overlay-frame img[data-overlay-image]{position:absolute;inset:0;height:100%;pointer-events:none}.art-controls a{display:block;padding:12px 0}[data-art-status]{padding:10px;background:#edf1ff;border-radius:8px}
@media(max-width:780px){.art-layout{grid-template-columns:1fr}.art-controls{width:auto}.art-steps button{flex:1}.art-canvas{min-height:300px}}
.ai-key-card{padding:16px 18px;border:1px solid #a9bcff;border-left:4px solid #365de8;background:#fff;border-radius:8px;color:#344054}
.ai-key-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.ai-key-heading h3{font-size:16px;margin:0 0 6px}.ai-key-heading p{font-size:13px;margin:0;color:#64748b}.ai-key-heading [data-ai-config-badge]{display:inline-block;margin-left:12px;color:#3154bd}
.ai-key-card [data-ai-config-form]{margin-top:18px;padding-top:16px;border-top:1px solid #dbe5ff;display:grid;gap:10px}.ai-key-card [hidden]{display:none!important}
.ai-key-label{font-size:16px;font-weight:650;color:#294cc7}.ai-key-card input{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:2px solid #365de8;border-radius:6px;background:#f7f9ff;color:#223149;font-size:15px}.ai-key-card input:focus{outline:3px solid #365de826;outline-offset:2px}.ai-key-card details input{margin-top:8px;border:1px solid #cbd5e1;font-size:13px}.ai-key-card details summary{cursor:pointer;font-size:13px;color:#64748b}
.ai-key-actions{display:flex;gap:10px;flex-wrap:wrap}.extension-workspace .ai-key-card button.primary{background:#365de8;color:white;border-color:#365de8}.ai-key-card button:focus-visible{outline:3px solid #3154bd;outline-offset:3px}.ai-key-card button:disabled{opacity:.55;cursor:not-allowed}
.ai-key-help,.ai-key-note{font-size:12px;color:#64748b;line-height:1.65;margin:0;max-width:80ch}.ai-key-note{margin-top:8px}.ai-key-card [data-ai-config-status]{font-size:13px;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}
@media(max-width:780px){.ai-key-heading{align-items:flex-start;flex-direction:column;gap:12px}.ai-key-heading>button{width:100%}.ai-key-card{padding:14px}.ai-key-card input{font-size:16px}.ai-key-actions>button{flex:1}}
.ai-art-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; }
.ai-art-preview { min-height:420px; display:grid; place-items:center; background:#e4e9f0; border:1px solid #d9e1ee; border-radius:16px; overflow:hidden; }
.ai-art-preview img { width:100%; height:auto; object-fit:contain; }
.ai-art-preview p { color:#77859a; padding:24px; text-align:center; }
.ai-art-workspace [hidden] { display:none !important; }
.ai-art-workspace [data-ai-products] label { display:flex; gap:10px; align-items:center; margin:10px 0; }
.ai-art-workspace [data-ai-progress] { width:100%; margin-top:16px; }
.ai-art-workspace [data-ai-download] { display:block; padding:12px; text-align:center; }
.commerce-workspace{min-width:0;color:#344054}.commerce-workspace [hidden]{display:none!important}
.commerce-heading h2{margin:0 0 8px;font-size:22px}.commerce-heading p{color:#667085;margin:0 0 18px;line-height:1.6}
.commerce-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}
.commerce-categories button{text-align:left;padding:14px!important;min-height:80px}.commerce-categories strong{display:block;font-size:15px}
.commerce-categories span{display:block;margin-top:6px;color:#667085;font-size:12px;line-height:1.5}
.commerce-categories button[aria-pressed="true"]{border-color:#365cec;background:#edf1ff;color:#2549cc}
.commerce-template-picker{margin:0 0 24px}.commerce-template-picker h3{margin:0 0 6px;font-size:16px}.commerce-template-picker>p{margin:0 0 12px;font-size:13px;color:#667085;line-height:1.6}
.commerce-template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.commerce-template-options button{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:10px!important;border:1px solid #cbd5e1;background:#fff;border-radius:6px;min-width:0;color:#344054}.commerce-template-options button[aria-pressed="true"]{border:2px solid #365cec;padding:9px!important;background:#f5f7ff}.commerce-template-schematic{display:block;overflow:hidden;border:1px solid #e2e8f0;margin-bottom:10px}.commerce-template-schematic svg{display:block;width:100%;height:110px}.commerce-template-options strong{font-size:14px}.commerce-template-options button>span:not(.commerce-template-schematic){font-size:12px;color:#667085;line-height:1.5;margin:5px 0}.commerce-template-options small{font-size:11px;color:#667085}
@media(max-width:600px){.commerce-template-options{gap:7px}.commerce-template-options button{padding:7px!important}.commerce-template-options button[aria-pressed="true"]{padding:6px!important}.commerce-template-schematic svg{height:76px}.commerce-template-options small{display:none}}
.commerce-workspace button:focus-visible,.commerce-workspace input:focus-visible,.commerce-workspace select:focus-visible,.commerce-workspace textarea:focus-visible{outline:3px solid #365cec;outline-offset:2px}
.commerce-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:24px;align-items:start}
.commerce-inputs{min-width:0}.commerce-inputs h3{font-size:15px;margin:0 0 12px}.commerce-inputs section{margin:16px 0;border-top:1px solid #d9e1ee;padding-top:16px}
.commerce-inputs label{display:block;margin:12px 0;font-size:13px;line-height:1.5}.commerce-inputs input:not([type="checkbox"]),.commerce-inputs select,.commerce-inputs textarea{display:block;box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#344054;font:inherit;margin-top:6px}.commerce-inputs textarea{resize:vertical}
.commerce-product-list>label{display:flex;align-items:center;gap:10px}.commerce-inputs [data-commerce-dimensions] label{display:grid;grid-template-columns:18px 1fr 90px;align-items:center;gap:6px}
.commerce-inputs button.primary{width:100%;margin-top:10px}.commerce-inputs p{font-size:12px;color:#667085;line-height:1.7}.commerce-cost-note{margin-top:12px}
.commerce-preview{min-height:400px;display:grid;place-items:center;background:#e4e9f0;border:1px solid #d9e1ee;border-radius:10px;overflow:hidden}.commerce-preview p{padding:24px;text-align:center;color:#667085;max-width:38em;line-height:1.7}
.commerce-preview img{display:block;width:100%;height:auto;object-fit:contain}.commerce-output{min-width:0;position:sticky;top:0}.commerce-output progress{width:100%;margin:16px 0}.commerce-output [role="status"]{line-height:1.6;font-size:13px}
@media(max-width:900px){.commerce-layout{grid-template-columns:minmax(0,1fr)}.commerce-output{position:static}.commerce-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-preview{min-height:260px}}
@media (max-width:900px) { .ai-art-layout { grid-template-columns:minmax(0,1fr); } .ai-art-preview { min-height:300px; } }
