:root{--paper:#eee9de;--ink:#242b25;--olive:#69764b;--rule:#242b252d;--muted:#60665c}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-.015em;-webkit-font-smoothing:antialiased}button,a,input{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--olive);outline-offset:4px}button:disabled{opacity:.45;cursor:wait}.preview-ribbon{background:var(--ink);color:var(--paper);text-align:center;padding:9px 16px;font-size:10px;letter-spacing:.08em}header{height:96px;border-bottom:1px solid var(--rule);margin:0 4.2%;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:-2px;font-size:37px;text-decoration:none;color:#233c2e;display:flex;align-items:baseline;gap:3px}.brand span{font-weight:400;font-size:21px;letter-spacing:-1px}.brand i{display:inline-block;background:#d1ec62;width:10px;height:10px;border-radius:50%;margin-left:4px}.preview-label{font-size:10px;letter-spacing:.12em;color:var(--muted)}main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);max-width:1450px;margin:auto;min-height:780px}.viewer-panel{position:sticky;top:24px;align-self:start;height:calc(100vh - 174px);min-height:640px;max-height:820px;margin:26px 0 28px 7%;background:#e0dfd5;border-radius:3px;overflow:hidden}#viewer{position:absolute;inset:0}#viewer canvas{display:block;width:100%;height:100%;touch-action:none}.stage-caption{position:absolute;left:28px;top:28px;z-index:1;pointer-events:none;font-size:10px;letter-spacing:.14em}.stage-bottom{position:absolute;bottom:46px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;font-size:10px}.stage-bottom>div{display:flex;gap:18px}.stage-bottom button,.control-heading button,.back-link{background:transparent;border:0;padding:8px 0;font-size:11px}.stage-bottom button:hover,.control-heading button:hover,.back-link:hover{text-decoration:underline;text-underline-offset:4px}.gesture{position:absolute;bottom:15px;left:27px;font-size:10px;color:var(--muted)}.controls-panel{padding:33px 9% 36px 10%;max-width:630px}.steps{display:flex;gap:25px;border-bottom:1px solid var(--rule);padding-bottom:17px;margin-bottom:30px;font-size:11px;color:#85897e}.steps [aria-current]{color:var(--ink)}.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:13px}h1{font-family:inherit;font-weight:800;font-size:56px;line-height:1.02;letter-spacing:-.055em;margin:0 0 16px;scroll-margin-top:28px}.intro{font-size:13px;line-height:1.7;color:var(--muted);max-width:370px;margin:0 0 26px}.control-heading{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:8px;align-items:center;font-size:9px;letter-spacing:.12em}.color-row{padding:16px 0 17px;border-bottom:1px solid var(--rule)}.row-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:13px}.row-label small{font-size:10px;color:var(--muted)}.swatches{display:flex;gap:9px;flex-wrap:wrap}.swatch{width:26px;height:26px;border-radius:50%;border:1px solid #242b2533;background:var(--color);position:relative;padding:0;flex-shrink:0}.swatch[aria-pressed=true]:after{content:'';position:absolute;inset:-4px;border:1px solid var(--ink);border-radius:50%}.custom-swatch{background:conic-gradient(#e4a8bc,#f0c845,#dbe771,#36b4a1,#91b8d2,#e4a8bc);color:#242b25;font-size:20px;font-weight:400;display:grid;place-items:center;line-height:1}.custom-swatch:before{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--paper);z-index:0}.custom-swatch{isolation:isolate}.custom-swatch:before{z-index:-1}.has-custom{background:var(--color);color:#fff;text-shadow:0 1px 3px #0009}.has-custom:before{display:none}.color-note{font-size:10px;line-height:1.7;color:var(--muted);margin:19px 0 22px;max-width:380px}.action-button{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;width:100%;min-height:51px;padding:15px 20px;font-size:13px;letter-spacing:0;transition:background .15s}.action-button:hover{background:#394235}.save-note{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 22px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e0dfd5;z-index:2;font-size:13px}#loading.hidden{display:none}footer{border-top:1px solid var(--rule);margin:0 4.2%;min-height:70px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.08em;color:var(--muted)}.back-link{margin-bottom:18px;font-size:12px}.design-summary{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin:0 0 25px}.summary-row{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;font-size:11px;padding:6px 0}.summary-row>span:last-child{font-size:10px;color:var(--muted)}.summary-dot{width:11px;height:11px;border-radius:50%;border:1px solid #242b2525}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:12px;margin:0 0 8px}.field small{font-size:10px;color:var(--muted)}.field input{width:100%;min-width:0;min-height:45px;border:1px solid #242b254a;border-radius:3px;background:#f5f0e8;color:var(--ink);padding:11px 12px;font-size:14px;letter-spacing:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-heading{font-size:18px;font-weight:750;letter-spacing:-.04em;margin:30px 0 20px}.confirmation-check{display:flex;gap:10px;font-size:11px;line-height:1.6;align-items:flex-start;margin:22px 0}.confirmation-check input{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--ink)}dialog{border:1px solid var(--rule);border-radius:3px;background:var(--paper);color:var(--ink);padding:26px;width:380px;max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto;box-shadow:0 24px 80px #0003}dialog::backdrop{background:#1c231e80;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dialog-top h2{font-size:30px;font-weight:800;letter-spacing:-.055em;line-height:1.05;margin:0}.close-dialog{border:0;background:none;font-size:27px;padding:0 0 8px 8px;line-height:1}.dialog-top+p{font-size:12px;color:var(--muted);line-height:1.6;margin:15px 0 22px}.wheel-wrap{position:relative;width:232px;height:232px;margin:0 auto 23px}#color-wheel{display:block;width:232px;height:232px;touch-action:none;cursor:crosshair}#wheel-marker{position:absolute;width:15px;height:15px;border:2px solid #fff;box-shadow:0 0 0 1px #242b25,0 1px 4px #0008;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.slider-label{font-size:11px;display:block;margin-bottom:9px}#lightness{width:100%;appearance:none;height:12px;border-radius:10px;background:linear-gradient(to right,#000,hsl(var(--hue),100%,50%),#fff);margin:0 0 24px}#lightness::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);cursor:ew-resize}.hex-field{display:flex;align-items:center;gap:13px;margin-bottom:19px}.hex-field .field{flex:1;margin:0}.hex-field input{text-transform:uppercase}#chosen-color-preview{width:48px;height:45px;border:1px solid var(--rule);border-radius:3px;margin-top:21px}.field-error{font-size:11px;color:#9c302a;margin:0 0 17px}.review-address{font-size:13px;line-height:1.7;white-space:pre-line;margin:0 0 25px}#review-dialog{width:460px}#review-content .design-summary{margin-top:0}#review-dialog .save-note{margin-bottom:0}
@media(min-width:1500px){.viewer-panel{min-height:760px}.controls-panel{padding-top:43px}}
@media(max-width:1050px) and (min-width:761px){main{grid-template-columns:minmax(0,1fr) 420px}.controls-panel{padding-left:8%;padding-right:8%}h1{font-size:50px}.swatches{gap:8px}.swatch{width:25px;height:25px}.stage-bottom{left:20px;right:20px}.stage-bottom>div{gap:11px}.stage-bottom>span{display:none}}
@media(max-width:760px){header{height:75px}.brand{font-size:30px}.brand span{font-size:18px}.preview-label{font-size:8px;letter-spacing:.07em;max-width:130px;text-align:right;line-height:1.6}.preview-ribbon{font-size:9px;padding:8px}main{display:block;min-height:0}.viewer-panel{position:relative;top:auto;height:460px;min-height:0;max-height:none;margin:17px 4.2% 0}.stage-caption{left:22px;top:22px;font-size:9px}.controls-panel{padding:28px 7% 35px;max-width:none}.steps{margin-bottom:28px;gap:26px}.eyebrow{font-size:8px}h1{font-size:48px}.intro{max-width:none;margin-bottom:24px}.stage-bottom{left:20px;right:20px;font-size:9px}.stage-bottom>div{gap:13px}.stage-bottom button{font-size:10px}.gesture{left:20px;font-size:9px}.swatches{gap:6px;justify-content:space-between;max-width:400px}.swatch{width:28px;height:28px}.color-row{padding:17px 0}.row-label{font-size:14px}.color-note{font-size:11px;margin-top:22px}.action-button{font-size:14px;min-height:53px}.field label{font-size:13px}.field input{font-size:16px}.summary-row{font-size:12px}.summary-row>span:last-child{font-size:10px}footer{font-size:8px;letter-spacing:.04em;min-height:65px;gap:20px}footer span:last-child{text-align:right}dialog{padding:23px}.dialog-top h2{font-size:28px}}
@media(max-width:360px){.swatch{width:24px;height:24px}.swatches{gap:3px}.stage-bottom>span{display:none}.viewer-panel{height:400px}.field-grid{grid-template-columns:1fr;gap:0}h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Playtime interaction language with the Toucan palette and layout retained. */
:root{--ui-ease:cubic-bezier(.2,.8,.2,1)}
.intro{font-size:15px;line-height:1.55;letter-spacing:-.012em}
.eyebrow{font-weight:700}.steps{font-size:12px;font-weight:650}
.row-label{font-size:14px;font-weight:650}.row-label small{font-size:11px;font-weight:500}
.action-button{min-height:54px;border:0;border-radius:16px;padding:15px 22px;font-size:15px;font-weight:700;line-height:1.3;background:var(--ink);color:#fff;box-shadow:0 4px 0 #151e1922,0 8px 20px #242b2510;transition:transform .16s var(--ui-ease),background .16s,box-shadow .16s}
.action-button:hover:not(:disabled){background:#344337;box-shadow:0 4px 0 #151e1922,0 10px 24px #242b2520;transform:translateY(-1px)}
.action-button:active:not(:disabled){transform:scale(.97);box-shadow:0 1px 0 #151e1922}
.stage-bottom>div{gap:8px}.stage-bottom button{min-height:38px;padding:0 14px;border-radius:999px;background:#fff;color:var(--ink);font-size:12px;font-weight:750;box-shadow:0 1px 0 #0000000d,0 6px 18px #242b251a;transition:transform .16s var(--ui-ease),background .16s}
.stage-bottom button:hover{background:#f6f4e7;text-decoration:none}.stage-bottom button:active{transform:scale(.96)}
.control-heading button,.back-link{font-weight:700;font-size:12px}.close-dialog{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;padding:0;border-radius:50%;background:#242b250b;font-size:24px}
.swatch{box-shadow:inset 0 -2px 2px #0000000a,0 1px 2px #00000008;transition:transform .16s var(--ui-ease),box-shadow .16s}
.swatch:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 -2px 2px #0000000a,0 4px 7px #00000018}
.swatch:active:not(:disabled){transform:scale(.94)}.swatch[aria-pressed=true]:after{border-width:2px}
.field label{font-weight:650}.field input{border-radius:12px}.confirmation-check{font-size:12px}
dialog{border-radius:22px}.design-summary{border-radius:14px;background:#ffffff3d;padding:14px 12px;border:1px solid var(--rule)}
@media(max-width:760px){.intro{font-size:15px}.stage-bottom button{font-size:11px;padding:0 12px}.action-button{font-size:15px}.field input{font-size:16px}.steps{gap:22px}}

/* Details remain on the customization page. */
.steps a{color:var(--ink);text-decoration:none;padding:5px 0}.steps a:hover{text-decoration:underline;text-underline-offset:5px}
#details-step{border-top:1px solid var(--rule);margin-top:30px;padding-top:30px;scroll-margin-top:24px}
#details-heading{font-size:36px;font-weight:800;letter-spacing:-.055em;line-height:1.03;margin:0 0 16px;scroll-margin-top:24px}
#design-summary{margin-bottom:28px}.field small{font-weight:400}
.session-status{border:1px solid var(--rule);border-radius:12px;background:#ffffff3d;padding:11px 12px;margin:0 0 20px;font-size:12px;line-height:1.5;color:var(--muted)}.session-status.warning{border-color:#92513d;color:#7d3827}.form-message{font-size:12px;line-height:1.55;color:var(--muted);margin:12px 0 0}.text-button{border:0;background:transparent;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.review-lamp-preview{display:block;width:100%;height:auto;min-height:220px;object-fit:contain;background:#e0dfd5;border:1px solid var(--rule);border-radius:14px;margin:0 0 16px}
@media(max-width:760px){#details-heading{font-size:34px}#details-step{margin-top:32px;padding-top:30px}}
