/* Automateeffect — charcoal, paper, and signal orange. */
:root {
  --ae-orange:#ff792d; --ae-orange-hover:#ff8e4d; --ae-orange-soft:#fff0e6;
  --ae-charcoal:#191a1c; --ae-black:#111214; --ae-panel:#202124;
  --ae-line:#36373b; --ae-light-line:#dfe0e2; --ae-ink:#232426;
  --ae-muted:#65666c; --ae-paper:#fff; --ae-canvas:#eff0f1;
  --accent:var(--ae-orange); --text:#f5f5f6; --ink:var(--ae-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-synthesis:none; color-scheme:dark; color:var(--text); background:var(--ae-black);
  font-size:16px; line-height:1.5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;min-width:300px}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit;line-height:1.3}
button:disabled{cursor:not-allowed;opacity:.4}
a{color:inherit;text-decoration:none}
button,a,input,select,summary{transition:background-color .15s,border-color .15s,color .15s}
:where(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--ae-orange);outline-offset:3px}
[hidden]{display:none!important}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.1em;color:#a8a9ad;margin:0 0 10px}
h1{font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.15;letter-spacing:-.035em;font-weight:600;margin:0}
h1 .title-period{color:var(--ae-orange)}
.studio{border:1px solid #414247;border-radius:10px;overflow:hidden;scroll-margin-top:16px;background:#fff}
.studio-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:10px 20px;background:var(--ae-charcoal);border-bottom:1px solid var(--ae-line)}
.studio-title{font-size:.875rem;font-weight:550;display:flex;align-items:center;gap:11px;color:#e6e6e8}
.studio-monogram{color:var(--ae-orange);font-size:.75rem;font-weight:750;letter-spacing:-.02em;padding-right:11px;border-right:1px solid #55565b}
.studio-top>span{color:#9b9ca2;font-size:.75rem}
.studio-grid{--studio-height:clamp(44rem,calc(100svh - 16rem),53rem);display:grid;grid-template-columns:194px minmax(0,1fr) 330px;align-items:stretch}
.product-menu{height:var(--studio-height);min-width:0;display:flex;flex-direction:column;padding:23px 10px 16px;background:var(--ae-charcoal);overflow:hidden}
.section-label{font-size:.75rem;line-height:1.4;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:#adaeb4;margin:0}
.idea-header{padding:0 12px 19px;flex-shrink:0}
.idea-meta{font-size:.75rem;color:#83848b;margin:6px 0 0}
.idea-scroll-hint,.mobile-product-field{display:none}
.idea-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#525359 transparent;padding-right:3px}
.product-choice{display:flex;align-items:center;width:100%;gap:11px;min-height:62px;text-align:left;padding:12px 10px;margin-bottom:2px;background:none;border:1px solid transparent;border-radius:5px;color:#c3c4c9}
.product-choice svg{width:21px;height:21px;color:#909198;stroke-width:1.5}
.product-choice>span{font-size:.875rem;font-weight:500;min-width:0;line-height:1.35}
.product-choice small{display:block;font-size:.75rem;line-height:1.4;font-weight:400;color:#87888f;margin-top:4px}
.product-choice>b{display:none}
.product-choice:hover{background:#27282c;color:#fff}
.product-choice.active{background:#303033;color:#fff;border-color:#55504c;box-shadow:inset 3px 0 var(--ae-orange)}
.product-choice.active svg{color:var(--ae-orange)}
.product-choice.active small{color:#b2b2b8}
.own-model{padding-top:18px;margin:17px 10px 0;border-top:1px solid var(--ae-line);flex-shrink:0}
.own-model>span{font-size:.75rem;color:#b2b2b9}
.upload-model{margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 10px;background:#27282c;border:1px solid #4c4d54;border-radius:5px;font-size:.875rem;color:#e9e9ec}
.upload-model:hover{background:#313236;border-color:#77787e}
.upload-model>span{color:var(--ae-orange)}
.own-model p{font-size:.75rem;line-height:1.6;color:#9899a0;margin:0;overflow-wrap:anywhere}
.own-model>button:not(.upload-model){background:none;border:0;color:#ffc2a0;font-size:.75rem;padding:10px 0}
.stage{height:var(--studio-height);position:relative;isolation:isolate;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--ae-canvas);color:var(--ae-ink);border-right:1px solid var(--ae-light-line);color-scheme:light;scroll-margin-top:14px}
.stage-top{display:flex;justify-content:center;padding:20px 16px 12px;position:relative;z-index:5;flex-shrink:0}
.view-switch{display:flex;gap:2px;border:1px solid #d6d7da;border-radius:6px;background:#fff;padding:3px;max-width:100%}
.view-switch>button{border:0;border-radius:3px;background:none;color:#686970;font-size:.875rem;font-weight:500;min-height:36px;padding:8px 15px;white-space:nowrap}
.view-switch>button:hover:not(:disabled){color:#232426;background:#f1f1f2}
.view-switch>button.active{background:#242528;color:#fff}
#canvasHost{position:absolute;inset:80px 0 94px;z-index:1;cursor:grab;touch-action:pan-y;outline-offset:-5px}
#canvasHost:active{cursor:grabbing}
#canvasHost canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.stage-floor-label{position:absolute;bottom:72px;left:24px;right:24px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none;font-size:.75rem;line-height:1.45;color:#707178}
#stageProduct{font-weight:550;letter-spacing:.03em;max-width:66%}
#stageDimensions{text-align:right;font-variant-numeric:tabular-nums}
.view-controls{position:absolute;bottom:18px;left:22px;right:22px;z-index:4;display:flex;align-items:center;gap:6px}
.view-controls>button{width:37px;height:37px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d2d3d6;border-radius:5px;background:#fff;color:#515259;font-size:20px}
.view-controls>button:hover{background:#e7e8e9;border-color:#acaeb3}
.view-controls>button[aria-pressed=true]{background:#28292d;color:#fff;border-color:#28292d}
.view-controls>select{height:37px;max-width:130px;border:1px solid #d2d3d6;border-radius:5px;background:#fff;color:#515259;font-size:.75rem;padding:5px 8px;color-scheme:light}
.view-controls svg{width:17px;height:17px}
.view-controls>span{height:20px;width:1px;background:#d2d3d6;margin:0 3px}
.view-controls>p{margin:0 0 0 auto;font-size:.75rem;line-height:1.5;text-align:right;color:#7b7c83}
#designWorkspace{position:relative;z-index:3;display:flex;flex-direction:column;flex:1;min-height:0;margin:0 0 94px;background:var(--ae-canvas);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c3c4ca transparent}
.design-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:8px 16px 10px;flex-shrink:0}
.canvas-tools,.canvas-history{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #d8d9dc;border-radius:6px;background:#fff}
.design-toolbar button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:37px;min-width:37px;padding:8px;border:0;border-radius:3px;background:transparent;color:#64656c;font-size:.875rem}
.design-toolbar svg{width:18px;height:18px}
.design-toolbar button:hover:not(:disabled){background:#f0f0f1;color:#252629}
.design-toolbar button[aria-pressed=true]{background:var(--ae-orange-soft);color:#983e0d}
.design-toolbar>#finishOutline{background:var(--ae-orange);color:#251b15;padding-inline:13px;font-weight:600}
.design-toolbar>#undoPoint{border:1px solid #d8d9dc;background:#fff;padding-inline:10px}
.brush-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 13px;flex-shrink:0;padding:10px 16px;border-block:1px solid #dddfe1;background:#fafafa;color:#65666d}
.brush-toolbar>label{display:flex;align-items:center;gap:6px;font-size:.875rem}
.brush-toolbar input,.brush-toolbar select{background:#fff;border:1px solid #d0d1d5;border-radius:4px;color:#36373c;min-height:34px;padding:5px;font-size:.875rem;max-width:154px}
.brush-toolbar input{width:56px}
.brush-toolbar input[type=color]{width:34px;height:34px;padding:3px;cursor:pointer}
.brush-toolbar>button,.outline-toolbar button{border:1px solid #d8d9dc;border-radius:4px;background:#fff;color:#56575e;min-height:33px;padding:7px 9px;font-size:.75rem}
.brush-toolbar>button:hover:not(:disabled),.outline-toolbar button:hover:not(:disabled){background:#f0f0f1;border-color:#999ba2}
#clearDrawing{color:#8b4b34}
.outline-toolbar{padding:0 18px;flex-shrink:0;border-bottom:1px solid #dddfe1;background:#fafafa}
.outline-toolbar>summary{cursor:pointer;width:fit-content;padding:9px 0;color:#606169;font-size:.75rem;font-weight:500}
.outline-toolbar>div{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:11px}
#designCanvas{display:block;flex:1 1 0;height:0;min-height:180px;width:100%;touch-action:none;cursor:grab;outline-offset:-4px}
#designCanvas:active{cursor:grabbing}
#designCanvas[data-tool=draw],#designCanvas[data-tool=freehand],#designCanvas[data-tool=ink],#designCanvas[data-tool=erase]{cursor:crosshair}
.canvas-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 18px 5px;flex-shrink:0}
.canvas-toggles{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.canvas-options label{display:flex;align-items:center;gap:6px;color:#66676f;font-size:.75rem}
.canvas-options input{width:15px;height:15px;accent-color:#bd5318;margin:0}
.canvas-options button{min-height:33px;padding:7px 10px;border:1px solid #d2d3d7;border-radius:4px;font-size:.75rem;color:#55565e;background:#fff}
.canvas-zoom{display:flex;gap:3px;margin-left:auto}
.canvas-zoom>button{min-width:32px;padding:7px}
.canvas-options>#quick3D{border-color:#343539;background:#343539;color:#fff}
.design-help{font-size:.75rem;line-height:1.5;text-align:center;color:#6a6b72;padding:4px 18px;margin:0}
.selected-layer{font-size:.75rem;line-height:1.5;text-align:center;color:#70717a;padding:3px 18px 10px;margin:0}
.custom-panel{height:var(--studio-height);min-width:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c4c5ca transparent;padding:24px;background:#fff;color:var(--ae-ink);color-scheme:light}
.custom-panel>.section-label{color:#7a7b82;margin-bottom:10px}
.custom-panel>h2{font-size:1.375rem;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:0 0 8px}
.custom-panel>p:not(.section-label){font-size:.875rem;line-height:1.6;color:#77787f;margin:0 0 18px}
.start-design{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:43px;padding:11px 13px;margin:0 0 22px;border:1px solid var(--ae-orange);border-radius:5px;background:var(--ae-orange);color:#22170f;font-size:.875rem;font-weight:600}
.start-design:hover{background:var(--ae-orange-hover);border-color:var(--ae-orange-hover)}
.start-design.secondary{background:#f4f4f5;border-color:#dedfe2;color:#494a52}
.mobile-model-controls{display:none}
.inspector-tabs{position:sticky;top:-24px;z-index:7;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 24px;padding-top:4px;border-bottom:1px solid #dadbdf;background:#fff;box-shadow:0 -1px 0 1px #fff}
.inspector-tabs>button{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;min-height:42px;padding:9px 1px;background:#fff;color:#787980;font-size:.875rem}
.inspector-tabs>button:hover:not(:disabled){color:#303137;background:#fafafa}
.inspector-tabs>button[aria-selected=true]{color:#232426;border-bottom-color:var(--ae-orange);font-weight:600}
.inspector-panel{min-width:0}
.field{margin-bottom:22px}
.field>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.875rem;font-weight:550;margin-bottom:9px;color:#3e3f45}
.field>label>span{font-size:.75rem;font-weight:400;color:#70717a;font-variant-numeric:tabular-nums}
.custom-panel input:not([type]),.custom-panel input[type=text],.custom-panel input[type=number],.custom-panel input[type=url],.custom-panel select{width:100%;min-width:0;min-height:41px;padding:10px 11px;border:1px solid #d1d2d7;border-radius:5px;background:#fff;color:#34353b;font-size:.875rem;line-height:1.4}
.custom-panel input:hover,.custom-panel select:hover{border-color:#a5a6ae}
.custom-panel input[type=range]{width:100%;min-height:25px;margin:3px 0 0;accent-color:#c6581c;cursor:pointer}
.custom-panel input[aria-invalid=true]{border-color:#b9572e;background:#fff8f4}
.dimension-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.dimension-fields label{font-size:.875rem;font-weight:550;color:#3e3f45}
.dimension-fields span{float:right;font-size:.75rem;font-weight:400;color:#70717a}
.dimension-fields input{display:block;margin-top:9px}
.inline-check{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:#595a62;font-size:.875rem}
.inline-check input{width:16px;height:16px;accent-color:#c6581c;margin:0}
.outline-action{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;min-height:41px;padding:11px 12px;border:1px solid #d6d7dc;border-radius:5px;background:#f6f6f7;color:#4c4d55;font-size:.875rem;text-align:left}
.outline-action:hover{border-color:#999ba3;background:#eeeef0}
.edit-outline{margin-bottom:8px;background:#fff}
.inspector-hint,.field-note,.design-note{font-size:.75rem;line-height:1.65;color:#70717a;margin:11px 0 0}
.inspector-hint:empty,.field-note:empty{display:none}
.design-note{border-top:1px solid #ececef;padding-top:14px;margin-top:16px}
.logo-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.logo-upload{min-height:36px;padding:8px 11px;border:1px solid #d5d6da;border-radius:4px;background:#f6f6f7;color:#55565e;font-size:.875rem}
.logo-row>button:not(.logo-upload){border:0;background:none;color:#a5542f;font-size:.75rem;padding:8px 0}
.layer-position{border-block:1px solid #e0e1e4;padding:16px 0;margin:20px 0}
.layer-position summary{font-size:.875rem;color:#55565e;cursor:pointer}
.layer-position[open] summary{margin-bottom:16px}
.layer-position>label{display:block;font-size:.875rem;color:#64656e;margin-bottom:8px}
.layer-position>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.layer-position>div>label{font-size:.75rem;color:#70717a}
.layer-position input[type=number]{margin-top:8px}
.layer-position button{padding:12px 0 0;border:0;background:none;color:#97502c;font-size:.75rem}
.layer-position button+button{margin-left:16px}
.custom-panel .rotation-control{display:block;margin-top:18px;font-size:.875rem;color:#66676f}
.rotation-control>span{float:right;font-size:.75rem;font-variant-numeric:tabular-nums}
.layout-starters{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e4e5e8}
.layout-starters>label,.colour-pairings>label{display:block;font-size:.875rem;font-weight:550;color:#414249;margin-bottom:12px}
.layout-starters>label>span{display:block;margin-top:3px;color:#70717a;font-size:.75rem;font-weight:400}
.layout-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.layout-choices>button{display:flex;align-items:center;gap:9px;padding:11px 8px;min-height:51px;border:1px solid #e0e1e5;border-radius:5px;background:#fff;color:#5a5b63;font-size:.875rem;text-align:left;line-height:1.35}
.layout-choices>button:hover{border-color:#b8b9bf;background:#fafafa}
.layout-choices>button[aria-pressed=true]{border-color:#e79666;background:#fff6f0;color:#8f461d}
.layout-icon{display:block;flex-shrink:0;width:23px;height:17px;position:relative;background:#36373a;border:1px solid #636469;border-radius:3px}
.layout-icon:after{content:'';position:absolute;left:4px;right:4px;top:6px;height:2px;background:var(--ae-orange)}
.layout-icon.round{width:21px;height:21px;border-radius:50%}
.layout-icon.hexagon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;border-radius:0}
.layout-icon.has-hole:before{content:'';position:absolute;top:2px;left:3px;width:2px;height:2px;background:#fff;border-radius:50%}
.size-control{display:flex;align-items:center;gap:15px}
.size-control>input{flex:1;min-width:0}
.number-unit{display:flex;align-items:center;gap:3px;flex:0 0 90px;border:1px solid #d1d2d7;border-radius:5px;overflow:hidden;background:#fff;padding-right:9px}
.custom-panel .number-unit input{border:0;background:transparent;text-align:right;padding:8px 3px 8px 7px}
.number-unit>span{font-size:.75rem;color:#70717a}
.arrange-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin:18px 0}
.arrange-actions>button{padding:11px 8px;min-height:42px;border:1px solid #d6d7dc;border-radius:5px;background:#f5f5f6;color:#51525b;font-size:.75rem}
.palette-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.palette-heading>b{font-size:.875rem;font-weight:550;color:#414249}
.palette-heading>span{font-size:.75rem;color:#70717a;white-space:nowrap}
.colour-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:24px}
.colour-targets>button{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 10px;border:1px solid #dedfe3;border-radius:5px;background:#fff;color:#676871;font-size:.875rem;text-align:left}
.colour-targets>button>i{display:block;width:15px;height:15px;border-radius:3px;border:1px solid #9999a055;flex-shrink:0}
.colour-targets>button[aria-pressed=true]{border-color:#e89769;background:#fff6f0;color:#903e12}
.palette-filter{margin:0 0 20px}
.palette-filter>label{display:block;font-size:.75rem;color:#797a83;margin-bottom:8px}
.palette-current{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px;font-size:.875rem}
.palette-current strong{font-weight:550;color:#46474f}
.palette-current>span{color:#70717a;font-size:.75rem}
.extended-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:3px}
.palette-swatch{position:relative;min-width:0;height:36px;border:1px solid #88888d66;border-radius:4px;background:var(--colour)}
.palette-swatch:hover{outline:2px solid #b5b5bb;outline-offset:2px}
.palette-swatch[aria-pressed=true]{outline:2px solid #2b2c31;outline-offset:2px}
.palette-swatch[aria-pressed=true]:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--swatch-ink);font-size:18px;font-weight:700}
.colour-entry{display:flex;align-items:flex-end;gap:9px;padding-bottom:18px;margin-top:22px;border-bottom:1px solid #e5e5e8}
.colour-entry input[type=color]{width:41px;height:42px;flex-shrink:0;border:1px solid #d1d2d6;border-radius:5px;background:#fff;padding:3px;cursor:pointer}
.colour-entry>label{flex:1;min-width:0;font-size:.75rem;color:#70717a}
.colour-entry>label>input{margin-top:7px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}
.colour-entry>button{max-width:80px;min-height:42px;padding:8px;border:1px solid #dedee3;border-radius:5px;background:#f4f4f5;color:#676872;font-size:.75rem;line-height:1.4}
.recent-colours{margin-top:18px}
.recent-colours>label{display:block;font-size:.75rem;color:#70717a;margin-bottom:9px}
.recent-colours>div{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
.recent-colours .palette-swatch{height:27px;border-radius:3px}
.palette-actions{display:flex;gap:8px;margin-top:18px}
.palette-actions button{flex:1;min-height:42px;padding:9px 7px;border:1px solid #dedfe3;border-radius:5px;background:#f6f6f7;color:#65666f;font-size:.75rem}
.colour-editor+.inspector-hint{margin-bottom:23px}
.colour-pairings{padding-top:20px;margin-top:20px;border-top:1px solid #e5e5e8}
#colourPairings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#colourPairings button{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:68px;padding:10px 4px;border:1px solid #e0e1e5;border-radius:5px;background:#fff;color:#72737b;font-size:.75rem}
#colourPairings button:hover{border-color:#df9970;background:#fff8f3}
#colourPairings i{display:block;width:42px;height:22px;border:1px solid #99999f66;border-radius:3px;background:linear-gradient(90deg,var(--body) 65%,var(--accent) 65%)}
.nfc-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;position:relative}
.nfc-toggle>span:first-child{margin-right:auto}
.nfc-toggle b{display:block;font-size:.875rem;color:#44454d;font-weight:550}
.nfc-toggle small{display:block;font-size:.75rem;line-height:1.55;color:#70717a;margin-top:5px}
.nfc-toggle>input{position:absolute;right:0;width:42px;height:26px;opacity:0;cursor:pointer}
.switch{width:38px;height:22px;flex-shrink:0;border-radius:14px;background:#b7b8be;pointer-events:none}
.switch:after{content:'';display:block;width:16px;height:16px;margin:3px;border-radius:50%;background:#fff;transition:transform .15s}
.nfc-toggle input:checked+.switch{background:#c65a20}
.nfc-toggle input:checked+.switch:after{transform:translateX(16px)}
.nfc-toggle input:focus-visible+.switch{outline:3px solid var(--ae-orange);outline-offset:3px}
#nfcFields{margin-top:24px}
#nfcFields>label{display:block;font-size:.875rem;font-weight:550;color:#4c4d55;margin-bottom:9px}
.nfc-preview{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding:12px 13px;margin-top:15px;min-height:43px;border:1px solid #292a2f;border-radius:5px;background:#292a2f;color:#fff;font-size:.875rem}
.nfc-preview:hover{background:#414249}
.destination-field{margin:22px 0 0}
.layout-feedback{padding:11px 12px;margin-top:22px;border:1px solid #e4e5e8;border-left:2px solid #a6ada7;border-radius:3px;background:#f6f7f6;color:#687269;font-size:.75rem;line-height:1.6}
.layout-feedback.has-issues{color:#94512d;border-color:#f0d8c8;border-left-color:#e3844e;background:#fff7f1}
.project-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:20px;margin-top:23px;border-top:1px solid #e4e5e8}
.project-actions button{min-height:41px;padding:10px 8px;border:1px solid #d6d7dc;border-radius:5px;background:#fff;color:#666771;font-size:.875rem}
.project-actions button:first-child{background:#292a2e;border-color:#292a2e;color:#fff}
.draft-banner{display:flex;align-items:center;gap:15px;padding:14px 20px;border-bottom:1px solid #eed4c3;background:#fff3ea;color:#77513a;font-size:.875rem;color-scheme:light}
.draft-banner>div{flex:1}
.draft-banner b{display:block;font-weight:600}
.draft-banner span{font-size:.75rem;color:#a0775b}
.draft-banner>button{padding:9px 13px;border:1px solid #e3bd9f;border-radius:5px;background:#fff;color:#865839;white-space:nowrap;font-size:.875rem}
.draft-banner>button:last-child{border:0;background:transparent;font-size:24px;padding:4px}
.studio-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-top:1px solid var(--ae-line);background:var(--ae-charcoal)}
.studio-bottom>span{min-width:0;font-size:.875rem;color:#b2b3bb}
.studio-bottom>span>b{display:block;font-weight:500;font-size:.75rem;letter-spacing:.04em;color:#7f8088;margin-bottom:3px}
.studio-bottom>span>span{font-size:.75rem}
.export-actions{display:flex;gap:8px;flex-shrink:0}
.export-actions button{min-height:39px;padding:9px 13px;border:1px solid #4e4f57;border-radius:5px;background:#27282d;color:#cdced4;font-size:.875rem;white-space:nowrap}
.export-actions button:last-child{background:var(--ae-orange);border-color:var(--ae-orange);color:#23180f;font-weight:600}
.export-actions button:hover{filter:brightness(1.08)}
.preview-inspector,.mobile-preview{display:none}
dialog{max-width:calc(100% - 28px);max-height:calc(100dvh - 40px);padding:0;border:1px solid #45464d;border-radius:10px;background:#1c1d20;color:#eeeef1;box-shadow:0 20px 70px #0005;overflow:auto}
dialog::backdrop{background:#111214bc}
.dialog-close{position:absolute;z-index:3;right:13px;top:13px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #73747d;border-radius:5px;background:#25262bed;color:#eeeef1;font-size:24px}
.tap-dialog{width:780px;padding:43px;display:grid;grid-template-columns:1fr 270px;align-items:center;gap:24px 30px}
.tap-dialog:not([open]){display:none}
.tap-dialog-heading h2{font-size:2rem;font-weight:550;line-height:1.2;letter-spacing:-.03em}
.tap-dialog-heading>p:not(.eyebrow){font-size:1rem;line-height:1.65;color:#a6a7b0}
.phone{border:6px solid #76777e;border-radius:32px;background:#fff;min-height:438px;padding:15px 22px 26px;color:#37383f;text-align:center}
.phone-bar{font-size:.75rem;font-weight:700;text-align:left;margin-bottom:32px}
.phone-bar span{float:right}
.phone-brand{display:flex;justify-content:center;align-items:center;height:52px;font-size:34px;letter-spacing:-1px;font-weight:700;color:var(--ae-orange)}
.phone-brand img{max-width:100%;max-height:52px;object-fit:contain}
.phone-small{font-size:.75rem;line-height:1.5;color:#70717a;overflow-wrap:anywhere}
.phone h3{font-size:1.625rem;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:23px 0 14px}
.phone>p:not(.phone-small){font-size:.875rem;line-height:1.6;color:#767781}
.phone-action{display:block;padding:13px 9px;border-radius:5px;margin:20px 0;background:var(--accent);font-size:.875rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.phone-action[href]:hover{filter:brightness(.95)}
.phone-powered{font-size:.75rem;color:#70717a;margin-top:25px}
.phone-destination{font-size:.75rem!important;color:#70717a!important;overflow-wrap:anywhere}
.simulation-note{grid-column:1/-1;text-align:center;font-size:.75rem;line-height:1.6;color:#92939c;margin:0}
#loading{position:absolute;z-index:8;inset:76px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:var(--ae-canvas);color:#72737c;font-size:.875rem}
.loader-ring{width:29px;height:29px;border:2px solid #d1d2d7;border-top-color:var(--ae-orange);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#renderError{position:absolute;z-index:2;inset:35% 10% auto;text-align:center;color:#73747e;font-size:.875rem;line-height:1.7}
#renderError strong{font-size:1.5rem;font-weight:600;color:#42434b}
#toast{position:fixed;z-index:30;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(590px,90vw);padding:14px 20px;border:1px solid #5b5c65;border-left:3px solid var(--ae-orange);border-radius:6px;background:#27282d;box-shadow:0 6px 30px #0003;color:#eeeeef;font-size:.875rem;line-height:1.5}
body.embedded main{max-width:none;padding:0}
body.embedded .studio{border:0;border-radius:0}
@media(min-width:1550px){.studio-grid{grid-template-columns:210px minmax(0,1fr) 354px}.custom-panel{padding:26px}.inspector-tabs{top:-26px}}
@media(max-width:1380px){.canvas-tools>button>span{display:none}.canvas-tools>button{width:38px}.studio-grid{grid-template-columns:186px minmax(0,1fr) 316px}.custom-panel{padding:22px}.inspector-tabs{top:-22px}.product-choice{gap:8px;padding-inline:8px}.product-choice>span{font-size:.875rem}.view-controls>p{display:none}}
@media(max-width:1100px){
 .studio-grid{grid-template-columns:minmax(0,1fr) 316px}
 .product-menu{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:30px;height:auto;padding:14px 20px;border-bottom:1px solid #3c3d42}
 .idea-header{padding:0}.idea-meta{margin-top:4px}.idea-list,.product-menu .own-model{display:none}
 .mobile-product-field{display:block;min-width:0}.mobile-product-field>label{display:none}
 .mobile-product-field select{width:100%;min-height:43px;padding:10px 13px;border:1px solid #585961;border-radius:5px;background:#27282d;color:#ededee;font-size:1rem;color-scheme:dark}
 .mobile-model-controls{display:flex;align-items:center;gap:12px;margin-bottom:17px}
 .mobile-model-controls button{padding:9px 10px;border:1px solid #d5d6db;border-radius:4px;background:#fafafa;color:#6d6e77;font-size:.75rem}
}
@media(max-width:760px){
 .studio{border-radius:7px}.studio-top{min-height:46px;padding:10px 15px}.studio-top>span{display:none}
 .studio-grid{grid-template-columns:minmax(0,1fr)}
 .product-menu{grid-template-columns:1fr;gap:11px;padding:15px}
 .idea-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.idea-meta{margin:0}.section-label{letter-spacing:.04em}
 .mobile-product-field select{min-height:44px}
 .stage{height:490px;border-right:0;border-bottom:1px solid #dedfe3}
 .stage[data-view=editor]{height:auto;min-height:780px}
 .stage-top{padding:16px 10px 10px}.view-switch>button{min-height:37px;padding:8px 12px;font-size:.875rem}
 #canvasHost{inset:76px 0 91px}.stage-floor-label{left:16px;right:16px;bottom:72px;font-size:.75rem}
 .view-controls{left:15px;right:15px;bottom:18px;gap:6px}.view-controls>select{max-width:114px}.view-controls>button{width:36px;height:37px}.view-controls>span{margin-inline:1px}
 #designWorkspace{margin-bottom:94px;flex:none;min-height:610px;overflow:visible}.design-toolbar{padding:6px 10px 10px;gap:7px}
 .canvas-tools>button{width:37px;min-height:37px}.canvas-history>button{width:36px;min-height:37px}
 .brush-toolbar{padding:10px;gap:9px 11px}.brush-toolbar input[type=number],.brush-toolbar select{font-size:1rem}.brush-toolbar select{max-width:156px}
 .outline-toolbar{padding-inline:16px}.outline-toolbar summary{padding-block:10px}.outline-toolbar button{min-height:37px}
 #designCanvas{flex:1 0 330px;height:330px;min-height:330px}.canvas-options{padding:12px 14px 5px;gap:10px 8px}.canvas-options button{min-height:35px}.canvas-toggles{gap:12px}
 .design-help{padding-inline:16px}.selected-layer{padding-inline:16px;padding-bottom:8px}
 .custom-panel{height:auto;overflow:visible;padding:25px 22px 30px}
 .custom-panel>.section-label{display:none}.custom-panel>h2{font-size:1.5rem}.custom-panel>p:not(.section-label){font-size:1rem}
 .start-design{min-height:45px}.inspector-tabs{position:relative;top:auto;margin-bottom:25px}.inspector-tabs>button{min-height:46px;font-size:.875rem}
 .custom-panel input:not([type]),.custom-panel input[type=text],.custom-panel input[type=number],.custom-panel input[type=url],.custom-panel select{font-size:1rem;min-height:44px}
 .layout-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-choices>button{flex-direction:column;text-align:center;padding:12px 5px;min-height:77px;gap:9px;font-size:.875rem}
 .field>label,.dimension-fields label,.layer-position>label{font-size:.875rem}
 .project-actions button,.logo-upload,.arrange-actions>button{font-size:.875rem;min-height:43px}
 .palette-swatch{height:40px}.colour-targets>button{min-height:46px}.colour-entry>label>input{font-size:1rem}.recent-colours .palette-swatch{height:29px}
 .palette-heading b{font-size:.875rem}.palette-heading>span{font-size:.75rem}
 .preview-inspector{display:block;width:100%;min-height:44px;padding:12px;border:1px solid #d4d5da;border-radius:5px;background:#f5f5f6;color:#55565f;font-size:.875rem;margin-top:22px}
 .mobile-preview{display:block;position:fixed;z-index:21;bottom:max(18px,env(safe-area-inset-bottom));right:18px;min-height:43px;padding:12px 17px;background:#292a2f;color:#fff;border:1px solid #81828c;border-radius:6px;box-shadow:0 4px 20px #0002;font-size:.875rem}
 body.embedded .mobile-preview{display:none}
 .studio-bottom{display:block;padding:16px}.studio-bottom>span{display:block;margin-bottom:13px}.export-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.export-actions button{min-height:43px;white-space:normal;font-size:.875rem}
 .draft-banner{padding:13px 16px;gap:10px;flex-wrap:wrap}.draft-banner>div{flex-basis:65%}.draft-banner span{display:block}.draft-banner>button:last-child{margin-left:auto}
 .tap-dialog{display:block;width:350px;padding:31px 24px 25px}.tap-dialog-heading h2{font-size:1.65rem;margin:14px 0 23px}.tap-dialog-heading>p:not(.eyebrow){display:none}.phone{min-height:410px;margin-bottom:20px}
}
@media(max-width:370px){.idea-meta{font-size:.75rem}.view-switch>button{padding-inline:10px;font-size:.75rem}
 .view-controls{gap:4px;left:12px;right:12px}.view-controls>select{max-width:104px;padding-inline:5px}.view-controls>button{width:33px}
 .custom-panel{padding-inline:18px}.canvas-tools>button{width:34px;min-width:34px}.canvas-history>button{width:34px;min-width:34px}.canvas-tools,.canvas-history{padding:2px}
 .palette-heading{align-items:flex-start}.palette-heading>span{white-space:normal;text-align:right}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.loader-ring{animation:none}}

/* The studio is the embed: no website header, portfolio, or marketing shell. */
:root{background:#f0f1f2}
main{max-width:1800px;padding:12px;margin-inline:auto}
.studio{border-radius:8px;border-color:#cfd0d4}
.studio-top{min-height:65px;padding:13px 22px;background:#1b1c1f}
.studio-brand{display:flex;align-items:center;gap:14px}
.studio-brand>strong{color:var(--ae-orange);font-size:29px;font-weight:750;letter-spacing:-2px;line-height:1}
.studio-brand>div{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.studio-brand b{font-size:.875rem;font-weight:600;letter-spacing:.01em;color:#f2f2f4}
.studio-brand>div>span{font-size:.75rem;color:#a2a3ab}


.studio-grid{--studio-height:clamp(650px,calc(100svh - 156px),820px);grid-template-columns:188px minmax(0,1fr) 330px}
.idea-header{padding-bottom:16px}.product-menu{padding-top:22px}
.product-choice{min-height:49px;margin-bottom:3px;border-radius:4px}
.product-choice small{display:none}.product-choice.active{background:#303034;border-color:#4a4744}
.stage{background:#f1f2f3}.stage-top{padding-top:18px}
#canvasHost{inset:69px 0 108px;touch-action:none;user-select:none;-webkit-user-select:none}
#canvasHost canvas{touch-action:none}
#canvasHost[data-dragging=true]{cursor:grabbing}
.stage-floor-label{bottom:97px;left:22px;right:22px;font-size:.75rem;color:#73757f}
.view-controls{left:50%;right:auto;bottom:39px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);gap:3px;padding:5px;border:1px solid #d7d8dd;border-radius:7px;background:#fff;box-shadow:0 2px 7px #14172408}
.view-controls>button,.view-controls>select{border:0;background:transparent;border-radius:3px;height:37px}
.view-controls>button{width:37px}.view-controls>button:hover{background:#f0f0f2}
.view-controls>select{max-width:132px;padding-inline:8px;font-size:.875rem}
.view-controls>span:not(.zoom-readout){background:#e0e1e5;height:21px;margin-inline:5px}
.view-controls>.zoom-readout{height:auto;width:48px;margin:0;background:none;text-align:center;font-size:.75rem;color:#777985;font-variant-numeric:tabular-nums}
.interaction-hint{position:absolute;left:14px;right:14px;bottom:12px;margin:0;text-align:center;color:#7c7e87;font-size:.75rem;pointer-events:none}
.touch-hint{display:none}.stage[data-view=editor] .interaction-hint{display:none}
.custom-panel .inspector-tabs{background:#fff}
.custom-panel .start-design{border-radius:4px}
.custom-panel input,.custom-panel select,.field-note{overflow-wrap:anywhere}
.mobile-workspace-tabs{display:none}
#mobilePreview{display:none!important}
.studio-bottom{padding:14px 20px;background:#fff;color:#50525b;border-top:1px solid #dedfe4}
.studio-bottom>span{color:#50525b}.studio-bottom>span>b{color:#777a84;letter-spacing:0}
.export-actions button{background:#fff;color:#626570;border-color:#d7d9e0}
.export-actions button:last-child{background:#ff792d;border-color:#ff792d;color:#2a190e}

body.embedded .studio{border:0;border-radius:0}
@media(min-width:1550px){.studio-grid{grid-template-columns:200px minmax(0,1fr) 354px}}
@media(max-width:1380px){.studio-grid{grid-template-columns:176px minmax(0,1fr) 316px}}
@media(max-width:1100px){
 main{padding:10px}.studio-grid{grid-template-columns:minmax(0,1fr) 316px}
 .product-menu{padding:12px 20px;gap:25px}.idea-header{padding:0}
}
@media(pointer:coarse){.mouse-hint{display:none}.touch-hint{display:inline}}
@media(max-width:760px){
 main{padding:0}.studio{border-radius:0;border:0}.studio-top{min-height:60px;padding:12px 16px}.studio-brand{gap:11px}.studio-brand>strong{font-size:26px}
 .studio-grid{grid-template-columns:minmax(0,1fr)}
 .product-menu{padding:13px 16px;gap:8px;background:#f8f8f9;border-bottom:1px solid #e0e1e5}
 .product-menu .section-label{color:#71747f;letter-spacing:0;text-transform:none;font-size:.75rem;font-weight:500}
 .mobile-product-field select{background:#fff;color:#272a32;border-color:#d0d2da;border-radius:5px;color-scheme:light;min-height:46px;font-size:1rem}
 .mobile-workspace-tabs{display:flex;gap:0;padding:0 16px;background:#fff;border-bottom:1px solid #dedfe5;position:sticky;top:0;z-index:12}
 .mobile-workspace-tabs>button{flex:1;min-height:45px;padding:11px 8px;border:0;border-bottom:2px solid transparent;background:#fff;color:#80838e;font-size:.875rem;font-weight:500}
 .mobile-workspace-tabs>button[aria-pressed=true]{color:#242730;border-bottom-color:var(--ae-orange)}
 .studio-grid[data-mobile-panel=preview]>.custom-panel{display:none}
 .studio-grid[data-mobile-panel=controls]>.stage{display:none}
 .stage{height:450px;border-bottom:0}
 .stage[data-view=editor]{height:auto;min-height:710px}
 .stage-top{padding:12px 10px 6px}.view-switch{border:0;background:transparent;padding:2px;gap:4px}
 .view-switch>button{font-size:.875rem;min-height:35px;padding:7px 11px;color:#767985}
 .view-switch>button.active{background:#fff;color:#272a32;box-shadow:0 0 0 1px #d7d9df}
 #canvasHost{inset:58px 0 110px}
 .stage-floor-label{bottom:98px;left:16px;right:16px;color:#777a85}
 .view-controls{left:50%;right:auto;bottom:38px;gap:3px;max-width:calc(100% - 24px);padding:5px}
 .view-controls>select{font-size:1rem;width:127px;max-width:127px;padding-inline:7px;height:40px}
 .view-controls>button{width:40px;height:40px}.view-controls>.zoom-readout{display:none}
 .view-controls>span:not(.zoom-readout){margin-inline:3px}
 .interaction-hint{font-size:.75rem;bottom:12px}
 .custom-panel{padding:23px 20px 26px}.custom-panel>.section-label{display:none}
 .custom-panel>h2{font-size:1.3rem}.custom-panel>p:not(.section-label){font-size:.875rem}
 .mobile-model-controls{margin-bottom:14px}.mobile-model-controls button{font-size:.875rem;min-height:41px}
 .inspector-tabs{position:sticky;top:45px;z-index:10;padding-top:6px;margin-bottom:24px}
 .inspector-tabs>button{font-size:.875rem;min-height:44px}
 .layout-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 .layout-choices>button{flex-direction:row;min-height:54px;padding:12px;font-size:.875rem;text-align:left}
 .field{margin-bottom:24px}.field>label{font-size:.875rem}
 .custom-panel input[type=range]{min-height:32px}
 .extended-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.palette-swatch{height:43px}
 .canvas-tools>button>span{display:block;font-size:.75rem;line-height:1.1}
 .canvas-tools>button{flex-direction:column;gap:5px;width:47px;min-height:54px;padding:6px 2px}
 .canvas-tools svg{width:19px;height:19px}.canvas-history>button{width:37px;min-height:37px}
 .design-toolbar{gap:6px;padding:6px 9px 9px}.canvas-tools{gap:1px}
 #designWorkspace{margin-bottom:91px;min-height:565px}
 .canvas-options{padding-inline:14px}.canvas-options button{min-height:40px}.canvas-options label{font-size:.875rem}
 #designCanvas{height:320px;min-height:320px;flex-basis:320px}
 .brush-toolbar>label{font-size:.875rem}.brush-toolbar input[type=number]{font-size:1rem;min-height:40px}
 .outline-toolbar>summary{font-size:.875rem}.outline-toolbar button{min-height:40px;font-size:.875rem}
 .preview-inspector{background:#2e3037;border-color:#2e3037;color:#fff;min-height:46px}
 .studio-bottom{padding:14px 16px;border-top:1px solid #e0e1e6}.studio-bottom>span{margin-bottom:10px}
 .studio-bottom>span>b{font-size:.75rem}.export-actions button{min-height:43px}
 .design-note{font-size:.75rem}
}
@media(max-width:360px){
 .view-controls>select{width:111px;max-width:111px;font-size:.875rem}.view-controls>button{width:36px;height:39px}
 .view-controls{max-width:calc(100% - 16px);gap:2px}.view-controls>span:not(.zoom-readout){margin-inline:2px}
 .canvas-tools>button{width:43px;min-width:43px}.canvas-tools>button>span{font-size:.75rem}
 .custom-panel{padding-inline:16px}
}

/* Printer inspection: compact controls, a quiet surface and room for the plate. */
.stage{container-type:inline-size;container-name:studio-preview}
.printer-tools{position:relative;z-index:5;display:flex;flex-shrink:0;justify-content:center;align-items:center;gap:14px;padding:3px 14px 12px}
.printer-focus{display:flex;flex-shrink:0;padding:3px;border:1px solid #d3d5d9;border-radius:6px;background:#e9eaec}
.printer-focus>button{min-height:36px;padding:7px 12px;border:0;border-radius:3px;background:transparent;color:#656974;font-size:.875rem;white-space:nowrap}
.printer-focus>button[aria-pressed=true]{background:#292c31;color:#fff;box-shadow:0 1px 2px #17191d18}
.printer-focus>button:hover:not([aria-pressed=true]){background:#dedfe3;color:#252830}
.printer-options{display:flex;justify-content:center;gap:6px}
.printer-options>button{min-height:38px;padding:7px 11px;border:1px solid #d0d3d9;border-radius:4px;background:transparent;color:#515762;font-size:.875rem;white-space:nowrap}
.printer-options>button:hover{border-color:#999faa;background:#fff}
.printer-options>button[aria-pressed=true]{background:#fff0e6;border-color:#cf8e65;color:#7c3d15}
.printer-caption{position:absolute;bottom:127px;left:18px;right:18px;z-index:2;margin:0;text-align:center;font-size:.75rem;line-height:1.5;color:#787d87;pointer-events:none}
.stage[data-view=printer] #canvasHost{position:relative;inset:auto;flex:1;min-height:220px;margin-bottom:153px}
.stage[data-view=printer] .stage-floor-label{bottom:99px}
@container studio-preview (max-width:500px){
 .printer-tools{padding:3px 12px 10px;flex-direction:column;gap:7px}
 .printer-focus{width:min(100%,340px)}
 .printer-focus>button{flex:1;min-height:40px;padding:8px 9px}
 .printer-options>button{min-height:38px;padding:6px 11px;font-size:.875rem}
 .printer-caption{bottom:124px;font-size:.75rem;left:15px;right:15px}
}
@media(max-width:760px){
 .stage[data-view=printer]{height:620px}
 .stage[data-view=printer] .stage-floor-label{bottom:96px}
 .printer-caption{max-width:350px;margin-inline:auto}
}
@media(pointer:coarse){.printer-focus>button,.printer-options>button{min-height:44px}}
