/* Focused editor: page never moves while a project is open. */
body:has(#calcView.builder-active:not([hidden])),body:has(#starterView:not([hidden])){overflow:hidden;height:100dvh}
#calcView.builder-active{position:fixed;inset:72px 0 0;z-index:25;padding:0!important;background:#f4f2ed;overflow:hidden}
#calcView.builder-active>.wrap{width:100%;max-width:none;height:100%;padding:0}
.builder-active .wizard-top,.builder-active .wizard-progress,.builder-active #mhGoldfish,.builder-active #mhCloudBadge{display:none!important}
.builder-active .fd{display:flex;flex-direction:column;height:100%;width:100%;border:0;border-radius:0;margin:0!important;overflow:hidden}
.builder-active .fd-heading{flex:0 0 auto;padding:12px 23px;min-height:76px;gap:20px;background:#faf9f6;border-bottom:1px solid #d9dbd1}
.builder-active .fd-heading h2{font:500 21px Georgia,serif;margin:4px 0 0}
.builder-active .fd-heading .eyebrow{font-size:9px;letter-spacing:.12em}
.fd-top-title{display:flex;gap:16px;align-items:center;min-width:0}
.fd-back{border:1px solid #d9ddcf;background:transparent;color:#526249;border-radius:50%;width:34px;height:34px;flex:0 0 34px;font-size:19px}
.fd-top-actions{display:flex;gap:8px;margin-left:auto;align-items:center}
.fd-top-actions .button{font-size:11px;padding:10px 13px;min-height:36px;border-radius:6px}
.builder-active .fd-total{min-width:146px}
.builder-active .fd-total strong{font-size:25px}
.builder-active .fd-total>span{font-size:9px}
.builder-active .fd-total button{font-size:10px}
.builder-active .fd-workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;flex:1;min-height:0;height:0}
.builder-active .fd-visual,.builder-active .fd-controls{min-height:0;min-width:0}
.builder-active .fd-sticky{position:static;display:flex;flex-direction:column;height:100%;min-height:0}
.builder-active .fd-toolbar{flex:0 0 auto;padding:11px 16px;min-height:54px;border-bottom:1px solid #dfdfd6;gap:6px}
.builder-active .fd-toolbar button{padding:7px 11px;font-size:11px;min-height:32px}
.builder-active .fd-canvas,.builder-active .fd-plan{flex:1;height:auto!important;min-height:70px;padding:0}
.builder-active .fd-camera{flex:0 0 auto;padding:8px 16px;gap:7px;border-top:1px solid #dfdfd6;min-height:45px}
.builder-active .fd-camera button{font-size:10px;min-height:30px}
.builder-active .fd-gesture{display:none}
.builder-active .fd-model-note{flex:0 0 auto;font-size:10px;padding:8px 16px;max-height:68px;line-height:1.5}
.builder-active .fd-bottom{display:none}
.builder-active .fd-status:empty{display:none}
.builder-active .fd-status:not(:empty){position:absolute;left:20px;bottom:24px;z-index:8;background:#fbfaf5;border:1px solid #d9ddd1;padding:10px!important;max-width:60%;box-shadow:0 4px 20px #22351b13}
.builder-active .fd-disclaimer{flex:0 0 auto;padding:7px 17px!important;font-size:9px!important;margin:0;border-top:1px solid #d9ddd2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-active .fd-controls{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border-left:1px solid #d9ddd2}
.builder-active .fd-tabs{position:static;flex:0 0 auto;grid-template-columns:repeat(5,minmax(0,1fr));min-height:45px}
.builder-active .fd-tabs button{padding:10px 4px;min-height:44px;font-size:11px!important}
.builder-active .fd-editor{height:0;max-height:none;flex:1;overflow:auto;overscroll-behavior:contain;padding:18px 20px;scrollbar-width:thin}
.builder-active .fd-editor-title>span{font-size:9px}
.builder-active .fd-editor-title b{font:500 21px Georgia,serif}
.builder-active .fd-editor-title p{font-size:11px;line-height:1.6;margin:7px 0 14px}
.builder-active .fd-mobile-total{display:none!important}
.builder-active .fd-swatches{max-height:none;overflow:visible}
.builder-active .fd-selected{font-size:12px;padding:9px 0}
.builder-active .fd-add{margin-top:12px}
.builder-active .fd-editor .fd-details{margin-top:8px}
.builder-active .fd-details summary{font-size:11px;padding:10px 0}
.cp-native{display:none!important}
.cp-launch{width:100%;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #d3d8c9;border-radius:8px;background:#fff;text-align:left;color:#35472d;cursor:pointer}
.cp-launch .cp-chip{width:43px;height:37px;border-radius:5px;border:1px solid #0001;flex:0 0 43px}
.cp-launch>span:nth-child(2){flex:1;min-width:0}
.cp-launch b,.cp-launch small{display:block;font-size:12px}
.cp-launch small{font-size:10px;font-weight:400;color:#7b8573;margin-top:4px}
.cp-panel{position:absolute;inset:44px 0 0;z-index:6;background:#fbfaf7;display:flex;flex-direction:column;min-height:0}
.fd-color-editing>.fd-editor{visibility:hidden}
.cp-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 17px;border-bottom:1px solid #e0e3d8}
.cp-head b{font-size:11px;text-align:right;font-weight:500}
.cp-head button{font-size:11px;min-height:32px;white-space:nowrap}
.cp-body{padding:16px 20px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}
.cp-help{font-size:11px;line-height:1.6;color:#73806b;margin:0 0 14px}
.cp-top{display:flex;gap:18px;align-items:center;margin:3px 0 18px;justify-content:center}
.cp-wheel{position:relative;width:min(205px,65%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,white 0%,transparent 71%),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);touch-action:none;cursor:crosshair;flex-shrink:0}
.cp-shade{position:absolute;inset:0;background:#000;border-radius:50%;pointer-events:none}
.cp-cursor{position:absolute;width:15px;height:15px;border:2px solid white;box-shadow:0 0 0 1px #172a2280,0 2px 5px #0006;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.cp-preview{text-align:center;min-width:80px}
.cp-preview span{display:block;width:68px;height:68px;border-radius:13px;margin:auto;box-shadow:inset 0 0 0 1px #0001}
.cp-preview b{font:500 11px monospace;display:block;margin-top:11px}
.cp-body label{display:block;margin:12px 0 6px;font-size:11px;color:#627357;font-weight:600}
.cp-body input[type=range]{display:block;width:100%;height:12px;min-height:12px;margin:11px 0 20px;padding:0;border:1px solid #0001;border-radius:10px;appearance:none;cursor:pointer;touch-action:pan-y}
.cp-body input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#496340;box-shadow:0 0 0 1px #687c5a}
.cp-body input[type=range]::-moz-range-thumb{width:19px;height:19px;border:2px solid white;border-radius:50%;background:#496340}
.cp-entry{display:flex;border:1px solid #cdd4c5;border-radius:7px;background:#fff;overflow:hidden}
.cp-entry input{width:100%;min-width:0;border:0;background:none;font:13px inherit;padding:12px}
.cp-entry button{width:40px;flex-shrink:0;border:0;border-left:1px solid #dce1d5;background:#f0f3e9;color:#3e5a30;font-size:21px}
.cp-entry:has([aria-invalid=true]){border-color:#b8603d}
.cp-message{font-size:11px;color:#a65337;margin:6px 0}
.cp-message:empty{display:none}
.cp-matches{margin-top:8px}
.cp-matches button{display:flex;gap:9px;align-items:center;text-align:left;width:100%;border:0;border-bottom:1px solid #e1e5d9;background:transparent;padding:9px 0;color:#34472b;font-size:12px}
.cp-matches i{width:25px;height:25px;border-radius:4px;border:1px solid #0001}
.cp-matches small{margin-left:auto;font:10px monospace;color:#7c8872}
.cp-recent{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.cp-recent small{width:100%;font-size:10px;color:#79866d;margin-bottom:0}
.cp-recent button{width:27px;height:27px;border:3px solid #fff;outline:1px solid #cfd6c5;border-radius:50%;cursor:pointer}
.cp-footnote{font-size:10px;color:#818a7a;line-height:1.6;margin:12px 0}
.cp-done{width:100%;min-height:39px;font-size:12px}
@media(min-width:1500px){.builder-active .fd-workspace{grid-template-columns:minmax(0,1fr) 420px}.cp-wheel{width:225px}}
@media(max-width:1050px) and (min-width:781px){.builder-active .fd-workspace{grid-template-columns:minmax(0,1fr) 345px}.fd-top-actions .fd-top-files{display:none}.builder-active .fd-heading{padding:10px 16px;gap:12px}.fd-top-actions{gap:5px}.fd-top-actions .button{padding:8px}.builder-active .fd-heading h2{font-size:18px}}
@media(max-width:780px){#calcView.builder-active{top:64px}.builder-active .fd-heading{padding:7px 12px;min-height:57px;gap:9px}.fd-top-title{gap:8px;max-width:52%}.fd-back{width:28px;height:28px;flex-basis:28px}.builder-active .fd-heading h2{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36vw}.builder-active .fd-heading .eyebrow{display:none}.builder-active .fd-total{min-width:110px;margin-left:auto}.builder-active .fd-total strong{font-size:20px}.builder-active .fd-total button{display:none}.fd-top-actions{display:none}.builder-active .fd-workspace{grid-template-columns:1fr;grid-template-rows:minmax(155px,43%) minmax(0,1fr)}.builder-active .fd-toolbar{min-height:39px;padding:5px 10px}.builder-active .fd-toolbar button{font-size:10px;padding:6px 8px;min-height:27px}.builder-active .fd-history{gap:3px}.builder-active .fd-camera{min-height:34px;padding:3px 10px;gap:5px}.builder-active .fd-camera button{font-size:9px;min-height:25px;padding:4px 7px}.builder-active .fd-model-note{padding:4px 10px;font-size:9px;max-height:27px}.builder-active .fd-controls{border-left:0;border-top:1px solid #d7ddce}.builder-active .fd-tabs{min-height:38px}.builder-active .fd-tabs button{padding:7px 3px;min-height:37px;font-size:10px!important}.builder-active .fd-editor{padding:12px 15px}.builder-active .fd-disclaimer{display:none}.builder-active .fd-editor-title p{display:none}.builder-active .fd-editor-title b{font-size:18px}.builder-active .fd-editor-title>span{font-size:8px}.builder-active .fd-controls input{font-size:16px!important}.cp-panel{inset:37px 0 0}.cp-head{padding:5px 12px}.cp-body{padding:12px 15px}.cp-help{display:none}.cp-top{margin:0 0 10px;gap:20px}.cp-wheel{width:150px}.cp-preview span{width:60px;height:60px}.cp-body label{font-size:10px;margin:8px 0}.cp-body input[type=range]{margin:8px 0 13px}.cp-head b{font-size:10px}.cp-footnote{font-size:9px}}
@media(max-height:590px) and (min-width:781px){.builder-active .fd-heading{min-height:60px;padding-top:5px;padding-bottom:5px}.builder-active .fd-model-note{max-height:30px}.builder-active .fd-toolbar{min-height:42px;padding:5px 12px}.cp-wheel{width:145px}.cp-body{padding:10px 16px}.cp-help{display:none}}

/* Give the model usable space on short phones; preserve the estimate at the top. */
@media(max-width:780px) and (max-height:650px){.builder-active .fd-workspace{grid-template-rows:minmax(194px,48%) minmax(0,1fr)}.builder-active .fd-toolbar{min-height:34px;padding:3px 7px}.builder-active .fd-toolbar button{font-size:9px;padding:5px;white-space:nowrap;min-height:25px}.builder-active .fd-model-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:21px}.builder-active .fd-camera{min-height:30px}.builder-active .fd-heading h2{font-size:13px}.builder-active .fd-total strong{font-size:18px}}
