/* Intomade Studio / bespoke physical-design workspace. No remote assets or fonts. */
:root{--navy:#17335a;--navy-deep:#101827;--orange:#ff6b35;--primary:#ff6b35;--brand-orange-hover:#ff8c5a;--brand-orange-active:#e55a2b;--brand-navy-gradient:linear-gradient(135deg,#101827,#17335a);--paper:#f7f5f0;--surface:#fff;--stage:#efece5;--line:#e5e5df;--muted:#68737b;--ink:#203245;--radius:16px;--shadow:0 14px 60px #1731490d;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none;background:var(--paper);line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,canvas:focus-visible,svg[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:3px}input[type=range]{accent-color:var(--primary)}button svg,a svg{flex-shrink:0}h1,h2,h3,p{margin:0}button{border:0;background:none}strong{font-weight:650}button[aria-pressed=true]{background:#fcece5;color:var(--primary)}[hidden]{display:none!important}input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px}input[type=color]{cursor:pointer}input[type=range]{cursor:pointer}::selection{background:#ed673c35}.skip-link{position:fixed;left:20px;top:-80px;z-index:300;background:white;padding:12px 18px}.skip-link:focus{top:12px}.boot{height:90vh;display:grid;place-content:center;text-align:center;gap:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;line-height:1.6}.orange{color:var(--primary)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;border-radius:8px;padding:10px 16px;font-size:12px;line-height:1.3;font-weight:600;transition:background .15s,transform .15s;white-space:nowrap}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--primary);color:white;box-shadow:0 3px 8px #bf4d2920}.button.primary:hover:not(:disabled){background:#a13f1f}.button.secondary{background:white;border:1px solid #dce0e0}.button.secondary:hover:not(:disabled){background:#f6f6f2;border-color:#b7c1c8}.button.big{padding:16px 25px;font-size:14px}.full{width:100%}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;flex-shrink:0;transition:background .15s}.icon-button:hover{background:#1731490b}.text-button{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:7px;padding:5px 0;text-align:left}.text-button:hover{color:var(--primary)}.badge{display:inline-flex;align-items:center;justify-content:center;background:#fcece5;color:#9f3e20;padding:4px 8px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:1px}.badge.subtle{background:#17314908;color:#64717d}.status-dot,.local-dot{width:6px;height:6px;background:#577e65;border-radius:100%;display:inline-block;flex-shrink:0}.status-dot.working{background:#c0883e;box-shadow:0 0 0 4px #c0883e12;animation:pulse 1.7s infinite}.status-dot.warning{background:#af5836}.status-dot.ready{background:#4d755c}.spinner{width:25px;height:25px;border:2px solid #17314918;border-top-color:var(--orange);border-radius:100%;animation:spin 1s linear infinite}.small-note{font-size:11px;line-height:1.6;color:var(--muted)}.setting-divider,.prop-separator{height:1px;background:var(--line);margin:21px 0}.rail-spacer{flex:1}.push-right{margin-left:auto}
/* Global chrome */
.studio-app{display:block;min-height:100vh}.app-header{height:76px;border-bottom:1px solid var(--line);background:#fbfaf7;display:flex;align-items:center;padding:0 28px;gap:48px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;min-width:270px}.brand-symbol{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#fff;background:var(--navy);border-radius:10px;font-size:31px;font-weight:700;letter-spacing:-5px;padding-right:5px;line-height:1}.brand-symbol span{color:var(--orange)}.brand strong{font-size:22px;letter-spacing:-.7px}.brand-divider{margin:0 10px;color:#b3babd;font-weight:400}.brand-studio{font-weight:400;font-size:17px;letter-spacing:-.5px;color:#71808b}.main-nav{display:flex;align-items:center;height:100%;gap:28px}.main-nav a{font-size:12px;color:#71808b;height:100%;display:flex;align-items:center;gap:7px;position:relative}.main-nav a.active{color:var(--navy)}.main-nav a.active:after{content:'';height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--orange)}.main-nav a span{background:#e9ece9;padding:0 5px;border-radius:4px;font-size:10px}.header-right{margin-left:auto;display:flex;align-items:center;gap:9px}.header-local{font-size:11px;color:#72808a}.app-body{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:calc(100vh - 76px)}.app-rail{background:#faf9f5;border-right:1px solid var(--line);padding:29px 12px;display:flex;flex-direction:column;gap:5px}.app-rail>a{display:flex;align-items:center;gap:10px;padding:12px 10px;border-radius:8px;color:#60717f;font-size:11px;line-height:1.4;position:relative}.app-rail>a small{display:none}.app-rail>a:hover{background:#eaece740}.app-rail>a.active{background:var(--navy);color:#fff;box-shadow:0 4px 16px #17314910}.app-rail>a.active .rail-icon{color:#ff976e}.rail-label{font-size:8px;letter-spacing:1.2px;font-weight:700;color:#93a0a8;margin:30px 10px 7px}.rail-icon{width:25px;display:flex;justify-content:center;flex-shrink:0}.app-rail>a.rail-home{font-size:12px;gap:14px}.rail-bottom{margin-top:auto;padding:65px 10px 0}.rail-line{width:24px;height:2px;background:var(--orange);display:block;margin-bottom:16px}.rail-bottom p{font-size:10px;line-height:1.7;color:#76828b}.edition{display:block;font-size:7px;font-weight:600;letter-spacing:1.6px;color:#919b9f;margin-top:28px;line-height:1.8}.main-content{min-width:0;padding:30px 30px 22px;max-width:1820px;width:100%;margin:auto;margin-top:0}
/* Studio header */
.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.workspace-head :is(h1,h2){font-weight:500;font-size:clamp(27px,2.6vw,42px);line-height:1.15;letter-spacing:-1.35px;margin:9px 0 7px}.workspace-head>div>p{font-size:12px;color:var(--muted)}.workspace-actions{text-align:right;min-width:250px;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:440px;gap:8px}.project-title{display:flex;align-items:center;gap:9px;max-width:220px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:11px;padding:2px}.save-state{font-size:9px;color:#7c8989;display:inline-block}.project-actions{display:flex;align-items:center;gap:5px;width:100%;justify-content:flex-end}.project-actions>.icon-button{width:31px}.export-button{margin-left:6px;font-size:11px;min-height:38px}.studio-workspace{display:grid;grid-template-columns:173px minmax(280px,1fr) 286px;gap:14px;align-items:start}.panel-heading{padding:20px 17px 14px}.panel-heading .eyebrow{font-size:8px;color:#8a989e;letter-spacing:1.7px}.panel-heading h2{font-size:13px;font-weight:600;letter-spacing:-.25px;margin-top:4px}.presets-panel,.settings-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.presets-panel{max-height:741px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d3d9d7 transparent}.panel-description{font-size:10px;color:#78878d;line-height:1.6;margin:0 17px 14px}.preset-grid{padding:0 9px 14px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.preset-card{text-align:left;padding:0 0 7px;border:1px solid transparent;border-radius:9px;overflow:hidden;transition:border .2s,background .2s}.preset-render{color:#9e5940;background:#f6f3ec;border-radius:7px;margin-bottom:6px;overflow:hidden}.preset-card:nth-child(3n+2) .preset-render{color:#6b8074;background:#edf0eb}.preset-card:nth-child(3n) .preset-render{color:#647585;background:#edf0f2}.preset-render svg{display:block;width:100%;height:95px}.preset-card>span{font-size:9px;display:block;padding:0 5px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preset-card>small{font-size:7px;color:#899298;display:block;padding:0 5px;margin-top:2px}.preset-card:hover{border-color:#ccd4d4;background:#f5f6f3}.preset-card.selected{border-color:#cd603c;background:#fff5ef}.preset-card.selected>span{color:#a34327}.seal-preset-grid{display:grid;grid-template-columns:1fr 1fr;padding:0 10px;gap:8px}.seal-preset{padding:6px 5px 8px;border:1px solid var(--line);border-radius:8px;background:#faf9f5}.seal-preset svg{width:100%;display:block}.seal-preset span{font-size:8px;color:#7d7b73}.seal-preset.selected{border-color:var(--orange);background:#fff5ec}.frame-select{max-width:calc(100% - 28px);margin:0 14px 16px}.library-callout{padding:22px 16px;color:#819084}.library-callout h3{font-size:12px;color:var(--navy);margin-top:8px}.library-callout p{font-size:10px;line-height:1.7;color:#7a8787;margin:8px 0}.library-callout .text-button{font-size:10px;color:#314e60}.type-preset{display:grid;grid-template-columns:1fr auto;gap:7px;width:calc(100% - 24px);margin:8px 12px;padding:14px 10px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7;text-align:left}.type-preset-preview{grid-column:1/-1;font-size:23px;font-weight:800;letter-spacing:-1.8px;padding:7px 0}.type-preset-preview.serif{font-family:Georgia,serif;letter-spacing:-1px;font-style:italic}.type-preset-preview.mono{font-family:monospace;font-size:20px;letter-spacing:1px}.type-preset-preview.spark{color:#be572e}.type-preset-preview.heart{color:#957073}.type-preset span{font-size:9px;color:#78868c}.type-preset:hover{border-color:#c67a5a}.vector-card-preview{padding:15px;margin:0 15px 16px;background:#f3f3ed;border-radius:12px}.vector-card-preview svg{width:100%;display:block}.presets-panel .full{max-width:calc(100% - 24px);margin:0 12px}.vector-feature-list{padding:24px 17px;font-size:10px;color:#697d86;display:grid;gap:16px}.vector-feature-list>div{display:flex;gap:9px;align-items:center}
/* Canonical model viewport */
.stage-panel{min-width:0}.stage-tabs{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;height:51px}.segmented-tabs{display:flex;gap:2px;background:#f3f4f0;border-radius:7px;padding:3px}.segmented-tabs>button{padding:6px 14px;border-radius:5px;font-size:10px;min-height:29px;color:#6f7d83}.segmented-tabs>button[aria-selected=true]{background:white;color:var(--navy);box-shadow:0 1px 5px #1731490f}.stage-top-right{display:flex;align-items:center;gap:8px}.model-stage{height:520px;position:relative;background:radial-gradient(ellipse at 49% 37%,#faf8f2 0%,#edeae2 70%,#e8e5dd 100%);isolation:isolate;overflow:hidden;border:1px solid #e2e3dc;border-top:0}.stage-axis-label{position:absolute;top:24px;left:24px;font-size:8px;font-weight:600;letter-spacing:2px;color:#949b94;z-index:2}.stage-model{position:absolute;inset:0;z-index:1}.model-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;transition:opacity .2s}.model-canvas.grabbing{cursor:grabbing}.stage-shadow{position:absolute;width:40%;height:7%;bottom:17%;left:30%;background:#26332e;filter:blur(20px);opacity:.1;border-radius:100%;transform:rotate(-8deg)}.stage-dimensions{position:absolute;left:24px;bottom:56px;z-index:2;pointer-events:none}.stage-dimensions>span{display:block;font-size:9px;color:#7f8884;letter-spacing:.3px;margin-bottom:5px}.stage-dimensions>strong{display:block;font-size:18px;font-weight:400;letter-spacing:-.6px}.stage-dimensions small{font-size:10px;letter-spacing:0;color:#879086}.stage-tools{position:absolute;right:16px;top:55px;display:flex;flex-direction:column;gap:6px;padding:6px;background:#fff9;border:1px solid #fffc;border-radius:10px;z-index:2;backdrop-filter:blur(10px)}.stage-tools .icon-button{height:29px;width:28px;color:#6c7a7c}.stage-tools .icon-button:hover{color:var(--navy);background:white}.stage-tools .icon-button svg{width:16px}.stage-tools .icon-button[aria-pressed=true]{background:#fcece5;color:#a54e2c}.stage-caption{position:absolute;bottom:22px;left:24px;font-size:8px;color:#91998f;display:flex;align-items:center;gap:9px;z-index:2;pointer-events:none}.caption-line{display:block;width:20px;height:1px;background:#aab0a2}.model-loading{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f2eee8f5;gap:14px;padding:35px;text-align:center}.model-loading strong{font-weight:500;font-size:16px;letter-spacing:-.3px}.model-loading>span:last-child{font-size:11px;color:#7d827e;max-width:350px}.model-stage.stale .model-canvas{opacity:.68}.stage-footer{background:#fbfcf9;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 15px;min-height:44px}.build-status{display:flex;align-items:center;gap:8px;font-size:9px;color:#778077}.stage-footer .text-button{font-size:8px;color:#6e7778}.object-summary{display:grid;grid-template-columns:1.4fr .9fr 1fr;gap:15px;margin:20px 3px 0}.object-summary>div+div{border-left:1px solid #e0e2d9;padding-left:16px}.object-summary span{display:block;font-size:8px;color:#879084;margin-bottom:6px}.object-summary strong{font-size:13px;font-weight:500;white-space:nowrap}.object-summary small{font-size:9px;font-weight:400;color:#7d847b;margin-left:2px}.context-note{display:flex;gap:7px;font-size:9px;color:#8a9187;padding:16px 4px;line-height:1.7}.context-note svg{margin-top:1px;flex-shrink:0}.stage-detail-view{height:520px;overflow:auto;background:white;border:1px solid var(--line);border-top:0;padding:26px;scrollbar-width:thin}.detail-header{margin-bottom:28px}.detail-header h2{font-size:24px;font-weight:400;line-height:1.3;letter-spacing:-.7px;margin:10px 0}.detail-header p{font-size:11px;color:#7d888c}.part-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.part-number{font-size:9px;color:#89979d}.part-color{width:24px;height:24px;border-radius:6px;border:1px solid #172c4410;flex-shrink:0}.part-row>div{flex:1}.part-row strong{font-size:11px;display:block}.part-row small{font-size:9px;color:#7f8b92;display:block;margin-top:4px}.detail-note{font-size:10px;line-height:1.8;color:#7a858b;margin-top:22px}.assembly-steps{list-style:none;padding:0;margin:0}.assembly-steps li{display:flex;gap:16px;margin:17px 0}.assembly-steps li>span{font-size:11px;color:var(--primary);padding-top:2px}.assembly-steps p{font-size:12px;color:#66747d;line-height:1.8}.bom-title{font-size:13px;margin:30px 0 15px}.bom-list>div{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:6px}.bom-list strong,.bom-list span{font-size:11px}.bom-list small{font-size:10px;color:#899197;grid-column:1/-1}.safety-note{display:flex;align-items:flex-start;gap:12px;background:#faf3e9;color:#8d6b40;border-radius:10px;padding:17px;margin-top:26px}.safety-note>svg{flex-shrink:0}.safety-note p{font-size:11px;line-height:1.8}
/* Parameters */
.settings-panel{max-height:741px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d3d9d7 transparent}.settings-panel>.panel-heading{padding-bottom:19px;border-bottom:1px solid #eff0ea;margin-bottom:18px}[data-settings]{padding:0 19px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#647581;margin:0 0 18px}.field-label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px;font-size:11px;color:#576a78}.number-unit{display:flex;align-items:center;gap:3px;flex-shrink:0;color:#849095;font-size:9px}.number-unit input{font-size:12px;font-variant-numeric:tabular-nums;background:none;border:0;border-bottom:1px solid transparent;color:var(--navy);width:53px;text-align:right;padding:2px 0;appearance:textfield;-moz-appearance:textfield}.number-unit input::-webkit-inner-spin-button{appearance:none}.number-unit input:focus{border-bottom:1px solid var(--orange);outline:0;background:#fff4ef}.number-unit>span{min-width:15px}.range-field>input[type=range]{appearance:none;width:100%;height:3px;background:#e6e9e6;border-radius:3px;margin:10px 0;outline-offset:6px}.range-field>input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--navy);border:2px solid #fff;box-shadow:0 0 0 1px #17314935}.range-field>input[type=range]::-moz-range-thumb{width:10px;height:10px;border:1px solid white;background:var(--navy);border-radius:100%}.range-field small{font-size:9px;line-height:1.6;color:#819086}.input{width:100%;min-width:0;min-height:37px;border:1px solid #dee3e2;background:#fff;border-radius:7px;padding:9px 10px;font-size:11px;color:#3d5364;line-height:1.3}.input:hover{border-color:#bac7cc}.input:focus{outline:2px solid #ed673c80;outline-offset:1px}.input[type=number]{font-variant-numeric:tabular-nums}select.input{cursor:pointer;padding-right:22px;font-size:11px}textarea.input{min-height:88px;resize:vertical}.settings-section{border-top:1px solid #edf0eb;margin:0 -2px}.settings-section>summary{list-style:none;cursor:pointer;font-size:11px;padding:17px 2px;display:flex;align-items:center;justify-content:space-between;color:#4b616e}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary>span{font-size:16px;color:#9aa4a5;font-weight:300}.settings-section[open]>summary>span{transform:rotate(45deg)}.settings-section-body{padding:0 2px 12px}.settings-section-body>.field:last-child{margin-bottom:8px}.settings-footer{font-size:8px;padding:15px 20px;background:#f9faf6;border-top:1px solid var(--line);color:#8a958a;display:flex;gap:7px;align-items:center;margin-top:20px}.settings-footer .local-dot{width:4px;height:4px}.variation-box{border-top:1px solid var(--line);padding-top:17px;margin-bottom:20px}.variation-box .eyebrow{font-size:8px;color:#7b898e;margin-bottom:9px;display:block}.variation-box .button{font-size:10px}.mutation-locks{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:8px;color:#78867d}.mutation-locks label{display:flex;gap:3px;align-items:center}.mutation-locks input{width:11px;height:11px}.mutation-locks small{margin-left:auto;font-size:8px}.palette-section{border-top:1px solid var(--line);padding:17px 0 19px}.swatch-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.swatch{width:20px;height:20px;border-radius:50%;background:var(--swatch);border:2px solid white;box-shadow:0 0 0 1px #17314915;padding:0}.swatch.selected{box-shadow:0 0 0 1px var(--primary);outline:0}.color-custom{position:relative;border:1px solid var(--line);border-radius:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;overflow:hidden}.color-custom input{position:absolute;width:100%;height:100%;opacity:0}.color-custom svg{pointer-events:none}.color-input{border:1px solid var(--line);padding:2px;width:100%;height:35px;border-radius:6px;background:white}.printer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.printer-grid .field{margin-bottom:12px}.check-field{display:flex;gap:8px;align-items:center;font-size:11px;color:#647581;margin:12px 0 19px}.design-card{background:#f5f4ee;border:1px solid #e9e8df;border-radius:9px;display:flex;gap:12px;align-items:center;padding:11px;margin-bottom:10px}.design-card .eyebrow{font-size:7px;color:#8c9086;letter-spacing:1.2px}.design-card .text-button{font-size:10px;line-height:1.5}.design-thumb{width:55px;height:55px;flex-shrink:0;background:#fff9;border-radius:5px;display:flex;align-items:center;justify-content:center}.design-thumb svg{max-width:100%;max-height:100%;display:block}.design-card.large{justify-content:center;margin-bottom:16px}.design-card.large .design-thumb{width:110px;height:110px}.design-card+.button{margin-bottom:22px;font-size:10px}.upload-card{border:1px dashed #b9c4c2;background:#f6f8f3;width:calc(100% - 26px);margin:0 13px 16px;padding:22px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:9px;color:#5c7675}.upload-card strong{font-size:10px}.upload-card span{font-size:8px;color:#8b9a91}.photo-slots{padding:0 13px}.photo-slot{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}.photo-slot canvas{width:100%;height:110px;object-fit:cover;display:block}.photo-slot-title{padding:8px;display:flex;gap:7px;align-items:center}.photo-slot-title>span{font-size:8px;color:var(--primary)}.photo-slot-title>strong{font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.photo-slot>.text-button{font-size:8px;padding:4px 7px 9px}.demo-callout{padding:20px 17px}.demo-callout p{font-size:10px;color:#889288;line-height:1.8;margin-top:8px}.privacy-note{display:flex;gap:8px;font-size:9px;line-height:1.7;padding:20px 17px;color:#7d8c84}.privacy-note svg{flex-shrink:0;margin-top:2px}.crop-canvas{display:block;width:100%;max-height:300px;object-fit:contain;background:var(--paper);border-radius:12px;margin-bottom:22px}.diagnostics-section{margin:18px 0 0 187px}.diagnostics{border-top:1px solid #e0e4dc}.diagnostics>summary{list-style:none;padding:13px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:10px;color:#7c887c;gap:15px}.diagnostics>summary::-webkit-details-marker{display:none}.diagnostics>summary>span{display:flex;align-items:center;gap:8px}.diagnostics.has-errors>summary{color:#ab492a}.diagnostics-body{padding:4px 0 12px;display:grid;gap:9px}.diagnostic-row{display:flex;gap:9px;font-size:10px;line-height:1.7;color:#798778}.diagnostic-row svg{flex-shrink:0;margin-top:1px}.diagnostic-row.blocked{color:#a23e22;background:#fcece4;padding:12px;border-radius:8px}.diagnostic-row.warning{color:#8b764b}
/* Landing & local project collection */
.home-intro{display:grid;grid-template-columns:1fr 1fr;min-height:500px;gap:35px;align-items:center;padding:25px 25px 40px}.home-copy h1{font-size:clamp(65px,6.5vw,112px);line-height:.99;font-weight:400;letter-spacing:-5px;margin:25px 0}.home-copy em{color:var(--primary);font-family:Georgia,serif;font-weight:400}.home-copy p{font-size:15px;line-height:1.8;color:#718077;margin-bottom:30px}.home-art{background:#e8e5dc;border-radius:80px 12px 12px 12px;position:relative;min-height:485px;overflow:hidden;padding:25px 30px}.home-art-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#65736c;gap:15px}.home-art-label span:last-child{font-size:9px;letter-spacing:0}.hero-wire{position:absolute;inset:40px 50px 20px;color:#a05035;z-index:1}.hero-wire svg{width:100%;height:100%;filter:drop-shadow(12px 12px 12px #122a4025)}.home-sphere{position:absolute;right:-80px;bottom:-90px;width:330px;height:330px;border-radius:50%;background:var(--navy)}.home-art-stamp{position:absolute;right:28px;bottom:28px;font-size:9px;line-height:1.7;letter-spacing:2px;color:#f4ddc7;z-index:2}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.section-heading h2{font-size:24px;font-weight:400;letter-spacing:-.8px;margin:8px 0}.section-heading p{font-size:11px;color:#859084}.home-products{padding:20px 25px}.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.product-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:block;transition:transform .2s,border .2s}.product-card:hover{transform:translateY(-5px);border-color:#c38362}.product-card-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a38c77}.product-mark{height:110px;display:flex;align-items:center;justify-content:center;color:#173149}.product-photo .product-mark{color:#9c7b5f}.product-seal .product-mark{color:#aa934e}.product-light .product-mark{color:#c87641}.product-card h3{font-size:15px;line-height:1.4;font-weight:500;letter-spacing:-.3px}.product-card p{font-size:10px;color:#819084;line-height:1.8;margin:12px 0 20px}.product-tag{font-size:7px;letter-spacing:1.5px;color:#ab7a53}.home-footer{display:flex;justify-content:space-between;margin:45px 25px 5px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:#879487}.home-footer strong{font-weight:400}.projects-page{padding:15px 10px}.projects-page h1{font-size:39px;line-height:1.2;letter-spacing:-1.8px;font-weight:400;margin:10px 0 15px}.projects-page .project-actions{width:auto}.saved-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:38px}.saved-project{border:1px solid var(--line);background:white;border-radius:13px;overflow:hidden}.saved-project-preview{display:flex;width:100%;height:215px;align-items:center;justify-content:center;background:#edeae1;padding:25px;color:#946145}.saved-project-preview>svg{width:100%;max-height:100%}.saved-project-preview.seal{background:#f2ede1}.saved-project-preview.light{background:#e9edec}.saved-project-body{padding:20px;position:relative}.saved-project-body .eyebrow{font-size:7px;color:#97a198}.saved-project-title{display:block;text-align:left;font-size:17px;font-weight:500;letter-spacing:-.5px;margin:9px 0;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-project-body>small{font-size:9px;color:#97a198}.saved-project-actions{position:absolute;right:10px;bottom:10px;display:flex;color:#809085}.favorited{color:var(--primary);background:#faece4}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:17px;padding:70px 30px;grid-column:1/-1;color:#809185}.empty-state h2{font-weight:400;font-size:25px;color:var(--navy)}.empty-state p{font-size:13px;margin-bottom:12px}
/* Dialogs and feedback */
dialog{color:var(--ink);border:0;padding:0;border-radius:17px;box-shadow:0 35px 150px #071a3950;background:#fff;max-width:calc(100vw - 30px);max-height:calc(100dvh - 30px)}dialog::backdrop{background:#0c22395c;backdrop-filter:blur(5px)}.dialog{width:500px}.dialog-wide{width:780px}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 19px;border-bottom:1px solid var(--line);margin:0}.dialog-head .eyebrow{font-size:8px;color:#9c7e68}.dialog-head h2{font-size:23px;font-weight:400;letter-spacing:-.65px;line-height:1.3;margin-top:5px}.dialog-content{padding:25px 28px;max-height:calc(100dvh - 150px);overflow-y:auto}.dialog-description{font-size:12px;line-height:1.9;color:#71828a;margin-bottom:23px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-content>h3{font-size:13px;font-weight:600;margin:23px 0 10px}.dialog-content>p{font-size:12px;line-height:1.9;color:#74858b;margin:12px 0}.inline-error{font-size:11px;color:#a03c27;line-height:1.7}.about-brand{font-size:32px;letter-spacing:-1.4px;font-weight:600;margin:0 0 22px}.about-brand>span{color:#af5b38;font-weight:300}.export-loading{padding:30px 0;display:flex;align-items:center;flex-direction:column;gap:17px}.export-loading h3{font-weight:400;font-size:20px}.export-loading p{font-size:11px;color:#7b8c90}#toasts{position:fixed;bottom:24px;right:24px;max-width:400px;display:flex;flex-direction:column;gap:9px;z-index:400;pointer-events:none}.toast{background:var(--navy);color:#fff;padding:16px 19px;border-radius:11px;font-size:12px;line-height:1.7;box-shadow:0 8px 25px #17314925;animation:toast-in .25s ease-out}.toast-error{background:#934832}.toast-info{background:var(--navy)}
/* SVG design surface */
.editor-dialog{width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1700px;max-height:none;overflow:hidden;border-radius:16px}.editor-head{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid var(--line);gap:20px}.brand-mini{display:flex;gap:13px;align-items:center}.brand-mini>svg{color:var(--primary)}.brand-mini strong{display:block;font-size:17px;font-weight:500;letter-spacing:-.5px}.brand-mini small{font-size:10px;color:#8d9899;display:block;margin-top:3px}.editor-head-actions{display:flex;align-items:center;gap:10px}.editor-head-actions .badge{font-size:8px;background:#f4f3ed;color:#8b9488}.editor-toolbar{height:51px;padding:7px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);overflow-x:auto}.tool-group{display:flex;align-items:center;gap:4px;border-right:1px solid var(--line);padding-right:12px;flex-shrink:0}.tool-group:last-child{border:0;padding-right:0}.tool-text{padding:7px;font-size:10px;white-space:nowrap;border-radius:5px;min-height:32px}.tool-text:hover{background:#f3f4ee}.editor-body{height:calc(100% - 130px);display:grid;grid-template-columns:73px minmax(0,1fr) 265px}.editor-tools{border-right:1px solid var(--line);padding:17px 5px;display:flex;flex-direction:column;gap:10px}.editor-tools>button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 0;border-radius:8px;color:#77888f}.editor-tools>button:hover{background:#f8ece5;color:var(--primary)}.editor-tools>button>span{font-size:9px}.editor-workarea{background:radial-gradient(circle at 1px 1px,#91a3ae3b .7px,transparent .7px) 0 0/16px 16px,#f0f2ef;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:25px 45px 50px}.artboard-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;color:#89938b;font-size:9px}.artboard-label>span:first-child{padding:6px 11px;background:#fff;border:1px solid #e6e9e2;box-shadow:0 2px 6px #17314906;border-radius:20px;color:#56707c;font-size:10px}.editor-canvas-scroll{overflow:auto;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;padding:10px;scrollbar-width:thin}.artboard{max-height:100%;height:auto;display:block;flex-shrink:0;filter:drop-shadow(0 9px 10px #14293a0b);touch-action:none}.artboard g[data-node]{cursor:move}.selection-overlay{pointer-events:none}.selection-overlay [data-handle]{pointer-events:all;cursor:nwse-resize}.editor-zoom{position:absolute;bottom:18px;right:20px;background:white;display:flex;align-items:center;border:1px solid var(--line);border-radius:20px;padding:1px 4px;box-shadow:0 2px 7px #17314909}.editor-zoom span{font-size:10px;min-width:35px;text-align:center}.editor-zoom .icon-button{border-radius:20px;width:30px;height:30px}.editor-tip{position:absolute;bottom:27px;left:22px;font-size:9px;color:#8c9996}.editor-inspector{display:flex;flex-direction:column;overflow:auto;border-left:1px solid var(--line);scrollbar-width:thin}.editor-props{padding:20px 18px 12px}.inspector-title .eyebrow{font-size:8px;color:#93a19d}.inspector-title h3{font-size:15px;font-weight:500;letter-spacing:-.3px;margin:5px 0 21px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field.small{font-size:9px;gap:6px;margin-bottom:12px}.field.small .input{min-height:34px;padding:7px 8px;font-size:11px}.align-buttons{display:flex;gap:8px;margin:8px 0}.align-buttons button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;padding:7px 3px;border:1px solid var(--line);border-radius:6px;font-size:9px}.align-buttons button:hover{background:#f1f3ee}.layers-heading{padding:15px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.layers-heading h3{font-size:10px;color:#6e818c;font-weight:600}.layers-heading>span{font-size:9px;color:#a4adab}.layer-list{overflow:auto;min-height:100px;flex:1;scrollbar-width:thin;padding:0 8px 10px}.layer{display:flex;align-items:center;padding:3px 3px;border:1px solid transparent;border-radius:7px;margin:3px 0;gap:0}.layer.selected{background:#faf2ec;border-color:#ed673c65}.layer-select{display:flex;align-items:center;gap:7px;padding:7px;flex:1;text-align:left;min-width:0;font-size:10px}.layer-select>span:nth-child(2){overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.layer-swatch{width:19px;height:19px;border-radius:4px;border:1px solid #17314915;display:block;flex-shrink:0}.tiny-icon{width:23px;height:25px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#8e9a9c;border-radius:4px}.tiny-icon:hover{background:#17314908}.editor-note{padding:15px 18px;font-size:9px;line-height:1.8;background:#f9faf6;color:#879389;border-top:1px solid var(--line)}.empty-layers{padding:20px}.shape-library{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shape-library button{border:1px solid var(--line);border-radius:10px;padding:26px 15px;display:flex;flex-direction:column;align-items:center;gap:18px;font-size:12px}.shape-library button:hover{border-color:var(--orange);background:#fff8f1}.frame-library{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.frame-library button{padding:10px 7px;border:1px solid var(--line);border-radius:9px;background:#faf9f4}.frame-library button:hover{border-color:var(--orange)}.frame-library svg{width:100%;display:block}.frame-library span{font-size:8px;color:#84918c}.trace-preview{background:#f4f5ef;border-radius:11px;margin-bottom:20px;height:270px;padding:18px;display:flex;align-items:center;justify-content:center}.trace-preview>svg{width:100%;height:100%}.studio-workspace:fullscreen{background:var(--paper);padding:24px;overflow:auto;grid-template-columns:180px minmax(0,1fr) 320px}.studio-workspace:fullscreen .model-stage{height:calc(100dvh - 195px)}.studio-workspace:fullscreen .settings-panel,.studio-workspace:fullscreen .presets-panel{max-height:calc(100dvh - 48px)}
/* Layout adaptations */
@media(min-width:1700px){.app-body{grid-template-columns:202px 1fr}.app-rail{padding-inline:17px}.app-rail>a{font-size:12px}.main-content{padding:38px 38px 26px}.studio-workspace{grid-template-columns:205px minmax(0,1fr) 322px;gap:20px}.model-stage{height:590px}.stage-detail-view{height:590px}.presets-panel,.settings-panel{max-height:822px}.preset-render svg{height:115px}.preset-card>span{font-size:11px}.preset-card>small{font-size:8px}.diagnostics-section{margin-left:225px}.field,.field-label{font-size:12px}.settings-section>summary{font-size:12px}.range-field{margin-bottom:23px}.panel-heading h2{font-size:14px}.object-summary strong{font-size:16px}.object-summary span{font-size:10px}}
@media(max-width:1270px){.app-body{grid-template-columns:75px minmax(0,1fr)}.app-rail{padding:24px 7px}.app-rail>a{justify-content:center;padding:13px 0}.app-rail>a>span:not(.rail-icon),.rail-label,.rail-bottom,.rail-home span{display:none}.app-rail>a small{display:none}.app-rail>a.rail-home{margin-bottom:22px}.main-content{padding:25px 22px}.studio-workspace{grid-template-columns:145px minmax(280px,1fr) 270px;gap:11px}.app-header{gap:25px;padding:0 20px}.brand{min-width:255px}.model-stage,.stage-detail-view{height:505px}.stage-tools{right:10px}.stage-dimensions{left:18px}.object-summary{gap:8px}.object-summary>div+div{padding-left:9px}.object-summary strong{font-size:12px}.object-summary small{font-size:8px}.preset-grid{gap:5px;padding-inline:7px}.preset-render svg{height:80px}.panel-heading{padding:18px 14px 12px}.panel-heading h2{font-size:12px}.panel-description{margin-inline:14px;font-size:9px}.diagnostics-section{margin-left:156px}.workspace-head :is(h1,h2){font-size:30px}.workspace-head .eyebrow{font-size:8px}.workspace-actions{max-width:350px}.product-grid{grid-template-columns:repeat(3,1fr)}.saved-project-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.main-content{padding:23px 16px}.studio-workspace{grid-template-columns:minmax(250px,1fr) 275px}.presets-panel{grid-column:1/-1;order:-1;max-height:none;display:flex;align-items:center;overflow:hidden}.presets-panel>.panel-heading{width:140px;flex-shrink:0;margin:0}.presets-panel>[data-presets]{overflow:auto;flex:1;min-width:0;max-height:154px;padding:12px}.panel-description,.presets-panel .library-callout,.presets-panel .privacy-note,.presets-panel .demo-callout,.presets-panel .vector-feature-list{display:none}.preset-grid{display:flex;padding:0;gap:9px;overflow-x:auto}.preset-card{width:88px;flex-shrink:0}.preset-render svg{height:83px}.seal-preset-grid{display:flex;overflow:auto;padding:0}.seal-preset{width:78px;flex-shrink:0}.frame-select{max-width:125px;float:left;margin:6px 10px 0 0}.style-list{display:flex;gap:8px;overflow:auto}.type-preset{min-width:115px;width:115px;margin:0}.type-preset-preview{font-size:22px}.vector-card-preview{display:none}.upload-card{width:175px;float:left;padding:12px 10px;margin:0 10px 0 0;height:125px}.upload-card strong{font-size:10px}.photo-slots{display:flex;padding:0;gap:9px}.photo-slot{width:120px;min-width:120px;margin:0}.photo-slot canvas{height:57px}.model-stage,.stage-detail-view{height:480px}.workspace-head{align-items:flex-start}.workspace-head :is(h1,h2){font-size:27px;max-width:350px}.workspace-actions{min-width:210px;max-width:265px;gap:5px}.workspace-actions .save-state{font-size:8px}.project-actions>.icon-button{width:24px}.project-actions>.icon-button svg{width:16px}.export-button{font-size:10px;padding:10px}.diagnostics-section{margin-left:0}.object-summary{grid-template-columns:1fr 1fr}.object-summary>div:last-child{display:none}.header-local{display:none}.main-nav{gap:20px}.editor-body{grid-template-columns:60px minmax(0,1fr) 230px}.editor-workarea{padding:18px 12px 50px}.editor-tip{display:none}.editor-head{padding:0 20px}.editor-head-actions .badge{display:none}.home-intro{padding:20px 10px}.home-copy h1{font-size:77px}.home-art{min-height:430px}.home-products{padding:20px 10px}.product-grid{grid-template-columns:repeat(3,1fr)}.saved-project-grid{grid-template-columns:repeat(2,1fr)}.projects-page>.section-heading{align-items:flex-start;flex-direction:column}.projects-page h1{font-size:33px}}
@media(max-width:720px){.app-header{height:65px;padding:0 16px;gap:12px}.brand{min-width:0;gap:9px}.brand-symbol{width:31px;height:31px;border-radius:8px;font-size:27px}.brand strong{font-size:20px}.brand-divider{margin:0 6px}.brand-studio{font-size:14px}.main-nav{margin-left:auto;gap:12px}.main-nav a{font-size:0}.main-nav a:first-child{display:none}.main-nav a:last-child{font-size:10px}.header-right{margin-left:0}.header-right .local-dot{display:none}.app-body{display:block}.app-rail{display:flex;flex-direction:row;overflow-x:auto;gap:8px;padding:10px 13px;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}.app-rail>a{gap:7px;white-space:nowrap;flex-shrink:0;padding:9px 12px;font-size:10px;border:1px solid #e5e7df;border-radius:7px}.app-rail>a>span:not(.rail-icon){display:block}.app-rail>a.rail-home{margin:0;padding:10px}.app-rail>a.rail-home span{display:none}.app-rail>a .rail-icon{width:18px}.app-rail>a svg{width:18px;height:18px}.main-content{padding:24px 13px}.workspace-head{display:block;margin-bottom:20px}.workspace-head :is(h1,h2){font-size:32px;letter-spacing:-1.2px;max-width:none}.workspace-head>div>p{font-size:11px}.workspace-actions{max-width:none;text-align:left;justify-content:flex-start;margin-top:19px}.project-actions{justify-content:flex-start;margin-top:3px;gap:8px}.project-actions>.icon-button{width:35px;height:38px}.project-actions>.icon-button svg{width:18px}.export-button{margin-left:auto;min-height:41px;padding:11px 14px;font-size:11px}.studio-workspace{display:flex;flex-direction:column;gap:15px}.presets-panel{width:100%;order:-1}.presets-panel>.panel-heading{width:96px;padding:13px}.presets-panel .eyebrow{font-size:7px}.presets-panel h2{font-size:11px;line-height:1.6}.presets-panel>[data-presets]{max-height:130px;padding:9px}.preset-card{width:73px}.preset-render svg{height:65px}.stage-panel{width:100%}.model-stage,.stage-detail-view{height:460px}.stage-tools{right:12px;gap:7px;top:43px}.stage-tools .icon-button{width:31px;height:32px}.stage-caption{font-size:8px}.stage-dimensions{bottom:65px;left:22px}.stage-footer{padding:10px 12px}.stage-footer .text-button{font-size:8px}.settings-panel{width:100%;max-height:none}.settings-panel>.panel-heading{padding:21px 20px 18px}.settings-panel>.panel-heading h2{font-size:17px;margin-top:5px}.settings-panel>.panel-heading .eyebrow{font-size:9px}[data-settings]{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:0 21px}.field,.field-label{font-size:12px}.input{min-height:42px;font-size:12px}.range-field>input[type=range]{height:4px;margin:13px 0}.range-field>input[type=range]::-webkit-slider-thumb{width:17px;height:17px}.number-unit input{font-size:14px;width:60px}.settings-section,.variation-box,.palette-section,.setting-divider,.design-card,[data-settings]>.small-note,[data-settings]>.eyebrow{grid-column:1/-1}.settings-section>summary{font-size:13px;padding:18px 2px}.settings-section-body .field{margin-bottom:20px}.palette-section .swatch{width:27px;height:27px}.swatch-list{gap:11px}.settings-panel .button{min-height:42px;font-size:11px}.design-card{margin-bottom:14px}.diagnostics-section{margin-top:8px}.diagnostics>summary{font-size:9px}.diagnostic-row{font-size:11px}.settings-footer{font-size:10px}.context-note{font-size:10px}.object-summary{margin-top:16px}.object-summary strong{font-size:15px}.object-summary span{font-size:10px}.object-summary small{font-size:9px}.stage-detail-view{padding:24px 20px}.detail-header h2{font-size:22px}.part-row{gap:7px}.part-row small{font-size:8px}.part-row .badge{display:none}.part-row strong{font-size:10px}.home-intro{grid-template-columns:1fr;gap:25px;padding:15px 10px 30px}.home-copy h1{font-size:83px;margin:24px 0}.home-copy p{font-size:13px}.home-art{min-height:370px;border-top-left-radius:70px}.home-art-label{font-size:8px}.hero-wire{inset:38px 80px 20px}.home-products{padding:20px 10px}.home-products .section-heading{display:block}.section-heading h2{font-size:24px}.product-grid{grid-template-columns:1fr 1fr}.product-card{padding:16px}.product-card h3{font-size:16px}.product-card p{font-size:11px}.product-mark{height:100px}.home-footer{margin:20px 10px;gap:18px;font-size:9px}.saved-project-grid{gap:12px;margin-top:26px}.saved-project-preview{height:160px}.saved-project-body{padding:16px}.saved-project-title{font-size:15px}.projects-page{padding:5px}.projects-page h1{font-size:29px}.projects-page .section-heading p{font-size:12px;line-height:1.8}.projects-page .button{font-size:11px}.saved-project-actions{position:static;justify-content:flex-end;margin-top:8px}.saved-project-body .eyebrow{font-size:7px}.editor-dialog{width:100vw;height:100dvh;max-width:none;border-radius:0}.editor-head{height:75px;padding:0 13px;gap:10px}.brand-mini{gap:7px}.brand-mini strong{font-size:13px}.brand-mini small{display:none}.brand-mini>svg{width:22px}.editor-head-actions{gap:6px}.editor-head-actions .button{font-size:10px;padding:9px 10px;min-height:38px}.editor-head-actions .button svg{display:none}.editor-toolbar{padding:7px 9px;gap:9px}.editor-body{display:grid;grid-template-columns:51px minmax(0,1fr);grid-template-rows:minmax(260px,1fr) 235px;height:calc(100% - 126px)}.editor-tools{padding:8px 3px;gap:3px;grid-row:1}.editor-tools>button{padding:8px 0;gap:4px}.editor-tools>button>svg{width:20px}.editor-tools>button>span{font-size:8px}.editor-tools .rail-spacer{display:none}.editor-workarea{padding:12px 7px 50px}.artboard-label{margin-bottom:10px}.artboard-label>span:last-child{display:none}.editor-canvas-scroll{padding:1px}.editor-inspector{grid-column:1/-1;grid-row:2;border-top:1px solid var(--line);border-left:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.editor-props{grid-column:1;grid-row:1/4;overflow:auto;padding:15px 13px;border-right:1px solid var(--line)}.inspector-title h3{font-size:13px;margin-bottom:15px}.layers-heading{grid-column:2;grid-row:1;padding:13px}.layer-list{grid-column:2;grid-row:2/4;padding:0 4px;min-height:0}.editor-note{display:none}.layer-select{gap:5px;padding:7px 3px;font-size:9px}.layer-swatch{width:14px;height:14px}.tiny-icon{width:19px}.field-row{gap:7px}.field.small .input{min-height:34px;font-size:11px}.editor-zoom{bottom:13px;right:10px}.editor-zoom .icon-button{width:31px;height:31px}.dialog-head{padding:21px}.dialog-content{padding:21px}.dialog-head h2{font-size:21px}.frame-library{grid-template-columns:repeat(3,1fr);gap:10px}.shape-library{gap:10px}.shape-library button{padding:19px 8px;font-size:11px}.shape-library svg{width:35px}.trace-preview{height:230px}#toasts{left:14px;right:14px;bottom:14px;max-width:none}.toast{padding:14px 17px;font-size:11px}.studio-workspace:fullscreen{padding:12px;display:block;overflow:auto}.studio-workspace:fullscreen .presets-panel{display:none}.studio-workspace:fullscreen .model-stage{height:65dvh}.studio-workspace:fullscreen .settings-panel{margin-top:20px;max-height:none}}
@media(max-width:380px){.brand-studio,.brand-divider{display:none}.main-content{padding-inline:10px}.workspace-head :is(h1,h2){font-size:29px}.project-actions{gap:5px}.export-button{padding:10px;font-size:10px}.model-stage{height:420px}.object-summary strong{font-size:13px}.saved-project-grid{grid-template-columns:1fr}.product-grid{gap:10px}.product-card{padding:13px}.product-card h3{font-size:14px}.product-card p{font-size:10px}.editor-head-actions .button{padding:9px 7px}.brand-mini strong{font-size:12px}.editor-head-actions .secondary{font-size:9px}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}@keyframes toast-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Wave 1: the public site's logo-derived accents, not a blanket recoloring. */
.brand-logo{width:42px;height:42px;display:block;object-fit:contain;flex-shrink:0}
.brand strong{color:#17335a}.boot .brand-logo{margin:auto;width:60px;height:60px}
.app-rail>a.active{background:var(--brand-navy-gradient)}
.button.primary{background:var(--primary);color:#101827;box-shadow:0 3px 10px #ff6b3518;font-weight:700}
.button.primary:hover:not(:disabled){background:var(--brand-orange-hover)}
.button.primary:active:not(:disabled){background:var(--brand-orange-active)}
.button.primary:disabled{background:#e7ecf2;color:#4b5c70;opacity:1;box-shadow:none}
.orange,.text-button:hover{color:#a23b16}.app-rail>a.active .rail-icon{color:#ff8c5a}
.edition{letter-spacing:1px}.app-rail .rail-label.shared{margin-top:20px}
.product-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.product-card p{min-height:4.8em}.product-card h3{font-size:20px}
.shared-editor-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:16px;background:white}
.shared-editor-banner p{color:var(--muted);font-size:13px;max-width:60ch;margin-top:6px}
.wave-preset-list{display:grid;gap:10px}.wave-preset{border:1px solid var(--line);border-radius:10px;background:#faf9f5;padding:14px;text-align:left;width:100%;transition:border-color .16s,background .16s}
.wave-preset:hover,.wave-preset.selected{border-color:#ff6b35;background:#fff6ee}
.wave-preset svg{width:100%;height:112px;color:#17335a}.wave-preset strong{display:block;font-size:12px;margin-top:6px}.wave-preset small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.dimension-info{padding:13px;background:#f3f5f3;border-radius:8px;font-size:11px;line-height:1.6;color:#536576}
.slot-banner{margin:0;padding:10px 18px;background:#f3f5f7;border-bottom:1px solid var(--line);font-size:12px;color:#536576}
.editor-note{overflow-wrap:anywhere}.editor-head .brand-logo{width:30px;height:30px}
.qr-dialog .field{margin-top:14px}.qr-modes{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.qr-modes button{border:1px solid var(--line);padding:8px 12px;border-radius:7px;font-size:12px}.qr-modes button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}
.qr-preview{min-height:100px;display:flex;align-items:center;justify-content:center;background:#fafafa;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:14px}.qr-preview svg{width:140px;height:140px}.qr-preview p{max-width:40ch;font-size:12px;color:var(--muted);text-align:center}
.qr-pass-row{display:flex;gap:8px}.qr-pass-row input{flex:1;min-width:0}.qr-pass-row button{flex:0 0 auto}
.qr-meta{font-size:11px;color:var(--muted);padding-top:7px}.qr-security{font-size:11px;color:#806b40;background:#fbf4e4;padding:10px;border-radius:7px;margin-top:14px}.qr-payload{max-height:80px;overflow:auto;font-size:11px;white-space:pre-wrap;word-break:break-all}
.qr-code-guard{pointer-events:none;fill:none;stroke:#17335a;stroke-width:.3;stroke-dasharray:1 1}
@media(max-width:800px){.shared-editor-banner{display:grid}.wave-preset-list{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logo{width:32px;height:32px}.app-rail .rail-label.shared{display:none}}
@media(prefers-reduced-motion:reduce){.wave-preset{transition:none}}

/* Shared artwork entry keeps its caption and action separate at narrow widths. */
.design-card>div:not(.design-thumb){min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.design-card .text-button{max-width:100%;white-space:normal;text-align:left}
/* The compact preset rail uses the same horizontal pattern as the other tools. */
@media(max-width:1000px){
 .wave-preset-list{display:flex;gap:8px;overflow-x:auto;align-items:stretch;padding-bottom:2px}
 .wave-preset{flex:0 0 128px;width:128px;min-height:106px;padding:9px}
 .wave-preset svg{height:48px;display:block}
 .wave-preset strong{font-size:10px;line-height:1.35;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .wave-preset small{font-size:8px;line-height:1.35;margin-top:4px}
}

/* Studio 1.2 — inspectable geometry and explicit asynchronous work. */
.build-progress-host:empty{display:none}.operation-progress{padding:13px 16px;background:#fffaf3;border:1px solid #eedcc8;border-radius:9px;color:#17335a;min-width:0;margin:10px 0}.build-progress-host .operation-progress{margin:0;border-radius:0;border-top:0}.op-heading{display:flex;align-items:center;gap:12px;font-size:12px;min-width:0}.op-heading strong{font-weight:600;flex:1;overflow-wrap:anywhere}.op-heading [data-op-elapsed]{color:#697a82;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.operation-progress progress{appearance:auto;width:100%;height:6px;accent-color:#ff6b35;display:block;margin:10px 0 7px}.operation-progress small{display:block;font-size:10px;line-height:1.5;color:#6c7a7f}.operation-progress .text-button{font-size:11px;min-height:30px}.editor-workarea>[data-import-progress]{position:absolute;top:40px;left:14px;right:14px;z-index:6}.editor-workarea>[data-import-progress]:empty{display:none}.editor-workarea .operation-progress{box-shadow:0 5px 20px #17335a18}.stage-zoom{position:absolute;right:16px;bottom:56px;z-index:2;display:flex;align-items:center;gap:2px;padding:4px;background:#fffffff0;border:1px solid #fff;border-radius:9px;box-shadow:0 2px 12px #17335a0d}.stage-zoom .icon-button{width:30px;height:32px}.stage-zoom output{font:11px ui-monospace,monospace;min-width:46px;text-align:center}.stage-caption{right:15px;font-size:9px;line-height:1.55}.stage-dimensions{right:145px}.stage-dimensions>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-tools .icon-button{min-height:32px}.trace-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.trace-tools .field{width:155px}.trace-scroll{height:280px;overflow:auto;background:#f3f0e9;border:1px solid #e1e4df;border-radius:11px;margin:14px 0 24px;scrollbar-width:thin}.trace-preview{width:100%;height:100%;position:relative;background:white}.trace-preview>canvas,.trace-preview>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.trace-preview>svg{z-index:1}.trace-preview>canvas{image-rendering:auto}.contour-compare{height:320px;border:1px solid #e4e6e1;background:#f6f4ed;border-radius:12px;margin-bottom:20px;padding:18px}.contour-compare>svg{height:100%;width:100%;display:block}.preset-library-filters{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;margin:16px 0}.preset-library-filters input,.preset-library-filters select{border:1px solid #dfe5e1;border-radius:8px;min-height:40px;padding:8px 12px;font:inherit;background:white}.art-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.art-preset-card{padding:13px;border:1px solid #e0e5df;border-radius:12px;background:#faf9f5;text-align:left;min-width:0;transition:background .15s,border-color .15s}.art-preset-card:hover{background:#fff4e9;border-color:#eeb49a}.art-preset-card>svg{display:block;width:100%;height:132px;margin-bottom:9px}.art-preset-card strong{font-size:13px;display:block;font-weight:600}.art-preset-card small{font-size:10px;display:block;color:#6f8088;line-height:1.6;margin-top:5px}.qr-kind-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px}.qr-kind-tabs>button{min-height:36px;font-size:11px;padding:8px 12px}.qr-preview-box{width:min(100%,260px);margin:18px auto;background:white;border:1px solid #dce3df;border-radius:8px;padding:12px}.qr-preview-box svg{width:100%;display:block}.qr-intent{padding:10px 12px;background:#f1f5f5;border-radius:8px;font-size:11px!important;color:#17335a!important;word-break:break-word}.dialog-content .dialog-actions{flex-wrap:wrap}.dialog-content .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.editor-dialog .editor-toolbar .tool-text{white-space:nowrap}.editor-toolbar{overflow-x:auto}.editor-props [data-act="edit-object"],.editor-props [data-act="smooth"]{width:100%;margin-top:10px}.editor-tools{overflow-y:auto}.model-canvas:focus-visible{outline:2px solid #ff6b35;outline-offset:-3px}
@media(max-width:680px){.art-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.art-preset-card>svg{height:110px}.preset-library-filters{grid-template-columns:1fr}.stage-zoom{bottom:85px;right:10px}.stage-dimensions{bottom:56px;left:16px;right:10px}.stage-caption{left:16px;font-size:8px;bottom:16px;right:10px}.stage-dimensions>strong{font-size:16px}.op-heading{flex-wrap:wrap;font-size:11px}.op-heading strong{flex-basis:60%}.operation-progress{padding:11px}.dialog-content .field-row{grid-template-columns:1fr;gap:10px}.trace-scroll{height:235px}.trace-tools .field{width:auto}.qr-kind-tabs>button{flex:1 0 25%;min-height:40px}.contour-compare{height:240px}.dialog-content .dialog-actions>.button{flex:1 1 auto}.editor-workarea>[data-import-progress]{top:28px;left:6px;right:6px}.editor-tip{max-width:90%;line-height:1.5}.stage-tools .icon-button{height:32px;width:30px}}
@media(prefers-reduced-motion:reduce){.art-preset-card{transition:none}}
/* Stable layer positions: selecting an object must not move it away from the
   second click. Inspector properties and layers scroll independently. */
@media(min-width:721px){.editor-inspector{display:grid;grid-template-rows:minmax(150px,1fr) 43px minmax(130px,26%) auto;overflow:hidden}.editor-props{min-height:0;overflow:auto;scrollbar-width:thin}.layer-list{min-height:0;overflow:auto}.layers-heading{min-height:0}}

/* Wave 3 uses the existing surfaces and brand tokens. */
.wave-preset-preview{display:block;min-width:0}.wave-preset-preview svg{display:block}
[data-action="swap-adapter"],[data-action="monogram-text"]{margin:0 0 20px}
@media(max-width:720px){[data-action="swap-adapter"],[data-action="monogram-text"],[data-settings]>.dimension-info{grid-column:1/-1}}

/* A hidden outer overflow is not a mobile layout: each field must actually fit. */
[data-settings] > *, .settings-section-body, .field { min-width:0; }
@media(max-width:720px){
 [data-settings]{grid-template-columns:repeat(2,minmax(0,1fr));}
 .settings-panel .field-label{flex-wrap:wrap;row-gap:4px;}
 .settings-panel .number-unit{margin-left:auto;}
 .settings-panel .button{white-space:normal;}
}
@media(max-width:540px){
 [data-settings]{grid-template-columns:minmax(0,1fr);}
 .settings-panel .field-label{flex-wrap:nowrap;}
 .settings-panel .field-label > span:first-child{min-width:0;}
}
/* Wave 4: shared composition, physical nets and source-aware workspaces. */
.wave4-preset-icon {height:115px;display:grid;place-items:center;color:var(--navy,#17335a);background:linear-gradient(135deg,#f2f1ec,#e8ece7);border-radius:14px;margin-bottom:10px}
.wave4-preset-icon svg{width:68px;height:68px;stroke-width:1.05}
.settings-panel .button.full + .small-note {margin-top:10px}
.audio-envelope{width:100%;height:170px;background:#f5f4ef;border-radius:12px;margin:14px 0;display:block}
.dialog audio{width:100%;margin:10px 0}
.height-crop-stage{position:relative;margin:16px auto;background:#eee;max-width:540px;overflow:hidden;border-radius:12px}
.height-crop-stage canvas{width:100%;height:auto;display:block;max-height:420px;object-fit:contain}
.crop-circle-mask{position:absolute;inset:0;border:1px solid #ff6b35;border-radius:50%;box-shadow:0 0 0 150px rgba(16,24,39,.25);pointer-events:none}
.height-crop-stage:has(.crop-circle-mask){width:min(100%,420px);aspect-ratio:1}
.crop-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center}
.crop-controls input{width:100%;accent-color:#17335a}
.crop-controls button{grid-column:1/-1;justify-self:start}
.fold-preview-control{position:absolute;z-index:3;top:20px;left:25px;width:min(420px,calc(100% - 115px));padding:12px 15px;background:rgba(255,255,255,.93);border:1px solid #e6e8e7;border-radius:12px}
.fold-preview-control label{display:block;color:#17335a;font-size:12px;font-weight:600}.fold-preview-control output{float:right;font-variant-numeric:tabular-nums}
.fold-preview-control input{display:block;width:100%;margin:10px 0;accent-color:#17335a}.fold-preview-control small{display:block;color:#6d777d;font-size:10px;line-height:1.5}
.fold-preview-control ~ .stage-axis-label{display:none}
.diagram-scroll{overflow:auto;max-height:610px;min-height:250px;background:#f5f4ef;border:1px solid #e8e7e1;border-radius:16px}
.diagram-svg{padding:20px;min-width:100%;box-sizing:border-box}.diagram-svg>svg{display:block;width:100%;height:auto;max-height:540px;margin:auto}
.diagram-scroll .diagram-svg>svg{max-height:none}.thread-sheet{background:#fff;border-radius:12px}
.diagram-actions,.diagram-tools,.weave-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0}.diagram-actions button{font-size:12px;min-height:40px}
.diagram-tools{justify-content:flex-end}.diagram-tools span{min-width:40px;color:#657381;font-size:12px;font-variant-numeric:tabular-nums}
.weave-buttons{justify-content:space-between}.stage-detail-view input[type=range]{width:100%;accent-color:#17335a}
.stage-tabs .segmented-tabs{flex-wrap:wrap}
@media(max-width:720px){.crop-controls{grid-template-columns:1fr}.crop-controls button{grid-column:auto}.diagram-svg{padding:10px}.fold-preview-control{left:12px;top:12px;width:calc(100% - 86px);padding:9px}.fold-preview-control small{font-size:9px}.stage-tabs{gap:4px}.stage-tabs .segmented-tabs button{padding:8px 10px;font-size:11px}.diagram-actions{gap:6px}.diagram-actions button{flex:1 1 120px}.stage-detail-view .detail-header h2{font-size:25px}}
.stage-detail-view[data-diagram-view=true]{display:flex;flex-direction:column;gap:8px;padding:18px 22px}
.stage-detail-view[data-diagram-view=true][hidden]{display:none}
.stage-detail-view[data-diagram-view=true] .detail-header{margin-bottom:0;flex:0 0 auto}
.stage-detail-view[data-diagram-view=true] .detail-header h2{margin:5px 0;font-size:22px}
.stage-detail-view[data-diagram-view=true] .detail-header p{font-size:10px}
.stage-detail-view[data-diagram-view=true] .diagram-tools{margin:0;flex:0 0 auto}
.stage-detail-view[data-diagram-view=true] .diagram-scroll{flex:1 1 auto;min-height:150px;max-height:none}
.stage-detail-view[data-diagram-view=true] .diagram-svg{padding:12px;min-height:100%}
.stage-detail-view[data-diagram-view=true] .diagram-svg>svg{width:100%;height:100%;max-height:none}
.stage-detail-view[data-diagram-view=true] .diagram-actions{margin:0;flex:0 0 auto}
.stage-detail-view[data-diagram-view=true] .detail-note{font-size:9px;margin:0;line-height:1.5}
.fold-preview-control~.stage-shadow{opacity:.06}
@media(max-width:720px){.stage-detail-view[data-diagram-view=true]{padding:14px 12px}.stage-detail-view[data-diagram-view=true] .detail-header h2{font-size:19px}.wave4-preset-icon{height:44px;margin-bottom:3px}.wave4-preset-icon svg{height:34px;width:34px}}
/* The growing catalogue scrolls independently instead of stretching the page. */
@media(min-width:721px){.app-rail{height:calc(100dvh - 76px);overflow-y:auto;position:sticky;top:0;align-self:start;scrollbar-width:thin}.app-rail>a{flex-shrink:0}.rail-bottom{padding-top:24px}}

.wave4-preset-cover{height:112px;display:grid;place-items:center;background:#f2f1ec;border-radius:12px;padding:12px;margin-bottom:10px;overflow:hidden}.wave4-preset-cover svg{width:100%;height:100%;display:block;max-height:100%}
@media(max-width:1000px){.wave4-preset-cover{height:56px;padding:4px;margin-bottom:5px}}

/* Properties scroll vertically; fractional mobile columns must not add a 1px X scrollbar. */
.editor-props{min-width:0;overflow-x:hidden}
/* Wave 5: compact people editor without horizontal form overflow. */
.tree-person-card{border:1px solid var(--border,#e4e5df);border-radius:16px;padding:16px;margin-bottom:12px;background:#faf9f5}
.tree-person-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.tree-person-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tree-person-fields .field{min-width:0}.tree-person-fields input,.tree-person-fields select{width:100%;min-width:0}
@media(max-width:700px){.tree-person-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tree-person-fields>.field:first-child{grid-column:1/-1}}

/* The public Line Art model is a bounded raster; the exact mesh stays on the server. */
.model-stage.safe-raster .stage-model,.model-stage.safe-raster .stage-shadow{display:none}
.safe-raster-preview{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:contain;background:#f8f9f7}
.safe-raster-preview[hidden]{display:none}
.model-stage.safe-raster.stale .safe-raster-preview{opacity:.68}
