/* Archive additions inherit the existing Studio controls and site palette. */
.wave-preset img {display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:var(--paper);}
.wave-preset-list>article {min-width:0;}
.wave-preset-list>article>.wave-preset {width:100%;}
.settings-panel .wave-preset strong {white-space:normal;overflow:visible;overflow-wrap:anywhere;}
.diagram-scroll [data-photo-wrap] {display:block;max-width:100%;height:auto;margin-inline:auto;}
.diagram-layer-controls {display:flex;flex-wrap:wrap;gap:12px 20px;border:0;margin:0;padding:16px;}
.diagram-layer-controls .check-field {margin:0;}
[data-plan-viewport] {touch-action:none;cursor:grab;}
[data-plan-viewport]:active {cursor:grabbing;}
[data-plan-viewport]:focus-visible {outline:2px solid var(--navy);outline-offset:2px;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.seal-diagnostic-plan {margin:0;min-width:0;}
.seal-diagnostic-plan svg {display:block;width:100%;max-height:60dvh;}
.seal-diagnostic-plan figcaption {font-size:var(--text-sm,12px);color:var(--muted);line-height:1.5;}

/* One readable secondary-text role, instead of archive-specific low-contrast greys. */
:root {--muted:var(--workspace-muted);--text-sm:13px;--text-xs:12px;--recipe-width:144px;--recipe-preview-height:80px;}
.main-nav a:not(.active),.main-nav [data-project-count],.rail-label,.save-state,
.preset-card small,.frame-select span,.type-preset>span,.upload-card>span,
.build-status,.stage-footer .text-button,.object-summary span,.object-summary small,
.detail-header>p,.detail-note,.operation-progress small,.op-heading [data-op-elapsed],
.settings-footer,.context-note,.stage-caption,.small-note {color:var(--muted);}
.segmented-tabs button:not([aria-selected=true]) {color:var(--muted);}
.save-state,.build-status,.stage-footer .text-button,.object-summary span,
.object-summary small,.settings-footer,.context-note,.stage-caption,
.detail-note,.detail-header>p {font-size:var(--text-xs);line-height:1.5;}
.settings-panel .field,.settings-panel .field-label,.settings-panel .input,
.settings-section>summary {font-size:var(--text-sm);}

/* Product-specific diagrams keep the shared disclosure and typography contract. */
.studio-workspace--editor .stage-detail-view[data-diagram-view=true] .detail-header p,
.studio-workspace--editor .stage-detail-view[data-diagram-view=true] .detail-note {font-size:var(--text-xs);line-height:1.55;}
.cutter-profile-body {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr));align-items:center;gap:16px;font-size:var(--text-xs);margin-bottom:12px;}
.cutter-profile-body>svg {width:100%;max-width:128px;justify-self:center;}
.cutter-section-fill {fill:var(--navy);}
.cutter-section-line {fill:none;stroke:var(--muted);stroke-width:1;}
.cutter-profile-body svg text {fill:var(--muted);font-family:var(--font-ui);}
.cutter-profile-body dl {display:grid;gap:8px;min-width:0;margin:0;}
.cutter-profile-body dt {color:var(--muted);line-height:1.4;}
.cutter-profile-body dd {margin:2px 0 0;color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums;}
.cutter-outline-preview {display:block;width:100%;max-height:280px;margin:12px 0;}
.cutter-cut-line {fill:var(--workspace-soft);stroke:var(--navy);stroke-width:1.5;vector-effect:non-scaling-stroke;}
.cutter-source-line {fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;}
.cutter-zone {fill:var(--danger-surface);stroke:var(--danger-ink);vector-effect:non-scaling-stroke;}
.cutter-zone-line {stroke:var(--danger-ink);stroke-width:2;vector-effect:non-scaling-stroke;}
.settings-panel .field-row:has([data-sound-text]) {display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:20px;}
.settings-panel .field-row:has([data-sound-text])>.field {margin-bottom:0;}
.settings-panel .field-row:has([data-sound-text])>.field.small {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.settings-panel [data-sound-text-height] {width:7em;max-width:100%;}
.settings-panel .field>input[type=color] {width:64px;height:var(--control-size);padding:5px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);}
.settings-panel .field>input[type=color]::-webkit-color-swatch-wrapper {padding:0;}
.settings-panel .field>input[type=color]::-webkit-color-swatch {border:0;border-radius:4px;}
.settings-panel .field>input[type=color]::-moz-color-swatch {border:0;border-radius:4px;}
.tree-style-actions {display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.tree-style-actions .text-button {min-height:var(--control-size);padding:8px 12px;border:1px solid var(--line);border-radius:var(--control-radius);font-size:var(--text-xs);}
.tree-style-actions .text-button:hover {background:var(--workspace-soft);border-color:var(--navy);}
.tree-version {display:none;}

/* Forms add a secondary recipe action: the article must obey the same track
   dimensions as single-button presets, not the PNG's native 240 px size. */
.presets-panel .variant-track>article {flex:0 0 var(--recipe-width);width:var(--recipe-width);min-width:0;scroll-snap-align:start;}
.presets-panel .variant-track>article>.preset-card {width:100%;padding:6px;margin:0;border:1px solid var(--line);border-radius:8px;}
.presets-panel .variant-track>article>.preset-card.selected {border-color:var(--orange);}
.presets-panel .variant-track .preset-render img {display:block;width:100%;height:var(--recipe-preview-height);object-fit:contain;}
.presets-panel .variant-track>article .preset-render {margin:0;}
.presets-panel .variant-track>article :is(span,small) {display:block;white-space:normal;font-size:var(--text-xs);line-height:1.4;}
.presets-panel .variant-track>article .text-button {width:100%;min-height:36px;font-size:var(--text-xs);justify-content:center;}
.presets-panel .variant-track>button>small {font-size:var(--text-xs);color:var(--muted);}
.presets-panel .settings-section>summary {padding-block:10px;}

/* A modal must shrink with its viewport even after being opened on desktop. */
.editor-dialog .editor-body,.editor-dialog .editor-inspector,.editor-dialog .editor-props {min-width:0;}

/* The same readable workspace controls serve every print generator. Product
   geometry and its own settings remain unchanged. */
.workspace-head:has(.project-meta) {align-items:center;gap:20px;}
.workspace-head:has(.project-meta)>div:first-child {min-width:0;flex:1 1 320px;}
.workspace-head:has(.project-meta) .workspace-actions {min-width:0;max-width:none;flex:0 1 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.project-meta {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 12px;width:100%;}
.workspace-head .project-title {min-height:32px;max-width:min(32ch,40vw);padding:4px 0;font-size:13px;font-weight:600;color:var(--navy);}
.workspace-head .project-title svg {flex:none;}
.workspace-head .save-state {font-size:var(--text-xs);line-height:1.4;color:var(--muted);}
.workspace-head:has(.project-meta) .project-actions {width:auto;gap:8px;}
.workspace-head:has(.project-meta) .project-actions>.icon-button {width:40px;height:40px;min-width:40px;}
.workspace-head:has(.project-meta) .project-actions>.button {min-height:40px;padding:10px 14px;font-size:12px;line-height:1.3;}
.workspace-head:has(.project-meta) .project-actions>.button:disabled {opacity:.55;}
.settings-panel>.panel-heading {margin-bottom:4px;padding:18px 20px;border-bottom:1px solid var(--line);}
.settings-panel>.panel-heading h2 {margin:0;font-size:17px;line-height:1.35;font-weight:650;color:var(--navy);}
.settings-panel .field-label {min-height:28px;color:var(--ink);line-height:1.45;}
.settings-panel .number-unit {color:var(--muted);font-size:var(--text-xs);}
.settings-panel .number-unit input {min-height:32px;font-size:14px;}
.settings-panel .range-field>input[type=range] {height:28px;margin:3px 0 7px;background:linear-gradient(#dfe4e8,#dfe4e8) center / 100% 4px no-repeat;}
.settings-panel .range-field>input[type=range]::-webkit-slider-thumb {width:18px;height:18px;}
.settings-panel .range-field>input[type=range]::-moz-range-thumb {width:18px;height:18px;}
.settings-panel .variation-box .eyebrow,.settings-panel [data-settings]>.eyebrow {font-size:var(--text-xs);letter-spacing:.04em;color:var(--muted);}
.settings-panel .design-card .eyebrow {font-size:11px;letter-spacing:.04em;color:var(--muted);}
.settings-panel .design-card .text-button {font-size:12px;}
.settings-panel .range-field small {font-size:11px;line-height:1.5;color:var(--muted);}
.settings-section>summary {gap:12px;}
.settings-section>summary>span {display:grid;place-items:center;flex:none;width:1.8em;height:1.8em;line-height:1;color:var(--muted);}
.settings-panel .mutation-locks,.settings-panel .mutation-locks small {font-size:var(--text-xs);line-height:1.4;color:var(--muted);}
.settings-panel .mutation-locks label {min-height:32px;gap:6px;}
.settings-panel .mutation-locks input {width:16px;height:16px;accent-color:var(--orange);}
.settings-footer {font-size:var(--text-xs);line-height:1.5;color:var(--muted);}
.object-summary span,.object-summary small,.context-note {font-size:var(--text-xs);color:var(--muted);}
.object-summary strong {font-size:15px;font-weight:600;}
.diagnostics>summary {min-height:44px;font-size:var(--text-xs);line-height:1.5;color:var(--muted);}
.diagnostic-row {font-size:var(--text-xs);line-height:1.55;color:var(--ink);}
.diagnostic-row.warning {color:#735c32;}
.stage-tabs .segmented-tabs>button {min-height:40px;font-size:var(--text-xs);}
.stage-tools .icon-button,.stage-zoom .icon-button {min-width:40px;min-height:40px;}
.settings-panel :is(button,input,select,summary):focus-visible,.workspace-head:has(.project-meta) button:focus-visible {outline:2px solid var(--navy);outline-offset:3px;}
@media(max-width:1000px) {
 .workspace-head:has(.project-meta) .workspace-actions {width:100%;align-items:flex-start;margin-top:16px;}
 .project-meta {justify-content:flex-start;}
 .workspace-head:has(.project-meta) .project-actions {justify-content:flex-start;}
}
@media(max-width:620px) {
 .workspace-head:has(.project-meta) .project-actions {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:8px;}
 .workspace-head:has(.project-meta) .project-actions>.icon-button {width:100%;min-width:0;min-height:40px;}
 .workspace-head:has(.project-meta) .project-actions>.button {grid-column:span 2;width:100%;min-width:0;white-space:normal;}
 .workspace-head .project-title {max-width:100%;}
 .object-summary {grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Product workspace: one canvas, one inspector, a quiet document toolbar.
   Engine-specific controls keep their own meaning inside this shared shell. */
:root {--workspace-gap:20px;--workspace-inspector:320px;--control-size:42px;--control-radius:8px;--workspace-soft:#f4f6f7;}
.studio-app {--workspace-mobile-offset:calc(var(--public-header-height,0px) + var(--tool-rail-height,66px));}
.workspace-mobile-switch {scroll-margin-top:calc(var(--workspace-mobile-offset) + 8px);}
.workspace-head.workspace-head--editor {display:flex;align-items:center;justify-content:space-between;gap:var(--workspace-gap);margin-bottom:20px;}
.workspace-head--editor .workspace-heading {min-width:0;flex:1;}
.workspace-head--editor .workspace-heading,.studio-workspace--editor .settings-panel {overflow-wrap:anywhere;}
.workspace-head--editor .workspace-heading :is(h1,h2) {margin:0;max-width:none;font-size:clamp(23px,2.3vw,32px);line-height:1.2;letter-spacing:-.7px;font-weight:650;}
.workspace-document-name {display:block;margin-top:7px;font-size:13px;font-weight:450;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;}
.workspace-head--editor .workspace-actions {display:flex;flex-direction:column;align-items:flex-end;min-width:0;max-width:none;gap:4px;margin:0;}
.workspace-head--editor .project-actions {display:flex;align-items:center;gap:6px;margin:0;}
.workspace-head--editor .project-actions>.icon-button {width:var(--control-size);height:var(--control-size);border:1px solid var(--line);border-radius:var(--control-radius);}
.workspace-head--editor .project-actions>.button {min-height:var(--control-size);font-size:13px;padding:10px 14px;margin:0;}
.workspace-head--editor .save-state {font-size:12px;line-height:1.5;color:var(--muted);}
.project-menu {position:fixed;inset:160px 28px auto auto;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 190px);margin:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 12px 48px #10182724;overflow:auto;}
.project-menu-label {display:block;padding:8px 10px 0;font-size:var(--text-xs);color:var(--muted);}
.project-menu>button,.workspace-head .project-menu>.project-title {display:flex;align-items:center;gap:12px;min-height:44px;max-width:none;width:100%;padding:10px;border-radius:var(--control-radius);font-size:13px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;}
.project-menu>.project-title {justify-content:space-between;font-weight:650;margin-bottom:8px;}
.project-menu>button:hover {background:var(--workspace-soft);}
.project-menu>p {margin:10px 10px 6px;padding-top:14px;border-top:1px solid var(--line);font-size:var(--text-xs);line-height:1.6;color:var(--muted);}
.main-content .studio-workspace.studio-workspace--editor {display:grid;grid-template-columns:minmax(0,1fr) var(--workspace-inspector);align-items:start;gap:var(--workspace-gap);}
.studio-workspace--editor>.stage-panel {min-width:0;}
.studio-workspace--editor>.workspace-mobile-switch {display:none;}
.studio-workspace--editor>.settings-panel {width:100%;max-height:none;overflow:visible;background:var(--surface);}
.studio-workspace--editor>.settings-panel>.panel-heading {padding:18px 20px;margin:0;}
.studio-workspace--editor .settings-panel :is(select.input,input.input) {min-height:var(--control-size);border-radius:var(--control-radius);}
.studio-workspace--editor .settings-panel .range-field {gap:4px;margin-bottom:16px;}
.studio-workspace--editor .range-field .number-unit {display:inline-flex;align-items:center;flex:none;gap:3px;padding-inline:5px;border:1px solid var(--line);border-radius:6px;background:var(--workspace-soft);}
.studio-workspace--editor .range-field .number-unit:focus-within {border-color:var(--navy);box-shadow:0 0 0 2px #17335a12;}
.studio-workspace--editor .range-field .number-unit input {width:6em;max-width:7em;min-height:30px;padding:4px 2px;border:0;background:transparent;font-variant-numeric:tabular-nums;color:var(--navy);}
.studio-workspace--editor .range-field>input[type=range] {margin:0;}
.studio-workspace--editor .settings-panel .settings-section>summary {min-height:48px;padding-block:12px;font-weight:550;}
.studio-workspace--editor .settings-panel .settings-section-body {padding-bottom:16px;}
.studio-workspace--editor .settings-panel>.presets-panel {display:block;width:100%;max-height:none;margin:0 0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;overflow:visible;}
.studio-workspace--editor .settings-panel>.presets-panel>summary {display:flex;align-items:center;gap:10px;min-height:48px;width:100%;padding:12px 20px;margin:0;cursor:pointer;list-style:none;}
.studio-workspace--editor .settings-panel>.presets-panel>summary h3 {margin:0;font-size:13px;line-height:1.45;font-weight:600;}
.studio-workspace--editor .settings-panel>.presets-panel>summary>svg {transform:none;}
.studio-workspace--editor .settings-panel>.presets-panel>summary>svg:first-child {margin:0;}
.studio-workspace--editor .settings-panel>.presets-panel>summary>svg:last-child {margin-left:auto;transition:transform .15s;}
.studio-workspace--editor .settings-panel>.presets-panel[open]>summary>svg:last-child {transform:rotate(180deg);}
.studio-workspace--editor .settings-panel>.presets-panel>[data-presets] {max-height:420px;overflow:auto;padding:4px 16px 16px;min-width:0;}
.studio-workspace--editor .settings-panel>.presets-panel:not([open])>[data-presets] {display:none;}
.studio-workspace--editor .presets-panel .variant-track {grid-template-columns:repeat(2,minmax(0,1fr));}
.studio-workspace--editor .presets-panel :is(.upload-card,.photo-slot) {width:100%;max-width:none;float:none;height:auto;margin:0 0 12px;}
.studio-workspace--editor .presets-panel .photo-slots {display:block;}
.studio-workspace--editor .presets-panel .panel-description {display:block;margin:0 0 12px;font-size:var(--text-xs);}
.studio-workspace--editor .presets-panel :is(.privacy-note,.demo-callout p,.upload-card>span),
.studio-workspace--editor .settings-panel :is(.small-note,.field small) {font-size:var(--text-xs);line-height:1.55;}
.studio-workspace--editor .presets-panel .variant-track>button {flex-basis:auto;width:100%;}
.studio-workspace--editor .model-stage {height:clamp(420px,58dvh,680px);background:radial-gradient(ellipse at 35% 25%,#fff,var(--workspace-soft));}
.studio-workspace--editor .stage-tabs {padding:10px 14px;}
.studio-workspace--editor .stage-dimensions>span {font-size:var(--text-xs);}
.studio-workspace--editor .stage-detail-view .part-row {gap:12px;min-height:64px;}
.studio-workspace--editor .stage-detail-view .part-row strong {font-size:var(--text-sm);line-height:1.45;}
.studio-workspace--editor .stage-detail-view .part-row small {font-size:var(--text-xs);line-height:1.5;}
.studio-workspace--editor .stage-detail-view .detail-header h2 {font-size:22px;line-height:1.3;letter-spacing:-.3px;}
.workspace-readmore {display:flex;justify-content:flex-end;padding:16px 0;}
.workspace-readmore .seo-entry-link {min-height:var(--control-size);color:var(--navy);font-size:13px;text-decoration:underline;text-underline-offset:4px;}
.studio-workspace--editor:fullscreen {--workspace-mobile-offset:0px;padding:16px;overflow:auto;}
.studio-workspace--editor:fullscreen>.stage-panel {top:0;}
.workspace-followup {display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.workspace-followup>div:first-child {display:grid;gap:4px;flex:1 1 240px;}
.workspace-followup strong {font-size:14px;}
.workspace-followup span {font-size:var(--text-xs);color:var(--muted);}
.workspace-followup .button,.workspace-followup .seo-entry-link {min-height:40px;font-size:13px;}
.workspace-followup .seo-entry-link {text-decoration:underline;text-underline-offset:4px;color:var(--navy);}
@media(min-width:761px) {
 .studio-workspace--editor>.stage-panel {position:sticky;top:calc(var(--public-header-height,96px) + 16px);}
}
@media(min-width:761px) and (max-width:980px) {
 .studio-workspace--editor>.stage-panel {top:calc(var(--workspace-mobile-offset) + 12px);}
}
@media(max-width:1100px) {
 .workspace-head.workspace-head--editor {flex-wrap:wrap;gap:12px;}
 .workspace-head--editor .workspace-heading {flex-basis:100%;}
 .workspace-head--editor .workspace-actions {align-items:flex-start;}
}
@media(max-width:760px) {
 .workspace-head.workspace-head--editor {margin-bottom:14px;gap:12px;}
 .workspace-head--editor .workspace-heading :is(h1,h2) {font-size:25px;letter-spacing:-.6px;}
 .workspace-head--editor .workspace-actions {width:100%;align-items:stretch;gap:5px;}
 .workspace-head--editor .project-actions {display:flex;width:100%;gap:6px;}
 .workspace-head--editor .project-actions>.button {padding:10px;font-size:12px;gap:6px;}
 .workspace-head--editor .project-menu-trigger>.icon:first-child {display:none;}
 .workspace-head--editor .project-actions>.icon-button {width:40px;min-width:40px;height:var(--control-size);}
 .workspace-head--editor .project-actions>.export-button {flex:1;white-space:normal;}
 .workspace-head--editor .save-state {font-size:11px;}
 .main-content .studio-workspace.studio-workspace--editor {grid-template-columns:minmax(0,1fr);gap:12px;}
 .studio-workspace--editor>.workspace-mobile-switch {position:sticky;top:var(--workspace-mobile-offset);z-index:10;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;gap:4px;background:var(--workspace-soft);border:1px solid var(--line);border-radius:12px;font-size:13px;container-type:inline-size;}
 .workspace-mobile-switch>button {display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border-radius:var(--control-radius);font-size:13px;font-weight:600;color:var(--muted);}
 .workspace-mobile-switch>button[aria-pressed=true] {background:var(--navy);color:var(--surface);}
 .studio-workspace--editor[data-mobile-panel=model]>.settings-panel,
 .studio-workspace--editor[data-mobile-panel=settings]>.stage-panel {display:none;}
 .studio-workspace--editor .model-stage {height:clamp(360px,50dvh,520px);}
 .studio-workspace--editor .stage-zoom {top:14px;left:14px;right:auto;bottom:auto;}
 .studio-workspace--editor .model-stage:has(.fold-preview-control) .stage-zoom {top:auto;bottom:20px;}
 .studio-workspace--editor .stage-tabs {padding:8px;gap:4px;}
 .studio-workspace--editor .stage-tabs .segmented-tabs>button {padding:8px;font-size:12px;}
 .studio-workspace--editor .object-summary {margin-top:0;}
 .studio-workspace--editor .context-note {padding:12px 16px;}
 .workspace-followup {margin-top:20px;padding:16px 0;gap:12px;}
 .workspace-followup>div:first-child {flex-basis:100%;}
 .workspace-followup strong {font-size:13px;}
 .workspace-followup .button {font-size:12px;}
 .project-menu {inset:140px 16px auto auto;max-height:calc(100dvh - 172px);}
}
@media(prefers-reduced-motion:reduce) {
 .studio-workspace--editor .settings-panel>.presets-panel>summary>svg {transition:none;}
}

/* Product first: one dimension overlay and one set of customer actions. */
.studio-workspace--editor .stage-footer[hidden],
.studio-workspace--editor [data-export-options][hidden],
.workspace-head--editor .project-actions>[hidden] {display:none;}
.studio-workspace--editor .model-information {border-top:1px solid var(--line);}
.model-information>summary {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--control-size);padding:12px 20px;list-style:none;cursor:pointer;color:var(--muted);font-size:13px;font-weight:550;}
.model-information>summary::-webkit-details-marker {display:none;}
.model-information>summary:hover {color:var(--ink);background:var(--workspace-soft);}
.model-information>summary:focus-visible {outline:2px solid var(--accent);outline-offset:-3px;border-radius:var(--control-radius);}
.model-information[open]>summary>svg {transform:rotate(180deg);}
.model-information-body {padding:0 20px 16px;}
.model-information-body>.text-button {min-height:var(--control-size);font-size:13px;}
.diagnostics>summary {flex-wrap:wrap;}
.studio-workspace--editor .model-information .object-summary {grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:12px 0;}
.studio-workspace--editor .model-information .context-note {padding:8px 0;margin:0;}
.workspace-followup--guide {margin-top:12px;padding:0;border:0;min-height:0;}
.workspace-followup--guide:has([data-guide-link]:empty) {display:none;}
.studio-workspace--editor .model-information {border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);background:var(--surface);overflow:hidden;}
.studio-workspace--editor .model-information summary>svg {flex:none;transition:transform var(--motion-state) var(--ease-out);}
.studio-workspace--editor .stage-tools {top:20px;right:16px;gap:3px;padding:5px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 20px #17335a06;backdrop-filter:none;}
.studio-workspace--editor .stage-tools .icon-button {color:var(--muted);}
.studio-workspace--editor .stage-tools .icon-button:hover {background:var(--workspace-soft);color:var(--navy);}
.studio-workspace--editor .stage-zoom {border-color:var(--line);box-shadow:0 4px 20px #17335a06;}
.studio-workspace--editor .stage-zoom output {font:500 12px var(--font-ui);font-variant-numeric:tabular-nums;}
.studio-workspace--editor .segmented-tabs {background:var(--workspace-soft);}
.studio-workspace--editor .segmented-tabs>button {font-weight:550;transition:background var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast);}
.studio-workspace--editor .model-loading {background:#f4f6f7f5;}
.studio-workspace--editor .model-loading>span:last-child {font-size:13px;line-height:1.6;color:var(--muted);}
.studio-workspace--editor .settings-footer {background:var(--workspace-soft);}
@media(max-width:1100px) {
 .workspace-head.workspace-head--editor {flex-wrap:wrap;}
 .workspace-head--editor .workspace-heading {flex-basis:100%;}
 .workspace-head--editor .workspace-actions {align-items:flex-start;}
}
@media(max-width:720px) {
 .workspace-head--editor .project-actions {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));container-type:inline-size;font-size:12px;}
 .workspace-head--editor .project-actions>.project-menu-trigger {grid-column:span 4;justify-self:start;}
 .workspace-head--editor .project-actions>.order-button {grid-column:4/7;grid-row:2;}
 .workspace-head--editor .project-actions>.export-button {grid-column:1/4;grid-row:2;}
 .workspace-head--editor .project-actions:has(>.export-button[hidden])>.order-button {grid-column:1/-1;}
 .workspace-head--editor .project-actions>.order-button,
 .workspace-head--editor .project-actions>.export-button {justify-content:center;white-space:normal;align-self:stretch;}
 .model-information>summary {padding:12px 16px;}
 .model-information-body {padding:0 16px 16px;}
}

/* Text enlargement can make the two customer actions wider than a phone.
   Give each a complete row instead of shrinking type or clipping its label. */
@container (max-width:20em) {
 .workspace-head--editor .project-actions>.order-button {grid-column:1/-1;grid-row:2;}
 .workspace-head--editor .project-actions>.export-button {grid-column:1/-1;grid-row:3;}
}
@container (max-width:14.5em) {
 .workspace-mobile-switch>button {grid-column:1/-1;}
}

/* The personal library uses real project snapshots, not catalogue placeholders. */
.projects-page {padding:8px 0;container-type:inline-size;font-size:14px;}
.projects-page>.section-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0;}
.projects-kicker {font-size:13px;line-height:1.5;color:var(--muted);}
.projects-page h1 {font-size:clamp(30px,3.2vw,46px);font-weight:650;line-height:1.15;letter-spacing:-.045em;margin:14px 0;}
.projects-page .section-heading p {font-size:14px;line-height:1.65;max-width:52ch;color:var(--muted);margin:0;}
.projects-page .button {font-size:13px;}
.saved-project-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18em),1fr));gap:20px;margin-top:32px;}
.saved-project {min-width:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:none;}
.saved-project-preview {display:flex;align-items:center;justify-content:center;width:100%;height:220px;padding:0;background:var(--workspace-soft);color:var(--muted);overflow:hidden;transition:background var(--motion-fast);}
.saved-project-preview:hover {background:#eef1f3;}
.saved-project-preview>img {display:block;width:100%;height:100%;object-fit:contain;}
.saved-project-preview>svg {width:70%;height:80%;}
.saved-project-preview>svg.icon {width:64px;height:64px;}
.saved-project-body {padding:20px;}
.saved-project-kind {display:block;color:var(--muted);font-size:12px;line-height:1.4;}
.saved-project-title {display:block;max-width:100%;font-size:17px;font-weight:650;line-height:1.45;color:var(--navy);margin:10px 0 14px;text-align:left;white-space:normal;overflow-wrap:anywhere;}
.saved-project-meta {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;}
.saved-project-meta small {font-size:12px;line-height:1.5;color:var(--muted);}
.saved-project-actions {position:static;display:flex;gap:2px;margin:0;}
.saved-project-actions .icon-button {width:40px;min-height:40px;color:var(--muted);}
.saved-project-actions .icon-button:hover {background:var(--workspace-soft);color:var(--navy);}
.saved-project-actions .favorited {color:var(--navy);}
.saved-project-actions [data-project-delete]:hover {color:var(--danger-ink);background:var(--danger-surface);}
.saved-project :is(button,a):focus-visible {outline:3px solid var(--accent);outline-offset:-3px;}
.projects-page .empty-state {grid-column:1/-1;padding:48px 24px;background:var(--workspace-soft);border-radius:18px;}
.projects-page .empty-state :is(h2,p) {max-width:42ch;margin-inline:auto;}
.projects-page .empty-state p {font-size:14px;line-height:1.65;}
@media(max-width:720px) {
 .projects-page>.section-heading {gap:20px;}
 .projects-page .project-actions {width:100%;flex-wrap:wrap;}
 .saved-project-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .saved-project-preview {height:170px;}
 .saved-project-body {padding:14px;}
 .saved-project-title {font-size:15px;}
}
@container(max-width:25em) {
 .saved-project-grid {grid-template-columns:1fr;}
 .saved-project-preview {height:220px;}
}
