:root{--ink:#213238;--muted:#65757a;--orange:#df8c51;--edge:#d8dedd;--paper:#fcfcf9;--dark:#17272c;--soft:#f1f2ee}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,label,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,label:focus-visible{outline:3px solid #e08b4a;outline-offset:3px}button{color:inherit}a{color:inherit}button:disabled{cursor:default}button,select,input{border-radius:10px}[hidden]{display:none!important}.header{height:83px;display:flex;align-items:center;gap:25px;padding:15px 28px;background:var(--dark);color:#f3f4ee;position:relative;z-index:10}.brand{text-decoration:none;font-weight:900;letter-spacing:-1.8px;font-size:29px;line-height:1}.brand span{color:var(--orange)}.brand small{display:block;font-size:8px;letter-spacing:2.05px;line-height:1.8;margin-top:5px;font-weight:650;color:#c0caca}.app-title{margin-left:auto;font-size:11px;letter-spacing:2.1px;color:#d0d9d8;font-weight:700}.app-title span{display:inline-block;background:#35464a;letter-spacing:.5px;padding:4px 7px;margin-left:7px;border-radius:4px}.quiet{background:#2b3c41;border:1px solid #55676b;color:white;min-height:44px;padding:8px 16px;font-size:14px;font-weight:650}.quiet span{margin-left:18px}.menu{position:absolute;right:28px;top:74px;min-width:260px;background:#fff;color:var(--ink);border:1px solid var(--edge);box-shadow:0 14px 40px #10232826;border-radius:12px;padding:7px;z-index:20}.menu button,.menu a,.menu label{display:block;padding:12px;width:100%;background:none;border:0;text-align:left;color:inherit;text-decoration:none;font-size:15px;cursor:pointer;border-radius:6px}.menu button:hover,.menu a:hover,.menu label:hover{background:var(--soft)}.main{display:grid;grid-template-columns:minmax(0,1fr) 382px;min-height:calc(100dvh - 177px);padding-bottom:94px}.preview{background:#e7e9e3;position:sticky;top:0;height:calc(100dvh - 177px);min-height:420px;display:flex;flex-direction:column;grid-column:1;grid-row:1}.preview-top{padding:25px 28px 5px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.eyebrow{color:#7c8985;font-size:10px;letter-spacing:1.7px;font-weight:750;margin-bottom:7px}h1{font-size:19px;margin:0;letter-spacing:-.4px;line-height:1.4}h1 span{font-size:13px;display:block;letter-spacing:0;font-weight:500;color:#697873;margin-top:2px}.library-tag{font-size:10px;white-space:nowrap;color:#75817c;border:1px solid #bfc9c2;padding:5px 8px;border-radius:20px}.stage{flex:1;position:relative;min-height:250px;background:radial-gradient(ellipse at 50% 48%,#f4f4ed00 20%,#b3bcb00b 80%);overflow:hidden}.stage:before{content:'';position:absolute;width:56%;height:11%;left:23%;top:69%;border-radius:50%;background:#4e6255;filter:blur(25px);opacity:.16;pointer-events:none}.stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.stage canvas:active{cursor:grabbing}.stage-note{position:absolute;top:13px;left:28px;font-size:11px;display:flex;align-items:center;gap:6px;color:#707d77;pointer-events:none}.dot{width:6px;height:6px;background:#7e9584;border-radius:50%}.rotate-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:12px;color:#6d7e74;pointer-events:none}.zoom{position:absolute;right:22px;bottom:16px;display:flex;flex-direction:column;border:1px solid #c4cdc5;border-radius:12px;overflow:hidden;background:#f7f8f1d9}.zoom button{background:transparent;border:0;border-radius:0;min-width:44px;height:44px;font-size:24px;line-height:1}.zoom button+button{border-top:1px solid #ced4cb}.render-error{position:absolute;bottom:52px;left:16px;font-size:11px;background:#fff5deee;padding:8px;border-radius:8px;max-width:280px}.views{display:flex;justify-content:center;gap:7px;padding:14px 25px}.views button{min-height:44px;border:1px solid #c0cac2;background:#f5f6ef;padding:8px 16px;font-size:13px;font-weight:650}.views button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.views .share{margin-left:12px;background:transparent;border-color:transparent}.preview-foot{border-top:1px solid #cfd6cc;color:#7a867e;padding:12px 25px;display:flex;gap:20px;font-size:10px;justify-content:space-between}.preview-foot a{text-decoration:none;white-space:nowrap}.controls{grid-column:2;grid-row:1;border-left:1px solid var(--edge);background:var(--paper);min-width:0}.steps{display:flex;gap:0;border-bottom:1px solid var(--edge);padding:22px 15px 16px}.steps button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;border-radius:6px;font-size:11px;color:#8a9390;min-height:54px}.steps button b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e9ece7;color:#7e8882;font-size:12px}.steps button.active{font-weight:750;color:var(--ink)}.steps button.active b{background:var(--dark);color:var(--orange)}.control-content{padding:22px 24px 28px}h2{font-size:23px;line-height:1.25;letter-spacing:-.75px;margin:0 0 9px;font-weight:720}h3{font-size:13px;font-weight:750;margin:22px 0 10px}.lead{font-size:13px;color:var(--muted);margin:0 0 21px;line-height:1.6}.families{display:grid;grid-template-columns:1fr 1fr;gap:8px}.families button{border:1px solid var(--edge);background:#f6f7f2;padding:11px 8px 10px;text-align:left;min-height:116px;position:relative}.families button.active{border-color:#8a9a8c;background:#eef0e7;box-shadow:inset 0 0 0 1px #8a9a8c}.families button.active:after{content:'✓';position:absolute;right:9px;top:7px;color:#5d7461;font-size:12px}.families svg{height:43px;width:80px;display:block;margin-bottom:6px}.families path{fill:#293a3b;stroke:#60716c;stroke-width:.6}.families strong{font-size:13px;display:block}.families small{font-size:10px;color:#768079;display:block;margin-top:2px}.layouts{display:grid;gap:8px}.layouts button{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--edge);background:#f9faf6;text-align:left;min-height:70px}.layouts button.active{border-color:#8a9a8c;background:#eff1e9;box-shadow:inset 0 0 0 1px #8a9a8c}.layouts b{font-size:13px;display:block}.layouts small{font-size:10px;display:block;color:#78837c;margin-top:2px}.layouts i{margin-left:auto;border:1px solid #b8c1b9;border-radius:50%;width:16px;height:16px;flex:none}.layouts .active i{border:5px solid var(--dark);background:#e0a171}.layout-icon{width:43px;height:37px;position:relative;display:block;flex:none}.layout-icon:before,.layout-icon:after{content:'';position:absolute;background:#66786d}.bench-icon:before{width:30px;height:11px;left:4px;top:15px;border-radius:12px 6px 5px 5px;transform:rotate(-12deg)}.bench-icon:after{width:16px;height:10px;left:23px;top:10px;border-radius:6px;transform:rotate(-12deg)}.split-icon:before{width:23px;height:12px;left:1px;top:16px;border-radius:55% 40% 55% 40%;transform:rotate(-15deg)}.split-icon:after{width:14px;height:10px;left:28px;top:8px;border-radius:50%;transform:rotate(-15deg)}.solo-icon:before{width:31px;height:14px;left:4px;top:13px;border-radius:60% 40% 55% 40%;transform:rotate(-13deg)}.part-tabs{display:flex;gap:5px;background:#e9ede5;padding:4px;border-radius:11px;margin-bottom:25px}.part-tabs button{flex:1;border:0;background:transparent;min-height:42px;font-size:13px;font-weight:650}.part-tabs .active{background:white;box-shadow:0 1px 5px #243c2816}.field{display:block;font-weight:650;font-size:13px;margin:19px 0 8px}select,input[type=text]{background:#fff;border:1px solid #c5cec6;color:var(--ink);padding:11px 12px;width:100%;min-height:48px;font-size:14px}input[type=text]{letter-spacing:.6px}.range-label{display:flex;gap:12px;justify-content:space-between;font-size:13px;font-weight:650;margin:23px 0 6px}.range-label output{font-variant-numeric:tabular-nums;color:#9a572e;font-size:12px}input[type=range]{accent-color:#647b66;width:100%;height:30px;margin:0;cursor:pointer}.range-ends{display:flex;justify-content:space-between;color:#8a938c;font-size:10px}.soft-note{border-left:2px solid #bdc9b9;padding:1px 0 1px 11px;font-size:11px;line-height:1.65;color:#78847b;margin:22px 0 8px}.color-field{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0;font-size:13px}.color-field small{display:block;font-size:10px;color:#819078}.color-field input{width:52px;height:36px;border:1px solid #c5cfc3;background:#fff;padding:3px;border-radius:8px;cursor:pointer}.swatches{display:flex;gap:7px;margin-bottom:23px;flex-wrap:wrap}.swatches button{width:32px;height:32px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #d4dad0;min-width:32px}.swatches button.active{box-shadow:0 0 0 2px #5e7463}.samples{margin-top:26px;font-size:12px;color:#79847c}.samples summary{cursor:pointer;min-height:40px;padding:8px 0}.sample-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sample-buttons label{border:1px solid #bdc8bb;padding:9px 7px;border-radius:8px;font-size:11px;text-align:center;cursor:pointer}.samples p{font-size:11px;line-height:1.6}.text-button{color:#7b5f4b;background:none;border:0;text-align:left;font-size:11px;padding:8px 0;text-decoration:underline;min-height:40px}.check{display:flex;align-items:center;gap:12px;min-height:57px;margin-top:17px;cursor:pointer;font-size:14px}.check input{width:22px;height:22px;accent-color:#627b64;flex:none}.check small{display:block;font-size:10px;color:#7d8880;margin-top:2px}.note{display:block;font-size:10px;line-height:1.7;color:#7b867d;margin:10px 0}.step-navigation{margin-top:28px;display:flex;gap:8px}.primary{display:flex;align-items:center;justify-content:center;gap:22px;border:1px solid var(--dark);background:var(--dark);color:#f6f6ef;min-height:48px;padding:12px 17px;font-size:13px;font-weight:700;text-decoration:none}.primary span{color:#e3a273;font-size:17px}.step-navigation .primary{flex:1}.secondary{background:#f4f5ef;border:1px solid #cbd3c7;min-height:48px;font-size:12px;padding:8px 14px}.price-bar{z-index:12;position:fixed;bottom:0;left:0;right:0;height:94px;background:#fffefa;box-shadow:0 -2px 25px #142b2410;border-top:1px solid #d6ddcf;display:flex;align-items:center;gap:25px;padding:12px 28px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.price-open{background:none;border:0;text-align:left;display:grid;grid-template-columns:auto auto;gap:0 13px;padding:0;border-radius:0;min-width:200px}.price-open span{font-size:10px;color:#7d877e;grid-column:1}.price-open strong{grid-row:1/3;grid-column:2;font-size:33px;line-height:1.45;letter-spacing:-1.3px;font-weight:760}.price-open small{grid-column:1;font-size:10px;color:#7a5f46;white-space:nowrap}.price-disclaimer{font-size:11px;color:#8a9187;margin-right:auto;line-height:1.6}.price-bar>.primary{min-width:210px;background:var(--orange);border-color:var(--orange);color:#1e2e2f}.price-bar>.primary span{color:#1e2e2f}.price-details{position:fixed;bottom:105px;left:28px;background:#fffefa;border:1px solid #d3dccc;box-shadow:0 5px 40px #18302026;width:440px;max-width:calc(100vw - 28px);padding:23px;border-radius:14px;z-index:15;max-height:calc(100dvh - 140px);overflow:auto}.details-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:15px}.details-heading h2{font-size:18px;margin:0}.details-heading button{border:0;background:#f0f2e9;width:36px;height:36px;font-size:23px}.price-details #breakdown>div{display:flex;justify-content:space-between;gap:14px;font-size:12px;padding:7px 0}.price-details .subtotal{border-top:1px solid #d5ddcd;margin-top:7px;font-weight:700}.price-details p{font-size:11px;color:#818c7e;margin:15px 0 0}.toast{z-index:30;position:fixed;bottom:110px;left:50%;transform:translateX(-50%);border:1px solid #617366;background:#223a2d;color:#fff;padding:13px 19px;box-shadow:0 7px 28px #172c2529;border-radius:11px;font-size:13px;line-height:1.6;max-width:calc(100vw - 28px);width:max-content;display:none}.toast.visible{display:block}
@media(min-width:1500px){.main{grid-template-columns:minmax(0,1fr) 430px}.control-content{padding:28px 32px}.families button{min-height:132px}.preview-top{padding:32px 40px 10px}h1{font-size:25px}}
@media(max-width:1000px) and (min-width:761px){.main{grid-template-columns:minmax(0,1fr) 340px}.control-content{padding:20px 18px}.preview-top{padding:20px 18px 5px}.library-tag{display:none}.views{gap:5px;padding:10px}.views button{padding:8px 12px}.views .share{margin-left:0}.views .share span{display:none}.price-disclaimer{font-size:10px}}
@media(max-width:760px){.header{height:65px;padding:12px 16px;gap:15px}.brand{font-size:23px}.brand small{font-size:6px;letter-spacing:1.7px}.app-title{font-size:8px;letter-spacing:1.2px}.app-title span{display:none}.quiet{font-size:12px;min-height:40px;padding:8px 11px}.quiet span{margin-left:8px}.menu{right:12px;top:58px}.main{display:flex;flex-direction:column;padding-bottom:90px;min-height:calc(100dvh - 65px)}.preview{height:320px;min-height:300px;position:sticky;top:0;z-index:4;box-shadow:0 5px 15px #18362813}.preview-top{padding:13px 16px 0;min-height:58px}.preview-top .eyebrow{font-size:8px;margin-bottom:3px}h1{font-size:14px;line-height:1.1}h1 span{display:inline;font-size:10px;margin-left:5px}.library-tag{font-size:8px;padding:3px 7px;margin-top:6px}.stage{min-height:190px}.stage-note{font-size:9px;top:10px;left:16px}.rotate-hint{font-size:10px;bottom:6px}.zoom{right:12px;bottom:9px}.zoom button{min-width:38px;height:38px;font-size:22px}.views{gap:6px;padding:8px 12px 10px;justify-content:flex-start}.views button{font-size:11px;padding:6px 12px;min-height:40px}.views .share{margin-left:auto;min-width:38px;padding:6px 8px}.views .share span{display:none}.preview-foot{display:none}.controls{border-left:0}.steps{padding:16px 20px 10px;position:relative;z-index:1;gap:12px}.steps button{font-size:11px;flex-direction:row;justify-content:center;min-height:42px;gap:6px}.steps button b{width:25px;height:25px;flex:none}.control-content{padding:22px 20px 26px;max-width:600px;margin:auto}h2{font-size:24px}.lead{font-size:14px;margin-bottom:21px}.eyebrow{font-size:9px}.families{gap:10px}.families button{min-height:119px;padding:12px 14px}.families strong{font-size:15px}.families small{font-size:11px}.families svg{width:90px;height:42px}.layouts button{min-height:75px;padding:13px 16px}.layouts b{font-size:15px}.layouts small{font-size:11px}h3,.field,.range-label{font-size:14px}.part-tabs button{font-size:14px;min-height:44px}.color-field,.check{font-size:14px}select,input[type=text]{font-size:16px;min-height:50px}.swatches button{width:36px;height:36px}.soft-note{font-size:12px}.range-ends{font-size:11px}.price-bar{height:88px;gap:15px;padding:10px 16px}.price-open{min-width:150px;grid-template-columns:auto}.price-open strong{grid-row:2;grid-column:1;font-size:29px;line-height:1.12}.price-open small{grid-column:2;grid-row:2;align-self:center;font-size:9px;max-width:60px;white-space:normal}.price-open span{grid-column:1/3;font-size:9px;margin-bottom:3px}.price-disclaimer{display:none}.price-bar>.primary{min-width:0;flex:1;font-size:12px;gap:10px;padding:10px;min-height:48px}.price-details{bottom:98px;left:14px;padding:20px}.toast{bottom:100px;font-size:12px}.step-navigation .primary{font-size:14px;min-height:50px}.check small{font-size:11px}.note{font-size:11px}.render-error{font-size:9px;max-width:220px;bottom:35px}.range-label{margin-top:25px}}
@media(max-height:740px) and (max-width:760px){.preview{height:280px;min-height:260px}.stage{min-height:160px}.preview-top{min-height:48px}.rotate-hint{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:760px){.steps{gap:4px;padding:16px 12px 10px}.steps button{padding:0;gap:5px;min-width:0;font-size:12px;min-height:44px}.views button{min-height:44px}}

.stage:before{display:none}.stage canvas.seat-shadows{pointer-events:none;cursor:default}

.logo-preview{width:100%;min-height:44px;margin:4px 0 8px;font-size:13px}

.panel-options{margin:25px 0;border:1px solid #c5cec6;border-radius:12px;padding:0 13px 9px;background:#f7f8f3}.panel-options>summary{cursor:pointer;min-height:52px;padding:13px 0;font-size:14px;font-weight:700}.panel-options>summary small{font-size:10px;font-weight:500;color:#69796e;margin-left:7px}.panel-options .check{margin-top:9px}.panel-layout{display:grid;grid-template-columns:20% 60% 20%;height:46px;border:1px solid #afbaaf;border-radius:8px;overflow:hidden;margin:12px 0 6px}.panel-layout span{display:grid;place-items:center;font-size:12px;font-weight:650;text-shadow:0 1px 2px #0003}.panel-layout span+span{border-left:1px solid #ffffff70}.panel-options .swatches{margin-bottom:18px}

.menu{max-height:calc(100dvh - 95px);overflow:auto}.install-dialog{position:fixed;width:460px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid #c9d2c9;border-radius:18px;background:#fcfcf9;color:#213238;padding:29px;box-shadow:0 20px 80px #10232840}.install-dialog::backdrop{background:#102328a8}.install-dialog h2{font-size:25px;line-height:1.25;margin:10px 0 13px}.install-dialog p{font-size:15px;line-height:1.6}.install-icon{border-radius:16px;margin-bottom:17px}.install-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:#edf0e8;font-size:28px;line-height:1}.install-dialog ol{padding-left:24px;font-size:15px;line-height:1.65;margin:22px 0}.install-dialog li{padding:0 0 12px 4px}.install-dialog .primary,.install-dialog .secondary{width:100%;min-height:50px;font-size:15px}.install-dialog .install-note{font-size:12px;color:#69796e;margin-bottom:0}.install-dialog .install-status{font-size:14px;padding:12px;background:#edf2e6;border-radius:9px}.install-dialog input{margin-top:10px}.install-dialog button:focus-visible{outline-offset:2px}@media(max-width:760px){.install-dialog{padding:24px}.install-dialog h2{font-size:24px}.install-dialog ol,.install-dialog p{font-size:15px}}

.brand-logo{display:block;width:186px;height:62px;object-fit:contain}.install-logo{display:block;width:228px;max-width:100%;height:auto;margin:0 0 18px}.install-dialog .eyebrow{margin-top:5px}@media(max-width:760px){.brand-logo{width:138px;height:46px}.header .app-title{display:none}.header>.quiet{margin-left:auto}.install-logo{width:216px}}

.families .seat-family-image{display:block;width:100%;height:76px;object-fit:contain;margin:0 0 7px}.families button{min-height:145px}.families button.active:after{font-size:15px}.families small{line-height:1.4}@media(max-width:760px){.families button{min-height:150px}.families .seat-family-image{height:78px}}

/* Client edition: readable controls and touch targets. The 3D renderer is unchanged. */
:root{--muted:#485b53;--pricebar-height:136px}
body{font-size:17px}
button,a,input,select,textarea,summary{touch-action:manipulation}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{height:auto;min-height:84px;gap:16px}
.brand-logo{width:196px;height:auto;display:block}
.language-control{margin-left:auto;display:block}
.language-control select{background:#2b3c41;border:1px solid #a7b7b9;color:#fff;min-height:48px;font-size:16px;min-width:126px;padding:9px}
.app-title{margin-left:auto;font-size:13px}
.quiet{min-height:48px;font-size:16px}
.quiet span{margin-left:9px}
.menu{top:calc(100% - 5px);max-width:calc(100vw - 24px)}
.menu button,.menu a,.menu label{font-size:17px;min-height:48px;padding:12px}
.main{grid-template-columns:minmax(0,1fr) 440px;padding-bottom:calc(var(--pricebar-height) + 18px)}
.preview{height:calc(100dvh - 220px);min-height:420px}
.controls{min-width:0}
.preview-top .eyebrow,.eyebrow{font-size:13px;color:#4b6055;letter-spacing:1px}
h1{font-size:24px}h1 span{font-size:16px;color:#4b6055}
.library-tag{font-size:13px;color:#41534b}
.stage-note,.rotate-hint{font-size:14px;color:#40554a}
.zoom button{min-width:48px;min-height:48px;height:48px}
.views{flex-wrap:wrap;gap:7px}
.views button{min-height:48px;font-size:16px;padding:8px 12px}
.preview-foot{font-size:13px;color:#43584b}
.steps button{font-size:15px;min-height:66px;color:#4c5d54;gap:5px}
.steps button b{width:28px;height:28px;font-size:14px}
.part-tabs button{font-size:16px;min-height:48px}
h2{font-size:26px;letter-spacing:-.5px}
h3,.field,.range-label{font-size:17px;line-height:1.5}
.lead{font-size:16px;color:#455a50}
.families button{min-height:160px}
.families strong,.layouts b{font-size:17px}
.families small,.layouts small{font-size:14px;color:#465b50;line-height:1.5}
.layouts button{min-height:88px}
select,input[type=text],input[type=email],textarea{font-family:inherit;font-size:17px;line-height:1.5;border:1px solid #7e9285;border-radius:10px;background:#fff;color:#213238;width:100%;padding:11px 12px;min-height:50px}
textarea{resize:vertical;min-height:96px}
input[type=range]{height:48px;touch-action:pan-y}
input[type=color]{width:60px;height:48px;min-width:60px;padding:4px;border:1px solid #7e9285;background:#fff}
.range-label output{font-size:16px;color:#79421e}
.range-ends,.soft-note,.note,.check small,.color-field small,.samples,.samples p,.panel-options>summary small{font-size:14px;line-height:1.65;color:#485d50}
.range-ends{font-size:14px;color:#4b5e53}
.soft-note{border-left-color:#758b74}
.color-field,.check{font-size:17px}
.check{min-height:58px;gap:13px}
.check input{width:24px;height:24px;flex:none;accent-color:#426947}
.swatches{gap:9px}
.swatches button{width:46px;height:46px;min-width:46px;border-width:4px}
.swatches button.active{box-shadow:0 0 0 3px #395f40}
.samples summary,.panel-options>summary{min-height:50px;font-size:17px;padding:12px 0}
.sample-buttons label{min-height:48px;font-size:15px;display:flex;align-items:center;justify-content:center;border-color:#7e9285}
.text-button{min-height:48px;font-size:15px;color:#65442d}
.primary,.secondary,.logo-preview{min-height:50px;font-size:16px;line-height:1.5}
.primary{gap:12px}.primary span{color:#f2bf94}
.step-navigation .primary{font-size:16px;min-height:52px}
.panel-layout{min-height:48px}.panel-layout span{font-size:15px}
.save-status{font-size:14px;color:#355b3e;margin:14px 0 0;line-height:1.6}
.save-warning,.important-note{font-size:15px;line-height:1.6;color:#603b15;background:#fff3db;border-left:4px solid #9b5d1b;padding:12px}
.price-bar{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;gap:12px;padding:12px 24px calc(12px + env(safe-area-inset-bottom));align-items:center;min-height:108px}
.price-open{min-height:60px;display:flex;align-items:flex-start;flex-direction:column;gap:2px}
.price-open span,.price-open small{font-size:14px;line-height:1.35;color:#3c5145;white-space:normal;max-width:none;letter-spacing:0}
.price-open strong{font-size:30px;line-height:1.2}
.price-disclaimer{font-size:15px;line-height:1.5;color:#465a4d;margin:0;max-width:480px}
.price-bar>.primary{font-size:17px;padding:12px 18px;min-height:54px}
.price-details{bottom:calc(var(--pricebar-height) + 10px);max-height:calc(100dvh - var(--pricebar-height) - 30px);font-size:16px}
.details-heading button{width:48px;height:48px;flex:none}
.price-details #breakdown>div{font-size:16px;line-height:1.5;gap:12px}
.price-details p{font-size:14px;color:#485d50}
.price-details b{text-align:right}
.toast{bottom:calc(var(--pricebar-height) + 14px);font-size:16px;max-width:calc(100vw - 24px);z-index:80;pointer-events:none}
.render-error{font-size:13px;max-width:85%}
.client-dialog{border:1px solid #8ca293;border-radius:16px;background:#fcfcf9;color:#213238;padding:28px;max-width:calc(100vw - 24px);width:600px;max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 20px 70px #10232840;font-size:17px}
.client-dialog::backdrop{background:#102328b3}
.client-dialog h2{padding-right:38px;margin:8px 0 14px}
.client-dialog h3{font-size:21px}
.client-dialog p{line-height:1.65}
.dialog-close{position:absolute;right:10px;top:10px;border:0;background:#e5ece3;color:#213238;width:48px;height:48px;font-size:28px}
.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.dialog-actions>*{flex:1 1 190px}
.button-link{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;cursor:pointer}
.quote-dialog form>.primary{width:100%;margin:18px 0}
#quoteResult{border-top:1px solid #b6c5b7;margin-top:24px;padding-top:10px}
#designLink{font-size:15px}
#requestText{font-size:15px;min-height:190px}
#glseat:focus-visible{outline:3px solid #79441e;outline-offset:-5px}
@media(max-width:1050px) and (min-width:761px){.main{grid-template-columns:minmax(0,1fr) 400px}.preview-top{padding:18px}.library-tag{display:none}.views{padding:12px}.preview-foot{display:none}.app-title{display:none}}
@media(max-width:760px){
 .header{padding:10px 12px;gap:8px;min-height:70px;flex-wrap:wrap}
 .brand-logo{width:120px}.app-title{display:none}
 .language-control select{min-width:106px;font-size:16px;padding:8px}
 .quiet{font-size:15px;padding:8px;min-width:76px}
 .menu{right:12px;min-width:250px}
 .main{display:flex;padding-bottom:calc(var(--pricebar-height) + 16px)}
 .preview{height:clamp(286px,40svh,350px);min-height:286px}
 .preview-top{padding:10px 14px 0;min-height:58px}
 .preview-top .eyebrow{font-size:12px}.library-tag{display:none}
 h1{font-size:18px;line-height:1.3}h1 span{font-size:14px;display:block;margin:0}
 .stage{min-height:140px}
 .stage-note{top:7px;left:14px;font-size:13px}.rotate-hint{font-size:13px;bottom:7px}
 .views{gap:5px;padding:8px 12px;flex-wrap:nowrap}
 .views button{padding:7px 8px;min-height:48px;font-size:14px;flex:1 1 0;min-width:0}
 .views .share{margin-left:0;font-size:14px}
 .views .share span{display:none}
 .zoom{right:12px;bottom:7px}.zoom button{width:46px;height:46px;min-width:46px;min-height:46px}
 .steps button{flex-direction:column;min-height:66px;padding:4px 2px;font-size:14px}
 .control-content{padding:24px 20px 25px}
 .families button{min-height:156px;padding:10px}.families strong{font-size:17px}.families small{font-size:14px}
 .seat-family-image{height:76px}
 .layouts button{padding:13px;min-height:88px}
 .part-tabs button{font-size:16px;min-height:50px}
 .price-bar{grid-template-columns:minmax(0,1fr) minmax(145px,1.1fr);gap:7px 12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
 .price-open{grid-column:1;grid-row:1;min-width:0;min-height:66px}
 .price-open span,.price-open small{font-size:13px;line-height:1.35}.price-open strong{font-size:29px}
 .price-bar>.primary{grid-column:2;grid-row:1;font-size:16px;min-height:54px;padding:10px 8px;gap:5px}
 .price-disclaimer{grid-column:1/-1;grid-row:2;display:block;font-size:13px;line-height:1.4;max-width:none}
 .price-details{left:12px;max-width:calc(100vw - 24px);padding:18px}
 .client-dialog{padding:22px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .client-dialog h2{font-size:24px}.client-dialog p{font-size:16px}
 .render-error{font-size:12px;bottom:40px}
}
@media(max-width:350px){.brand-logo{width:102px}.language-control select{min-width:100px}.quiet{min-width:70px}.header{gap:6px}.control-content{padding:20px 15px}.views{gap:4px;padding:8px}.views button{font-size:13px}.dialog-actions>*{flex-basis:100%}}
@media(max-height:500px) and (pointer:coarse){.main{display:flex;flex-direction:column}.preview{position:relative;height:290px;min-height:290px}.control-content{max-width:640px;margin:auto}.price-bar{min-height:88px}}
