:root{--ink:var(--color-ink);--olive:var(--brand-green);--paper:var(--color-soft);--surface:var(--color-surface);--line:var(--color-line);--muted:var(--color-muted);--soft:var(--color-soft);font-family:'Manrope',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;font-size:14px}button,select,textarea,input{font:inherit;color:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{min-height:44px}button:disabled{cursor:default;opacity:.42}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}button,select,textarea{border:1px solid var(--line);border-radius:7px}button{background:var(--surface)}button:hover:not(:disabled){border-color:var(--color-line)}button:focus-visible{position:relative;z-index:2}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-header{flex:none;height:68px;padding:0 30px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);background:var(--surface)}.logo{width:62px;height:48px;display:block;flex:none}.logo img{width:100%;height:100%;object-fit:contain}.header-copy{border-left:1px solid var(--line);padding-left:17px;display:flex;flex-direction:column;gap:3px}.header-copy strong{font-size:15px;font-weight:var(--weight-action);letter-spacing:-.025em}.header-copy span{font-size:10px;color:var(--muted)}.back{font-size:12px;margin-left:auto;display:flex;align-items:center;gap:12px;min-height:44px}.back span{font-size:18px}main{padding:0 24px 20px;flex:1;display:flex;flex-direction:column;min-height:0;width:100%;max-width:2000px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;height:84px;padding:12px 3px}.intro h1{font-size:25px;font-weight:600;letter-spacing:-.055em;line-height:1.2;margin:0}.lead{font-size:12px;color:var(--muted);margin:7px 0 0}.trial-badge{font-size:10px;white-space:nowrap;border:1px solid var(--color-line);border-radius:20px;padding:7px 11px;color:var(--color-muted);background:var(--color-soft)}.layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,398px);gap:18px}.layout aside{grid-column:1;grid-row:1;min-height:0;min-width:0}.form-area{grid-column:2;grid-row:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 16px #17221904}.build-selection{min-height:61px;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 21px;border-bottom:1px solid var(--line);flex:none}.build-selection span{font-size:11px;line-height:1.6;max-width:260px}.build-selection button,.text-button{padding:0;min-height:32px;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:11px;white-space:nowrap;color:var(--brand-green)}.option-tabs{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);padding:8px 14px;gap:0;align-items:center;border-bottom:1px solid var(--line);flex:none}.option-tabs button{min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;border:0;border-bottom:2px solid transparent;border-radius:5px;padding:10px 2px;font-size:11px;background:transparent;color:var(--color-muted);line-height:1.2}.step-arrow{display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--muted);opacity:.7}.step-arrow svg{display:block;flex:none}.option-tabs button[aria-selected=true]{border-bottom-color:var(--brand-green);color:var(--ink);background:var(--color-soft);font-weight:700}.panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--color-line) transparent;padding:28px 24px;scroll-padding:24px;overflow-anchor:none}.option-panel{margin:0;padding:0;min-width:0}.heading{margin:0 0 22px}.heading h2,.summary h2{font-size:23px;line-height:1.25;letter-spacing:-.045em;font-weight:600;margin:0}.heading>p{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0 0}.eyebrow{font-size:10px;letter-spacing:.08em;color:var(--olive);font-weight:600;margin:0 0 10px}.option-panel .eyebrow{display:none}.selects{display:grid;gap:22px}.selects label{font-size:12px;font-weight:var(--weight-action);display:flex;flex-direction:column;gap:7px}.selects label>span{font-size:11px;font-weight:400;color:var(--muted);line-height:1.7}select,textarea{width:100%;min-height:48px;background:var(--surface);padding:12px;font-size:14px;line-height:1.4}select{padding-right:28px}textarea{resize:vertical}.selects select{margin-top:2px}.note,.summary-note{color:var(--muted);font-size:11px;line-height:1.75;margin:22px 0 0}.extras{display:grid;grid-template-columns:1fr 1fr;gap:8px}.extras label{display:flex;align-items:center;gap:9px;min-height:62px;padding:11px 10px;border:1px solid var(--line);border-radius:7px;cursor:pointer;background:var(--color-surface)}.extras label:has(input:checked){border-color:var(--brand-green);background:var(--color-soft)}.extras input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--brand-green)}.extras span{display:flex;flex-direction:column;gap:5px;min-width:0}.extras b{font-weight:var(--weight-label);font-size:11px;line-height:1.5}.extras small{display:none}.garage-equipment{margin:24px 0 0;padding:22px 0 0;border:0;border-top:1px solid var(--line)}.garage-equipment legend{font-weight:600;font-size:13px;padding:0}.garage-equipment .extras{display:block;margin-top:10px}.garage-equipment .text-button{margin-top:8px}.garage-equipment .note{margin-top:8px}.step-actions{display:flex;align-items:center;gap:8px;flex:none;border-top:1px solid var(--line);padding:14px 18px max(14px,env(safe-area-inset-bottom));background:var(--surface)}.step-actions button{font-size:11px;font-weight:600;padding:0 15px;min-height:44px}.step-actions #next-step{margin-left:auto;min-width:140px}.step-actions #step-count{font-size:10px;color:var(--muted);white-space:nowrap;margin:0 4px}.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.primary:hover:not(:disabled){background:var(--brand-green)}.secondary{background:transparent}.viewer{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--color-soft);border:1px solid var(--color-line);border-radius:12px;overflow:hidden;position:relative}.viewer-top{display:flex;align-items:center;gap:10px;padding:12px 16px;flex:none;background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:4}.view-choice{max-width:220px;flex:1;min-width:0}.view-choice select{min-height:44px;font-size:12px;padding:9px 25px 9px 11px;background:var(--color-surface)}.lighting{display:flex;flex:none;gap:2px;padding:3px;background:var(--color-soft);border:1px solid var(--color-soft);border-radius:8px;margin-left:auto}.lighting button{border:0;min-height:36px;padding:0 13px;font-size:11px;background:transparent;border-radius:5px}.lighting button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 4px #17221914;font-weight:var(--weight-action)}.viewer-tools{position:relative;flex:none}.viewer-tools summary{list-style:none;display:flex;align-items:center;justify-content:center;min-width:54px;min-height:44px;border:1px solid var(--line);border-radius:7px;font-size:11px;background:var(--surface)}.viewer-tools summary::-webkit-details-marker{display:none}.viewer-tools[open] summary{background:var(--color-soft)}.tools-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #17221922;z-index:6;display:grid;gap:2px}.tools-menu button{text-align:left;border:0;background:transparent;min-height:44px;padding:10px 12px;font-size:12px}.tools-menu button:hover{background:var(--color-soft)}.viewer iframe{display:block;flex:1;width:100%;min-height:0;border:0;background:var(--color-soft)}.viewer-bottom{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:4px 16px;background:var(--surface);border-top:1px solid var(--line)}.viewer-hint{color:var(--muted);font-size:10px;margin:0;line-height:1.5}.mobile-hint{display:none}.viewer-bottom button{font-size:11px;border:0;background:transparent;min-height:36px;padding:0 3px;color:var(--brand-green);text-decoration:underline;text-underline-offset:3px}.layout.preview-collapsed aside{align-self:start}.layout.preview-collapsed .viewer{height:auto;overflow:visible}.preview-collapsed .viewer-top{border-radius:inherit}.preview-collapsed .viewer iframe,.preview-collapsed .viewer-bottom{display:none}.viewer.is-expanded{position:fixed;inset:0;z-index:40;width:100vw;height:100vh;height:100dvh;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--surface)}.viewer.is-expanded iframe{display:block}.viewer.is-expanded .viewer-bottom{display:flex}.summary dl{margin:20px 0 24px}.summary dl>div{border-bottom:1px solid var(--line);padding:12px 0}.summary dt{color:var(--muted);font-size:10px;margin-bottom:5px}.summary dd{margin:0;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.saved-note{font-size:10px;color:var(--brand-green);background:var(--color-soft);padding:9px 10px;border-radius:5px}.notes-label{font-size:12px;font-weight:600;display:block;line-height:1.7}.notes-label textarea{display:block;margin:10px 0 18px;font-size:13px;font-weight:400}.actions{display:grid;gap:8px;margin-top:14px}.actions button{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;padding:12px 14px;min-height:48px}.status{font-size:11px;color:var(--brand-green);line-height:1.6}.clear{font-size:11px;border:0;border-radius:0;border-bottom:1px solid var(--color-line);background:transparent;min-height:32px;padding:0;margin-top:12px;color:var(--muted)}.build-dialog,.about-dialog{width:min(600px,calc(100vw - 30px));max-height:90vh;max-height:90dvh;overflow:auto;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 100px #0004}.build-dialog::backdrop,.about-dialog::backdrop{background:#15231ed9;backdrop-filter:blur(6px)}.build-dialog .heading h2{font-size:30px}.build-dialog .heading p{max-width:430px}fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}legend{font-size:12px;font-weight:600}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.choice{position:relative;display:block;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice>span{display:flex;flex-direction:column;gap:8px;background:var(--color-surface);border:1px solid var(--line);border-radius:8px;padding:17px;min-height:122px}.choice input:checked+span{background:var(--color-soft);border-color:var(--brand-green);box-shadow:inset 0 0 0 1px var(--brand-green)}.choice input:focus-visible+span{outline:3px solid var(--brand-green);outline-offset:3px}.choice b{font-size:13px;font-weight:600}.choice small{font-size:11px;color:var(--muted);line-height:1.7}.compact .choice>span{min-height:80px}.build-dialog .primary{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:12px 17px;font-size:12px;font-weight:600;margin-top:16px}.build-error{color:#9b443b;font-size:12px;min-height:18px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.dialog-top h2{font-size:24px;letter-spacing:-.04em;margin:0}.dialog-top button{padding:8px 12px;font-size:12px}.about-dialog p{font-size:13px;color:var(--muted);line-height:1.8}.about-dialog a{text-decoration:underline;text-underline-offset:3px}footer{display:none}
@media(min-width:1500px){.layout{grid-template-columns:minmax(0,1fr) 430px;gap:22px}.panel-scroll{padding:30px}.heading h2{font-size:25px}.selects label{font-size:13px}.extras b{font-size:12px}}
@media(max-width:800px){.app-header{height:50px;padding:0 16px;gap:12px}.logo{height:38px;width:48px}.header-copy{padding-left:12px}.header-copy strong{font-size:13px}.header-copy span{display:none}.back{font-size:10px;gap:7px}.back span{font-size:16px}main{padding:0 10px 8px}.intro{height:44px;padding:6px 3px;gap:8px}.intro h1{font-size:19px;letter-spacing:-.045em}.intro .lead{display:none}.trial-badge{font-size:8px;padding:6px 8px}.layout{display:flex;flex-direction:column;gap:9px}.layout aside{order:0;flex:none;height:clamp(205px,33dvh,330px)}.form-area{order:1;flex:1;border-radius:10px}.viewer{border-radius:10px}.viewer-top{padding:7px 10px;gap:7px}.view-choice{max-width:none}.view-choice select{font-size:16px;padding-left:9px;padding-right:21px}.lighting{margin-left:0}.lighting button{padding:0 9px;min-height:36px;font-size:10px}.viewer-tools summary{min-width:46px;font-size:11px}.viewer-bottom{padding:0 10px;min-height:33px}.viewer-bottom button{min-height:32px;font-size:10px}.viewer-hint{font-size:9px}.desktop-hint{display:none}.mobile-hint{display:inline}.build-selection{min-height:41px;padding:4px 15px}.build-selection span{font-size:10px;max-width:none}.build-selection button{font-size:10px}.option-tabs{padding:7px 9px}.option-tabs button{min-height:44px;padding:7px 1px 9px;flex-direction:row;justify-content:center;gap:5px;font-size:12px}.panel-scroll{padding:22px 20px 26px}.heading{margin-bottom:17px}.heading h2{font-size:20px}.heading>p{font-size:11px;margin-top:7px;line-height:1.65}.selects{gap:17px}.selects label{font-size:12px}.selects label>span{font-size:10px}.selects select{font-size:16px;min-height:46px;padding:10px}.selects label{gap:5px}.step-actions{padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:6px}.step-actions button{font-size:11px;padding:0 13px}.step-actions #next-step{min-width:140px}.step-actions #step-count{font-size:9px;margin:0 3px}.note{font-size:10px;margin-top:17px}.layout.preview-collapsed aside{height:auto;width:100%;align-self:stretch}.build-dialog,.about-dialog{padding:24px}.build-dialog .heading h2{font-size:26px}.choice>span{padding:13px}.choice small{font-size:10px}.choice b{font-size:12px}.build-dialog fieldset{margin-top:20px}.extras label{min-height:60px}.summary .notes-label textarea{font-size:16px}}
@media(max-width:360px){.build-planner-page .option-tabs button{font-size:11px}.option-tabs{grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 8px minmax(0,1fr) 8px minmax(0,1fr)}.step-arrow svg{width:8px}.header-copy{display:none}.intro h1{font-size:17px}.lighting button{padding:0 7px}.viewer-top{padding-inline:8px;gap:5px}.viewer-tools summary{min-width:42px}.view-choice select{font-size:16px}.step-actions #next-step{min-width:129px;padding-inline:10px}.panel-scroll{padding-inline:14px}.choice-grid{gap:7px}.choice>span{padding:10px}}
@media(max-height:620px) and (min-width:801px){.app-header{height:52px}.logo{height:38px}.intro{height:58px}.intro h1{font-size:22px}.intro .lead{display:none}.panel-scroll{padding:18px}.build-selection{min-height:45px}.option-tabs{padding-block:6px}.option-tabs button{flex-direction:row;justify-content:center;gap:5px;padding-top:8px;min-height:44px}.step-actions{padding:8px 12px}.viewer-top{padding:7px 12px}main{padding-bottom:10px}}
@media(max-height:500px) and (min-width:560px) and (max-width:800px){.app-header{height:46px}.intro{height:41px}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,44%);gap:10px}.layout aside{height:auto;min-height:0}.form-area{min-height:0}.build-selection{display:none}.panel-scroll{padding:15px}.viewer-hint{display:none}.build-planner-page .option-tabs button{font-size:10px}.option-tabs{grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 8px minmax(0,1fr) 8px minmax(0,1fr)}.step-arrow svg{width:8px}.step-actions #next-step{min-width:118px;font-size:10px}.step-actions #step-count{display:none}.layout.preview-collapsed{grid-template-columns:180px minmax(280px,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Short narrow screens retain a scrollable path to every choice. */
.review-price{background:var(--color-soft);border:1px solid var(--color-line);padding:15px;border-radius:7px;margin:15px 0}.review-price strong{font-size:20px;letter-spacing:-.04em}.review-price p{font-size:11px;line-height:1.7;margin:8px 0 0;color:var(--muted)}.review-enquire{display:flex;align-items:center;justify-content:center;min-height:50px;padding:14px 12px;font-size:13px;font-weight:var(--weight-action);text-decoration:none;border-radius:7px;margin:15px 0}.summary-export{margin:20px 0 12px}.summary-export>summary{font-size:12px;cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.summary-process{font-size:11px;line-height:1.8}.summary-process a{text-underline-offset:3px}.package-terms{font-size:11px;color:var(--muted);line-height:1.7;margin:16px 0 0}
@media(max-height:550px) and (max-width:559px){.app-header{height:46px}.intro{height:40px}.layout{overflow-y:auto;overscroll-behavior-y:contain}.layout aside{height:200px;flex:none}.form-area{flex:0 0 380px}.layout.preview-collapsed aside{height:auto}.viewer.is-expanded{overflow:hidden}}
/* The tools disclosure remains visible even in the smallest preview. */
@media(max-width:800px) and (min-height:551px){.layout.is-review aside{height:clamp(150px,24dvh,240px)}}
.viewer:has(.viewer-tools[open]){overflow:visible}
.viewer:has(.viewer-tools[open]) .viewer-top{border-radius:11px 11px 0 0}
.viewer-bottom{border-radius:0 0 11px 11px}
.viewer.is-expanded .viewer-top,.viewer.is-expanded .viewer-bottom{border-radius:0}

/* Rotate within the van; scroll within the options. */
html,body{overscroll-behavior:none}
.viewer iframe{touch-action:none;overscroll-behavior:none}

/* Compact workspace: a single title, direct paint and clear view controls. */
body.build-planner-page main{padding-top:14px}
body.build-planner-page .header-copy h1{margin:0;font-family:var(--text);font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.025em;-webkit-mask-image:none;mask-image:none}
body.build-planner-page .setup-seats{margin:24px 0 8px}
body.build-planner-page .option-tabs button{border:1px solid transparent;box-shadow:none}
body.build-planner-page .option-tabs button[aria-selected=true]{border-color:var(--brand-green);box-shadow:inset 0 0 0 1px var(--brand-green);background:var(--color-soft);color:var(--brand-green)}
body.build-planner-page .paint-dropdown{display:block;flex:0 1 150px;min-width:88px;max-width:170px;margin-left:auto}
body.build-planner-page .paint-dropdown select{min-height:44px;font-size:14px;padding:9px 26px 9px 10px;border-left-width:4px;background:var(--surface)}
body.build-planner-page .lighting{gap:8px;padding:2px;border:0;background:transparent;margin-left:0}
body.build-planner-page .lighting button{display:grid;place-items:center;flex:none;min-width:44px;width:44px;min-height:44px;height:44px;padding:0;border:1px solid var(--color-ink);border-radius:6px;outline:2px solid transparent;outline-offset:1px;opacity:1;box-shadow:none}
body.build-planner-page .lighting button[data-light-mode=day]{background:linear-gradient(145deg,#55afe3,#2679b9);color:#ffdf76}
body.build-planner-page .lighting button[data-light-mode=night]{background:#101615;color:#f3eedb}
body.build-planner-page .lighting button[aria-pressed=true]{opacity:1;outline-color:var(--brand-green);box-shadow:0 1px 3px #141c1820}
body.build-planner-page .lighting button:hover{opacity:1}
body.build-planner-page .lighting button:focus-visible{outline:3px solid var(--brand-green);outline-offset:2px}
body.build-planner-page .viewer-bottom{min-height:54px;padding-block:4px}
body.build-planner-page .viewer-bottom #viewer-fullscreen{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 17px;border:1px solid var(--color-ink);border-radius:7px;background:var(--brand-green);color:var(--color-paper);font-size:13px;font-weight:800;line-height:1.35;text-decoration:none}
body.build-planner-page .viewer-bottom #viewer-fullscreen:hover,body.build-planner-page .viewer-bottom #viewer-fullscreen[aria-pressed=true]{background:var(--color-ink)}
#viewer-fullscreen .close-glyph{display:none}
#viewer-fullscreen[aria-pressed=true] .close-glyph{display:block}
#viewer-fullscreen[aria-pressed=true] .expand-glyph{display:none}
.viewer-bottom .tools-menu{top:auto;bottom:calc(100% + 8px);left:0;right:auto}
body.build-planner-page .viewer-bottom .viewer-tools summary{min-height:44px;padding:0 12px;font-weight:600}
@media(max-width:800px){
 body.build-planner-page main{padding-top:8px}
 body.build-planner-page .header-copy h1{font-size:13px}
 body.build-planner-page .viewer-top{gap:6px;padding:7px 6px}
 body.build-planner-page .view-choice{flex:1;min-width:0;max-width:none}
 body.build-planner-page .view-choice select{font-size:16px;min-height:44px;padding:8px 21px 8px 8px}
 body.build-planner-page .paint-dropdown{flex:0 0 84px;min-width:84px;margin-left:0}
 body.build-planner-page .paint-dropdown select{font-size:16px;min-height:44px;padding:8px 21px 8px 8px}
 body.build-planner-page .lighting{gap:6px}
 body.build-planner-page .lighting button{width:40px;min-width:40px;height:40px;min-height:40px}
 body.build-planner-page .lighting svg{width:23px;height:23px}
 body.build-planner-page .viewer-bottom{padding-inline:10px}
 body.build-planner-page .viewer-bottom #viewer-fullscreen{font-size:12px;padding-inline:12px}
}
@media(forced-colors:active){body.build-planner-page .lighting button[aria-pressed=true],body.build-planner-page .option-tabs button[aria-selected=true]{outline:2px solid Highlight;outline-offset:1px}}

.viewer-bottom .tools-menu button{min-height:44px;padding:10px 12px;font-size:12px;color:var(--ink);text-decoration:none}
/* A very narrow landscape preview can use two rows without squeezing labels. */
body.build-planner-page .viewer{container-type:inline-size}
@container(max-width:280px){
 body.build-planner-page .viewer-top{display:grid;grid-template-columns:minmax(0,1fr) auto}
 body.build-planner-page .view-choice{grid-column:1/-1;width:100%}
 body.build-planner-page .paint-dropdown{grid-column:1;min-width:0;max-width:none;width:100%}
 body.build-planner-page .lighting{grid-column:2}
}
/* Fitted-light preview controls stay available in the expanded viewer. */
.viewer-bottom{position:relative;gap:8px}.light-adjustments{position:relative;margin-right:auto}.light-adjustments>summary{list-style:none;min-height:44px;padding:10px 12px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;font-weight:650;background:var(--surface)}.light-adjustments>summary::-webkit-details-marker{display:none}.light-adjustments[open]>summary{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}.light-adjustments-panel{position:absolute;z-index:25;bottom:calc(100% + 10px);left:-62px;width:280px;max-width:calc(100vw - 52px);padding:18px;background:var(--surface);border:1px solid var(--olive);border-radius:10px;box-shadow:0 12px 40px #111b2333}.light-adjustments-panel>strong{font-size:16px}.light-adjustments-panel>p{margin:5px 0 16px;color:var(--muted);font-size:12px}.light-zones{display:grid;gap:8px;margin-bottom:18px}.light-zones label{display:flex;align-items:center;gap:9px;min-height:32px;cursor:pointer}.light-zones input{width:18px;height:18px;accent-color:var(--olive)}.light-dimmer{display:flex;justify-content:space-between;font-weight:650}.light-dimmer output{font-variant-numeric:tabular-nums;color:var(--muted)}#light-brightness{width:100%;height:34px;margin:6px 0 12px;accent-color:var(--olive);cursor:pointer}#preview-evening{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:var(--olive);color:var(--surface);font-weight:650;border-color:var(--olive)}@media(max-width:380px){.viewer-bottom{gap:6px}.light-adjustments>summary{padding:10px 8px}.viewer-bottom #viewer-fullscreen{padding-left:10px;padding-right:10px;gap:6px}}
.light-tone{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 12px}.light-tone select{min-height:40px;background:var(--surface);max-width:160px;padding:7px 9px}
.light-adjustments-panel{overflow:auto;max-height:340px;overscroll-behavior:contain}.light-adjustments>summary{font-size:12px;white-space:nowrap}@media(max-width:380px){body.build-planner-page .viewer-bottom{padding-inline:7px;gap:5px}body.build-planner-page .viewer-bottom .viewer-tools summary{padding-inline:8px}body.build-planner-page .viewer-bottom #viewer-fullscreen{padding-inline:8px;gap:5px;font-size:11px}body.build-planner-page .viewer-bottom #viewer-fullscreen svg{width:15px}.light-adjustments>summary{padding-inline:7px;font-size:11px;gap:5px}}

.light-adjustments{position:static}.light-adjustments-panel{left:8px}
#preview-evening{min-height:44px;text-decoration:none}.light-tone{white-space:nowrap}
.ceiling-choice{margin:0 0 24px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.ceiling-choice>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;min-height:48px;font-weight:750;list-style:none}.ceiling-choice>summary::-webkit-details-marker{display:none}.ceiling-choice[open]>summary{border-bottom:1px solid var(--line)}.ceiling-choice-content{display:grid;gap:17px;padding:16px}.ceiling-choice-content>label:not(.reading-choice){display:grid;gap:8px;font-weight:650}.ceiling-choice-content select{width:100%;min-height:46px;padding:9px 12px;background:var(--surface)}.reading-choice{display:flex;align-items:center;gap:9px;min-height:36px}.reading-choice input{width:18px;height:18px;accent-color:var(--olive)}.ceiling-choice .note{margin:0}.ceiling-view-button,.resume-saved button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:11px 14px;font-weight:700;background:var(--olive);color:var(--surface);border-color:var(--olive)}.resume-saved{border:1px solid var(--olive);border-radius:8px;padding:16px;margin-bottom:22px;background:var(--paper)}.resume-saved p{margin:0 0 12px}.resume-saved button{width:100%}
/* A guided build with one clear stage selector and room for the question. */
.stage-navigation{padding:14px 20px 12px;border-bottom:1px solid var(--line);flex:none;background:var(--surface)}
.stage-navigation label{display:grid;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--muted)}
.stage-navigation select{font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink);min-height:46px;border:1px solid var(--brand-green);background:var(--paper)}
.stage-navigation progress{appearance:none;width:100%;height:3px;display:block;margin-top:12px;border:0;background:var(--line);accent-color:var(--brand-green)}
.stage-navigation progress::-webkit-progress-bar{background:var(--line);border-radius:2px}.stage-navigation progress::-webkit-progress-value{background:var(--brand-green);border-radius:2px}
.build-notice{font-size:11px;line-height:1.6;margin:0;padding:10px 20px;background:var(--paper);border-bottom:1px solid var(--line)}
.build-planner-page .heading h2{font-family:'Manrope',sans-serif;font-size:25px;line-height:1.22;font-weight:750;letter-spacing:-.055em;mask-image:none;-webkit-mask-image:none;text-transform:none}
.build-planner-page .heading>p{font-size:12px;line-height:1.75}
.build-planner-page .panel-scroll{padding:26px 24px 34px;scroll-padding:26px}
.build-planner-page .selects{gap:24px;margin-top:22px}.build-planner-page .selects label{font-size:13px;gap:9px}.build-planner-page .selects label>span{font-size:11px;line-height:1.7;font-weight:400}
.detail-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:46px;margin:16px 0 0;padding:12px 14px;font-size:12px;font-weight:750;border:1px solid var(--line);background:var(--paper);text-align:left}
.detail-button:hover{border-color:var(--brand-green);background:var(--surface)}
.ask-button{min-height:44px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:11px;text-align:left;padding:12px 0;margin-top:18px;color:var(--brand-green)}
.ask-button[aria-pressed=true]{font-weight:750}
.included-card{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--paper);margin:22px 0}
.included-card h3{font-family:'Manrope',sans-serif;letter-spacing:-.03em;font-size:17px;margin:15px 0 12px;font-weight:750}.included-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 0}
.selection-badge{display:inline-block;padding:7px 10px;font-size:10px;font-weight:750;line-height:1.5;background:var(--paper);border:1px solid var(--line);border-radius:5px;color:var(--brand-green)}
.choice-message{margin:16px 0;font-size:11px;line-height:1.75;color:var(--brand-green);padding-left:12px;border-left:2px solid var(--brand-green)}
.extras{margin-top:22px;gap:10px}.extras label{padding:14px 11px;align-items:flex-start;min-height:72px}.extras input{margin-top:2px}.extras small{display:block;font-size:10px;line-height:1.55;color:var(--muted)}
.component-dialog,.material-browser,.intro-dialog{border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);padding:28px;max-height:92dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 22px 100px #0005}
.component-dialog::backdrop,.material-browser::backdrop,.intro-dialog::backdrop{background:#101c18d9;backdrop-filter:blur(5px)}
.intro-dialog{width:min(650px,calc(100vw - 24px));padding:40px}.intro-mark{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--brand-green)}
.intro-dialog h2{font-family:'Manrope',sans-serif;font-size:38px;font-weight:750;line-height:1.13;letter-spacing:-.065em;mask-image:none;-webkit-mask-image:none;margin:22px 0}
.intro-dialog>p{font-size:14px;line-height:1.85;color:var(--muted)}.intro-points{margin:26px 0;border-block:1px solid var(--line);padding:12px 0}.intro-points p{font-size:12px;line-height:1.8;margin:13px 0}.intro-points b{color:var(--brand-green)}
.intro-dialog .intro-limit{font-size:11px;line-height:1.8}.intro-dialog>.primary{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:13px 17px;margin-top:25px;font-weight:750}.intro-dialog .resume-saved{margin-top:22px;font-size:12px}
.component-dialog{width:min(1080px,calc(100vw - 24px))}.component-dialog .dialog-top{margin-bottom:23px}.component-dialog .eyebrow,.material-browser .eyebrow{display:block;font-size:9px;letter-spacing:.12em;margin:0 0 7px}
.component-dialog h2,.material-browser h2{font-family:'Manrope',sans-serif;font-size:25px;font-weight:750;letter-spacing:-.05em;mask-image:none;-webkit-mask-image:none}.dialog-top button{min-width:72px;min-height:44px;flex:none}
.component-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:28px;align-items:start}.component-image-area{background:#ecece7;border:1px solid var(--line);border-radius:10px;overflow:hidden}
#component-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block}.component-angles{display:flex;justify-content:center;gap:8px;padding:12px;background:var(--surface);border-top:1px solid var(--line)}.component-angles button{padding:9px 13px;font-size:11px;min-height:44px}.component-angles button[aria-pressed=true]{background:var(--brand-green);color:var(--paper);border-color:var(--ink)}
.component-angles{flex-wrap:wrap}
.component-copy>p{font-size:13px;line-height:1.85;margin:0 0 18px}.component-copy>p.selection-badge{font-size:11px;padding:9px 11px}.component-copy ul{padding-left:18px;margin:18px 0 24px}.component-copy li{font-size:12px;line-height:1.8;margin-bottom:10px}.component-copy>.note{font-size:10px}.component-copy>.primary{width:100%;min-height:48px;padding:12px 15px;font-size:12px;font-weight:750}
.material-browser{width:min(1000px,calc(100vw - 24px))}.material-browser>p{font-size:12px;line-height:1.8;color:var(--muted)}.material-browser-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.material-option{padding:0;text-align:left;overflow:hidden;border-radius:9px;background:var(--surface);min-width:0}.material-option[aria-pressed=true]{border:2px solid var(--brand-green);box-shadow:0 0 0 1px var(--brand-green)}.material-option-surface{display:block;aspect-ratio:1;background-position:center;background-size:cover}.material-option-copy{display:grid;gap:6px;padding:13px;font-size:11px;line-height:1.6}.material-option-copy small{font-size:9px;color:var(--muted)}
#roof-conflict>button{width:100%;padding:12px 14px;margin-top:10px;text-align:left;font-weight:700}
#panel-garage .ceiling-view-button{width:100%;margin-top:18px}
@media(min-width:1000px){.build-planner-page .layout{grid-template-columns:minmax(0,1fr) minmax(400px,440px)}}
@media(min-width:1600px){.build-planner-page .layout{grid-template-columns:minmax(0,1fr) 470px}}
@media(max-width:800px){
 .build-planner-page .layout aside{height:clamp(195px,27dvh,265px)}.build-planner-page .layout.is-review aside{height:170px}
 .build-planner-page .stage-navigation{padding:9px 15px 10px}.stage-navigation label{font-size:9px;gap:5px}.stage-navigation select{font-size:16px;min-height:44px;padding:9px 30px 9px 11px}.stage-navigation progress{margin-top:8px}
 .build-planner-page .build-selection{min-height:39px;padding-inline:15px}.build-planner-page .panel-scroll{padding:22px 19px 30px}.build-planner-page .heading h2{font-size:23px}.build-planner-page .heading>p{font-size:12px}
 .build-planner-page .selects select{font-size:16px}.build-planner-page .extras b{font-size:12px}.build-planner-page .step-actions #next-step{min-width:0;max-width:64%;font-size:11px}
 .intro-dialog{padding:27px 23px}.intro-dialog h2{font-size:32px}.intro-dialog>p{font-size:13px}.intro-points{margin:20px 0}
 .component-dialog,.material-browser{padding:20px}.component-layout{display:block}.component-copy{margin-top:22px}.component-dialog h2,.material-browser h2{font-size:23px}.component-dialog .dialog-top{margin-bottom:18px}.component-dialog .eyebrow,.material-browser .eyebrow{font-size:8px}
 .component-image-area{max-height:none}#component-image{max-height:38dvh}.component-copy>p{font-size:12px}.component-copy ul{margin:15px 0}.material-browser-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.material-option-copy{padding:10px;font-size:11px}
}
@media(max-width:360px){.build-planner-page .step-actions #step-count{display:none}.component-dialog,.material-browser{padding:16px}.build-planner-page .heading h2{font-size:21px}}
