@font-face{font-family:"PrintedLife Text";src:url("./vendor/printedlife-text.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"PrintedLife Display";src:url("./vendor/printedlife-display.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{font-family:"PrintedLife Text",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202020;background:#f5f3ee;font-size:16px;--accent:#bd8e62;--accent-strong:#8b6749;--ink:#202020;--paper:#f5f3ee;--surface:#f8f6f1;--taupe:#988475;--plot-grid:#dedbd4;--guide:#8b6749;--line:#c0bebb;--muted:#6b6a68}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.45}button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8b6749;outline-offset:3px}header{height:78px;background:#202020;color:#f5f3ee;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid #202020}.brand{display:flex;align-items:center;gap:16px;font-size:18px;letter-spacing:-.4px}.brand strong{font-weight:500}.mark{border:1px solid #6b6a68;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:13px;letter-spacing:1px}.brand-divider{color:#6b6a68;padding:0 12px}.header-right{display:flex;align-items:center;gap:26px}.unit{font-size:12px;color:#6b6a68;letter-spacing:1.4px}.primary{background:#202020;color:white;border:0;padding:13px 22px;border-radius:7px;font-size:15px;display:flex;align-items:center;gap:17px;font-weight:600}.primary:hover{background:#40403e}main{display:grid;grid-template-columns:362px minmax(0,1fr);min-height:calc(100vh - 78px)}aside{background:#f8f6f1;border-right:1px solid var(--line);padding:28px 25px;height:calc(100vh - 78px);overflow:auto}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.7px;color:#6b6a68}.panel-title h1{font-size:24px;font-weight:500;letter-spacing:-1px;margin:9px 0 25px}section{padding:20px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{font-size:12px;letter-spacing:1px;font-weight:500;color:#6b6a68;margin:0}h2 span{font-size:15px;font-weight:600;color:#202020;letter-spacing:-.2px;margin-left:10px}.text-button{border:0;background:transparent;color:#6b6a68;font-size:13px;padding:4px}.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.preset{display:flex;flex-direction:column;align-items:center;gap:5px;background:#f8f6f1;border:1px solid #c0bebb;border-radius:6px;padding:10px 0;font-size:12px;color:#6b6a68;white-space:nowrap}.preset-curve{font-family:Georgia,serif;font-size:29px;line-height:33px;font-weight:400}.preset.active{border-color:#8b6749;background:#eae8e4;color:#202020}.small-tag{font-size:12px;background:#eae8e4;color:#6b6a68;padding:3px 6px;border-radius:3px}.control{margin-bottom:17px}.control-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;gap:10px}.control-label label{font-size:14px;color:#6b6a68}.number-wrap{display:flex;align-items:center;border:1px solid #c0bebb;border-radius:5px;overflow:hidden}.number-wrap input{width:68px;font-size:14px;padding:5px 3px 5px 8px;border:0;background:#f8f6f1;color:#202020;text-align:right}.number-wrap span{font-size:12px;color:#6b6a68;background:#f8f6f1;padding:5px 6px}input[type=range]{width:100%;height:4px;margin:3px 0 0;accent-color:var(--accent-strong);cursor:pointer}.note{font-size:12px;line-height:1.7;color:#6b6a68;margin:9px 0 0}.select-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 12px}.select-row label{font-size:14px;color:#6b6a68}select{max-width:185px;border:1px solid #c0bebb;border-radius:5px;padding:7px;font-size:12px;background:#f8f6f1;color:#202020}textarea{width:100%;border:1px solid #c0bebb;border-radius:6px;background:#f8f6f1;resize:vertical;min-height:90px;padding:12px;color:#202020;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}details{margin-top:10px;font-size:12px;color:#6b6a68;line-height:1.7}summary{cursor:pointer;color:#8b6749;font-size:13px}code{font-size:12px;color:#202020;overflow-wrap:anywhere}.equation-error{font-size:13px;color:#994c3e;line-height:1.5;margin-top:7px}.base-note{display:flex;gap:12px;padding-bottom:0}.base-icon{background:#eae8e4;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:6px;color:#6b6a68}h3{margin:0 0 5px;font-size:14px;font-weight:600}.base-note p{font-size:12px;color:#6b6a68;margin:0;line-height:1.7}.workspace{position:relative;display:flex;flex-direction:column;height:calc(100vh - 78px);min-height:650px;padding:28px 34px 18px;background:radial-gradient(ellipse at 50% 34%,#f8f6f1,#eae8e4 80%)}.viewport-top{display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:2}.viewport-top .eyebrow{font-size:11px}#model-name{font-size:21px;font-weight:500;margin-top:7px;letter-spacing:-.7px}.slash{color:#6b6a68;padding:0 7px}.preview-label{font:11px ui-monospace,monospace;letter-spacing:1px;color:#6b6a68;padding-top:4px}#viewport{position:relative;flex:1;min-height:360px;margin-top:-25px;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.loading{position:absolute;inset:0;display:flex;gap:13px;align-items:center;justify-content:center;color:#6b6a68;background:#f5f3eeaa;font-size:14px;pointer-events:none}.loading.hidden{display:none}.spinner{width:18px;height:18px;border:2px solid #c0bebb;border-top-color:#8b6749;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dimension-badge{position:absolute;right:8%;top:45%;font:12px ui-monospace,monospace;color:#6b6a68;border-left:1px solid #c0bebb;padding:14px 0 14px 12px;pointer-events:none}.orbit-hint{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;color:#6b6a68;pointer-events:none}.orbit-hint span{margin:0 7px;color:#6b6a68}.view-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0 20px;gap:15px}.view-buttons{display:flex;background:#eae8e480;padding:4px;border-radius:7px;gap:3px}.view{border:0;background:transparent;border-radius:5px;padding:8px 12px;color:#6b6a68;font-size:13px}.view.active{background:white;color:#202020;box-shadow:0 1px 3px #2020201a}.toggles{display:flex;gap:20px;font-size:13px;color:#6b6a68}.toggles label{display:flex;align-items:center;gap:5px;cursor:pointer}.toggles input{accent-color:#202020}.stats{background:#f8f6f1cc;border:1px solid #c0bebb;border-radius:8px;display:grid;grid-template-columns:repeat(2,1fr);padding:19px 0;box-shadow:0 6px 24px #20202004}.stats>div{padding:0 24px;border-right:1px solid #c0bebb}.stats>div:last-child{border:0}.stats span{display:block;color:#6b6a68;font-size:10px;letter-spacing:1.3px;font-weight:600}.stats strong{display:block;font-size:19px;color:#202020;font-weight:500;margin-top:8px;font-variant-numeric:tabular-nums}.stats .check{font-size:14px;color:#59624c;margin-top:11px}footer{display:flex;justify-content:space-between;gap:20px;padding:18px 0 0;font-size:11px;color:#6b6a68}footer>span:last-child{font-size:10px;letter-spacing:1.2px;white-space:nowrap}.print-note{font-size:11px;color:#6b6a68;line-height:1.6;margin-top:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#202020;color:#f8f6f1;box-shadow:0 8px 25px #0003;border-radius:7px;font-size:14px;display:none;z-index:20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1600px){main{grid-template-columns:390px 1fr}.workspace{padding:35px 55px 24px}aside{padding:35px 30px}}@media(max-width:1000px){main{grid-template-columns:315px minmax(0,1fr)}aside{padding:24px 20px}.workspace{padding:24px 20px 18px}.stats>div{padding:0 12px}.stats strong{font-size:16px}.view-toolbar{flex-wrap:wrap}.unit{display:none}.dimension-badge{right:0}}@media(max-width:720px){header{height:68px;padding:0 16px}.brand{font-size:15px;gap:9px}.mark{display:none}.brand-divider{padding:0 6px}.primary{padding:11px 13px;font-size:13px;gap:9px}main{display:flex;flex-direction:column}.workspace{order:0;height:620px;min-height:620px;padding:20px 16px 15px}aside{order:1;height:auto;padding:25px 22px;border-right:0;border-top:1px solid var(--line)}#viewport{min-height:300px}.stats>div{padding:0 9px}.stats span{font-size:9px;letter-spacing:.7px}.stats strong{font-size:15px}.stats .check{font-size:12px}.view-toolbar{padding:4px 0 16px;gap:10px}.view{font-size:12px;padding:7px 9px}.toggles{gap:9px;font-size:12px}.orbit-hint{font-size:10px}.dimension-badge{font-size:10px}.panel-title h1{font-size:25px}footer>span:last-child{display:none}.print-note{font-size:10px}.presets{gap:10px}.preset{font-size:13px}}

[hidden]{display:none!important}.contour-modes{display:flex;padding:3px;background:#eae8e4;border-radius:5px}.contour-modes button{background:transparent;border:0;border-radius:4px;padding:5px 8px;color:#6b6a68;font-size:12px}.contour-modes button.active{background:white;color:#8b6749;box-shadow:0 1px 3px #0001}#contour-plot{display:block;width:100%;background:#f8f6f1;border:1px solid #c0bebb;border-radius:7px;touch-action:none;user-select:none}#contour-plot g{cursor:grab;outline:none}#contour-plot g:active{cursor:grabbing}#contour-plot g:focus-visible circle:last-child{stroke:#202020;stroke-width:3}.axis-label{font:12px "PrintedLife Text",ui-sans-serif,system-ui;fill:#6b6a68}.axis-title{font:12px "PrintedLife Text",ui-sans-serif,system-ui;fill:#6b6a68}.curve-actions{display:flex;gap:6px;margin:10px 0 14px}.curve-actions button{background:#f8f6f1;border:1px solid #c0bebb;border-radius:4px;padding:7px 8px;color:#6b6a68;font-size:12px;flex:1;white-space:nowrap}.point-title{font-size:12px;color:#8b6749;font-weight:600;margin:8px 0}.point-fields{display:flex;gap:12px}.point-fields label{flex:1;font-size:12px;color:#6b6a68}.point-fields input{display:block;width:100%;margin-top:5px;border:1px solid #c0bebb;border-radius:4px;background:#f8f6f1;padding:7px 8px;font-size:14px;color:#202020}.point-fields input:disabled{opacity:.6}

.control.inactive{opacity:.45}.control.inactive input{cursor:not-allowed}.control.inactive input[type=range]{filter:grayscale(1)}

.header-right{gap:12px}.random-design{background:transparent;color:#f5f3ee;border:1px solid #6b6a68;border-radius:7px;padding:12px 16px;font-size:14px;font-weight:600;white-space:nowrap}.random-design:hover{background:#202020}@media(max-width:720px){header{height:auto;min-height:68px;flex-wrap:wrap;gap:12px;padding:14px 16px}.header-right{width:100%;justify-content:flex-end;gap:8px}.random-design{font-size:13px;padding:11px 13px}}

.point-angle{color:#6b6a68;margin:0 0 12px;font-variant-numeric:tabular-nums}

/* Printed Life brand colours, taken from printedlife.store's published theme. */
header{background:var(--paper);color:var(--ink);border-bottom-color:#c0bebb}
.brand,.brand strong{color:var(--ink)}.mark{border-color:var(--taupe);color:var(--ink)}
.primary{background:var(--ink);color:var(--paper);border-radius:3px}.primary:hover{background:#40403e}
.random-design{color:var(--ink);border-color:var(--ink);border-radius:3px}.random-design:hover{background:#eae8e4}
.panel-title h1,#model-name,h2 span{font-family:"PrintedLife Display","PrintedLife Text",sans-serif}
.panel-title h1{font-weight:600;letter-spacing:-.7px}.panel-title .eyebrow,.unit{color:var(--muted)}
#contour-plot{background:var(--surface);border-color:#d8d4cc;border-radius:4px}
.axis-label{fill:var(--muted)}.axis-title{fill:var(--ink)}
.point-title{color:var(--ink)}.point-angle{color:var(--muted)}
.curve-actions button:hover{border-color:var(--taupe);background:#eae8e4}
.point-fields input,.number-wrap,select{border-color:var(--taupe)}
.text-button{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.stats{border-radius:4px;box-shadow:none}.stats strong{color:var(--ink)}
#toast{background:var(--ink);color:var(--paper)}

.offer-card h2{font-size:30px;letter-spacing:-1px;margin:14px 0;display:block}.offer-card h2 span{font-size:13px;letter-spacing:0;color:var(--muted)}.offer-card p{font-size:14px;line-height:1.6}.offer-card .note{font-size:12px}dialog{border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:25px;width:min(530px,92vw);max-height:92vh;overflow:auto}dialog::backdrop{background:#20202080}dialog h2{font-size:25px;margin:18px 0}dialog img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px}dialog p{font-size:14px;line-height:1.5}.order-price{font-size:29px!important;margin-bottom:0}.order-actions{display:flex;gap:12px;flex-wrap:wrap}.order-actions button,.order-actions a{padding:12px;border-radius:6px}.order-actions a{color:white;text-decoration:none;display:block}#checkout-link[hidden]{display:none}#order-message{min-height:2em}header{height:auto;min-height:78px;padding-top:12px;padding-bottom:12px}.header-right{gap:10px;flex-wrap:wrap;justify-content:flex-end}.unit{display:none}@media(max-width:800px){header{align-items:flex-start;gap:14px;flex-direction:column}.header-right{justify-content:flex-start;width:100%}.header-right button{font-size:12px;padding:10px}main{min-height:calc(100vh - 130px)}}

button[hidden]{display:none!important}

.select-row[hidden]{display:none!important}

.point-fields input[readonly]{background:var(--paper);color:var(--muted)}

.tangent-controls{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.tangent-controls label:not(.auto-tangent){display:flex;justify-content:space-between;font-size:12px;margin-top:14px}.tangent-controls input[type=range]{width:100%;accent-color:var(--accent-strong);margin-top:8px}.auto-tangent{display:flex;align-items:center;gap:9px;font-size:12px}.auto-tangent input{accent-color:var(--accent-strong)}[data-tangent]{cursor:grab}[data-tangent]:focus{outline:none}[data-tangent]:focus circle{stroke:var(--ink);stroke-width:3}

.contour-preset{margin:0 0 20px}.contour-preset>label{display:block;font-size:13px;margin-bottom:9px}.contour-preset select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);padding:9px;font:inherit}.contour-preset .note{margin-top:8px}

.contour-preset .preset-label{font-size:13px;margin:0 0 10px}.preset-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.preset-buttons button{padding:10px 3px;min-height:44px;font-size:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.preset-buttons button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.preset-buttons button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}

/* Preview gutter and native vertical touch scrolling. */
.workspace{background:radial-gradient(ellipse at 50% 34%,#f8f6f1,#eae8e4 80%)}
#canvas{touch-action:pan-y!important}
@media(max-width:720px){.workspace{height:60dvh!important;min-height:380px!important;max-height:560px;padding:20px 24px 14px!important}#viewport{min-height:230px!important;margin:0 10px}.orbit-hint{font-size:10px}.stats{padding:12px 0}}

@media(max-width:720px){#viewport{border:1px solid #aaa59c;border-radius:6px;overflow:hidden}.orbit-hint{padding:0 8px}}

.admin-panel{max-width:680px;margin:50px auto;padding:30px}.admin-panel input{display:block;width:100%;padding:12px;margin-top:8px;box-sizing:border-box}.admin-panel button{margin:10px 10px 10px 0}#share-dialog{max-width:460px;width:calc(100% - 40px);padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}#share-dialog img{width:100%;height:auto;border-radius:8px}#share-link{width:100%;box-sizing:border-box;padding:12px;margin:8px 0 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}#share-dialog .order-actions{display:flex;flex-wrap:wrap;gap:10px}#share-dialog::backdrop{background:#0007}

/* Consistent action sizing; related controls share equal columns. */
.header-right{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(690px,100%)}
.header-right button,.order-actions button,.order-actions a,.curve-actions button,.preset-buttons button{box-sizing:border-box;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;border-radius:7px;margin:0;text-decoration:none}
.header-right button{width:100%;padding:10px 14px;font-size:14px;gap:8px}
#share-design{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600}
.curve-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.curve-actions button{width:100%;padding:8px 4px;font-size:12px}
.preset-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.preset-buttons button{width:100%;padding:8px 3px;font-size:12px}
.order-actions,#share-dialog .order-actions{display:grid;grid-template-columns:1fr;gap:10px}
.order-actions button,.order-actions a{width:100%;padding:11px 16px;font-size:14px}
.order-actions button:not(.primary),.order-actions a:not(.primary){border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.header-right [hidden],.order-actions [hidden]{display:none!important}
#texture-shape-note{line-height:1.55;margin-top:12px}
@media(max-width:1100px){header{flex-wrap:wrap;gap:16px}.header-right{width:100%;max-width:none}.brand{flex-shrink:0}}
@media(max-width:560px){.header-right{grid-template-columns:1fr}.header-right button{min-height:46px;font-size:14px}}
/* Let the lamp use the space previously taken by preview labels and tall stats. */
.workspace .viewport-top{display:none}
#viewport{margin-top:0}
.workspace .stats{padding:8px 0;min-height:40px;flex-shrink:0}
.workspace .stats>div{display:flex;align-items:baseline;gap:10px;padding:0 18px}
.workspace .stats span{display:inline;font-size:10px;line-height:1.3}
.workspace .stats strong{display:inline;font-size:15px;line-height:1.3;margin:0;white-space:nowrap}
@media(max-width:560px){.workspace .stats>div{padding:0 10px;gap:7px}.workspace .stats span{font-size:9px}.workspace .stats strong{font-size:14px}}

/* Prominent order preparation notice. */
#order-message{background:#111;color:#fff;padding:18px 20px;border-radius:8px;font-size:16px;line-height:1.5;font-weight:600;text-align:center;margin:18px 0;}
#order-message:empty{display:none;}

/* Keep the order preview, price and preparation notice visible together. */
#order-dialog{width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;}
#order-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px 22px;align-items:center;}
#order-dialog #close-order{grid-column:1/-1;justify-self:start;min-height:32px;}
#order-dialog h2{grid-column:1/-1;font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:0 0 4px;color:var(--ink);}
#order-dialog .order-preview,#order-dialog .order-details{min-width:0;}
#order-dialog #order-image{width:100%;height:min(32dvh,260px);aspect-ratio:auto;object-fit:contain;}
#order-dialog #order-summary{font-size:12px;line-height:1.4;margin:8px 0 0;text-align:center;}
#order-dialog p{margin:8px 0;font-size:13px;line-height:1.45;}
#order-dialog .order-price{font-size:28px!important;margin:0 0 8px;}
#order-dialog #order-review{font-size:12px;}
#order-dialog #order-message{font-size:14px;padding:14px;margin:12px 0 0;min-height:0;}
#order-dialog .order-actions{margin-top:10px;}
#order-dialog .order-actions:not(:has(:not([hidden]))){display:none;}
@media(max-width:560px){
 #order-dialog{padding:16px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);}
 #order-dialog[open]{grid-template-columns:1fr;gap:8px;}
 #order-dialog h2{font-size:19px;}
 #order-dialog #order-image{height:min(24dvh,170px);}
 #order-dialog #order-summary{margin:4px 0;font-size:11px;}
 #order-dialog .order-price{font-size:25px!important;}
 #order-dialog #order-message{margin-top:8px;padding:12px;font-size:13px;}
}
@media(max-height:500px) and (min-width:561px){
 #order-dialog{padding:12px 18px;}
 #order-dialog[open]{gap:6px 18px;}
 #order-dialog h2{font-size:19px;}
 #order-dialog #order-image{height:38dvh;}
 #order-dialog #order-message{padding:10px;margin-top:8px;}
}

.admin-page main{display:block;min-height:100dvh}.admin-page .admin-panel{margin:0 auto;padding:32px 20px;overflow-wrap:anywhere}

/* Phone block and desktop introduction run before importing the 3D engine. */
.lab-entry-blocked body{overflow:hidden;}
.lab-entry-blocked body > :not(#entry-gate):not(script):not(noscript){display:none!important;}
#entry-gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#202020b8;overflow:auto;}
#entry-gate[hidden],#entry-gate [hidden]{display:none!important;}
.entry-card{width:min(680px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 32px;box-shadow:0 16px 70px #0003;}
.entry-card h1{font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.6px;margin:12px 0;}
.entry-card p,.entry-card li{font-size:14px;line-height:1.5;}
.entry-card ul{padding-left:20px;margin:16px 0 22px;}
.entry-card li{margin:10px 0;}
.entry-card strong{font-weight:600;}
#start-designer{width:100%;min-height:46px;justify-content:center;}
#entry-error:empty{display:none;}
#reload-designer{min-height:44px;padding:10px 20px;}
#designer-help{min-height:32px;text-decoration:underline;}
@media(max-width:600px){#entry-gate{padding:18px;}.entry-card{padding:26px 22px;}.entry-card h1{font-size:24px;}.entry-card .eyebrow{font-size:10px;}}

/* Original supplied wordmark, followed by / Lamp Lab. */
.brand{gap:14px;white-space:nowrap;align-items:center;}
.brand-logo{display:block;width:170px;height:auto;flex-shrink:0;}
.brand .brand-divider{padding:0;color:var(--muted);font-size:23px;}
.brand>strong{font-size:20px;letter-spacing:-.4px;font-weight:500;}

/* Editing stays available on phones; optional computer handoff uses WhatsApp. */
.header-right{grid-template-columns:repeat(4,minmax(0,1fr));width:min(850px,100%);}
#continue-pc{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;}
@media(max-width:1100px){.header-right{width:100%;}}
@media(max-width:560px){.header-right{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.header-right button{font-size:12px;padding:9px 7px;}header{gap:12px;}.brand-logo{width:150px;}.brand>strong{font-size:18px;}}

/* One share / computer handoff action. */
.header-right{grid-template-columns:repeat(3,minmax(0,1fr));width:min(760px,100%);}
@media(max-width:1100px){.header-right{width:100%;}}
@media(max-width:560px){.header-right{grid-template-columns:repeat(2,minmax(0,1fr));}#share-design{grid-column:1/-1;grid-row:1;}#random-design{grid-column:1;grid-row:2;}#order-design{grid-column:2;grid-row:2;}}

/* Matching responsive order/share cards, with portrait stacking. */
#share-dialog{width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;overflow:auto;}
#share-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px 22px;align-items:center;}
#share-dialog #close-share{grid-column:1/-1;justify-self:start;min-height:32px;}
#share-dialog h2{grid-column:1/-1;font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:0 0 4px;color:var(--ink);}
#share-dialog .share-preview,#share-dialog .share-details{min-width:0;}
#share-dialog #share-image{width:100%;height:min(32dvh,260px);aspect-ratio:auto;object-fit:contain;}
#share-dialog #share-message{font-size:13px;line-height:1.45;margin:0 0 10px;overflow-wrap:anywhere;}
#share-dialog label{font-size:12px;}
#share-dialog #share-link{min-width:0;width:100%;margin:6px 0 12px;font-size:12px;padding:9px;}
#share-dialog .order-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
#share-dialog .order-actions>*{min-width:0;min-height:42px;font-size:12px;padding:8px;}
#share-dialog .note{font-size:11px;line-height:1.45;margin-top:9px;}
#share-retention{font-weight:600;}
@media(max-width:700px),(orientation:portrait) and (max-width:900px){
 #order-dialog,#share-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;}
 #order-dialog[open],#share-dialog[open]{grid-template-columns:minmax(0,1fr);gap:8px;}
 #order-dialog h2,#share-dialog h2{font-size:19px;}
 #order-dialog #order-image,#share-dialog #share-image{height:min(20dvh,150px);}
 #share-dialog #share-message{margin-bottom:6px;}
 #share-dialog #share-link{margin-bottom:8px;}
 #share-dialog .order-actions>*{min-height:42px;}
}
@media(max-height:500px) and (min-width:701px){#share-dialog{padding:12px 18px;}#share-dialog[open]{gap:6px 18px;}#share-dialog h2{font-size:19px;}#share-dialog #share-image{height:38dvh;}}

/* Rounded outer frame; only the guide body scrolls. Controls stay visible. */
.entry-card{display:flex;flex-direction:column;padding:0;border-radius:14px;overflow:hidden;}
.entry-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px 4px;flex-shrink:0;}
.entry-top .eyebrow{font-size:10px;}
#close-entry{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:0;background:transparent;color:var(--ink);font:30px/1 system-ui;cursor:pointer;border-radius:6px;}
#close-entry:hover{background:#eae8e4;}
.entry-scroll{min-height:0;overflow:auto;padding:0 28px 8px;overscroll-behavior:contain;}
.entry-footer{padding:12px 28px 20px;flex-shrink:0;border-top:1px solid var(--line);background:var(--surface);}
.entry-card .entry-recommendation{padding:10px 12px;background:#eae8e4;border-radius:6px;font-size:13px;}
#designer-help{position:absolute;right:24px;top:14px;z-index:4;min-height:40px;padding:9px 16px;border:1px solid var(--line);background:var(--surface);border-radius:7px;color:var(--ink);font-size:13px;text-decoration:none;}
@media(max-width:600px){.entry-card{padding:0;}.entry-top{padding:10px 14px 2px;}.entry-scroll{padding:0 20px 8px;}.entry-footer{padding:12px 20px 16px;}#designer-help{right:16px;top:10px;}}

.brand-home,.brand-lab{color:inherit;text-decoration:none;display:inline-flex;align-items:center;}.brand-lab{font-size:20px;letter-spacing:-.4px;font-weight:500;}.brand a:focus-visible{outline:2px solid var(--accent-strong);outline-offset:5px;}@media(max-width:560px){.brand-lab{font-size:18px;}}

.curve-parameters{margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;}.curve-parameters>summary{cursor:pointer;font-size:13px;font-weight:500;min-height:24px;line-height:24px;}.curve-parameters>summary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px;}.curve-parameters .tangent-controls{border-top:0;margin-top:0;padding-top:4px;}

/* Primary discovery action and quiet checkout action. */
#random-design{background:#000;color:#fff;border-color:#000}
#random-design:hover{background:#202020;color:#fff}
#order-design{background:var(--paper);color:#000;border:1px solid #000}
#order-design:hover{background:var(--paper);color:#000}

.glow-tweaks{border-top:1px solid var(--line);margin-top:16px}.glow-tweaks>summary{cursor:pointer;padding:16px 0;font-weight:600;color:var(--ink)}.glow-tweaks-body{padding-bottom:12px}.glow-random-pattern{width:100%;min-height:46px;background:#000;color:#fff;border:1px solid #000;border-radius:7px;font:inherit;font-weight:600;cursor:pointer}.glow-random-pattern:hover{background:#202020}#contour-editor [hidden]{display:none!important}

/* Two primary header actions, with sharing beside Help in the preview. */
.header-right{grid-template-columns:repeat(2,minmax(0,1fr));width:min(500px,100%)}
.preview-actions{position:absolute;right:24px;top:14px;z-index:4;display:flex;gap:8px;align-items:center;max-width:calc(100% - 32px)}
.preview-actions #designer-help{position:static;min-height:40px}
.preview-actions #share-design{min-height:40px;padding:9px 16px;border-radius:7px;font-size:13px;grid-column:auto;grid-row:auto;white-space:nowrap}
.section-heading h2 span{font-size:20px;line-height:1.3}
.combined-tweaks>.glow-tweaks{margin:0;border:0}.combined-tweaks summary{display:flex;align-items:center;gap:12px;font-size:20px;line-height:1.3;list-style:none}
.combined-tweaks summary::before{content:'▸';font-size:15px}.combined-tweaks details[open]>summary::before{content:'▾'}
.combined-tweaks summary::-webkit-details-marker{display:none}.step-number{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:1px}
.glow-tweaks-body h3{font-size:17px;font-weight:600;margin:18px 0 16px}.glow-tweaks-body h3:not(:first-child){border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
#glow-tweaks [hidden]{display:none!important}
@media(max-width:560px){.header-right{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}#random-design,#order-design{grid-row:auto;grid-column:auto}.preview-actions{right:16px;top:10px}.preview-actions #share-design,.preview-actions #designer-help{font-size:12px;padding:9px 12px}}

/* Consistent customer button finish across designer, sharing and Help. */
.header-right button,#random-pattern,.preset-buttons button,.preview-actions button,.curve-actions button,.order-actions button,.order-actions a,#share-dialog button,.entry-card button{background:var(--paper);color:#000;border:1px solid #000;border-radius:7px;min-height:46px}
.header-right button:hover,#random-pattern:hover,.preset-buttons button:hover,.preview-actions button:hover,.curve-actions button:hover,.order-actions button:hover,.order-actions a:hover,#share-dialog button:hover,.entry-card button:hover{background:#eae8e4;color:#000}
.preset-buttons button[aria-pressed="true"]{background:var(--paper);color:#000;border-color:#000;box-shadow:inset 0 0 0 1px #000}
.preview-actions #designer-help,.preview-actions #share-design{min-height:46px}
#random-design,#order-design,#random-pattern,#share-design,#designer-help{background:var(--paper);color:#000;border:1px solid #000;border-radius:7px}
#random-design:hover,#order-design:hover,#random-pattern:hover,#share-design:hover,#designer-help:hover{background:#eae8e4;color:#000}

#random-design{background:#000;color:var(--paper);border-color:#000}
#random-design:hover{background:#202020;color:var(--paper)}

#preview-light{min-height:46px;padding:9px 14px;border:1px solid #000;border-radius:7px;background:var(--paper);color:#000;font-size:13px;white-space:nowrap}#preview-light:hover{background:#eae8e4}@media(max-width:560px){.preview-actions{gap:6px}#preview-light{padding:9px 10px;font-size:12px}}

/* Preview corner actions. */
.preview-actions{position:static;display:contents}
.preview-actions #preview-light{position:absolute;left:24px;right:auto;top:14px;bottom:auto;z-index:4;background:#fff;color:#000;border:1px solid #000}
.preview-actions #preview-light[aria-pressed="false"]{background:#000;color:#fff}
.preview-actions #preview-light[aria-pressed="true"]{background:#fff;color:#000}
.preview-actions #share-design{position:absolute;right:24px;left:auto;top:14px;bottom:auto;z-index:4}
.preview-actions #designer-help{position:absolute;right:24px;left:auto;top:auto;bottom:14px;z-index:4}
@media(max-width:560px){.preview-actions #preview-light{left:16px;top:10px}.preview-actions #share-design{right:16px;top:10px}.preview-actions #designer-help{right:16px;bottom:10px}}

.preview-help-row{display:flex;justify-content:flex-end;flex-shrink:0;padding:8px 0;position:relative}.preview-help-row #designer-help{position:static;inset:auto;min-height:40px;padding:9px 16px;margin:0;border:1px solid #000;border-radius:7px;background:var(--paper);color:#000}.preview-help-row #designer-help:hover{background:#eae8e4}

/* Dark, distraction-free illuminated preview; the page keeps its base theme. */
html.lamp-lit #viewport{background:#24231f;border-radius:7px}
html.lamp-lit #viewport .orbit-hint,html.lamp-lit #viewport .dimension-badge{display:none}

.preview-light-row{display:flex;align-items:center;justify-content:flex-start;min-height:46px;margin-bottom:10px;flex-shrink:0}
.preview-light-row #preview-light{position:static;min-height:40px;padding:9px 14px;border:1px solid #000;border-radius:7px;background:#fff;color:#000;font-size:13px}
.preview-light-row #preview-light[aria-pressed="false"]{background:#000;color:#fff}

/* One aligned toolbar in normal view; uninterrupted black stage when lit. */
.preview-actions{display:flex;position:relative;inset:auto;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;min-height:46px;margin-bottom:10px}
.preview-actions #preview-light,.preview-actions #share-design{position:static;inset:auto;min-height:46px;margin:0}
/* Preserve all layout boxes so lighting never changes framing or control position. */
html.lamp-lit .workspace{background:#000!important}
html.lamp-lit .workspace>:not(#viewport){visibility:hidden!important}
html.lamp-lit .preview-actions #preview-light{visibility:visible!important}
html.lamp-lit #viewport{background:#000!important;border-radius:0!important}
html.lamp-lit #viewport .dimension-badge,html.lamp-lit #viewport .orbit-hint{visibility:hidden!important}
.preview-actions #preview-light,.preview-actions #preview-light[aria-pressed="true"],.preview-actions #preview-light[aria-pressed="false"]{background:#fff;color:#000;border:1px solid #000;min-width:96px}

/* Compact mobile preview controls with a single, aligned toolbar. */
@media(max-width:720px){
 .workspace{height:auto!important;min-height:0!important;padding:10px 12px 12px;position:relative}
 .preview-actions{position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;max-width:none;width:100%;min-height:36px;margin:0 0 8px;padding-right:48px;gap:8px}
 .preview-actions #preview-light,.preview-actions #share-design{position:static;inset:auto;min-height:36px;height:36px;margin:0;padding:6px 9px;font-size:11px;line-height:1.2;border-radius:6px;min-width:0;white-space:nowrap}
 .preview-actions #preview-light{flex:0 0 72px}
 .preview-actions #share-design{flex:0 1 auto;max-width:calc(100% - 80px)}
 .preview-help-row{position:absolute;top:10px;right:12px;padding:0;margin:0;z-index:4;height:36px}
 .preview-help-row #designer-help{min-height:36px;height:36px;padding:6px 8px;font-size:11px;line-height:1.2;border-radius:6px}
 #viewport{flex:none;height:clamp(300px,46svh,420px);min-height:300px;max-height:420px;margin:0}
 #viewport .orbit-hint,#viewport .dimension-badge{display:none}
 .workspace .stats{padding:6px 0;min-height:32px;margin-top:8px}
 .workspace .stats>div{padding:0 8px;gap:6px}
 .workspace .stats span{font-size:9px}.workspace .stats strong{font-size:12px}
 .workspace footer{display:none}
 html.lamp-lit .workspace{padding:10px 12px 12px!important}
}
/* Mobile actions are grid items in the same physical row, without absolute offsets. */
@media(max-width:720px){
 .workspace{display:grid!important;grid-template-columns:72px minmax(0,1fr) 44px;grid-template-rows:36px auto auto;column-gap:8px;row-gap:8px;align-content:start;align-items:center}
 .workspace .preview-actions,.workspace .preview-help-row{display:contents!important;position:static!important;margin:0!important;padding:0!important}
 .workspace .preview-actions #preview-light,.workspace .preview-actions #share-design,.workspace .preview-help-row #designer-help{position:static!important;inset:auto!important;margin:0!important;transform:none!important;min-height:36px!important;height:36px!important;width:100%!important;max-width:none!important;min-width:0!important;padding:6px 7px!important;font-size:11px!important;line-height:1.2!important;align-self:center;box-sizing:border-box}
 .workspace .preview-actions #preview-light{grid-column:1;grid-row:1}
 .workspace .preview-actions #share-design{grid-column:2;grid-row:1}
 .workspace .preview-help-row #designer-help{grid-column:3;grid-row:1}
 .workspace #viewport{grid-column:1/-1;grid-row:2;width:100%;margin:0!important}
 .workspace .stats{grid-column:1/-1;grid-row:3;width:100%;margin:0!important}
 .workspace #equation-error{grid-column:1/-1}
 .workspace #equation-error:empty{display:none}
}
/* Align preview actions flush with the preview's right edge. */
.preview-actions{width:100%;max-width:none;justify-content:flex-end;padding-right:0;gap:8px}
.preview-help-row{width:100%;justify-content:flex-end;padding-right:0}
@media(max-width:720px){
 .workspace{grid-template-columns:minmax(0,1fr) 64px max-content 40px;column-gap:6px}
 .workspace .preview-actions #preview-light{grid-column:2;grid-row:1}
 .workspace .preview-actions #share-design{grid-column:3;grid-row:1}
 .workspace .preview-help-row #designer-help{grid-column:4;grid-row:1}
 .workspace .preview-actions #share-design{font-size:10px!important;padding:6px!important}
}
/* Share precedes Light; both use the page's base colour. */
.preview-actions #share-design{order:0}
.preview-actions #preview-light{order:1}
.preview-actions #preview-light,.preview-actions #preview-light[aria-pressed="true"],.preview-actions #preview-light[aria-pressed="false"]{background:var(--paper);color:#000}
@media(max-width:720px){
 .workspace{grid-template-columns:minmax(0,1fr) max-content 64px 40px}
 .workspace .preview-actions #share-design{grid-column:2;grid-row:1}
 .workspace .preview-actions #preview-light{grid-column:3;grid-row:1}
}
/* Mobile order: Share, Help, Light. Identical stage padding in both states. */
@media(max-width:720px){
 html .workspace,html.lamp-lit .workspace{padding:10px 12px 12px!important;grid-template-columns:minmax(0,1fr) max-content 40px 64px;grid-template-rows:36px auto auto;row-gap:8px;column-gap:6px;align-content:start}
 .workspace .preview-actions #share-design{grid-column:2;grid-row:1}
 .workspace .preview-help-row #designer-help{grid-column:3;grid-row:1}
 .workspace .preview-actions #preview-light{grid-column:4;grid-row:1;align-self:stretch}
 html .workspace .preview-actions #preview-light,html.lamp-lit .workspace .preview-actions #preview-light{height:36px!important;min-height:36px!important;margin:0!important;padding:6px 7px!important;border:1px solid #000;line-height:1.2!important}
}
@media(max-width:720px){
 .workspace #viewport .orbit-hint{display:block;visibility:visible;left:8px;right:8px;bottom:10px;padding:5px 7px;background:#f5f3eed9;border-radius:5px;font-size:0;text-align:center;line-height:1.4;pointer-events:none}
 .workspace #viewport .orbit-hint span{display:none}
 .workspace #viewport .orbit-hint::after{content:'Use two fingers to rotate · Pinch to zoom';font-size:10px;color:#56534d}
 html.lamp-lit .workspace #viewport .orbit-hint{display:none!important}
}
/* A single real overlay toolbar owns all mobile button placement. */
.workspace .preview-actions{position:absolute!important;top:12px;right:12px;left:auto;width:auto;max-width:calc(100% - 24px);min-height:0;margin:0;padding:0;z-index:5;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.workspace .preview-actions #share-design,.workspace .preview-actions #preview-light{position:static!important;margin:0}
@media(max-width:720px){
 html .workspace,html.lamp-lit .workspace{grid-template-rows:auto auto;position:relative}
 .workspace .preview-actions{display:flex!important;position:absolute!important;inset:18px 18px auto auto!important;width:calc(100% - 36px)!important;max-width:none!important;min-height:36px!important;height:36px!important;padding:0!important;margin:0!important;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:nowrap;pointer-events:none}
 .workspace .preview-actions #share-design,.workspace .preview-actions #designer-help,.workspace .preview-actions #preview-light{position:static!important;inset:auto!important;transform:none!important;grid-area:auto!important;flex:0 0 auto;width:auto!important;max-width:none!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:6px 8px!important;line-height:1.2!important;font-size:11px!important;box-sizing:border-box;white-space:nowrap;pointer-events:auto}
 .workspace .preview-actions #share-design{order:0;font-size:10px!important}
 .workspace .preview-actions #designer-help{order:1}
 .workspace .preview-actions #preview-light{order:2;width:64px!important}
 .workspace .preview-help-row{display:none!important}
 .workspace #viewport{grid-row:1}
 .workspace .stats{grid-row:2}
}

.contact-icons{display:flex;align-items:center;gap:12px;margin-top:16px}.contact-icons a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#000;text-decoration:none}.contact-icons svg{width:25px;height:25px}.contact-icons a:hover{opacity:.65}.contact-icons a:focus-visible{outline:2px solid #000;outline-offset:2px}

/* Discovery starts in the design panel, before the contour choices. */
aside>#random-design{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0 0 20px;padding:12px 16px;background:#000;color:var(--paper);border:1px solid #000;border-radius:7px;font-size:16px;font-weight:600}
.header-right{grid-template-columns:minmax(0,1fr);width:min(240px,100%)}
@media(max-width:720px){.header-right{width:100%;grid-template-columns:1fr}aside>#random-design{margin-bottom:16px}}

#close-order[hidden]{display:none!important}
/* Three design-panel groups: discover, personalise, information. */
aside>section{border-top:0;border-bottom:0}
aside>.panel-title{border-top:1px solid var(--line);padding-top:22px;margin-top:4px}
aside>.offer-card{border-top:1px solid var(--line);margin-top:12px;padding-top:24px}
aside .glow-tweaks,aside .glow-tweaks-body h3{border-top:0;border-bottom:0}

#viewport .dimension-badge{display:none!important}

#random-contour{width:100%;margin-bottom:10px;background:var(--paper);color:#000;border:1px solid #000;border-radius:7px;min-height:46px}#random-contour:hover{background:#eae8e4;color:#000}

/* A short, one-time invitation after the first completed preview. */
#random-design.attention-pulse{animation:glow-button-pulse 1.1s ease-in-out 4}
@keyframes glow-button-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,0);transform:scale(1)}50%{box-shadow:0 0 0 5px rgba(0,0,0,.16);transform:scale(1.015)}}
#random-design span[aria-hidden]{display:inline-block;margin-left:8px;font-size:1.2em}
.shipping-copy{line-height:1.7}.shipping-copy a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.workspace,#viewport{transition:background-color .8s ease}
@media(prefers-reduced-motion:reduce){#random-design.attention-pulse{animation:none}.workspace,#viewport{transition:none}}

/* Primary checkout action. */
.header-right #order-design,.header-right #order-design:hover,.header-right #order-design:focus-visible{background:#000!important;color:var(--paper,#f5f3ee)!important;border-color:#000!important}

/* One shared background plane and one animation clock for the whole preview. */
html .workspace,html.lamp-lit .workspace{background:radial-gradient(ellipse at 50% 34%,var(--preview-bg-centre,#f8f6f1),var(--preview-bg-edge,#eae8e4) 80%)!important;transition:none!important}
html .workspace #viewport,html.lamp-lit .workspace #viewport{background:transparent!important;transition:none!important;border-color:rgba(170,165,156,var(--preview-grid-border,1))!important}

@media(max-width:720px){
 html.mobile-checkout-relocated body>header>.header-right{display:none!important}
 aside>#order-design{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0 0 20px;padding:12px 16px;font-size:16px;font-weight:600;border:1px solid #000;border-radius:7px;background:#000!important;color:var(--paper,#f5f3ee)!important}
 aside>#order-design:hover,aside>#order-design:focus-visible{background:#202020!important;color:var(--paper,#f5f3ee)!important}
}

.our-story-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* Phone layout: a compact, persistent preview above the scrolling controls. */
@media(max-width:720px){
 html body>header{height:auto!important;min-height:48px!important;padding:8px 14px!important;gap:8px!important;align-items:center}
 body>header .brand{gap:8px;font-size:14px;line-height:1.2;flex-wrap:nowrap}
 body>header .brand-logo{width:132px!important;height:auto}
 body>header .brand-divider{padding:0 3px;font-size:16px}
 body>header .brand-lab{font-size:14px;white-space:nowrap}
 body>main{overflow:visible;isolation:isolate}
 html body>main>.workspace,html.lamp-lit body>main>.workspace{position:sticky!important;top:0!important;z-index:20;order:0;flex:0 0 auto;width:100%;height:auto!important;min-height:0!important;max-height:none!important;padding:8px 10px!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;row-gap:4px!important;box-shadow:0 3px 10px #00000015;border-bottom:1px solid var(--line)}
 html body>main>.workspace #viewport{height:clamp(170px,34svh,300px)!important;min-height:0!important;max-height:none!important;width:100%;margin:0!important;flex:none}
 body>main>.workspace .stats{min-height:28px!important;padding:4px 0!important;margin:0!important}
 body>main>.workspace .stats strong{font-size:13px}
 body>main>.workspace .stats span{font-size:9px}
 body>main>.workspace .preview-actions{inset:14px 16px auto auto!important;width:calc(100% - 32px)!important}
 body>main>.workspace footer{display:none!important}
 body>main>aside{overflow:visible;height:auto;min-height:0;scroll-margin-top:calc(clamp(170px,34svh,300px) + 52px)}
 aside button,aside summary,aside input,aside select{scroll-margin-top:calc(clamp(170px,34svh,300px) + 60px)}
}
@media(max-width:720px) and (max-height:500px){
 html body>main>.workspace #viewport{height:clamp(110px,30svh,150px)!important}
 body>main>.workspace .orbit-hint{display:none!important}
}
@media(max-width:720px){
 html body>header{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
 body>main>aside{padding:12px 16px 20px!important}
 aside>#random-design,aside>#order-design{min-height:44px;padding:10px 14px;margin-bottom:10px;font-size:15px}
 aside>.panel-title{padding-top:14px;margin-top:2px}
 aside>.panel-title h1{margin:8px 0 12px;font-size:24px}
 aside>section{padding-top:14px;padding-bottom:14px}
 aside .section-heading{margin-bottom:12px}
 aside .glow-tweaks>summary{padding-top:12px;padding-bottom:12px}
}
.workspace>p.note:empty{display:none!important}

/* Checkout overlay state is visible in the ordinary DOM for session replay. */
.checkout-dom-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998}
.checkout-dom-backdrop[hidden]{display:none!important}
html.checkout-overlay-open,html.checkout-overlay-open body{overflow:hidden!important}
#order-dialog[open]{position:fixed!important;inset:0!important;margin:auto!important;z-index:9999!important;max-height:calc(100dvh - 24px)!important;overflow:auto;overscroll-behavior:contain}
#order-dialog:not([open]){display:none!important}
#order-dialog[open]{height:fit-content!important}

#recording-setup{border-top:1px solid #aaa;margin-top:30px;padding:20px 0}#recording-setup input{max-width:100%}#recording-setup p{font-size:13px;line-height:1.5}body.recording-mode #recording-setup{display:none}#recording-checkout{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:24px;border:0;background:#f5f3ee;color:#151515;border-radius:8px}#recording-checkout::backdrop{background:#0009}#recording-checkout img{display:block;width:100%;height:min(33dvh,240px);object-fit:contain}#recording-checkout h2{font-size:23px;margin:12px 0}#recording-checkout p{font-size:14px;line-height:1.5}#recording-checkout .primary{width:100%;margin-top:12px}#recording-checkout .demo-label{font-size:11px;color:#666;letter-spacing:.08em;text-transform:uppercase}#recording-close{float:right;background:transparent;border:0;font-size:24px;padding:0 5px}
