@font-face{font-family:Acrom;src:url('assets/acrom-regular.woff2') format('woff2');font-display:swap;font-weight:400 700}@font-face{font-family:Acrom;src:url('assets/acrom-light.woff2') format('woff2');font-display:swap;font-weight:300}
:root{font-family:Acrom,Arial,sans-serif;color:#262522;background:#f7f6f3;--copper:#c58b4f;--muted:#77736c}*{box-sizing:border-box}body{margin:0}header{height:100px;padding:14px 4%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e7e4df}header .logo{width:110px;height:72px;object-fit:contain}header span{letter-spacing:3px;font-size:11px;color:#5c5954}header a{color:#34322e;text-decoration:none;font-size:12px;border-bottom:1px solid var(--copper);padding-bottom:8px}main{max-width:1520px;margin:auto;padding:34px 4% 25px}.hero{display:flex;justify-content:space-between;align-items:center;gap:36px;margin-bottom:32px}.tag{font-size:10px;font-weight:500;letter-spacing:2px;color:#716b60}.beta{display:inline-block;border:1px solid #d1c8b9;border-radius:20px;padding:5px 8px;margin-left:12px;font-size:9px;letter-spacing:1px}h1{font-size:clamp(32px,4.1vw,60px);font-weight:300;line-height:1.05;letter-spacing:-2px;margin:17px 0 0}h1 em{font-style:normal;color:#a16a34}.intro{font-size:14px;line-height:1.8;color:#706b63;max-width:330px;margin:15px 0 0}.grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:26px;align-items:start}.card{border:1px solid #e4e0da;border-radius:4px;background:#fff}.inputs{overflow:hidden}.detail-body{padding:0 22px 23px}details{border-bottom:1px solid #e7e3dd}details:last-of-type{border-bottom:0}summary{cursor:pointer;display:flex;gap:13px;align-items:center;list-style:none;padding:23px 22px;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:10px;color:#a16a34;letter-spacing:1px}summary b{font-size:17px;margin-left:auto;font-weight:300;color:#998d7e}details[open] summary b{transform:rotate(45deg)}label{display:block;font-size:11px;font-weight:500;margin:17px 0 7px}input,select{font:12px Acrom,Arial,sans-serif;width:100%;min-width:0;padding:12px 10px;background:#faf9f7;border:1px solid #d8d2ca;border-radius:2px;color:#37332d}input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a56d34;outline-offset:3px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small{font-size:10px;line-height:1.65;color:#756f65}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px;margin:18px 0}.swatch{padding:0;background:none!important;border:0;color:#625d56;min-width:0;text-align:left;border-radius:0;font-size:9px;line-height:1.4;cursor:pointer}.swatch .chip{display:block;height:48px;margin-bottom:6px;background-size:125% 125%;background-position:center;border:1px solid #d8d2ca;border-radius:3px;position:relative}.swatch[aria-pressed=true] .chip{outline:2px solid var(--copper);outline-offset:3px}.swatch[aria-pressed=true] .chip:after{content:'✓';position:absolute;bottom:3px;right:3px;border-radius:50%;background:#252420;color:white;width:17px;height:17px;text-align:center;font-size:12px}.swatch:hover .chip{transform:translateY(-2px)}.selected-color{font-size:17px;padding-top:8px}.selected-color small{font-size:10px;color:#8c8276;margin-left:8px}.view{position:relative;background:radial-gradient(ellipse at 52% 34%,#fff 5%,#edeae4 70%,#e2ded6);overflow:hidden;box-shadow:0 14px 36px #45332209}.toolbar{display:flex;align-items:center;gap:14px;padding:18px 24px;flex-wrap:wrap}.toolbar:first-child{border-bottom:1px solid #ddd7cc99}.toolbar input{width:110px;padding:0;accent-color:var(--copper)}.toolbar label{margin:0}.toolbar button{margin-left:auto;background:transparent;color:#6a6257;border:1px solid #cfc6b8;font-size:10px;padding:8px 11px}.live-dot{display:inline-block;width:6px;height:6px;background:#c58b4f;border-radius:50%;margin-right:8px}.material-caption{position:absolute;left:25px;top:85px;pointer-events:none}.material-caption span{display:block;font-size:25px;font-weight:300;color:#5a5144}.material-caption small{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;color:#8c8273}canvas{display:block;width:100%;height:390px;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}#dimensions{border-top:1px solid #dcd5ca;padding:14px 24px;font-size:10px;color:#70675b;background:#ffffff50}.price{margin-top:20px;padding:24px}.quote-title{display:flex;justify-content:space-between;align-items:center;gap:15px}h2{font-size:19px;font-weight:400;margin:0 0 16px}.quote-title .tag{font-size:8px;white-space:nowrap}.line{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:12px 0;border-bottom:1px solid #eeeae5}.line strong{font-weight:500;text-align:right}.total{font-size:17px;background:#f7f4ef;margin-top:8px;padding:17px 12px;border:0}.total span:last-child{font-size:22px;white-space:nowrap}.notice{font-size:10px;line-height:1.8;color:#7c7365;margin-top:18px;border-left:2px solid var(--copper);padding:2px 0 2px 12px}.notice strong{color:#554d42}button{font-family:inherit;cursor:pointer;padding:13px 17px;border:0;border-radius:2px;background:#252420;color:white;font-size:11px;transition:transform .15s,background .15s}button:hover{background:#a97139}button:disabled{opacity:.4;cursor:default}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.actions button:first-child{background:#a56d34}.actions button:last-child{border:1px solid #d8d0c5;background:white;color:#5e5143}#error{font-size:12px;color:#982f24;margin:0;padding:0 20px}#error:not(:empty){padding:17px 20px;background:#fff1ec}.basin-choices{display:flex;gap:10px}.basin-choice{color:#544a3c;background:#f5f2ed;border:1px solid #d5cdc1;flex:1;padding:12px 5px}.basin-choice[aria-pressed=true]{border-color:#a56d34;background:#eadecc}.basin-choice svg{display:block;margin:0 auto 7px;width:45px;height:30px}footer{font-size:9px;line-height:1.7;color:#8c8377;margin-top:25px;border-top:1px solid #ded8cf;padding-top:18px}#printState{display:none}@media(min-width:1000px){.inputs{position:sticky;top:20px}}@media(max-width:850px){header{height:80px}header .logo{height:56px;width:85px}header span{display:none}.hero{gap:15px}.intro{font-size:11px;max-width:200px}.grid{grid-template-columns:280px minmax(0,1fr);gap:14px}.detail-body{padding:0 16px 16px}summary{padding:18px 16px}.toolbar{padding:16px}.toolbar .tag{font-size:8px;letter-spacing:1px}canvas{height:330px}.quote-title{display:block}.total{flex-wrap:wrap}.material-caption span{font-size:20px}}@media(max-width:650px){main{padding:23px 16px}.hero{display:block;margin-bottom:22px}.intro{max-width:100%;font-size:12px}.grid{display:flex;flex-direction:column}.inputs,.preview-column{width:100%}h1{font-size:40px}.swatches{grid-template-columns:repeat(4,1fr)}.chip{height:55px!important}canvas{height:320px}.toolbar .small{font-size:9px}.price{padding:18px}.total{font-size:14px}.total span:last-child{font-size:20px}.quote-title{display:flex}.tag{font-size:9px}.material-caption{top:78px}.material-caption span{font-size:19px}}@media print{header{height:70px}.hero{margin-bottom:10px}.hero h1{font-size:28px}.intro,.inputs,.toolbar,.actions,.beta,header a{display:none}.grid{display:block}main{padding:10px}.card{break-inside:avoid}.view{box-shadow:none}.material-caption{top:15px}canvas{height:310px}#printState{display:block;font-size:11px}.price{margin-top:10px}body{background:white}}
.cad-box{border-top:1px solid #ddd5c9;margin-top:24px;padding-top:23px}.cad-box .actions{margin-top:12px}@media print{.cad-box{display:none}}

.tristone-swatches{max-height:320px;overflow:auto;margin:12px 0}.tristone-swatches .chip{width:100%;object-fit:cover}.tristone-swatches .swatch{font-size:10px;line-height:1.4}.plan-expanded{position:fixed!important;inset:12px!important;z-index:10000;display:flex;flex-direction:column;background:#f5f2ec;box-shadow:0 0 0 30px #f5f2ec}.plan-expanded #scene{height:calc(100dvh - 200px)!important;min-height:200px;flex:1}.plan-expanded .material-caption{position:static;margin:12px 0}.toolbar{flex-wrap:wrap;gap:8px}@media print{#expand-plan{display:none}.plan-expanded{position:static!important}}
